mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-11 05:07:54 -04:00
Use uncached memory for room matrices
This commit is contained in:
+3
-2
@@ -7,6 +7,7 @@
|
||||
#include "types.h"
|
||||
|
||||
struct roommtx *g_RoomMtxes;
|
||||
Mtx *g_RoomMtxMtxes;
|
||||
|
||||
s32 var80082050 = 0;
|
||||
s32 g_NextRoomMtx = 0;
|
||||
@@ -80,7 +81,7 @@ static struct roommtx *roomTouchMtx(s32 roomnum)
|
||||
roommtx->somefloat = var8005ef10[0];
|
||||
|
||||
roomPopulateMtx(&mtx, roomnum);
|
||||
mtx00016054(&mtx, &roommtx->mtx);
|
||||
mtx00016054(&mtx, (void *) &g_RoomMtxMtxes[roommtx->index]);
|
||||
|
||||
return roommtx;
|
||||
}
|
||||
@@ -89,7 +90,7 @@ Gfx *roomApplyMtx(Gfx *gdl, s32 roomnum)
|
||||
{
|
||||
struct roommtx *roommtx = roomTouchMtx(roomnum);
|
||||
|
||||
gSPMatrix(gdl++, &roommtx->mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gdl++, &g_RoomMtxMtxes[roommtx->index], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ void roomsReset(void)
|
||||
var80082050 = PLAYERCOUNT() >= 2 ? 200 : 120;
|
||||
|
||||
g_RoomMtxes = mempAlloc(ALIGN16(var80082050 * sizeof(struct roommtx)), MEMPOOL_STAGE);
|
||||
g_RoomMtxMtxes = UNCACHED(mempAlloc(ALIGN16(var80082050 * sizeof(Mtx)), MEMPOOL_STAGE));
|
||||
g_NextRoomMtx = 0;
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
|
||||
@@ -283,6 +283,7 @@ extern s32 g_LasersightsActive;
|
||||
extern bool g_StarsActive;
|
||||
extern u8 g_HudmsgsActive;
|
||||
extern struct roommtx *g_RoomMtxes;
|
||||
extern Mtx *g_RoomMtxMtxes;
|
||||
extern s32 g_NextRoomMtx;
|
||||
extern s32 g_BgAlwaysRoom;
|
||||
extern struct stagetableentry *g_CurrentStage;
|
||||
|
||||
@@ -6366,7 +6366,6 @@ struct xz {
|
||||
};
|
||||
|
||||
struct roommtx {
|
||||
Mtxf mtx;
|
||||
u8 index;
|
||||
s8 playernum;
|
||||
s32 lvframe;
|
||||
|
||||
Reference in New Issue
Block a user