1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 15:04:31 +00:00

Introduce OPEN_DISPS/CLOSE_DISPS macros (#360)

This commit is contained in:
Roman971 2020-08-30 01:00:17 +02:00 committed by GitHub
parent 1f1b5e39f5
commit 2a2fdf7f3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
134 changed files with 3133 additions and 3775 deletions

View file

@ -45,9 +45,7 @@
#define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.questItems) #define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.questItems)
#define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \ #define CHECK_PAD(state, combo) (~(state.in.button | ~(combo)) == 0)
(curState)->init = newInit; \
(curState)->size = sizeof(newStruct);
#define LOG(exp, value, format, file, line) \ #define LOG(exp, value, format, file, line) \
do { \ do { \
@ -61,7 +59,37 @@
#define LOG_NUM(exp, value, file, line) LOG(exp, value, "%d", file, line) #define LOG_NUM(exp, value, file, line) LOG(exp, value, "%d", file, line)
#define LOG_HEX(exp, value, file, line) LOG(exp, value, "%x", file, line) #define LOG_HEX(exp, value, file, line) LOG(exp, value, "%x", file, line)
/* #define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
(curState)->init = newInit; \
(curState)->size = sizeof(newStruct)
#define SET_FULLSCREEN_VIEWPORT(view) \
{ \
Viewport viewport; \
viewport.bottomY = SCREEN_HEIGHT; \
viewport.rightX = SCREEN_WIDTH; \
viewport.topY = 0; \
viewport.leftX = 0; \
View_SetViewport(view, &viewport); \
} \
(void)0
#define OPEN_DISPS_INNER(gfxCtx, file, line) \
oGfxCtx = gfxCtx; \
Graph_OpenDisps(dispRefs, gfxCtx, file, line)
#define OPEN_DISPS(gfxCtx, file, line) \
{ \
GraphicsContext* oGfxCtx; \
Gfx* dispRefs[4]; \
OPEN_DISPS_INNER(gfxCtx, file, line)
#define CLOSE_DISPS(gfxCtx, file, line) \
Graph_CloseDisps(dispRefs, gfxCtx, file, line); \
} \
(void)0
/**
* `x` vertex x * `x` vertex x
* `y` vertex y * `y` vertex y
* `z` vertex z * `z` vertex z
@ -76,16 +104,4 @@
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } } #define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
#define SET_FULLSCREEN_VIEWPORT(view) \
{ \
Viewport viewport; \
viewport.bottomY = SCREEN_HEIGHT; \
viewport.rightX = SCREEN_WIDTH; \
viewport.topY = 0; \
viewport.leftX = 0; \
View_SetViewport(view, &viewport); \
}
#define CHECK_PAD(state, combo) (~(state.in.button | ~(combo)) == 0)
#endif #endif

View file

@ -2634,7 +2634,7 @@ _DW({ \
* Macros to turn texture on/off * Macros to turn texture on/off
*/ */
# define gSPTexture(pkt, s, t, level, tile, on) \ # define gSPTexture(pkt, s, t, level, tile, on) \
{ \ _DW({ \
Gfx *_g = (Gfx *)(pkt); \ Gfx *_g = (Gfx *)(pkt); \
\ \
_g->words.w0 = (_SHIFTL(G_TEXTURE,24,8) | \ _g->words.w0 = (_SHIFTL(G_TEXTURE,24,8) | \
@ -2642,7 +2642,7 @@ _DW({ \
_SHIFTL((level),11,3) | _SHIFTL((tile),8,3) | \ _SHIFTL((level),11,3) | _SHIFTL((tile),8,3) | \
_SHIFTL((on),1,7)); \ _SHIFTL((on),1,7)); \
_g->words.w1 = (_SHIFTL((s),16,16) | _SHIFTL((t),0,16)); \ _g->words.w1 = (_SHIFTL((s),16,16) | _SHIFTL((t),0,16)); \
} })
# define gsSPTexture(s, t, level, tile, on) \ # define gsSPTexture(s, t, level, tile, on) \
{ \ { \
(_SHIFTL(G_TEXTURE,24,8) | _SHIFTL(BOWTIE_VAL,16,8) | \ (_SHIFTL(G_TEXTURE,24,8) | _SHIFTL(BOWTIE_VAL,16,8) | \

View file

@ -1208,7 +1208,8 @@ typedef struct GlobalContext {
/* 0x000B0 */ void* sceneSegment; /* 0x000B0 */ void* sceneSegment;
/* 0x000B4 */ char unk_B4[0x4]; /* 0x000B4 */ char unk_B4[0x4];
/* 0x000B8 */ View view; /* 0x000B8 */ View view;
/* 0x001E0 */ Camera cameras[4]; /* 0x001E0 */ Camera mainCamera;
/* 0x001E0 */ Camera subCameras[3];
/* 0x00790 */ Camera* cameraPtrs[4]; /* 0x00790 */ Camera* cameraPtrs[4];
/* 0x007A0 */ s16 activeCamera; /* 0x007A0 */ s16 activeCamera;
/* 0x007A2 */ s16 nextCamera; /* 0x007A2 */ s16 nextCamera;

View file

@ -36,19 +36,20 @@ void FlagSet_Update(GlobalContext* globalCtx) {
{ &gSaveContext.eventInf[2], "event_inf[2]" }, { &gSaveContext.eventInf[3], "event_inf[3]" }, { &gSaveContext.eventInf[2], "event_inf[2]" }, { &gSaveContext.eventInf[3], "event_inf[3]" },
}; };
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad; Input* input = &globalCtx->state.input[0];
Gfx* gfx; Gfx* gfx;
Gfx* polyOpa; Gfx* polyOpa;
Gfx* dispRefs[5];
GfxPrint printer;
Input* input = &globalCtx->state.input[0];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(gfxCtx, "../flg_set.c", 131);
Graph_OpenDisps(dispRefs, gfxCtx, "../flg_set.c", 131);
polyOpa = gfxCtx->polyOpa.p; {
GfxPrint printer;
s32 pad;
polyOpa = oGfxCtx->polyOpa.p;
gfx = Graph_GfxPlusOne(polyOpa); gfx = Graph_GfxPlusOne(polyOpa);
gSPDisplayList(gfxCtx->overlay.p++, gfx); gSPDisplayList(oGfxCtx->overlay.p++, gfx);
GfxPrint_Init(&printer); GfxPrint_Init(&printer);
GfxPrint_Open(&printer, gfx); GfxPrint_Open(&printer, gfx);
@ -138,13 +139,15 @@ void FlagSet_Update(GlobalContext* globalCtx) {
gfx = GfxPrint_Close(&printer); gfx = GfxPrint_Close(&printer);
GfxPrint_Destroy(&printer); GfxPrint_Destroy(&printer);
gSPEndDisplayList(gfx++); gSPEndDisplayList(gfx++);
Graph_BranchDlist(polyOpa, gfx); Graph_BranchDlist(polyOpa, gfx);
gfxCtx->polyOpa.p = gfx; oGfxCtx->polyOpa.p = gfx;
}
if (CHECK_PAD(input->press, L_TRIG)) { if (CHECK_PAD(input->press, L_TRIG)) {
globalCtx->pauseCtx.flag = 0; globalCtx->pauseCtx.flag = 0;
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../flg_set.c", 241); CLOSE_DISPS(gfxCtx, "../flg_set.c", 241);
} }

View file

@ -148,13 +148,11 @@ void GameState_DrawInputDisplay(u16 input, Gfx** gfx) {
void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) { void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
Gfx* newDList; Gfx* newDList;
Gfx* polyOpaP; Gfx* polyOpaP;
Gfx* dispRefs[5];
char pad[0x8];
GfxPrint printChars;
Graph_OpenDisps(dispRefs, gfxCtx, "../game.c", 746); OPEN_DISPS(gfxCtx, "../game.c", 746);
newDList = Graph_GfxPlusOne(polyOpaP = gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, newDList); newDList = Graph_GfxPlusOne(polyOpaP = oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, newDList);
if (R_ENABLE_FB_FILTER == 1) { if (R_ENABLE_FB_FILTER == 1) {
GameState_SetFBFilter(&newDList); GameState_SetFBFilter(&newDList);
@ -166,14 +164,19 @@ void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
} }
if (R_ENABLE_AUDIO_DBG & 1) { if (R_ENABLE_AUDIO_DBG & 1) {
GfxPrint_Init(&printChars); s32 pad;
GfxPrint_Open(&printChars, newDList); GfxPrint printer;
func_800EEA50(&printChars);
newDList = GfxPrint_Close(&printChars); GfxPrint_Init(&printer);
GfxPrint_Destroy(&printChars); GfxPrint_Open(&printer, newDList);
func_800EEA50(&printer);
newDList = GfxPrint_Close(&printer);
GfxPrint_Destroy(&printer);
} }
if (R_ENABLE_ARENA_DBG < 0) { if (R_ENABLE_ARENA_DBG < 0) {
s32 pad;
DebugArena_Display(); DebugArena_Display();
SystemArena_Display(); SystemArena_Display();
//% 08x bytes left until the death of Hyrule (game_alloc) //% 08x bytes left until the death of Hyrule (game_alloc)
@ -181,13 +184,13 @@ void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
R_ENABLE_ARENA_DBG = 0; R_ENABLE_ARENA_DBG = 0;
} }
if (1) {
gSPEndDisplayList(newDList++); gSPEndDisplayList(newDList++);
Graph_BranchDlist(polyOpaP, newDList); Graph_BranchDlist(polyOpaP, newDList);
gfxCtx->polyOpa.p = newDList; oGfxCtx->polyOpa.p = newDList;
}
Graph_CloseDisps(dispRefs, gfxCtx, "../game.c", 800); if (1) {}
CLOSE_DISPS(gfxCtx, "../game.c", 800);
func_80063D7C(gfxCtx); func_80063D7C(gfxCtx);
@ -198,41 +201,37 @@ void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
} }
void GameState_SetFrameBuffer(GraphicsContext* gfxCtx) { void GameState_SetFrameBuffer(GraphicsContext* gfxCtx) {
Gfx* dispRef[5]; OPEN_DISPS(gfxCtx, "../game.c", 814);
Graph_OpenDisps(dispRef, gfxCtx, "../game.c", 814); gSPSegment(oGfxCtx->polyOpa.p++, 0, 0);
gSPSegment(oGfxCtx->polyOpa.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(oGfxCtx->polyOpa.p++, 0xE, gZBuffer);
gSPSegment(oGfxCtx->polyXlu.p++, 0, 0);
gSPSegment(oGfxCtx->polyXlu.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(oGfxCtx->polyXlu.p++, 0xE, gZBuffer);
gSPSegment(oGfxCtx->overlay.p++, 0, 0);
gSPSegment(oGfxCtx->overlay.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(oGfxCtx->overlay.p++, 0xE, gZBuffer);
gSPSegment(gfxCtx->polyOpa.p++, 0, 0); CLOSE_DISPS(gfxCtx, "../game.c", 838);
gSPSegment(gfxCtx->polyOpa.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->polyOpa.p++, 0xE, gZBuffer);
gSPSegment(gfxCtx->polyXlu.p++, 0, 0);
gSPSegment(gfxCtx->polyXlu.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->polyXlu.p++, 0xE, gZBuffer);
gSPSegment(gfxCtx->overlay.p++, 0, 0);
gSPSegment(gfxCtx->overlay.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->overlay.p++, 0xE, gZBuffer);
Graph_CloseDisps(dispRef, gfxCtx, "../game.c", 838);
} }
void func_800C49F4(GraphicsContext* gfxCtx) { void func_800C49F4(GraphicsContext* gfxCtx) {
Gfx* newDlist; Gfx* newDlist;
Gfx* polyOpaP; Gfx* polyOpaP;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../game.c", 846); OPEN_DISPS(gfxCtx, "../game.c", 846);
newDlist = Graph_GfxPlusOne(polyOpaP = gfxCtx->polyOpa.p); newDlist = Graph_GfxPlusOne(polyOpaP = oGfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, newDlist); gSPDisplayList(oGfxCtx->overlay.p++, newDlist);
// necessary to match
if (1) {
gSPEndDisplayList(newDlist++); gSPEndDisplayList(newDlist++);
Graph_BranchDlist(polyOpaP, newDlist); Graph_BranchDlist(polyOpaP, newDlist);
gfxCtx->polyOpa.p = newDlist; oGfxCtx->polyOpa.p = newDlist;
}
Graph_CloseDisps(dispRefs, gfxCtx, "../game.c", 865); if (1) {}
CLOSE_DISPS(gfxCtx, "../game.c", 865);
} }
void GameState_ReqPadData(GameState* gameState) { void GameState_ReqPadData(GameState* gameState) {

View file

@ -221,12 +221,9 @@ void Graph_TaskSet00(GraphicsContext* gfxCtx) {
task->output_buff_size = (u64*)((u8*)gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer)); task->output_buff_size = (u64*)((u8*)gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer));
task->data_ptr = (u64*)gfxCtx->workBuffer; task->data_ptr = (u64*)gfxCtx->workBuffer;
{ OPEN_DISPS(gfxCtx, "../graph.c", 828);
Gfx* dispRefs[5]; task->data_size = (u32)oGfxCtx->work.p - (u32)gfxCtx->workBuffer;
Graph_OpenDisps(dispRefs, gfxCtx, "../graph.c", 828); CLOSE_DISPS(gfxCtx, "../graph.c", 830);
task->data_size = (u32)gfxCtx->work.p - (u32)gfxCtx->workBuffer;
Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 830);
}
{ s32 pad2; } // Necessary to match stack usage { s32 pad2; } // Necessary to match stack usage
@ -271,46 +268,37 @@ void Graph_Update(GraphicsContext* gfxCtx, GameState* gameState) {
gameState->unk_A0 = 0; gameState->unk_A0 = 0;
Graph_InitTHGA(gfxCtx); Graph_InitTHGA(gfxCtx);
{ OPEN_DISPS(gfxCtx, "../graph.c", 966);
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../graph.c", 966);
gDPNoOpString(gfxCtx->work.p++, "WORK_DISP 開始", 0); gDPNoOpString(oGfxCtx->work.p++, "WORK_DISP 開始", 0);
gDPNoOpString(gfxCtx->polyOpa.p++, "POLY_OPA_DISP 開始", 0); gDPNoOpString(oGfxCtx->polyOpa.p++, "POLY_OPA_DISP 開始", 0);
gDPNoOpString(gfxCtx->polyXlu.p++, "POLY_XLU_DISP 開始", 0); gDPNoOpString(oGfxCtx->polyXlu.p++, "POLY_XLU_DISP 開始", 0);
gDPNoOpString(gfxCtx->overlay.p++, "OVERLAY_DISP 開始", 0); gDPNoOpString(oGfxCtx->overlay.p++, "OVERLAY_DISP 開始", 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 975); CLOSE_DISPS(gfxCtx, "../graph.c", 975);
}
GameState_ReqPadData(gameState); GameState_ReqPadData(gameState);
GameState_Update(gameState); GameState_Update(gameState);
{ OPEN_DISPS(gfxCtx, "../graph.c", 987);
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../graph.c", 987);
gDPNoOpString(gfxCtx->work.p++, "WORK_DISP 終了", 0); gDPNoOpString(oGfxCtx->work.p++, "WORK_DISP 終了", 0);
gDPNoOpString(gfxCtx->polyOpa.p++, "POLY_OPA_DISP 終了", 0); gDPNoOpString(oGfxCtx->polyOpa.p++, "POLY_OPA_DISP 終了", 0);
gDPNoOpString(gfxCtx->polyXlu.p++, "POLY_XLU_DISP 終了", 0); gDPNoOpString(oGfxCtx->polyXlu.p++, "POLY_XLU_DISP 終了", 0);
gDPNoOpString(gfxCtx->overlay.p++, "OVERLAY_DISP 終了", 0); gDPNoOpString(oGfxCtx->overlay.p++, "OVERLAY_DISP 終了", 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 996); CLOSE_DISPS(gfxCtx, "../graph.c", 996);
}
{ OPEN_DISPS(gfxCtx, "../graph.c", 999);
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../graph.c", 999);
gSPBranchList(gfxCtx->work.p++, gfxCtx->polyOpaBuffer); gSPBranchList(oGfxCtx->work.p++, gfxCtx->polyOpaBuffer);
gSPBranchList(gfxCtx->polyOpa.p++, gfxCtx->polyXluBuffer); gSPBranchList(oGfxCtx->polyOpa.p++, gfxCtx->polyXluBuffer);
gSPBranchList(gfxCtx->polyXlu.p++, gfxCtx->overlayBuffer); gSPBranchList(oGfxCtx->polyXlu.p++, gfxCtx->overlayBuffer);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPFullSync(gfxCtx->overlay.p++); gDPFullSync(oGfxCtx->overlay.p++);
gSPEndDisplayList(gfxCtx->overlay.p++); gSPEndDisplayList(oGfxCtx->overlay.p++);
Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 1028); CLOSE_DISPS(gfxCtx, "../graph.c", 1028);
}
if (HREG(80) == 10 && HREG(93) == 2) { if (HREG(80) == 10 && HREG(93) == 2) {
HREG(80) = 7; HREG(80) = 7;

View file

@ -52,14 +52,13 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
View view; View view;
u32 pad2[3]; u32 pad2[3];
Gfx* gfx; Gfx* gfx;
Gfx* dispRefs[5];
uly = this->y; uly = this->y;
lry = this->y + 2; lry = this->y + 2;
Graph_OpenDisps(dispRefs, gfxCtx, "../speed_meter.c", 225); OPEN_DISPS(gfxCtx, "../speed_meter.c", 225);
/*! @bug if gIrqMgrRetraceTime is 0, the function won't call Graph_CloseDisps */ /*! @bug if gIrqMgrRetraceTime is 0, CLOSE_DISPS will never be reached */
if (gIrqMgrRetraceTime == 0) { if (gIrqMgrRetraceTime == 0) {
return; return;
} }
@ -76,7 +75,7 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
SET_FULLSCREEN_VIEWPORT(&view); SET_FULLSCREEN_VIEWPORT(&view);
gfx = gfxCtx->overlay.p; gfx = oGfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx); func_800AB9EC(&view, 0xF, &gfx);
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
@ -98,8 +97,9 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
} }
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
gfxCtx->overlay.p = gfx; oGfxCtx->overlay.p = gfx;
Graph_CloseDisps(dispRefs, gfxCtx, "../speed_meter.c", 276);
CLOSE_DISPS(gfxCtx, "../speed_meter.c", 276);
} }
void SpeedMeter_InitAllocEntry(SpeedMeterAllocEntry* this, u32 maxval, u32 val, u16 backColor, u16 foreColor, u32 ulx, void SpeedMeter_InitAllocEntry(SpeedMeterAllocEntry* this, u32 maxval, u32 val, u16 backColor, u16 foreColor, u32 ulx,
@ -118,21 +118,20 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
s32 usedOff; s32 usedOff;
View view; View view;
Gfx* gfx; Gfx* gfx;
Gfx* dispRefs[5];
if (this->maxval == 0) { if (this->maxval == 0) {
osSyncPrintf(VT_FGCOL(RED)); osSyncPrintf(VT_FGCOL(RED));
LOG_NUM("this->maxval", this->maxval, "../speed_meter.c", 313); LOG_NUM("this->maxval", this->maxval, "../speed_meter.c", 313);
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
} else { } else {
Graph_OpenDisps(dispRefs, gfxCtx, "../speed_meter.c", 318); OPEN_DISPS(gfxCtx, "../speed_meter.c", 318);
View_Init(&view, gfxCtx); View_Init(&view, gfxCtx);
view.flags = 0xA; view.flags = 0xA;
SET_FULLSCREEN_VIEWPORT(&view); SET_FULLSCREEN_VIEWPORT(&view);
gfx = gfxCtx->overlay.p; gfx = oGfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx); func_800AB9EC(&view, 0xF, &gfx);
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
@ -147,8 +146,8 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
gfxCtx->overlay.p = gfx; oGfxCtx->overlay.p = gfx;
Graph_CloseDisps(dispRefs, gfxCtx, "../speed_meter.c", 339); CLOSE_DISPS(gfxCtx, "../speed_meter.c", 339);
} }
} }

View file

@ -16,29 +16,26 @@ void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* global
f32 temp1; f32 temp1;
f32 temp2; f32 temp2;
MtxF sp60; MtxF sp60;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (actor->floorPoly != NULL) { if (actor->floorPoly != NULL) {
temp1 = actor->posRot.pos.y - actor->groundY; temp1 = actor->posRot.pos.y - actor->groundY;
if (temp1 >= -50.0f && temp1 < 500.0f) { if (temp1 >= -50.0f && temp1 < 500.0f) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1553);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1553);
gfxCtx->polyOpa.p = Gfx_CallSetupDL(gfxCtx->polyOpa.p, 0x2C); oGfxCtx->polyOpa.p = Gfx_CallSetupDL(oGfxCtx->polyOpa.p, 0x2C);
gDPSetCombineLERP(gfxCtx->polyOpa.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, gDPSetCombineLERP(oGfxCtx->polyOpa.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0,
0, COMBINED); 0, 0, COMBINED);
temp1 = (temp1 < 0.0f) ? 0.0f : ((temp1 > 150.0f) ? 150.0f : temp1); temp1 = (temp1 < 0.0f) ? 0.0f : ((temp1 > 150.0f) ? 150.0f : temp1);
temp2 = 1.0f - (temp1 * (1.f / 350)); temp2 = 1.0f - (temp1 * (1.f / 350));
if (color != NULL) { if (color != NULL) {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, color->r, color->g, color->b, gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, color->r, color->g, color->b,
(u32)(actor->shape.unk_14 * temp2) & 0xFF); (u32)(actor->shape.unk_14 * temp2) & 0xFF);
} else { } else {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 0, 0, 0, (u32)(actor->shape.unk_14 * temp2) & 0xFF); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 0, 0, (u32)(actor->shape.unk_14 * temp2) & 0xFF);
} }
func_80038A28(actor->floorPoly, actor->posRot.pos.x, actor->groundY, actor->posRot.pos.z, &sp60); func_80038A28(actor->floorPoly, actor->posRot.pos.x, actor->groundY, actor->posRot.pos.z, &sp60);
@ -51,11 +48,11 @@ void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* global
temp2 = (1.0f - (temp1 * (1.f / 350))) * actor->shape.unk_10; temp2 = (1.0f - (temp1 * (1.f / 350))) * actor->shape.unk_10;
Matrix_Scale(actor->scale.x * temp2, 1.0f, actor->scale.z * temp2, MTXMODE_APPLY); Matrix_Scale(actor->scale.x * temp2, 1.0f, actor->scale.z * temp2, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 1588), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 1588),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist); gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1594); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1594);
} }
} }
} }
@ -75,13 +72,13 @@ void ActorShadow_DrawFunc_Squiggly(Actor* actor, LightMapper* lightMapper, Globa
} }
void func_8002B66C(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6) { void func_8002B66C(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad1;
f32 sp58; f32 sp58;
Gfx* dispRefs[7]; s32 pad2[2];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1661); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1661);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 0, 0, 0, gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 0, 0,
(u32)(((arg3 * 0.00005f) > 1.0f ? 1.0f : (arg3 * 0.00005f)) * arg4) & 0xFF); (u32)(((arg3 * 0.00005f) > 1.0f ? 1.0f : (arg3 * 0.00005f)) * arg4) & 0xFF);
sp58 = Math_atan2f(light->l.dir[0], light->l.dir[2]); sp58 = Math_atan2f(light->l.dir[0], light->l.dir[2]);
@ -91,22 +88,20 @@ void func_8002B66C(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3,
Matrix_RotateY(sp58, MTXMODE_APPLY); Matrix_RotateY(sp58, MTXMODE_APPLY);
Matrix_Scale(arg5, 1.0f, arg5 * arg6, MTXMODE_APPLY); Matrix_Scale(arg5, 1.0f, arg5 * arg6, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 1687), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 1687),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_04048180); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_04048180);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1693); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1693);
} }
#ifdef NON_MATCHING #ifdef NON_MATCHING
// saved register, stack usage and minor ordering differences // saved register, stack usage and minor ordering differences
void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, GlobalContext* globalCtx) { void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
MtxF spE8; MtxF spE8;
f32 spE0[2]; f32 spE0[2];
s32 i; s32 i;
f32* spAC; f32* spAC;
Gfx* dispRefs[4];
f32 temp_10; f32 temp_10;
u8 temp_14; u8 temp_14;
f32 temp_f0; f32 temp_f0;
@ -141,10 +136,9 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
temp_s6 = lightMapper->numLights; temp_s6 = lightMapper->numLights;
temp_s6 -= 2; temp_s6 -= 2;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1741);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1741);
gfxCtx->polyOpa.p = Gfx_CallSetupDL(gfxCtx->polyOpa.p, 0x2C); oGfxCtx->polyOpa.p = Gfx_CallSetupDL(oGfxCtx->polyOpa.p, 0x2C);
actor->shape.unk_15 = 0; actor->shape.unk_15 = 0;
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
@ -212,7 +206,7 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
actor->shape.unk_15 = ((spE0[0] + temp_f0) < (spE0[1] - temp_f0)) ? 2 : 1; actor->shape.unk_15 = ((spE0[0] + temp_f0) < (spE0[1] - temp_f0)) ? 2 : 1;
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1831); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1831);
} }
} }
#else #else
@ -309,10 +303,12 @@ void func_8002C0C0(TargetContext* targetCtx, Actor* actor, GlobalContext* global
void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) { void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Actor* actor = targetCtx->targetedActor; Actor* actor = targetCtx->targetedActor;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4]; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2029);
Player* player;
if (targetCtx->unk_48 != 0) {
TargetContextEntry* entry; TargetContextEntry* entry;
Player* player;
s16 spCE; s16 spCE;
f32 temp1; f32 temp1;
Vec3f spBC; Vec3f spBC;
@ -324,9 +320,6 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
f32 var2; f32 var2;
s32 i; s32 i;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2029);
if (targetCtx->unk_48 != 0) {
player = PLAYER; player = PLAYER;
spCE = 0xFF; spCE = 0xFF;
@ -367,7 +360,7 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
func_8002BE64(targetCtx, targetCtx->unk_4C, spBC.x, spBC.y, spBC.z); func_8002BE64(targetCtx, targetCtx->unk_4C, spBC.x, spBC.y, spBC.z);
if ((!(player->stateFlags1 & 0x40)) || (actor != player->unk_664)) { if ((!(player->stateFlags1 & 0x40)) || (actor != player->unk_664)) {
gfxCtx->overlay.p = Gfx_CallSetupDL(gfxCtx->overlay.p, 0x39); oGfxCtx->overlay.p = Gfx_CallSetupDL(oGfxCtx->overlay.p, 0x39);
for (spB0 = 0, spAC = targetCtx->unk_4C; spB0 < spB8; spB0++, spAC = (spAC + 1) % 3) { for (spB0 = 0, spAC = targetCtx->unk_4C; spB0 < spB8; spB0++, spAC = (spAC + 1) % 3) {
entry = &targetCtx->arr_50[spAC]; entry = &targetCtx->arr_50[spAC];
@ -382,7 +375,7 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Matrix_Translate(entry->pos.x, entry->pos.y, 0.0f, MTXMODE_NEW); Matrix_Translate(entry->pos.x, entry->pos.y, 0.0f, MTXMODE_NEW);
Matrix_Scale(var2, 0.15f, 1.0f, MTXMODE_APPLY); Matrix_Scale(var2, 0.15f, 1.0f, MTXMODE_APPLY);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, entry->color.r, entry->color.g, entry->color.b, gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, entry->color.r, entry->color.g, entry->color.b,
(u8)spCE); (u8)spCE);
Matrix_RotateZ((targetCtx->unk_4B & 0x7F) * (M_PI / 64), MTXMODE_APPLY); Matrix_RotateZ((targetCtx->unk_4B & 0x7F) * (M_PI / 64), MTXMODE_APPLY);
@ -391,9 +384,9 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Matrix_RotateZ(M_PI / 2, MTXMODE_APPLY); Matrix_RotateZ(M_PI / 2, MTXMODE_APPLY);
Matrix_Push(); Matrix_Push();
Matrix_Translate(entry->unk_0C, entry->unk_0C, 0.0f, MTXMODE_APPLY); Matrix_Translate(entry->unk_0C, entry->unk_0C, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2116), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2116),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->overlay.p++, D_0404D450); gSPDisplayList(oGfxCtx->overlay.p++, D_0404D450);
Matrix_Pull(); Matrix_Pull();
} }
} }
@ -410,20 +403,20 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
if ((actor != NULL) && !(actor->flags & 0x8000000)) { if ((actor != NULL) && !(actor->flags & 0x8000000)) {
NaviColor* naviColor = &sNaviColorList[actor->type]; NaviColor* naviColor = &sNaviColorList[actor->type];
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x7); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x7);
Matrix_Translate(actor->posRot2.pos.x, actor->posRot2.pos.y + (actor->unk_4C * actor->scale.y) + 17.0f, Matrix_Translate(actor->posRot2.pos.x, actor->posRot2.pos.y + (actor->unk_4C * actor->scale.y) + 17.0f,
actor->posRot2.pos.z, MTXMODE_NEW); actor->posRot2.pos.z, MTXMODE_NEW);
Matrix_RotateY((f32)((u16)(globalCtx->gameplayFrames * 3000)) * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateY((f32)((u16)(globalCtx->gameplayFrames * 3000)) * (M_PI / 32768), MTXMODE_APPLY);
Matrix_Scale((iREG(27) + 35) / 1000.0f, (iREG(28) + 60) / 1000.0f, (iREG(29) + 50) / 1000.0f, MTXMODE_APPLY); Matrix_Scale((iREG(27) + 35) / 1000.0f, (iREG(28) + 60) / 1000.0f, (iREG(29) + 50) / 1000.0f, MTXMODE_APPLY);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, naviColor->inner.r, naviColor->inner.g, naviColor->inner.b, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, naviColor->inner.r, naviColor->inner.g, naviColor->inner.b, 255);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2153), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2153),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_0400CB70); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_0400CB70);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2158); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2158);
} }
void func_8002C7BC(TargetContext* targetCtx, Player* player, Actor* actorArg, GlobalContext* globalCtx) { void func_8002C7BC(TargetContext* targetCtx, Player* player, Actor* actorArg, GlobalContext* globalCtx) {
@ -724,8 +717,6 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
s32 spB8; s32 spB8;
s32 spB4; s32 spB4;
s32 spB0; s32 spB0;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (titleCtx->unk_C != 0) { if (titleCtx->unk_C != 0) {
spCC = titleCtx->unk_8; spCC = titleCtx->unk_8;
@ -734,8 +725,7 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
spB8 = (titleCtx->unk_6 * 4) - (spC8 * 2); spB8 = (titleCtx->unk_6 * 4) - (spC8 * 2);
sp38 = spCC * 2; sp38 = spCC * 2;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2824);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2824);
spB0 = spCC * spC8 * gSaveContext.language; spB0 = spCC * spC8 * gSaveContext.language;
spC8 = (spCC * spC8 > 0x1000) ? 0x1000 / spCC : spC8; spC8 = (spCC * spC8 > 0x1000) ? 0x1000 / spCC : spC8;
@ -743,30 +733,30 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
if (1) {} // Necessary to match if (1) {} // Necessary to match
gfxCtx->overlay.p = func_80093808(gfxCtx->overlay.p); oGfxCtx->overlay.p = func_80093808(oGfxCtx->overlay.p);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, (u8)titleCtx->unk_E, (u8)titleCtx->unk_E, (u8)titleCtx->unk_E, gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, (u8)titleCtx->unk_E, (u8)titleCtx->unk_E, (u8)titleCtx->unk_E,
(u8)titleCtx->unk_C); (u8)titleCtx->unk_C);
gDPLoadTextureBlock(gfxCtx->overlay.p++, titleCtx->texture + spB0, G_IM_FMT_IA, G_IM_SIZ_8b, spCC, spC8, 0, gDPLoadTextureBlock(oGfxCtx->overlay.p++, titleCtx->texture + spB0, G_IM_FMT_IA, G_IM_SIZ_8b, spCC, spC8, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD); G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (spC8 * 4) - 1, gSPTextureRectangle(oGfxCtx->overlay.p++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (spC8 * 4) - 1,
G_TX_RENDERTILE, 0, 0, 1024, 1024); G_TX_RENDERTILE, 0, 0, 1024, 1024);
spC8 = titleCtx->unk_9 - spC8; spC8 = titleCtx->unk_9 - spC8;
if (spC8 > 0) { if (spC8 > 0) {
gDPLoadTextureBlock(gfxCtx->overlay.p++, titleCtx->texture + spB0 + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, spCC, gDPLoadTextureBlock(oGfxCtx->overlay.p++, titleCtx->texture + spB0 + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, spCC,
spC8, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, spC8, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, spC0, spB4, ((sp38 * 2) + spC0) - 4, spB4 + (spC8 * 4) - 1, gSPTextureRectangle(oGfxCtx->overlay.p++, spC0, spB4, ((sp38 * 2) + spC0) - 4, spB4 + (spC8 * 4) - 1,
G_TX_RENDERTILE, 0, 0, 1024, 1024); G_TX_RENDERTILE, 0, 0, 1024, 1024);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2880); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2880);
} }
} }
@ -1311,22 +1301,24 @@ Gfx* func_8002E830(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext*
Hilite* func_8002EABC(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) { Hilite* func_8002EABC(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) {
Hilite* hilite; Hilite* hilite;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 4306); OPEN_DISPS(gfxCtx, "../z_actor.c", 4306);
gfxCtx->polyOpa.p = func_8002E830(object, eye, lightDir, gfxCtx, gfxCtx->polyOpa.p, &hilite);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_actor.c", 4313); oGfxCtx->polyOpa.p = func_8002E830(object, eye, lightDir, gfxCtx, oGfxCtx->polyOpa.p, &hilite);
CLOSE_DISPS(gfxCtx, "../z_actor.c", 4313);
return hilite; return hilite;
} }
Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) { Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) {
Hilite* hilite; Hilite* hilite;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 4332); OPEN_DISPS(gfxCtx, "../z_actor.c", 4332);
gfxCtx->polyXlu.p = func_8002E830(object, eye, lightDir, gfxCtx, gfxCtx->polyXlu.p, &hilite);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_actor.c", 4339); oGfxCtx->polyXlu.p = func_8002E830(object, eye, lightDir, gfxCtx, oGfxCtx->polyXlu.p, &hilite);
CLOSE_DISPS(gfxCtx, "../z_actor.c", 4339);
return hilite; return hilite;
} }
@ -1336,8 +1328,6 @@ void func_8002EBCC(Actor* actor, GlobalContext* globalCtx, s32 flag) {
Vec3f lightDir; Vec3f lightDir;
Gfx* displayListHead; Gfx* displayListHead;
Gfx* displayList; Gfx* displayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
lightDir.x = globalCtx->envCtx.unk_2A; lightDir.x = globalCtx->envCtx.unk_2A;
lightDir.y = globalCtx->envCtx.unk_2B; lightDir.y = globalCtx->envCtx.unk_2B;
@ -1354,14 +1344,13 @@ void func_8002EBCC(Actor* actor, GlobalContext* globalCtx, s32 flag) {
displayList = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Gfx)); displayList = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Gfx));
displayListHead = displayList; displayListHead = displayList;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4384);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4384);
gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10); gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10);
gSPEndDisplayList(displayListHead); gSPEndDisplayList(displayListHead);
gSPSegment(gfxCtx->polyOpa.p++, 0x07, displayList); gSPSegment(oGfxCtx->polyOpa.p++, 0x07, displayList);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4394); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4394);
} }
} }
@ -1370,8 +1359,6 @@ void func_8002ED80(Actor* actor, GlobalContext* globalCtx, s32 flag) {
Vec3f lightDir; Vec3f lightDir;
Gfx* displayListHead; Gfx* displayListHead;
Gfx* displayList; Gfx* displayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
lightDir.x = globalCtx->envCtx.unk_2A; lightDir.x = globalCtx->envCtx.unk_2A;
lightDir.y = globalCtx->envCtx.unk_2B; lightDir.y = globalCtx->envCtx.unk_2B;
@ -1383,14 +1370,13 @@ void func_8002ED80(Actor* actor, GlobalContext* globalCtx, s32 flag) {
displayList = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Gfx)); displayList = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Gfx));
displayListHead = displayList; displayListHead = displayList;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4429);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4429);
gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10); gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10);
gSPEndDisplayList(displayListHead); gSPEndDisplayList(displayListHead);
gSPSegment(gfxCtx->polyXlu.p++, 0x07, displayList); gSPSegment(oGfxCtx->polyXlu.p++, 0x07, displayList);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4439); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4439);
} }
} }
@ -1784,8 +1770,6 @@ Color_RGB8 D_80116064 = { 100, 200, 0 };
// saved register, stack usage and minor ordering differences // saved register, stack usage and minor ordering differences
// this also doesn't generate a few useless struct copies // this also doesn't generate a few useless struct copies
void func_8002FBAC(GlobalContext* globalCtx) { void func_8002FBAC(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[6];
Vec3f lightPos; Vec3f lightPos;
f32 spD8; f32 spD8;
f32 spD4; f32 spD4;
@ -1806,9 +1790,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
f32 phi_f10; f32 phi_f10;
f32 phi_f6; f32 phi_f6;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 5308);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 5308);
if (gSaveContext.respawn[RESPAWN_MODE_TOP].data != 0) { if (gSaveContext.respawn[RESPAWN_MODE_TOP].data != 0) {
if (LINK_IS_ADULT) { if (LINK_IS_ADULT) {
@ -1904,7 +1886,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state == 0) && if ((globalCtx->csCtx.state == 0) &&
(gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex == gSaveContext.entranceIndex) && (gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex == gSaveContext.entranceIndex) &&
(globalCtx->roomCtx.curRoom.num == gSaveContext.respawn[RESPAWN_MODE_TOP].roomIndex)) { (globalCtx->roomCtx.curRoom.num == gSaveContext.respawn[RESPAWN_MODE_TOP].roomIndex)) {
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x19); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x19);
Matrix_Translate(gSaveContext.respawn[RESPAWN_MODE_TOP].pos.x, Matrix_Translate(gSaveContext.respawn[RESPAWN_MODE_TOP].pos.x,
gSaveContext.respawn[RESPAWN_MODE_TOP].pos.y + spD8, gSaveContext.respawn[RESPAWN_MODE_TOP].pos.y + spD8,
@ -1913,24 +1895,24 @@ void func_8002FBAC(GlobalContext* globalCtx) {
Matrix_Mult(&globalCtx->mf_11D60, MTXMODE_APPLY); Matrix_Mult(&globalCtx->mf_11D60, MTXMODE_APPLY);
Matrix_Push(); Matrix_Push();
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 200, spD0); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 200, spD0);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 100, 200, 0, 255); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 100, 200, 0, 255);
phi_f10 = (globalCtx->gameplayFrames * 1500) & 0xFFFF; phi_f10 = (globalCtx->gameplayFrames * 1500) & 0xFFFF;
Matrix_RotateZ((phi_f10 * M_PI) / 32768.0f, MTXMODE_APPLY); Matrix_RotateZ((phi_f10 * M_PI) / 32768.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5458), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5458),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_04010130); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_04010130);
Matrix_Pull(); Matrix_Pull();
phi_f6 = ~((globalCtx->gameplayFrames * 1200) & 0xFFFF); phi_f6 = ~((globalCtx->gameplayFrames * 1200) & 0xFFFF);
Matrix_RotateZ((phi_f6 * M_PI) / 32768.0f, MTXMODE_APPLY); Matrix_RotateZ((phi_f6 * M_PI) / 32768.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5463), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5463),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_04010130); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_04010130);
} }
lightPos.x = gSaveContext.respawn[RESPAWN_MODE_TOP].pos.x; lightPos.x = gSaveContext.respawn[RESPAWN_MODE_TOP].pos.x;
@ -1940,7 +1922,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
Lights_InitType0PositionalLight(&D_8015BC00, lightPos.x, lightPos.y, lightPos.z, 0xFF, 0xFF, 0xFF, Lights_InitType0PositionalLight(&D_8015BC00, lightPos.x, lightPos.y, lightPos.z, 0xFF, 0xFF, 0xFF,
500.0f * spD4); 500.0f * spD4);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 5474); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 5474);
} }
} }
#else #else
@ -2169,15 +2151,10 @@ void Actor_FaultPrint(Actor* actor, char* command) {
void Actor_Draw(GlobalContext* globalCtx, Actor* actor) { void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
FaultClient faultClient; FaultClient faultClient;
LightMapper* lightMapper; LightMapper* lightMapper;
GraphicsContext* gfxCtx;
Camera* camera;
Gfx* dispRefs[3];
Fault_AddClient(&faultClient, Actor_FaultPrint, actor, "Actor_draw"); Fault_AddClient(&faultClient, Actor_FaultPrint, actor, "Actor_draw");
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 6035);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 6035);
lightMapper = Lights_CreateMapper(&globalCtx->lightCtx, globalCtx->state.gfxCtx); lightMapper = Lights_CreateMapper(&globalCtx->lightCtx, globalCtx->state.gfxCtx);
@ -2185,10 +2162,10 @@ void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
func_80079EFC(lightMapper, globalCtx->state.gfxCtx); func_80079EFC(lightMapper, globalCtx->state.gfxCtx);
if (actor->flags & 0x1000) { if (actor->flags & 0x1000) {
camera = &globalCtx->cameras[0]; func_800D1694(actor->posRot.pos.x + globalCtx->mainCamera.unk_80.x,
func_800D1694(actor->posRot.pos.x + camera->unk_80.x, actor->posRot.pos.y +
actor->posRot.pos.y + (f32)((actor->shape.unk_08 * actor->scale.y) + camera->unk_80.y), (f32)((actor->shape.unk_08 * actor->scale.y) + globalCtx->mainCamera.unk_80.y),
actor->posRot.pos.z + camera->unk_80.z, &actor->shape.rot); actor->posRot.pos.z + globalCtx->mainCamera.unk_80.z, &actor->shape.rot);
} else { } else {
func_800D1694(actor->posRot.pos.x, actor->posRot.pos.y + (actor->shape.unk_08 * actor->scale.y), func_800D1694(actor->posRot.pos.x, actor->posRot.pos.y + (actor->shape.unk_08 * actor->scale.y),
actor->posRot.pos.z, &actor->shape.rot); actor->posRot.pos.z, &actor->shape.rot);
@ -2197,8 +2174,8 @@ void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
Matrix_Scale(actor->scale.x, actor->scale.y, actor->scale.z, MTXMODE_APPLY); Matrix_Scale(actor->scale.x, actor->scale.y, actor->scale.z, MTXMODE_APPLY);
Actor_SetObjectDependency(globalCtx, actor); Actor_SetObjectDependency(globalCtx, actor);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
gSPSegment(gfxCtx->polyXlu.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
if (actor->dmgEffectTimer != 0) { if (actor->dmgEffectTimer != 0) {
// Must be inline data to match // Must be inline data to match
@ -2232,7 +2209,7 @@ void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
actor->shape.shadowDrawFunc(actor, lightMapper, globalCtx); actor->shape.shadowDrawFunc(actor, lightMapper, globalCtx);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 6119); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 6119);
Fault_RemoveClient(&faultClient); Fault_RemoveClient(&faultClient);
} }
@ -2252,94 +2229,91 @@ void func_80030ED8(Actor* actor) {
} }
void func_80030FA8(GraphicsContext* gfxCtx) { void func_80030FA8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_actor.c", 6161);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 6161); gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, &D_0401E370, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_MIRROR | G_TX_CLAMP,
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, &D_0401E370, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_MIRROR | G_TX_CLAMP,
G_TX_MIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD); G_TX_MIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->polyXlu.p++, G_TX_RENDERTILE, 384, 224, 892, 732); gDPSetTileSize(oGfxCtx->polyXlu.p++, G_TX_RENDERTILE, 384, 224, 892, 732);
gSPTextureRectangle(gfxCtx->polyXlu.p++, 0, 0, 1280, 960, G_TX_RENDERTILE, 2240, 1600, 576, 597); gSPTextureRectangle(oGfxCtx->polyXlu.p++, 0, 0, 1280, 960, G_TX_RENDERTILE, 2240, 1600, 576, 597);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_actor.c", 6183); CLOSE_DISPS(gfxCtx, "../z_actor.c", 6183);
} }
void func_8003115C(GlobalContext* globalCtx, s32 nbInvisibleActors, Actor** invisibleActors) { void func_8003115C(GlobalContext* globalCtx, s32 nbInvisibleActors, Actor** invisibleActors) {
Actor** invisibleActor; Actor** invisibleActor;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
s32 i; s32 i;
Gfx* dispRefs[5];
gfxCtx = globalCtx->state.gfxCtx; gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 6197); OPEN_DISPS(gfxCtx, "../z_actor.c", 6197);
// Translates to: "MAGIC LENS START" // Translates to: "MAGIC LENS START"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ START", 0); gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ START", 0);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
if (globalCtx->roomCtx.curRoom.showInvisActors == 0) { if (globalCtx->roomCtx.curRoom.showInvisActors == 0) {
gDPSetOtherMode(gfxCtx->polyXlu.p++, gDPSetOtherMode(oGfxCtx->polyXlu.p++,
G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PRIM | Z_UPD | G_RM_CLD_SURF | G_RM_CLD_SURF2); G_AC_THRESHOLD | G_ZS_PRIM | Z_UPD | G_RM_CLD_SURF | G_RM_CLD_SURF2);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
} else { } else {
gDPSetOtherMode(gfxCtx->polyXlu.p++, gDPSetOtherMode(oGfxCtx->polyXlu.p++,
G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PRIM | Z_UPD | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_AC_THRESHOLD | G_ZS_PRIM | Z_UPD | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
GBL_c1(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA) | GBL_c1(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA) |
GBL_c2(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA)); GBL_c2(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA));
gDPSetCombineLERP(gfxCtx->polyXlu.p++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, gDPSetCombineLERP(oGfxCtx->polyXlu.p++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC,
PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0); 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0xFF, 74, 74, 74, 74); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0xFF, 74, 74, 74, 74);
} }
gDPSetPrimDepth(gfxCtx->polyXlu.p++, 0, 0); gDPSetPrimDepth(oGfxCtx->polyXlu.p++, 0, 0);
func_80030FA8(gfxCtx); func_80030FA8(gfxCtx);
// Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY START" // Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY START"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示 START", nbInvisibleActors); gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示 START", nbInvisibleActors);
invisibleActor = &invisibleActors[0]; invisibleActor = &invisibleActors[0];
for (i = 0; i < nbInvisibleActors; i++) { for (i = 0; i < nbInvisibleActors; i++) {
// Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY" // Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示", i); gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示", i);
Actor_Draw(globalCtx, *(invisibleActor++)); Actor_Draw(globalCtx, *(invisibleActor++));
} }
// Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY END" // Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY END"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示 END", nbInvisibleActors); gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示 END", nbInvisibleActors);
if (globalCtx->roomCtx.curRoom.showInvisActors != 0) { if (globalCtx->roomCtx.curRoom.showInvisActors != 0) {
// Translates to: "BLUE SPECTACLES (EXTERIOR)" // Translates to: "BLUE SPECTACLES (EXTERIOR)"
gDPNoOpString(gfxCtx->polyOpa.p++, "青い眼鏡(外側)", 0); gDPNoOpString(oGfxCtx->polyOpa.p++, "青い眼鏡(外側)", 0);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetOtherMode(gfxCtx->polyXlu.p++, gDPSetOtherMode(oGfxCtx->polyXlu.p++,
G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2); G_AC_THRESHOLD | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
func_80030FA8(gfxCtx); func_80030FA8(gfxCtx);
// Translates to: "BLUE SPECTACLES (EXTERIOR)" // Translates to: "BLUE SPECTACLES (EXTERIOR)"
gDPNoOpString(gfxCtx->polyOpa.p++, "青い眼鏡(外側)", 1); gDPNoOpString(oGfxCtx->polyOpa.p++, "青い眼鏡(外側)", 1);
} }
// Translates to: "MAGIC LENS END" // Translates to: "MAGIC LENS END"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ END", 0); gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ END", 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_actor.c", 6284); CLOSE_DISPS(gfxCtx, "../z_actor.c", 6284);
} }
s32 func_800314B0(GlobalContext* globalCtx, Actor* actor) { s32 func_800314B0(GlobalContext* globalCtx, Actor* actor) {
@ -2366,28 +2340,24 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
s32 invisibleActorCounter; s32 invisibleActorCounter;
Actor* invisibleActors[INVISIBLE_ACTOR_MAX]; Actor* invisibleActors[INVISIBLE_ACTOR_MAX];
ActorListEntry* actorListEntry; ActorListEntry* actorListEntry;
GraphicsContext* gfxCtx;
s32 i;
Gfx* dispRefs[5];
Actor* actor; Actor* actor;
ActorOverlay* overlayEntry; s32 i;
char* actorName;
gfxCtx = globalCtx->state.gfxCtx;
invisibleActorCounter = 0; invisibleActorCounter = 0;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 6336); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 6336);
actorListEntry = &actorCtx->actorList[0]; actorListEntry = &actorCtx->actorList[0];
for (i = 0; i < ARRAY_COUNT(actorCtx->actorList); i++, actorListEntry++) { for (i = 0; i < ARRAY_COUNT(actorCtx->actorList); i++, actorListEntry++) {
actor = actorListEntry->first; actor = actorListEntry->first;
while (actor != NULL) {
overlayEntry = actor->overlayEntry;
actorName = overlayEntry->name != NULL ? overlayEntry->name : "";
gDPNoOpString(gfxCtx->polyOpa.p++, actorName, i); while (actor != NULL) {
gDPNoOpString(gfxCtx->polyXlu.p++, actorName, i); ActorOverlay* overlayEntry = actor->overlayEntry;
char* actorName = overlayEntry->name != NULL ? overlayEntry->name : "";
gDPNoOpString(oGfxCtx->polyOpa.p++, actorName, i);
gDPNoOpString(oGfxCtx->polyXlu.p++, actorName, i);
HREG(66) = i; HREG(66) = i;
@ -2466,7 +2436,7 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
CollisionCheck_Draw(globalCtx, &globalCtx->colChkCtx); CollisionCheck_Draw(globalCtx, &globalCtx->colChkCtx);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 6563); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 6563);
} }
void func_80031A28(GlobalContext* globalCtx, ActorContext* actorCtx) { void func_80031A28(GlobalContext* globalCtx, ActorContext* actorCtx) {
@ -3444,16 +3414,14 @@ void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, GlobalContext* globalCtx)
f32 var; f32 var;
Vec3f sp50; Vec3f sp50;
CollisionPoly* sp4C; CollisionPoly* sp4C;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8120); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8120);
if (0) {} // Necessary to match if (0) {} // Necessary to match
gfxCtx->polyOpa.p = Gfx_CallSetupDL(gfxCtx->polyOpa.p, 0x2C); oGfxCtx->polyOpa.p = Gfx_CallSetupDL(oGfxCtx->polyOpa.p, 0x2C);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 0, 0, 0, alpha); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 0, 0, alpha);
sp50.x = arg0->x; sp50.x = arg0->x;
sp50.y = arg0->y + 1.0f; sp50.y = arg0->y + 1.0f;
@ -3470,22 +3438,22 @@ void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, GlobalContext* globalCtx)
Matrix_Scale(arg1->x, 1.0f, arg1->z, MTXMODE_APPLY); Matrix_Scale(arg1->x, 1.0f, arg1->z, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8149), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8149),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_04049210); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_04049210);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8155); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8155);
} }
void func_80033DB8(GlobalContext* globalCtx, s16 arg1, s16 arg2) { void func_80033DB8(GlobalContext* globalCtx, s16 arg1, s16 arg2) {
s16 var = Quake_Add(&globalCtx->cameras[0], 3); s16 var = Quake_Add(&globalCtx->mainCamera, 3);
Quake_SetSpeed(var, 20000); Quake_SetSpeed(var, 20000);
Quake_SetQuakeValues(var, arg1, 0, 0, 0); Quake_SetQuakeValues(var, arg1, 0, 0, 0);
Quake_SetCountdown(var, arg2); Quake_SetCountdown(var, arg2);
} }
void func_80033E1C(GlobalContext* globalCtx, s16 arg1, s16 arg2, s16 arg3) { void func_80033E1C(GlobalContext* globalCtx, s16 arg1, s16 arg2, s16 arg3) {
s16 var = Quake_Add(&globalCtx->cameras[0], 3); s16 var = Quake_Add(&globalCtx->mainCamera, 3);
Quake_SetSpeed(var, arg3); Quake_SetSpeed(var, arg3);
Quake_SetQuakeValues(var, arg1, 0, 0, 0); Quake_SetQuakeValues(var, arg1, 0, 0, 0);
Quake_SetCountdown(var, arg2); Quake_SetCountdown(var, arg2);
@ -3533,14 +3501,11 @@ void func_80033F54(GlobalContext* globalCtx, s32 arg1, s32 arg2) {
f32 temp1; f32 temp1;
f32 temp2; f32 temp2;
f32 temp3; f32 temp3;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
entry = &D_801160DC[arg2]; entry = &D_801160DC[arg2];
var = entry->unk_10; var = entry->unk_10;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8265);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8265);
Matrix_Translate(0.0f, entry->unk_08, 500.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, entry->unk_08, 500.0f, MTXMODE_APPLY);
Matrix_Get(&spB0); Matrix_Get(&spB0);
@ -3557,9 +3522,9 @@ void func_80033F54(GlobalContext* globalCtx, s32 arg1, s32 arg2) {
Matrix_Scale(entry->unk_0C, entry->unk_0C, entry->unk_0C, MTXMODE_APPLY); Matrix_Scale(entry->unk_0C, entry->unk_0C, entry->unk_0C, MTXMODE_APPLY);
} }
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8299), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8299),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, entry->unk_14); gSPDisplayList(oGfxCtx->polyOpa.p++, entry->unk_14);
if (i % 2) { if (i % 2) {
temp3 = entry->unk_00 + entry->unk_00; temp3 = entry->unk_00 + entry->unk_00;
@ -3573,11 +3538,11 @@ void func_80033F54(GlobalContext* globalCtx, s32 arg1, s32 arg2) {
Matrix_Put(&spB0); Matrix_Put(&spB0);
Matrix_Scale(arg1 * 0.1f, arg1 * 0.1f, arg1 * 0.1f, MTXMODE_APPLY); Matrix_Scale(arg1 * 0.1f, arg1 * 0.1f, arg1 * 0.1f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8314), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 8314),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, entry->unk_18); gSPDisplayList(oGfxCtx->polyOpa.p++, entry->unk_18);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8319); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8319);
} }
void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1) { void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1) {
@ -3825,41 +3790,37 @@ Gfx* func_80034B54(GraphicsContext* gfxCtx) {
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) { PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8831);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8831);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, alpha); gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, alpha);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, func_80034B28(globalCtx->state.gfxCtx)); gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
gfxCtx->polyOpa.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, oGfxCtx->polyOpa.p =
overrideLimbDraw, postLimbDraw, actor, gfxCtx->polyOpa.p); SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, oGfxCtx->polyOpa.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8860); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8860);
} }
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) { PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8876);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8876);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, alpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, alpha);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, func_80034B54(globalCtx->state.gfxCtx)); gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, oGfxCtx->polyXlu.p =
overrideLimbDraw, postLimbDraw, actor, gfxCtx->polyXlu.p); SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, oGfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8904); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8904);
} }
s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3) { s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3) {

View file

@ -3175,7 +3175,7 @@ void func_80057C6C(Camera* camera, View* view, CollisionContext* colCtx, GlobalC
s32 func_8005AD40(Camera* camera, Actor* doorActor, s16 arg2, f32 arg3, s16 arg4, s16 arg5, s16 arg6); s32 func_8005AD40(Camera* camera, Actor* doorActor, s16 arg2, f32 arg3, s16 arg4, s16 arg5, s16 arg6);
void func_80057FC4(Camera* camera) { void func_80057FC4(Camera* camera) {
if (camera != &camera->globalCtx->cameras[0]) { if (camera != &camera->globalCtx->mainCamera) {
camera->unk_154 = camera->setting = CAM_SET_FREE0; camera->unk_154 = camera->setting = CAM_SET_FREE0;
camera->unk_14C &= ~0x4; camera->unk_14C &= ~0x4;
} else if (camera->globalCtx->roomCtx.curRoom.mesh->polygon.type != 1) { } else if (camera->globalCtx->roomCtx.curRoom.mesh->polygon.type != 1) {
@ -3246,7 +3246,7 @@ void func_80058148(Camera* camera, Player* player) {
camera->unk_118 = -1; camera->unk_118 = -1;
camera->unk_11C = -1; camera->unk_11C = -1;
camera->unk_14C |= 4; camera->unk_14C |= 4;
if (camera == &camera->globalCtx->cameras[0]) { if (camera == &camera->globalCtx->mainCamera) {
D_8011D3A0.w = 0xB200; D_8011D3A0.w = 0xB200;
} else { } else {
D_8011D3A0.w = 0; D_8011D3A0.w = 0;

View file

@ -2,29 +2,23 @@
#include <global.h> #include <global.h>
void Gfx_DrawDListOpa(GlobalContext* globalCtx, Gfx* dlist) { void Gfx_DrawDListOpa(GlobalContext* globalCtx, Gfx* dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 216), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 216),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist); gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 219); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 219);
} }
void Gfx_DrawDListXlu(GlobalContext* globalCtx, Gfx* dlist) { void Gfx_DrawDListXlu(GlobalContext* globalCtx, Gfx* dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 230), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 230),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, dlist); gSPDisplayList(oGfxCtx->polyXlu.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 233); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 233);
} }

View file

@ -220,14 +220,13 @@ void func_80063D7C(GraphicsContext* gfxCtx) {
Gfx* sp78; Gfx* sp78;
GfxPrint gfxPrint; GfxPrint gfxPrint;
Gfx* tempRet; Gfx* tempRet;
s32 pad;
Gfx* dispRefs[4]; // stores state of GfxCtx next ptrs
Graph_OpenDisps(dispRefs, gfxCtx, "../z_debug.c", 628); OPEN_DISPS(gfxCtx, "../z_debug.c", 628);
GfxPrint_Init(&gfxPrint); GfxPrint_Init(&gfxPrint);
sp78 = gfxCtx->polyOpa.p; sp78 = oGfxCtx->polyOpa.p;
tempRet = Graph_GfxPlusOne(gfxCtx->polyOpa.p); tempRet = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, tempRet); gSPDisplayList(oGfxCtx->overlay.p++, tempRet);
GfxPrint_Open(&gfxPrint, tempRet); GfxPrint_Open(&gfxPrint, tempRet);
if ((OREG(0) == 1) || (OREG(0) == 8)) { if ((OREG(0) == 1) || (OREG(0) == 8)) {
@ -242,8 +241,11 @@ void func_80063D7C(GraphicsContext* gfxCtx) {
sp7C = GfxPrint_Close(&gfxPrint); sp7C = GfxPrint_Close(&gfxPrint);
gSPEndDisplayList(sp7C++); gSPEndDisplayList(sp7C++);
Graph_BranchDlist(sp78, sp7C); Graph_BranchDlist(sp78, sp7C);
gfxCtx->polyOpa.p = sp7C; oGfxCtx->polyOpa.p = sp7C;
if (0) {} if (0) {}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_debug.c", 664);
CLOSE_DISPS(gfxCtx, "../z_debug.c", 664);
GfxPrint_Destroy(&gfxPrint); GfxPrint_Destroy(&gfxPrint);
} }

View file

@ -71,47 +71,42 @@ void DebugDisplay_DrawObjects(GlobalContext* globalCtx) {
} }
void DebugDisplay_DrawSpriteI8(DebugDispObject* dispObj, u32 texture, GlobalContext* globalCtx) { void DebugDisplay_DrawSpriteI8(DebugDispObject* dispObj, u32 texture, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 169);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 169);
func_80094678(globalCtx->state.gfxCtx); func_80094678(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, dispObj->color.r, dispObj->color.g, dispObj->color.b, dispObj->color.a); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, dispObj->color.r, dispObj->color.g, dispObj->color.b, dispObj->color.a);
Matrix_Translate(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, MTXMODE_NEW); Matrix_Translate(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, MTXMODE_NEW);
Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY); Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY);
Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY); Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
Matrix_RotateRPY(dispObj->rot.x, dispObj->rot.y, dispObj->rot.z, MTXMODE_APPLY); Matrix_RotateRPY(dispObj->rot.x, dispObj->rot.y, dispObj->rot.z, MTXMODE_APPLY);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_debug_display.c", 189), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_debug_display.c", 189),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_04004298); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_04004298);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 192); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 192);
} }
void DebugDisplay_DrawPolygon(DebugDispObject* dispObj, u32 dlist, GlobalContext* globalCtx) { void DebugDisplay_DrawPolygon(DebugDispObject* dispObj, u32 dlist, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 211);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 211);
func_8009435C(globalCtx->state.gfxCtx); func_8009435C(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, dispObj->color.r, dispObj->color.g, dispObj->color.b, dispObj->color.a); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, dispObj->color.r, dispObj->color.g, dispObj->color.b, dispObj->color.a);
gSPSetLights1(gfxCtx->polyXlu.p++, sDebugObjectLights); gSPSetLights1(oGfxCtx->polyXlu.p++, sDebugObjectLights);
func_800D1694(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, &dispObj->rot); func_800D1694(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, &dispObj->rot);
Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY); Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_debug_display.c", 228), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_debug_display.c", 228),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, dlist); gSPDisplayList(oGfxCtx->polyXlu.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 231); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 231);
} }

View file

@ -1852,8 +1852,6 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
void func_80068C3C(GlobalContext* globalCtx, CutsceneContext* csCtx) { void func_80068C3C(GlobalContext* globalCtx, CutsceneContext* csCtx) {
Gfx* displayList; Gfx* displayList;
Gfx* prevDisplayList; Gfx* prevDisplayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (0) {} // Necessary to match if (0) {} // Necessary to match
@ -1861,18 +1859,17 @@ void func_80068C3C(GlobalContext* globalCtx, CutsceneContext* csCtx) {
if (0) {} // Also necessary to match if (0) {} // Also necessary to match
if (BREG(0) != 0) { if (BREG(0) != 0) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo.c", 4101);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo.c", 4101);
prevDisplayList = gfxCtx->polyOpa.p; prevDisplayList = oGfxCtx->polyOpa.p;
displayList = Graph_GfxPlusOne(gfxCtx->polyOpa.p); displayList = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, displayList); gSPDisplayList(oGfxCtx->overlay.p++, displayList);
Cutscene_DrawDebugInfo(globalCtx, &displayList, csCtx); Cutscene_DrawDebugInfo(globalCtx, &displayList, csCtx);
gSPEndDisplayList(displayList++); gSPEndDisplayList(displayList++);
Graph_BranchDlist(prevDisplayList, displayList); Graph_BranchDlist(prevDisplayList, displayList);
gfxCtx->polyOpa.p = displayList; oGfxCtx->polyOpa.p = displayList;
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo.c", 4108); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo.c", 4108);
} }
csCtx->frames++; csCtx->frames++;

View file

@ -167,527 +167,502 @@ void func_800694A0(GlobalContext* globalCtx, s16 drawId) {
// All remaining functions in this file are draw functions referenced in the table and called by the function above // All remaining functions in this file are draw functions referenced in the table and called by the function above
void func_800694E4(GlobalContext* globalCtx, s16 drawId) { void func_800694E4(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 556); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 556);
func_80093BA8(globalCtx->state.gfxCtx); func_80093BA8(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 560), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 560),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 565); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 565);
} }
void func_800695C0(GlobalContext* globalCtx, s16 drawId) { void func_800695C0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 572); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 572);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 5); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 5);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 576), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 576),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 581); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 581);
} }
void func_8006969C(GlobalContext* globalCtx, s16 drawId) { void func_8006969C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 588); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 588);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 592), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 592),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1), 0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 8), 16, 32)); 1 * -(globalCtx->state.frames * 8), 16, 32));
Matrix_Push(); Matrix_Push();
Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY);
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 615), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 615),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 621); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 621);
} }
void func_80069880(GlobalContext* globalCtx, s16 drawId) { void func_80069880(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 628); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 628);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 632), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 632),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 641), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 641),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1), 0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 6), 16, 32)); 1 * -(globalCtx->state.frames * 6), 16, 32));
Matrix_Push(); Matrix_Push();
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 656), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 656),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 663); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 663);
} }
void func_80069AC8(GlobalContext* globalCtx, s16 drawId) { void func_80069AC8(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 670); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 670);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 674), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 674),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 683), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 683),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 32, 32, 1, 1 * (globalCtx->state.frames * 1), 0 * (globalCtx->state.frames * 0), 32, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 6), 32, 32)); 1 * -(globalCtx->state.frames * 6), 32, 32));
Matrix_Push(); Matrix_Push();
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 698), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 698),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 704); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 704);
} }
void func_80069CF0(GlobalContext* globalCtx, s16 drawId) { void func_80069CF0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 712); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 712);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0) % 256, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0) % 256,
1 * (globalCtx->state.frames * 2) % 256, 64, 64, 1, 1 * (globalCtx->state.frames * 2) % 256, 64, 64, 1,
0 * (globalCtx->state.frames * 0) % 128, 1 * (globalCtx->state.frames * 1) % 128, 32, 0 * (globalCtx->state.frames * 0) % 128, 1 * (globalCtx->state.frames * 1) % 128, 32,
32)); 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 723), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 723),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 730), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 730),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 735); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 735);
} }
void func_80069EB0(GlobalContext* globalCtx, s16 drawId) { void func_80069EB0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 742); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 742);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 746), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 746),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
1 * -(globalCtx->state.frames * 5), 32, 32, 1, 0 * (globalCtx->state.frames * 0), 1 * -(globalCtx->state.frames * 5), 32, 32, 1, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 32, 64)); 0 * (globalCtx->state.frames * 0), 32, 64));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 760), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 760),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 765); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 765);
} }
void func_8006A060(GlobalContext* globalCtx, s16 drawId) { void func_8006A060(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 772); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 772);
func_80093BA8(globalCtx->state.gfxCtx); func_80093BA8(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 776), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 776),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 783); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 783);
} }
void func_8006A158(GlobalContext* globalCtx, s16 drawId) { void func_8006A158(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 811); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 811);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 815), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 815),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 5); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 5);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 822), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 822),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 827); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 827);
} }
void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) { void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 834); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 834);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -1 * (globalCtx->state.frames * 1), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -1 * (globalCtx->state.frames * 1),
1 * (globalCtx->state.frames * 1), 32, 32, 1, -1 * (globalCtx->state.frames * 1), 1 * (globalCtx->state.frames * 1), 32, 32, 1, -1 * (globalCtx->state.frames * 1),
1 * (globalCtx->state.frames * 1), 32, 32)); 1 * (globalCtx->state.frames * 1), 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 845), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 845),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 855), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 855),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[5]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[5]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 861); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 861);
} }
void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) { void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 868); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 868);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 1), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 1),
0 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 1), 0 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 1),
0 * (globalCtx->state.frames * 1), 32, 32)); 0 * (globalCtx->state.frames * 1), 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 878), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 878),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 883); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 883);
} }
void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) { void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 890); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 890);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 6), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 6),
1 * (globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 6), 1 * (globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 6),
1 * (globalCtx->state.frames * 6), 32, 32)); 1 * (globalCtx->state.frames * 6), 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 901), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 901),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 906); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 906);
} }
void func_8006A73C(GlobalContext* globalCtx, s16 drawId) { void func_8006A73C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 913); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 913);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 1), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 3), 32, 32, 1, 0 * (globalCtx->state.frames * 1), 1 * -(globalCtx->state.frames * 3), 32, 32, 1, 0 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 2), 32, 32)); 1 * -(globalCtx->state.frames * 2), 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 924), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 924),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 929); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 929);
} }
void func_8006A88C(GlobalContext* globalCtx, s16 drawId) { void func_8006A88C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 936); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 936);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
1 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 0), 1 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 0),
1 * (globalCtx->state.frames * 1), 32, 32)); 1 * (globalCtx->state.frames * 1), 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 947), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 947),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 952); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 952);
} }
void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) { void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 959); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 959);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 963), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 963),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 968); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 968);
} }
void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) { void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 975); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 975);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 979), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 979),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 986), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 986),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 991); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 991);
} }
void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) { void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 998);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 998);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1002), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1002),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1008);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1008);
} }
void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) { void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1015); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1015);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1019), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1019),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1027), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1027),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1032); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1032);
} }
void func_8006AE40(GlobalContext* globalCtx, s16 drawId) { void func_8006AE40(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1039); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1039);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1043), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1043),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1050), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1050),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1056); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1056);
} }
void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) { void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1063); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1063);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 2), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 2),
1 * -(globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 1), 1 * -(globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 1),
-1 * (globalCtx->state.frames * 2), 32, 32)); -1 * (globalCtx->state.frames * 2), 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1074), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1074),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1081); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1081);
} }
void func_8006B124(GlobalContext* globalCtx, s16 drawId) { void func_8006B124(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1088); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1088);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1092), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1092),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1100); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1100);
} }
void func_8006B24C(GlobalContext* globalCtx, s16 drawId) { void func_8006B24C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1108); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1108);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1112), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1112),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1120), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1120),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1126); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1126);
} }
void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) { void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1133); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1133);
Matrix_Scale(0.7f, 0.7f, 0.7f, MTXMODE_APPLY); Matrix_Scale(0.7f, 0.7f, 0.7f, MTXMODE_APPLY);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1140), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1140),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1148), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1148),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1154); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1154);
} }
void func_8006B54C(GlobalContext* globalCtx, s16 drawId) { void func_8006B54C(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1162); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1162);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 2), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 1 * (globalCtx->state.frames * 2),
-1 * (globalCtx->state.frames * 2), 64, 64, 1, 1 * (globalCtx->state.frames * 4), -1 * (globalCtx->state.frames * 2), 64, 64, 1, 1 * (globalCtx->state.frames * 4),
1 * -(globalCtx->state.frames * 4), 32, 32)); 1 * -(globalCtx->state.frames * 4), 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1173), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1173),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1181); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1181);
} }
void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) { void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1188); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1188);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1192), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1192),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1200), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1200),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]); gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1207); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1207);
} }
void func_8006B870(GlobalContext* globalCtx, s16 drawId) { void func_8006B870(GlobalContext* globalCtx, s16 drawId) {
s32 pad; s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1214); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1214);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1218), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 1218),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[4]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[5]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[5]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[6]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[6]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[7]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[7]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1230); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1230);
} }

View file

@ -398,13 +398,11 @@ void EffectBlure_GetComputedValues(EffectBlure* this, s32 index, f32 ratio, Vec3
#endif #endif
void EffectBlure_SetupSmooth(EffectBlure* this, GraphicsContext* gfxCtx) { void EffectBlure_SetupSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 809);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 809); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 813);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 813);
} }
// original name: "SQ_NoInterpolate_disp" // original name: "SQ_NoInterpolate_disp"
@ -420,9 +418,8 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement*
Vec3f sp6C; Vec3f sp6C;
Vec3f sp60; Vec3f sp60;
Vec3f sp54; Vec3f sp54;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 838); OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 838);
Math_Vec3s_ToVec3f(&sp6C, &this->elements[0].p2); Math_Vec3s_ToVec3f(&sp6C, &this->elements[0].p2);
@ -498,11 +495,11 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement*
vtx[3].v.cn[2] = sp78.b; vtx[3].v.cn[2] = sp78.b;
vtx[3].v.cn[3] = sp78.a; vtx[3].v.cn[3] = sp78.a;
gSPVertex(gfxCtx->polyXlu.p++, vtx, 4, 0); gSPVertex(oGfxCtx->polyXlu.p++, vtx, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 2, 3, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 2, 3, 0);
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 932); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 932);
} }
// original name: "SQ_HermiteInterpolate_disp" // original name: "SQ_HermiteInterpolate_disp"
@ -533,17 +530,8 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
Color_RGBA8 sp148; Color_RGBA8 sp148;
Color_RGBA8 sp144; Color_RGBA8 sp144;
Vec3f sp138; Vec3f sp138;
Gfx* dispRefs[5];
Vec3f sp118;
Vec3f sp10C;
Vec3f sp100;
Vec3f spF4;
s32 j1;
s32 j2;
Vec3f spE0;
s32 i;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 971); OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 971);
Math_Vec3s_ToVec3f(&sp138, &this->elements[0].p2); Math_Vec3s_ToVec3f(&sp138, &this->elements[0].p2);
@ -561,6 +549,9 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
Math_Vec3f_Diff(&sp18C, &sp1CC, &sp1B4); Math_Vec3f_Diff(&sp18C, &sp1CC, &sp1B4);
Math_Vec3f_Diff(&sp180, &sp1C0, &sp1A8); Math_Vec3f_Diff(&sp180, &sp1C0, &sp1A8);
} else { } else {
Vec3f sp118;
Vec3f sp10C;
if (index - 1 < 0) { if (index - 1 < 0) {
__assert("index - 1 >= 0", "../z_eff_blure.c", 1005); __assert("index - 1 >= 0", "../z_eff_blure.c", 1005);
} }
@ -580,6 +571,9 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
Math_Vec3f_Diff(&sp18C, &sp1CC, &sp174); Math_Vec3f_Diff(&sp18C, &sp1CC, &sp174);
Math_Vec3f_Diff(&sp180, &sp1C0, &sp168); Math_Vec3f_Diff(&sp180, &sp1C0, &sp168);
} else { } else {
Vec3f sp100;
Vec3f spF4;
if (index + 2 >= this->numElements) { if (index + 2 >= this->numElements) {
__assert("index + 2 < this2->now_edge_num", "../z_eff_blure.c", 1032); __assert("index + 2 < this2->now_edge_num", "../z_eff_blure.c", 1032);
} }
@ -600,6 +594,11 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
// Translates to: "Vertices cannot be secured." // Translates to: "Vertices cannot be secured."
osSyncPrintf("z_eff_blure.c::SQ_HermiteInterpolate_disp() 頂点確保できず。\n"); osSyncPrintf("z_eff_blure.c::SQ_HermiteInterpolate_disp() 頂点確保できず。\n");
} else { } else {
s32 j1;
s32 j2;
Vec3f spE0;
s32 i;
Math_Vec3f_Diff(&sp1CC, &sp138, &sp158); Math_Vec3f_Diff(&sp1CC, &sp138, &sp158);
Math_Vec3f_Scale(&sp158, 10.0f); Math_Vec3f_Scale(&sp158, 10.0f);
Math_Vec3f_Diff(&sp1C0, &sp138, &sp14C); Math_Vec3f_Diff(&sp1C0, &sp138, &sp14C);
@ -670,17 +669,17 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
vtx[j2].v.cn[3] = func_80027E84(sp1A0.a, sp198.a, temp_f28); vtx[j2].v.cn[3] = func_80027E84(sp1A0.a, sp198.a, temp_f28);
} }
gSPVertex(gfxCtx->polyXlu.p++, vtx, 16, 0); gSPVertex(oGfxCtx->polyXlu.p++, vtx, 16, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 2, 3, 5, 0, 2, 5, 4, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 2, 3, 5, 0, 2, 5, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 4, 5, 7, 0, 4, 7, 6, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 4, 5, 7, 0, 4, 7, 6, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 6, 7, 9, 0, 6, 9, 8, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 6, 7, 9, 0, 6, 9, 8, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 8, 9, 11, 0, 8, 11, 10, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 8, 9, 11, 0, 8, 11, 10, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 10, 11, 13, 0, 10, 13, 12, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 10, 11, 13, 0, 10, 13, 12, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 12, 13, 15, 0, 12, 15, 14, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 12, 13, 15, 0, 12, 15, 14, 0);
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1184); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1184);
} }
#else #else
Vtx D_80115770 = VTX(0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); Vtx D_80115770 = VTX(0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF);
@ -696,9 +695,8 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
MtxF sp9C; MtxF sp9C;
MtxF sp5C; MtxF sp5C;
Mtx* mtx; Mtx* mtx;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1201); OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1201);
if (this->numElements < 2) { if (this->numElements < 2) {
return; return;
@ -724,7 +722,7 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
return; return;
} }
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
for (i = 0, elem = &this->elements[0]; elem < &this->elements[this->numElements - 1]; elem++, i++) { for (i = 0, elem = &this->elements[0]; elem < &this->elements[this->numElements - 1]; elem++, i++) {
if ((elem->state == 0) || ((elem + 1)->state == 0)) { if ((elem->state == 0) || ((elem + 1)->state == 0)) {
@ -741,49 +739,44 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
} }
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1263); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1263);
} }
#else #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s")
#endif #endif
// EffectBlure_SetupSimple
void EffectBlure_SetupSimple(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) { void EffectBlure_SetupSimple(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1280);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1280); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1285);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1285);
} }
void EffectBlure_SetupSimpleAlt(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) { void EffectBlure_SetupSimpleAlt(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1294);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1294); gDPPipeSync(oGfxCtx->polyXlu.p++);
oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26); gDPSetTextureLUT(oGfxCtx->polyXlu.p++, G_TT_NONE);
gSPTexture(oGfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPSetCycleType(gfxCtx->polyXlu.p++, G_CYC_2CYCLE); gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0,
gDPSetTextureLUT(gfxCtx->polyXlu.p++, G_TT_NONE); G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD);
gSPTexture(gfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, gDPSetCombineLERP(oGfxCtx->polyXlu.p++, TEXEL0, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL0, 0, PRIMITIVE, 0,
G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED);
gDPSetRenderMode(oGfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(oGfxCtx->polyXlu.p++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(oGfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetCombineLERP(gfxCtx->polyXlu.p++, TEXEL0, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, gDPSetEnvColor(oGfxCtx->polyXlu.p++, this->altEnvColor.r, this->altEnvColor.g, this->altEnvColor.b,
ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED);
gDPSetRenderMode(gfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(gfxCtx->polyXlu.p++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(gfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->altEnvColor.r, this->altEnvColor.g, this->altEnvColor.b,
this->altEnvColor.a); this->altEnvColor.a);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1329); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1329);
} }
void (*sSetupHandlers[])(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) = { void (*sSetupHandlers[])(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) = {
@ -795,39 +788,40 @@ s32 D_80115788 = 0; // unused
// original name: "EffectBlureInfo2_disp_makeDisplayList" // original name: "EffectBlureInfo2_disp_makeDisplayList"
void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) { void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) {
f32 alphaRatio; Mtx* mtx;
Gfx* dispRefs[5];
f32 scale; OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1356);
sSetupHandlers[this->drawMode](gfxCtx, this, vtx);
gDPPipeSync(oGfxCtx->polyXlu.p++);
{
Vec3f sp1B0; Vec3f sp1B0;
Vec3f sp1A4; Vec3f sp1A4;
Vec3f sp198; Vec3f sp198;
Mtx* mtx; f32 alphaRatio;
MtxF sp154; MtxF sp154;
MtxF sp114; MtxF sp114;
MtxF spD4; MtxF spD4;
MtxF sp94; MtxF sp94;
f32 scale;
s32 i; s32 i;
s32 j; s32 j;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1356);
sSetupHandlers[this->drawMode](gfxCtx, this, vtx);
gDPPipeSync(gfxCtx->polyXlu.p++);
j = 0; j = 0;
for (i = 0; i < this->numElements - 1; i++) { for (i = 0; i < this->numElements - 1; i++) {
if (this->drawMode == 1) { if (this->drawMode == 1) {
alphaRatio = (f32)this->elements[i].timer / (f32)this->elemDuration; alphaRatio = (f32)this->elements[i].timer / (f32)this->elemDuration;
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x00, 0x80, this->altPrimColor.r, this->altPrimColor.g, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x00, 0x80, this->altPrimColor.r, this->altPrimColor.g,
this->altPrimColor.b, this->altPrimColor.a * (1.0f - alphaRatio)); this->altPrimColor.b, this->altPrimColor.a * (1.0f - alphaRatio));
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
} }
if (1) {} // Necessary to match if (1) {} // Necessary to match
gSPVertex(gfxCtx->polyXlu.p++, &vtx[j], 4, 0); gSPVertex(oGfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
if (this->flags & 4) { if (this->flags & 4) {
sp1B0.x = ((f32)vtx[4 * i + 0].v.ob[0] + (f32)vtx[4 * i + 1].v.ob[0]) * 0.5f; sp1B0.x = ((f32)vtx[4 * i + 0].v.ob[0] + (f32)vtx[4 * i + 1].v.ob[0]) * 0.5f;
@ -857,17 +851,18 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this,
break; break;
} }
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, &vtx[j], 4, 0); gSPVertex(oGfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
} }
} }
j += 4; j += 4;
} }
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1452); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1452);
} }
Vtx_t D_8011578C[] = { Vtx_t D_8011578C[] = {
@ -996,17 +991,15 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
s32 i; s32 i;
s32 j; s32 j;
s32 phi_t2; s32 phi_t2;
Gfx* sp74[5];
f32 ratio;
Graph_OpenDisps(sp74, gfxCtx, "../z_eff_blure.c", 1596); OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1596);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->numElements != 0) { if (this->numElements != 0) {
if (this->flags == 0) { if (this->flags == 0) {
func_800942F0(gfxCtx); func_800942F0(gfxCtx);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[32])); vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[32]));
if (vtx == NULL) { if (vtx == NULL) {
@ -1018,7 +1011,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
elem = &this->elements[i]; elem = &this->elements[i];
if (elem->state == 1) { if (elem->state == 1) {
ratio = (f32)elem->timer / (f32)this->elemDuration; f32 ratio = (f32)elem->timer / (f32)this->elemDuration;
switch (this->calcMode) { switch (this->calcMode) {
case 1: case 1:
@ -1080,7 +1073,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
j = 0; j = 0;
gSPVertex(gfxCtx->polyXlu.p++, vtx, 32, 0); gSPVertex(oGfxCtx->polyXlu.p++, vtx, 32, 0);
phi_t2 = 0; phi_t2 = 0;
for (i = 0; i < this->numElements; i++) { for (i = 0; i < this->numElements; i++) {
@ -1092,7 +1085,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
if (phi_t2 == 0) { if (phi_t2 == 0) {
phi_t2 = 1; phi_t2 = 1;
} else { } else {
gSP1Quadrangle(gfxCtx->polyXlu.p++, j - 2, j - 1, j + 1, j, 0); gSP1Quadrangle(oGfxCtx->polyXlu.p++, j - 2, j - 1, j + 1, j, 0);
if (1) {} // Necessary to match if (1) {} // Necessary to match
@ -1111,5 +1104,5 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
} }
} }
Graph_CloseDisps(sp74, gfxCtx, "../z_eff_blure.c", 1823); CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1823);
} }

View file

@ -154,37 +154,36 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
EffectShieldParticleElement* elem; EffectShieldParticleElement* elem;
Color_RGBA8_n primColor; Color_RGBA8_n primColor;
Color_RGBA8_n envColor; Color_RGBA8_n envColor;
Gfx* dispRefs[5];
Mtx* mtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_shield_particle.c", 272); OPEN_DISPS(gfxCtx, "../z_eff_shield_particle.c", 272);
if (this != NULL) { if (this != NULL) {
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gDPSetCycleType(gfxCtx->polyXlu.p++, G_CYC_2CYCLE); gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPTexture(gfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPTexture(oGfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
if (1) {} // Necessary to match if (1) {} // Necessary to match
gDPSetCombineLERP(gfxCtx->polyXlu.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, 0, gDPSetCombineLERP(oGfxCtx->polyXlu.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, 0,
0, 0, COMBINED, 0, 0, 0, COMBINED); 0, 0, COMBINED, 0, 0, 0, COMBINED);
gDPSetRenderMode(gfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2); gDPSetRenderMode(oGfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(gfxCtx->polyXlu.p++, gSPClearGeometryMode(oGfxCtx->polyXlu.p++,
G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(gfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH); gSPSetGeometryMode(oGfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
EffectShieldParticle_GetColors(this, &primColor, &envColor); EffectShieldParticle_GetColors(this, &primColor, &envColor);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, primColor.r, primColor.g, primColor.b, primColor.a); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, primColor.r, primColor.g, primColor.b, primColor.a);
gDPSetEnvColor(gfxCtx->polyXlu.p++, envColor.r, envColor.g, envColor.b, envColor.a); gDPSetEnvColor(oGfxCtx->polyXlu.p++, envColor.r, envColor.g, envColor.b, envColor.a);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
for (elem = &this->elements[0]; elem < &this->elements[this->numElements]; elem++) { for (elem = &this->elements[0]; elem < &this->elements[this->numElements]; elem++) {
Mtx* mtx;
MtxF sp104; MtxF sp104;
MtxF spC4; MtxF spC4;
MtxF sp84; MtxF sp84;
@ -215,11 +214,11 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
break; break;
} }
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, sVertices, 4, 0); gSPVertex(oGfxCtx->polyXlu.p++, sVertices, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 3, 1, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 3, 1, 0);
} }
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_shield_particle.c", 359); CLOSE_DISPS(gfxCtx, "../z_eff_shield_particle.c", 359);
} }

View file

@ -155,28 +155,28 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
u8 sp1C4; u8 sp1C4;
s32 i; s32 i;
s32 j; s32 j;
Gfx* dispRefs[4]; // sp1AC
globalCtx = Effect_GetGlobalCtx(); globalCtx = Effect_GetGlobalCtx();
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_spark.c", 293);
OPEN_DISPS(gfxCtx, "../z_eff_spark.c", 293);
if (this != NULL) { if (this != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gDPSetCycleType(gfxCtx->polyXlu.p++, G_CYC_2CYCLE); gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPTexture(gfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPTexture(oGfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_SHADEDECALA, G_CC_PASS2); gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_SHADEDECALA, G_CC_PASS2);
gDPSetRenderMode(gfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2); gDPSetRenderMode(oGfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(gfxCtx->polyXlu.p++, gSPClearGeometryMode(oGfxCtx->polyXlu.p++,
G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(gfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH); gSPSetGeometryMode(oGfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
vertices = Graph_Alloc(gfxCtx, this->numElements * sizeof(Vtx[4])); vertices = Graph_Alloc(gfxCtx, this->numElements * sizeof(Vtx[4]));
if (vertices == NULL) { if (vertices == NULL) {
@ -274,15 +274,15 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
break; break;
} }
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, &vertices[4 * i], 4, 0); gSPVertex(oGfxCtx->polyXlu.p++, &vertices[4 * i], 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 2, 0, 3, 0, 2, 3, 1, 0); gSP2Triangles(oGfxCtx->polyXlu.p++, 2, 0, 3, 0, 2, 3, 1, 0);
} }
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_spark.c", 498); CLOSE_DISPS(gfxCtx, "../z_eff_spark.c", 498);
} }
#else #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s")

View file

@ -5,13 +5,10 @@ void func_80026230(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 a
f32 cos; f32 cos;
Gfx* displayListHead; Gfx* displayListHead;
f32 absCos; f32 absCos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 113);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 113);
displayListHead = gfxCtx->polyOpa.p; displayListHead = oGfxCtx->polyOpa.p;
cos = Math_Coss((0x8000 / arg3) * arg2); cos = Math_Coss((0x8000 / arg3) * arg2);
absCos = ABS(cos); absCos = ABS(cos);
@ -25,63 +22,54 @@ void func_80026230(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 a
gSPFogPosition(displayListHead++, 0, (s16)(absCos * 3000.0f) + 1500); gSPFogPosition(displayListHead++, 0, (s16)(absCos * 3000.0f) + 1500);
gfxCtx->polyOpa.p = displayListHead; oGfxCtx->polyOpa.p = displayListHead;
if (1) {} // Necessary to match if (1) {} // Necessary to match
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 129); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 129);
} }
void func_80026400(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) { void func_80026400(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) {
Gfx* displayListHead; Gfx* displayListHead;
f32 cos; f32 cos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (arg3 != 0) { if (arg3 != 0) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 141);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 141);
cos = Math_Coss((0x4000 / arg3) * arg2); cos = Math_Coss((0x4000 / arg3) * arg2);
displayListHead = gfxCtx->polyOpa.p; displayListHead = oGfxCtx->polyOpa.p;
gDPPipeSync(displayListHead++); gDPPipeSync(displayListHead++);
gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a); gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a);
gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700); gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700);
gfxCtx->polyOpa.p = displayListHead; oGfxCtx->polyOpa.p = displayListHead;
if (1) {} // Necessary to match if (1) {} // Necessary to match
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 153); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 153);
} }
} }
void func_80026608(GlobalContext* globalCtx) { void func_80026608(GlobalContext* globalCtx) {
s32 pad; s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 159);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 159);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p); oGfxCtx->polyOpa.p = func_800BC8A0(globalCtx, oGfxCtx->polyOpa.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 164); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 164);
} }
void func_80026690(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) { void func_80026690(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) {
f32 cos; f32 cos;
Gfx* displayListHead; Gfx* displayListHead;
f32 absCos; f32 absCos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 178);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 178);
displayListHead = gfxCtx->polyXlu.p; displayListHead = oGfxCtx->polyXlu.p;
cos = Math_Coss((0x8000 / arg3) * arg2); cos = Math_Coss((0x8000 / arg3) * arg2);
absCos = ABS(cos); absCos = ABS(cos);
@ -95,46 +83,40 @@ void func_80026690(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 a
gSPFogPosition(displayListHead++, 0, (s16)(absCos * 3000.0f) + 1500); gSPFogPosition(displayListHead++, 0, (s16)(absCos * 3000.0f) + 1500);
gfxCtx->polyXlu.p = displayListHead; oGfxCtx->polyXlu.p = displayListHead;
if (1) {} // Necessary to match if (1) {} // Necessary to match
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 194); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 194);
} }
void func_80026860(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) { void func_80026860(GlobalContext* globalCtx, Color_RGBA8* color, s16 arg2, s16 arg3) {
f32 cos; f32 cos;
Gfx* displayListHead; Gfx* displayListHead;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 201);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 201);
displayListHead = gfxCtx->polyXlu.p; displayListHead = oGfxCtx->polyXlu.p;
cos = Math_Coss((0x4000 / arg3) * arg2); cos = Math_Coss((0x4000 / arg3) * arg2);
gDPPipeSync(displayListHead++); gDPPipeSync(displayListHead++);
gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a); gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a);
gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700); gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700);
gfxCtx->polyXlu.p = displayListHead; oGfxCtx->polyXlu.p = displayListHead;
if (1) {} // Necessary to match if (1) {} // Necessary to match
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 212); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 212);
} }
void func_80026A6C(GlobalContext* globalCtx) { void func_80026A6C(GlobalContext* globalCtx) {
s32 pad; s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 217);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 217);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gfxCtx->polyXlu.p = func_800BC8A0(globalCtx, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = func_800BC8A0(globalCtx, oGfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 222); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 222);
} }

View file

@ -319,10 +319,8 @@ void EnAObj_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnAObj_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnAObj_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 type = thisx->params; s32 type = thisx->params;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_a_keep.c", 701); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_a_keep.c", 701);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
@ -331,12 +329,12 @@ void EnAObj_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
if (thisx->params == A_OBJ_KNOB) { if (thisx->params == A_OBJ_KNOB) {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 1, 60, 60, 60, 50); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 1, 60, 60, 60, 50);
} }
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_a_keep.c", 712), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_a_keep.c", 712),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80115484[type]); gSPDisplayList(oGfxCtx->polyOpa.p++, D_80115484[type]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_a_keep.c", 715); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_a_keep.c", 715);
} }

View file

@ -733,11 +733,10 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) {
* Draw Function used for Rupee types of En_Item00. * Draw Function used for Rupee types of En_Item00.
*/ */
void func_8001EF30(EnItem00* this, GlobalContext* globalCtx) { void func_8001EF30(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
s32 iconNb; s32 iconNb;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1546); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1546);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0); func_8002EBCC(&this->actor, globalCtx, 0);
@ -750,14 +749,14 @@ void func_8001EF30(EnItem00* this, GlobalContext* globalCtx) {
} }
} }
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1562), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1562),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80115530[iconNb])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80115530[iconNb]));
gSPDisplayList(gfxCtx->polyOpa.p++, &D_04042440); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_04042440);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1568); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1568);
} }
/** /**
@ -765,14 +764,12 @@ void func_8001EF30(EnItem00* this, GlobalContext* globalCtx) {
*/ */
void func_8001F080(EnItem00* this, GlobalContext* globalCtx) { void func_8001F080(EnItem00* this, GlobalContext* globalCtx) {
s32 iconNb; s32 iconNb;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
iconNb = this->actor.params - 3; iconNb = this->actor.params - 3;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1594); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1594);
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p); oGfxCtx->polyOpa.p = func_800BC8A0(globalCtx, oGfxCtx->polyOpa.p);
if (this->actor.params == ITEM00_BOMBS_SPECIAL) { if (this->actor.params == ITEM00_BOMBS_SPECIAL) {
iconNb = 1; iconNb = 1;
@ -780,57 +777,55 @@ void func_8001F080(EnItem00* this, GlobalContext* globalCtx) {
iconNb -= 3; iconNb -= 3;
} }
gfxCtx->polyOpa.p = func_800946E4(gfxCtx->polyOpa.p); oGfxCtx->polyOpa.p = func_800946E4(oGfxCtx->polyOpa.p);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80115544[iconNb])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80115544[iconNb]));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1607), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1607),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0403F070); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_0403F070);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1611); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1611);
} }
/** /**
* Draw Function used for the Heart Container type of En_Item00. * Draw Function used for the Heart Container type of En_Item00.
*/ */
void func_8001F1F4(EnItem00* this, GlobalContext* globalCtx) { void func_8001F1F4(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1623); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1623);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0); func_8002EBCC(&this->actor, globalCtx, 0);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1634), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1634),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0403BBA0); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_0403BBA0);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
func_8002ED80(&this->actor, globalCtx, 0); func_8002ED80(&this->actor, globalCtx, 0);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1644), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1644),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_0403BCD8); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_0403BCD8);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1647); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1647);
} }
/** /**
* Draw Function used for the Piece of Heart type of En_Item00. * Draw Function used for the Piece of Heart type of En_Item00.
*/ */
void func_8001F334(EnItem00* this, GlobalContext* globalCtx) { void func_8001F334(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1658); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1658);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
func_8002ED80(&this->actor, globalCtx, 0); func_8002ED80(&this->actor, globalCtx, 0);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1670), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1670),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_0403B030); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_0403B030);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_item00.c", 1673); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1673);
} }
/** /**

View file

@ -102,10 +102,8 @@ s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve) {
void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* skelCurve, void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor) { OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor) {
SkelCurveLimb* limb = SEGMENTED_TO_VIRTUAL(skelCurve->limbList[limbIndex]); SkelCurveLimb* limb = SEGMENTED_TO_VIRTUAL(skelCurve->limbList[limbIndex]);
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 279); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 279);
Matrix_Push(); Matrix_Push();
@ -138,27 +136,27 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
dList = limb->dList[0]; dList = limb->dList[0];
if (dList != NULL) { if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++, gSPMatrix(oGfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321), Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
} }
} else if (lod == 1) { } else if (lod == 1) {
s32 pad2; s32 pad2;
dList = limb->dList[0]; dList = limb->dList[0];
if (dList != NULL) { if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++, gSPMatrix(oGfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332), Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
} }
dList = limb->dList[1]; dList = limb->dList[1];
if (dList != NULL) { if (dList != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, gSPMatrix(oGfxCtx->polyXlu.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338), Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, dList); gSPDisplayList(oGfxCtx->polyXlu.p++, dList);
} }
} else { } else {
// FcSkeletonInfo_draw_child (): Not supported // FcSkeletonInfo_draw_child (): Not supported
@ -180,7 +178,7 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
SkelCurve_DrawLimb(globalCtx, limb->nextLimbIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor); SkelCurve_DrawLimb(globalCtx, limb->nextLimbIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 371); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 371);
} }
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,

View file

@ -206,9 +206,8 @@ void Health_Draw(GlobalContext* globalCtx) {
s32 curCombineModeSet = 0; s32 curCombineModeSet = 0;
u8* curBgImgLoaded = NULL; u8* curBgImgLoaded = NULL;
s32 ddHeartCountMinusOne = gSaveContext.defenseHearts - 1; s32 ddHeartCountMinusOne = gSaveContext.defenseHearts - 1;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_lifemeter.c", 353); OPEN_DISPS(gfxCtx, "../z_lifemeter.c", 353);
if (!(gSaveContext.health % 0x10)) { if (!(gSaveContext.health % 0x10)) {
fullHeartCount--; fullHeartCount--;
@ -223,37 +222,37 @@ void Health_Draw(GlobalContext* globalCtx) {
if (i < fullHeartCount) { if (i < fullHeartCount) {
if (curColorSet != 0) { if (curColorSet != 0) {
curColorSet = 0; curColorSet = 0;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
interfaceCtx->unk_20E[4], interfaceCtx->healthAlpha); interfaceCtx->unk_20E[4], interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, interfaceCtx->unk_21A[0], interfaceCtx->unk_21A[2], gDPSetEnvColor(oGfxCtx->overlay.p++, interfaceCtx->unk_21A[0], interfaceCtx->unk_21A[2],
interfaceCtx->unk_21A[4], 0xFF); interfaceCtx->unk_21A[4], 0xFF);
} }
} else if (i == fullHeartCount) { } else if (i == fullHeartCount) {
if (curColorSet != 1) { if (curColorSet != 1) {
curColorSet = 1; curColorSet = 1;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_202[0], interfaceCtx->unk_202[1], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_202[0], interfaceCtx->unk_202[1],
interfaceCtx->unk_202[2], interfaceCtx->healthAlpha); interfaceCtx->unk_202[2], interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, interfaceCtx->unk_208[0], interfaceCtx->unk_208[1], gDPSetEnvColor(oGfxCtx->overlay.p++, interfaceCtx->unk_208[0], interfaceCtx->unk_208[1],
interfaceCtx->unk_208[2], 0xFF); interfaceCtx->unk_208[2], 0xFF);
} }
} else if (i > fullHeartCount) { } else if (i > fullHeartCount) {
if (curColorSet != 2) { if (curColorSet != 2) {
curColorSet = 2; curColorSet = 2;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
interfaceCtx->unk_20E[4], interfaceCtx->healthAlpha); interfaceCtx->unk_20E[4], interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, interfaceCtx->unk_21A[0], interfaceCtx->unk_21A[2], gDPSetEnvColor(oGfxCtx->overlay.p++, interfaceCtx->unk_21A[0], interfaceCtx->unk_21A[2],
interfaceCtx->unk_21A[4], 0xFF); interfaceCtx->unk_21A[4], 0xFF);
} }
} else { } else {
if (curColorSet != 3) { if (curColorSet != 3) {
curColorSet = 3; curColorSet = 3;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[1], interfaceCtx->unk_20E[3], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[1], interfaceCtx->unk_20E[3],
interfaceCtx->unk_20E[5], interfaceCtx->healthAlpha); interfaceCtx->unk_20E[5], interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, interfaceCtx->unk_21A[1], interfaceCtx->unk_21A[3], gDPSetEnvColor(oGfxCtx->overlay.p++, interfaceCtx->unk_21A[1], interfaceCtx->unk_21A[3],
interfaceCtx->unk_21A[5], 0xFF); interfaceCtx->unk_21A[5], 0xFF);
} }
} }
@ -269,34 +268,34 @@ void Health_Draw(GlobalContext* globalCtx) {
if (i < fullHeartCount) { if (i < fullHeartCount) {
if (curColorSet != 4) { if (curColorSet != 4) {
curColorSet = 4; curColorSet = 4;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
interfaceCtx->healthAlpha); interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, D_8015FDE0[0], D_8015FDE0[1], D_8015FDE0[2], 0xFF); gDPSetEnvColor(oGfxCtx->overlay.p++, D_8015FDE0[0], D_8015FDE0[1], D_8015FDE0[2], 0xFF);
} }
} else if (i == fullHeartCount) { } else if (i == fullHeartCount) {
if (curColorSet != 5) { if (curColorSet != 5) {
curColorSet = 5; curColorSet = 5;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDC0[0], D_8015FDC0[1], D_8015FDC0[2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDC0[0], D_8015FDC0[1], D_8015FDC0[2],
interfaceCtx->healthAlpha); interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, D_8015FDC8[0], D_8015FDC8[1], D_8015FDC8[2], 0xFF); gDPSetEnvColor(oGfxCtx->overlay.p++, D_8015FDC8[0], D_8015FDC8[1], D_8015FDC8[2], 0xFF);
} }
} else if (i > fullHeartCount) { } else if (i > fullHeartCount) {
if (curColorSet != 6) { if (curColorSet != 6) {
curColorSet = 6; curColorSet = 6;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
interfaceCtx->healthAlpha); interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, D_8015FDE0[0], D_8015FDE0[1], D_8015FDE0[2], 0xFF); gDPSetEnvColor(oGfxCtx->overlay.p++, D_8015FDE0[0], D_8015FDE0[1], D_8015FDE0[2], 0xFF);
} }
} else { } else {
if (curColorSet != 7) { if (curColorSet != 7) {
curColorSet = 7; curColorSet = 7;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[3], D_8015FDD0[4], D_8015FDD0[5], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[3], D_8015FDD0[4], D_8015FDD0[5],
interfaceCtx->healthAlpha); interfaceCtx->healthAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, D_8015FDE0[3], D_8015FDE0[4], D_8015FDE0[5], 0xFF); gDPSetEnvColor(oGfxCtx->overlay.p++, D_8015FDE0[3], D_8015FDE0[4], D_8015FDE0[5], 0xFF);
} }
} }
@ -311,7 +310,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curBgImgLoaded != heartBgImg) { if (curBgImgLoaded != heartBgImg) {
curBgImgLoaded = heartBgImg; curBgImgLoaded = heartBgImg;
gDPLoadTextureBlock(gfxCtx->overlay.p++, heartBgImg, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0, gDPLoadTextureBlock(oGfxCtx->overlay.p++, heartBgImg, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOLOD, G_TX_NOLOD);
} }
@ -321,7 +320,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 1) { if (curCombineModeSet != 1) {
curCombineModeSet = 1; curCombineModeSet = 1;
func_80094520(gfxCtx); func_80094520(gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0); 0);
} }
@ -329,7 +328,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 3) { if (curCombineModeSet != 3) {
curCombineModeSet = 3; curCombineModeSet = 3;
func_80094520(gfxCtx); func_80094520(gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
} }
} }
@ -341,7 +340,7 @@ void Health_Draw(GlobalContext* globalCtx) {
temp4 *= 1024.0f; temp4 *= 1024.0f;
temp1 = 8.0f; temp1 = 8.0f;
temp1 *= 0.68f; temp1 *= 0.68f;
gSPTextureRectangle(gfxCtx->overlay.p++, (s32)((temp2 - temp1) * 4), (s32)((temp3 - temp1) * 4), gSPTextureRectangle(oGfxCtx->overlay.p++, (s32)((temp2 - temp1) * 4), (s32)((temp3 - temp1) * 4),
(s32)((temp2 + temp1) * 4), (s32)((temp3 + temp1) * 4), G_TX_RENDERTILE, 0, 0, (s32)((temp2 + temp1) * 4), (s32)((temp3 + temp1) * 4), G_TX_RENDERTILE, 0, 0,
(s32)temp4, (s32)temp4); (s32)temp4, (s32)temp4);
} else { } else {
@ -349,7 +348,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 2) { if (curCombineModeSet != 2) {
curCombineModeSet = 2; curCombineModeSet = 2;
func_80094A14(gfxCtx); func_80094A14(gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0); 0);
} }
@ -357,18 +356,18 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 4) { if (curCombineModeSet != 4) {
curCombineModeSet = 4; curCombineModeSet = 4;
func_80094A14(gfxCtx); func_80094A14(gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
} }
} }
if (1) { {
Mtx* matrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); Mtx* matrix = Graph_Alloc(gfxCtx, sizeof(Mtx));
func_800D2CEC(matrix, 1.0f - (0.32f * sp144), 1.0f - (0.32f * sp144), 1.0f - (0.32f * sp144), func_800D2CEC(matrix, 1.0f - (0.32f * sp144), 1.0f - (0.32f * sp144), 1.0f - (0.32f * sp144),
-130.0f + offsetX, 94.5f - offsetY, 0.0f); -130.0f + offsetX, 94.5f - offsetY, 0.0f);
gSPMatrix(gfxCtx->overlay.p++, matrix, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->overlay.p++, matrix, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, sp154, 4, 0); gSPVertex(oGfxCtx->overlay.p++, sp154, 4, 0);
gSP1Quadrangle(gfxCtx->overlay.p++, 0, 2, 3, 1, 0); gSP1Quadrangle(oGfxCtx->overlay.p++, 0, 2, 3, 1, 0);
} }
} }
@ -379,7 +378,7 @@ void Health_Draw(GlobalContext* globalCtx) {
} }
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_lifemeter.c", 606); CLOSE_DISPS(gfxCtx, "../z_lifemeter.c", 606);
} }
u32 Health_IsCritical(void); u32 Health_IsCritical(void);

View file

@ -314,22 +314,19 @@ void Map_Init(GlobalContext* globalCtx) {
#ifdef NON_MATCHING #ifdef NON_MATCHING
// regalloc and minor ordering differences // regalloc and minor ordering differences
void Minimap_DrawCompassIcons(GlobalContext* globalCtx) { void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
Player* player = PLAYER; Player* player = PLAYER;
s16 tempX, tempY, tempZ; s16 tempX, tempY, tempZ;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_map_exp.c", 565);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 565);
if (globalCtx->interfaceCtx.minimapAlpha >= 0xAA) { if (globalCtx->interfaceCtx.minimapAlpha >= 0xAA) {
func_80094A14(globalCtx->state.gfxCtx); func_80094A14(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->overlay.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->overlay.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 255);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
tempX = player->actor.posRot.pos.x; tempX = player->actor.posRot.pos.x;
tempZ = player->actor.posRot.pos.z; tempZ = player->actor.posRot.pos.z;
@ -340,11 +337,11 @@ void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
Matrix_RotateX(-1.6f, MTXMODE_APPLY); Matrix_RotateX(-1.6f, MTXMODE_APPLY);
tempY = (0x7FFF - player->actor.shape.rot.y) / 0x400; tempY = (0x7FFF - player->actor.shape.rot.y) / 0x400;
Matrix_RotateY(tempY / 10.0f, MTXMODE_APPLY); Matrix_RotateY(tempY / 10.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 585), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 585),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 255, 0, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 255, 0, 255);
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820); gSPDisplayList(oGfxCtx->overlay.p++, D_0400C820);
tempX = sPlayerInitialPosX; tempX = sPlayerInitialPosX;
tempZ = sPlayerInitialPosZ; tempZ = sPlayerInitialPosZ;
@ -354,14 +351,14 @@ void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
Matrix_Scale(VREG(9) / 100.0f, VREG(9) / 100.0f, VREG(9) / 100.0f, MTXMODE_APPLY); Matrix_Scale(VREG(9) / 100.0f, VREG(9) / 100.0f, VREG(9) / 100.0f, MTXMODE_APPLY);
Matrix_RotateX(VREG(52) / 10.0f, MTXMODE_APPLY); Matrix_RotateX(VREG(52) / 10.0f, MTXMODE_APPLY);
Matrix_RotateY(sPlayerInitialDirection / 10.0f, MTXMODE_APPLY); Matrix_RotateY(sPlayerInitialDirection / 10.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 603), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 603),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0xFF, 200, 0, 0, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0xFF, 200, 0, 0, 255);
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820); gSPDisplayList(oGfxCtx->overlay.p++, D_0400C820);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 607); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_map_exp.c", 607);
} }
#else #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Minimap_DrawCompassIcons.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Minimap_DrawCompassIcons.s")
@ -371,10 +368,8 @@ void Minimap_Draw(GlobalContext* globalCtx) {
s32 pad[2]; s32 pad[2];
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
s32 mapIndex = gSaveContext.mapIndex; s32 mapIndex = gSaveContext.mapIndex;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 626); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_map_exp.c", 626);
if (globalCtx->pauseCtx.state < 4) { if (globalCtx->pauseCtx.state < 4) {
switch (globalCtx->sceneNum) { switch (globalCtx->sceneNum) {
@ -390,17 +385,17 @@ void Minimap_Draw(GlobalContext* globalCtx) {
case SCENE_ICE_DOUKUTO: case SCENE_ICE_DOUKUTO:
if (!R_MINIMAP_TOGGLED) { if (!R_MINIMAP_TOGGLED) {
func_80094520(globalCtx->state.gfxCtx); func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, gDPSetCombineLERP(oGfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0,
0, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0);
if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) { if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha);
gDPLoadTextureBlock_4b(gfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0, gDPLoadTextureBlock_4b(oGfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_DGN_MINIMAP_X << 2, R_DGN_MINIMAP_Y << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_DGN_MINIMAP_X << 2, R_DGN_MINIMAP_Y << 2,
(R_DGN_MINIMAP_X + 96) << 2, (R_DGN_MINIMAP_Y + 85) << 2, G_TX_RENDERTILE, (R_DGN_MINIMAP_X + 96) << 2, (R_DGN_MINIMAP_Y + 85) << 2, G_TX_RENDERTILE,
0, 0, 1024, 1024); 0, 0, 1024, 1024);
} }
@ -447,16 +442,16 @@ void Minimap_Draw(GlobalContext* globalCtx) {
if (!R_MINIMAP_TOGGLED) { if (!R_MINIMAP_TOGGLED) {
func_80094520(globalCtx->state.gfxCtx); func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1),
R_MINIMAP_COLOR(2), interfaceCtx->minimapAlpha); R_MINIMAP_COLOR(2), interfaceCtx->minimapAlpha);
gDPLoadTextureBlock_4b(gfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_IA, gDPLoadTextureBlock_4b(oGfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_IA,
gMapData->owMinimapWidth[mapIndex], gMapData->owMinimapHeight[mapIndex], 0, gMapData->owMinimapWidth[mapIndex], gMapData->owMinimapHeight[mapIndex], 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_OW_MINIMAP_X << 2, R_OW_MINIMAP_Y << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_OW_MINIMAP_X << 2, R_OW_MINIMAP_Y << 2,
(R_OW_MINIMAP_X + gMapData->owMinimapWidth[mapIndex]) << 2, (R_OW_MINIMAP_X + gMapData->owMinimapWidth[mapIndex]) << 2,
(R_OW_MINIMAP_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0, (R_OW_MINIMAP_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0,
0, 1024, 1024); 0, 1024, 1024);
@ -468,11 +463,11 @@ void Minimap_Draw(GlobalContext* globalCtx) {
((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) && ((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) &&
(gSaveContext.infTable[26] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) { (gSaveContext.infTable[26] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) {
gDPLoadTextureBlock(gfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0, gDPLoadTextureBlock(oGfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, gSPTextureRectangle(oGfxCtx->overlay.p++,
gMapData->owEntranceIconPosX[sEntranceIconMapIndex] << 2, gMapData->owEntranceIconPosX[sEntranceIconMapIndex] << 2,
gMapData->owEntranceIconPosY[sEntranceIconMapIndex] << 2, gMapData->owEntranceIconPosY[sEntranceIconMapIndex] << 2,
(gMapData->owEntranceIconPosX[sEntranceIconMapIndex] + 8) << 2, (gMapData->owEntranceIconPosX[sEntranceIconMapIndex] + 8) << 2,
@ -482,11 +477,11 @@ void Minimap_Draw(GlobalContext* globalCtx) {
} }
if ((globalCtx->sceneNum == SCENE_SPOT08) && (gSaveContext.infTable[26] & gBitFlags[9])) { if ((globalCtx->sceneNum == SCENE_SPOT08) && (gSaveContext.infTable[26] & gBitFlags[9])) {
gDPLoadTextureBlock(gfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0, gDPLoadTextureBlock(oGfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024, gSPTextureRectangle(oGfxCtx->overlay.p++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024,
1024); 1024);
} }
@ -507,7 +502,7 @@ void Minimap_Draw(GlobalContext* globalCtx) {
} }
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 782); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_map_exp.c", 782);
} }
s16 Map_GetFloorTextIndexOffset(s32 mapIndex, s32 floor) { s16 Map_GetFloorTextIndexOffset(s32 mapIndex, s32 floor) {

View file

@ -83,8 +83,6 @@ void MapMark_Draw(GlobalContext* globalCtx) {
s32 i; s32 i;
s32 rectLeft; s32 rectLeft;
s32 rectTop; s32 rectTop;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
dungeon = gSaveContext.mapIndex; dungeon = gSaveContext.mapIndex;
interfaceCtx = &globalCtx->interfaceCtx; interfaceCtx = &globalCtx->interfaceCtx;
@ -98,32 +96,31 @@ void MapMark_Draw(GlobalContext* globalCtx) {
mapMarkData = &sLoadedMarkDataTable[dungeon][interfaceCtx->mapRoomNum][0]; mapMarkData = &sLoadedMarkDataTable[dungeon][interfaceCtx->mapRoomNum][0];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_map_mark.c", 303);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_mark.c", 303);
while (1) { while (1) {
if (mapMarkData->markType == -1) { if (mapMarkData->markType == -1) {
break; break;
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTextureLUT(gfxCtx->overlay.p++, G_TT_NONE); gDPSetTextureLUT(oGfxCtx->overlay.p++, G_TT_NONE);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->minimapAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->minimapAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, interfaceCtx->minimapAlpha); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, interfaceCtx->minimapAlpha);
markPoint = &mapMarkData->points[0]; markPoint = &mapMarkData->points[0];
for (i = 0; i < mapMarkData->count; i++) { for (i = 0; i < mapMarkData->count; i++) {
if ((mapMarkData->markType != 0) || !Flags_GetTreasure(globalCtx, markPoint->chestFlag)) { if ((mapMarkData->markType != 0) || !Flags_GetTreasure(globalCtx, markPoint->chestFlag)) {
markInfo = &sMapMarkInfoTable[mapMarkData->markType]; markInfo = &sMapMarkInfoTable[mapMarkData->markType];
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPLoadTextureBlock(gfxCtx->overlay.p++, markInfo->texture, markInfo->imageFormat, G_IM_SIZ_MARK, gDPLoadTextureBlock(oGfxCtx->overlay.p++, markInfo->texture, markInfo->imageFormat, G_IM_SIZ_MARK,
markInfo->textureWidth, markInfo->textureHeight, 0, G_TX_NOMIRROR | G_TX_WRAP, markInfo->textureWidth, markInfo->textureHeight, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
rectLeft = (GREG(94) + markPoint->x + 204) << 2; rectLeft = (GREG(94) + markPoint->x + 204) << 2;
rectTop = (GREG(95) + markPoint->y + 140) << 2; rectTop = (GREG(95) + markPoint->y + 140) << 2;
gSPTextureRectangle(gfxCtx->overlay.p++, rectLeft, rectTop, markInfo->rectWidth + rectLeft, gSPTextureRectangle(oGfxCtx->overlay.p++, rectLeft, rectTop, markInfo->rectWidth + rectLeft,
rectTop + markInfo->rectHeight, G_TX_RENDERTILE, 0, 0, markInfo->dsdx, rectTop + markInfo->rectHeight, G_TX_RENDERTILE, 0, 0, markInfo->dsdx,
markInfo->dtdy); markInfo->dtdy);
} }
@ -132,7 +129,7 @@ void MapMark_Draw(GlobalContext* globalCtx) {
mapMarkData++; mapMarkData++;
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_mark.c", 339); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_map_mark.c", 339);
} }
void MapMark_DrawConditionally(GlobalContext* globalCtx) { void MapMark_DrawConditionally(GlobalContext* globalCtx) {

View file

@ -37,48 +37,47 @@ void func_8007B934(s32 arg0, s32 arg1) {
} }
void func_8007B9A4(GraphicsContext* gfxCtx, u8 arg1) { void func_8007B9A4(GraphicsContext* gfxCtx, u8 arg1) {
Gfx* dispRefs[7]; s32 pad[2];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_moji.c", 86); OPEN_DISPS(gfxCtx, "../z_moji.c", 86);
if ((u32)gLetterTLUT & 0xF) { if ((u32)gLetterTLUT & 0xF) {
osSyncPrintf("moji_tlut --> %X\n", gLetterTLUT); osSyncPrintf("moji_tlut --> %X\n", gLetterTLUT);
} }
if (D_8015FFC0 != (arg1 & 3)) { if (D_8015FFC0 != (arg1 & 3)) {
gDPLoadTLUT(gfxCtx->polyOpa.p++, 16, 256, &gLetterTLUT[arg1 & 3]); gDPLoadTLUT(oGfxCtx->polyOpa.p++, 16, 256, &gLetterTLUT[arg1 & 3]);
D_8015FFC0 = arg1 & 3; D_8015FFC0 = arg1 & 3;
} }
gSPTextureRectangle(gfxCtx->polyOpa.p++, D_80120120 << 2, D_80120124 << 2, (D_80120120 + 8) << 2, gSPTextureRectangle(oGfxCtx->polyOpa.p++, D_80120120 << 2, D_80120124 << 2, (D_80120120 + 8) << 2,
(D_80120124 + 8) << 2, G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1024, (D_80120124 + 8) << 2, G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1024,
1024); 1024);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_moji.c", 123); CLOSE_DISPS(gfxCtx, "../z_moji.c", 123);
} }
void func_8007BBA8(GraphicsContext* gfxCtx, u8* arg1) { void func_8007BBA8(GraphicsContext* gfxCtx, u8* arg1) {
s32 i; s32 i;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_moji.c", 137); OPEN_DISPS(gfxCtx, "../z_moji.c", 137);
if ((u32)gFontFF & 0xF) { if ((u32)gFontFF & 0xF) {
osSyncPrintf("font_ff --> %X\n", gFontFF); osSyncPrintf("font_ff --> %X\n", gFontFF);
} }
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, sFontColorRed, sFontColorGreen, sFontColorBlue, sFontColorAlpha); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, sFontColorRed, sFontColorGreen, sFontColorBlue, sFontColorAlpha);
gDPSetTextureImage(gfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 1, (s32)gFontFF); gDPSetTextureImage(oGfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 1, (s32)gFontFF);
gDPSetTile(gfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPSetTile(oGfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gfxCtx->polyOpa.p++); gDPLoadSync(oGfxCtx->polyOpa.p++);
gDPLoadBlock(gfxCtx->polyOpa.p++, G_TX_LOADTILE, 0, 0, 511, 2048); gDPLoadBlock(oGfxCtx->polyOpa.p++, G_TX_LOADTILE, 0, 0, 511, 2048);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetTile(gfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPSetTile(oGfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->polyOpa.p++, G_TX_RENDERTILE, 0, 0, 60, 508); gDPSetTileSize(oGfxCtx->polyOpa.p++, G_TX_RENDERTILE, 0, 0, 60, 508);
D_8015FFC0 = -1; D_8015FFC0 = -1;
@ -108,5 +107,5 @@ void func_8007BBA8(GraphicsContext* gfxCtx, u8* arg1) {
} }
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_moji.c", 181); CLOSE_DISPS(gfxCtx, "../z_moji.c", 181);
} }

View file

@ -2557,11 +2557,8 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx);
void Interface_DrawMagicBar(GlobalContext* globalCtx) { void Interface_DrawMagicBar(GlobalContext* globalCtx) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
s16 magicBarY; s16 magicBarY;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2650);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 2650);
if (gSaveContext.magicLevel != 0) { if (gSaveContext.magicLevel != 0) {
if (gSaveContext.healthCapacity > 0xA0) { if (gSaveContext.healthCapacity > 0xA0) {
@ -2572,71 +2569,71 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) {
func_80094520(globalCtx->state.gfxCtx); func_80094520(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, sMagicBorderR, sMagicBorderG, sMagicBorderB, gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, sMagicBorderR, sMagicBorderG, sMagicBorderB,
interfaceCtx->magicAlpha); interfaceCtx->magicAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 100, 50, 50, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 100, 50, 50, 255);
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024); Gfx_TextureIA8(oGfxCtx->overlay.p, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024);
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, D_02003940, 24, 16, R_MAGIC_BAR_X + 8, magicBarY, oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, D_02003940, 24, 16, R_MAGIC_BAR_X + 8, magicBarY,
gSaveContext.unk_13F4, 16, 1024, 1024); gSaveContext.unk_13F4, 16, 1024, 1024);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_020038C0); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_020038C0);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 3, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 3, G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 2048); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 2048);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_8b, 1, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_8b, 1, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 3, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 3, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 28, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 28, 60);
gSPTextureRectangle(gfxCtx->overlay.p++, ((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 8) << 2, magicBarY << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, ((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 8) << 2, magicBarY << 2,
((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 16) << 2, (magicBarY + 16) << 2, G_TX_RENDERTILE, ((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 16) << 2, (magicBarY + 16) << 2, G_TX_RENDERTILE,
256, 0, 1024, 1024); 256, 0, 1024, 1024);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE); PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 255);
if (gSaveContext.unk_13F0 == 4) { if (gSaveContext.unk_13F0 == 4) {
// Yellow part of the bar being used when casting a spell // Yellow part of the bar being used when casting a spell
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 250, 250, 0, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 250, 250, 0, interfaceCtx->magicAlpha);
gDPLoadMultiBlock_4b(gfxCtx->overlay.p++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0, gDPLoadMultiBlock_4b(oGfxCtx->overlay.p++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2,
(R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0, (R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0,
0, 1024, 1024); 0, 1024, 1024);
// Fill the rest of the bar with the normal magic color // Fill the rest of the bar with the normal magic color
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha); R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2,
(R_MAGIC_FILL_X + gSaveContext.unk_13F8) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, (R_MAGIC_FILL_X + gSaveContext.unk_13F8) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE,
0, 0, 1024, 1024); 0, 0, 1024, 1024);
} else { } else {
// Fill the whole bar with the normal magic color // Fill the whole bar with the normal magic color
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha); R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha);
gDPLoadMultiBlock_4b(gfxCtx->overlay.p++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0, gDPLoadMultiBlock_4b(oGfxCtx->overlay.p++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2,
(R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0, (R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0,
0, 1024, 1024); 0, 1024, 1024);
} }
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 2731); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2731);
} }
void func_80088AA0(s16 arg0) { void func_80088AA0(s16 arg0) {
@ -2676,23 +2673,21 @@ void func_80088B34(s16 arg0) {
} }
void Interface_DrawActionLabel(GraphicsContext* gfxCtx, void* texture) { void Interface_DrawActionLabel(GraphicsContext* gfxCtx, void* texture) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_parameter.c", 2820);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_parameter.c", 2820); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, texture);
gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, texture);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60);
gSP1Quadrangle(gfxCtx->overlay.p++, 0, 2, 3, 1, 0); gSP1Quadrangle(oGfxCtx->overlay.p++, 0, 2, 3, 1, 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_parameter.c", 2829); CLOSE_DISPS(gfxCtx, "../z_parameter.c", 2829);
} }
u8* sCUpLabelTextures[] = { D_02002FC0, D_02002FC0, D_02002FC0 }; u8* sCUpLabelTextures[] = { D_02002FC0, D_02002FC0, D_02002FC0 };
@ -2708,75 +2703,71 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
s16 i; // sp+0x14A s16 i; // sp+0x14A
s16 cUpAlpha; s16 cUpAlpha;
s32 pad; s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2900);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 2900);
// B Button Color & Texture // B Button Color & Texture
// Also loads the Item Button Texture reused by other buttons afterwards // Also loads the Item Button Texture reused by other buttons afterwards
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2),
interfaceCtx->bAlpha); interfaceCtx->bAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 255);
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, &D_02000A00[0], 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0), R_ITEM_BTN_WIDTH(0), Gfx_TextureIA8(oGfxCtx->overlay.p, &D_02000A00[0], 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0),
R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2); R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2);
// C-Left Button Color & Texture // C-Left Button Color & Texture
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cLeftAlpha); interfaceCtx->cLeftAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, R_ITEM_BTN_X(1) << 2, R_ITEM_BTN_Y(1) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_ITEM_BTN_X(1) << 2, R_ITEM_BTN_Y(1) << 2,
(R_ITEM_BTN_X(1) + R_ITEM_BTN_WIDTH(1)) << 2, (R_ITEM_BTN_Y(1) + R_ITEM_BTN_WIDTH(1)) << 2, (R_ITEM_BTN_X(1) + R_ITEM_BTN_WIDTH(1)) << 2, (R_ITEM_BTN_Y(1) + R_ITEM_BTN_WIDTH(1)) << 2,
G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(1) * 2, R_ITEM_BTN_DD(1) * 2); G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(1) * 2, R_ITEM_BTN_DD(1) * 2);
// C-Down Button Color & Texture // C-Down Button Color & Texture
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cDownAlpha); interfaceCtx->cDownAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, R_ITEM_BTN_X(2) << 2, R_ITEM_BTN_Y(2) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_ITEM_BTN_X(2) << 2, R_ITEM_BTN_Y(2) << 2,
(R_ITEM_BTN_X(2) + R_ITEM_BTN_WIDTH(2)) << 2, (R_ITEM_BTN_Y(2) + R_ITEM_BTN_WIDTH(2)) << 2, (R_ITEM_BTN_X(2) + R_ITEM_BTN_WIDTH(2)) << 2, (R_ITEM_BTN_Y(2) + R_ITEM_BTN_WIDTH(2)) << 2,
G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(2) * 2, R_ITEM_BTN_DD(2) * 2); G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(2) * 2, R_ITEM_BTN_DD(2) * 2);
// C-Right Button Color & Texture // C-Right Button Color & Texture
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cRightAlpha); interfaceCtx->cRightAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, R_ITEM_BTN_X(3) << 2, R_ITEM_BTN_Y(3) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_ITEM_BTN_X(3) << 2, R_ITEM_BTN_Y(3) << 2,
(R_ITEM_BTN_X(3) + R_ITEM_BTN_WIDTH(3)) << 2, (R_ITEM_BTN_Y(3) + R_ITEM_BTN_WIDTH(3)) << 2, (R_ITEM_BTN_X(3) + R_ITEM_BTN_WIDTH(3)) << 2, (R_ITEM_BTN_Y(3) + R_ITEM_BTN_WIDTH(3)) << 2,
G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) * 2, R_ITEM_BTN_DD(3) * 2); G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) * 2, R_ITEM_BTN_DD(3) * 2);
if ((globalCtx->pauseCtx.state < 8) || (globalCtx->pauseCtx.state >= 18)) { if ((globalCtx->pauseCtx.state < 8) || (globalCtx->pauseCtx.state >= 18)) {
if ((globalCtx->pauseCtx.state != 0) || (globalCtx->pauseCtx.flag != 0)) { if ((globalCtx->pauseCtx.state != 0) || (globalCtx->pauseCtx.flag != 0)) {
// Start Button Texture, Color & Label // Start Button Texture, Color & Label
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 120, 120, 120, interfaceCtx->startAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 120, 120, 120, interfaceCtx->startAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, sStartButtonLeftPos[gSaveContext.language] << 2, 68, gSPTextureRectangle(oGfxCtx->overlay.p++, sStartButtonLeftPos[gSaveContext.language] << 2, 68,
(sStartButtonLeftPos[gSaveContext.language] + 22) << 2, 156, G_TX_RENDERTILE, 0, 0, (sStartButtonLeftPos[gSaveContext.language] + 22) << 2, 156, G_TX_RENDERTILE, 0, 0,
1462, 1462); 1462, 1462);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
(u32)interfaceCtx->do_actionSegment + 0x300); (u32)interfaceCtx->do_actionSegment + 0x300);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60);
temp = R_START_LABEL_DD(gSaveContext.language) / 100.0f; temp = R_START_LABEL_DD(gSaveContext.language) / 100.0f;
gSPTextureRectangle(gfxCtx->overlay.p++, R_START_LABEL_X(gSaveContext.language) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_START_LABEL_X(gSaveContext.language) << 2,
R_START_LABEL_Y(gSaveContext.language) << 2, R_START_LABEL_Y(gSaveContext.language) << 2,
(R_START_LABEL_X(gSaveContext.language) + (s16)(16.0f / temp)) << 2, (R_START_LABEL_X(gSaveContext.language) + (s16)(16.0f / temp)) << 2,
(R_START_LABEL_Y(gSaveContext.language) + (s16)(48.0f / temp)) << 2, G_TX_RENDERTILE, 0, (R_START_LABEL_Y(gSaveContext.language) + (s16)(48.0f / temp)) << 2, G_TX_RENDERTILE, 0,
@ -2788,7 +2779,7 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
(globalCtx->csCtx.state == 0)) { (globalCtx->csCtx.state == 0)) {
if (!sCUpInvisible) { if (!sCUpInvisible) {
// C-Up Button Texture, Color & Label (Navi Text) // C-Up Button Texture, Color & Label (Navi Text)
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) { if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) {
cUpAlpha = 0; cUpAlpha = 0;
@ -2799,30 +2790,30 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
cUpAlpha = interfaceCtx->healthAlpha; cUpAlpha = interfaceCtx->healthAlpha;
} }
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gSPTextureRectangle(gfxCtx->overlay.p++, R_C_UP_BTN_X << 2, R_C_UP_BTN_Y << 2, (R_C_UP_BTN_X + 16) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_C_UP_BTN_X << 2, R_C_UP_BTN_Y << 2, (R_C_UP_BTN_X + 16) << 2,
(R_C_UP_BTN_Y + 16) << 2, G_TX_RENDERTILE, 0, 0, 2048, 2048); (R_C_UP_BTN_Y + 16) << 2, G_TX_RENDERTILE, 0, 0, 2048, 2048);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, cUpAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, cUpAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
sCUpLabelTextures[gSaveContext.language]); sCUpLabelTextures[gSaveContext.language]);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 1024); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 1024);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 28); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 28);
gSPTextureRectangle(gfxCtx->overlay.p++, R_C_UP_ICON_X << 2, R_C_UP_ICON_Y << 2, (R_C_UP_ICON_X + 32) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_C_UP_ICON_X << 2, R_C_UP_ICON_Y << 2, (R_C_UP_ICON_X + 32) << 2,
(R_C_UP_ICON_Y + 8) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); (R_C_UP_ICON_Y + 8) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
} }
@ -2833,29 +2824,29 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
} }
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
// Empty C Button Arrows // Empty C Button Arrows
for (i = 1; i < 4; i++) { for (i = 1; i < 4; i++) {
if (gSaveContext.equips.buttonItems[i] > 0xF0) { if (gSaveContext.equips.buttonItems[i] > 0xF0) {
if (i == 1) { if (i == 1) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cLeftAlpha); interfaceCtx->cLeftAlpha);
} else if (i == 2) { } else if (i == 2) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cDownAlpha); interfaceCtx->cDownAlpha);
} else { } else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cRightAlpha); interfaceCtx->cRightAlpha);
} }
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i), Gfx_TextureIA8(oGfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i),
R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_DD(i) * 2, R_ITEM_BTN_DD(i) * 2); R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_WIDTH(i), R_ITEM_BTN_DD(i) * 2, R_ITEM_BTN_DD(i) * 2);
} }
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3071); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3071);
} }
#else #else
void Interface_DrawItemButtons(GlobalContext* globalCtx); void Interface_DrawItemButtons(GlobalContext* globalCtx);
@ -2863,45 +2854,39 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx);
#endif #endif
void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 button) { void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 button) {
GraphicsContext* gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3079);
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; gDPLoadTextureBlock(oGfxCtx->overlay.p++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32, 32, 0,
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3079); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gDPLoadTextureBlock(gfxCtx->overlay.p++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, gSPTextureRectangle(oGfxCtx->overlay.p++, R_ITEM_ICON_X(button) << 2, R_ITEM_ICON_Y(button) << 2,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_ITEM_ICON_X(button) << 2, R_ITEM_ICON_Y(button) << 2,
(R_ITEM_ICON_X(button) + R_ITEM_ICON_WIDTH(button)) << 2, (R_ITEM_ICON_X(button) + R_ITEM_ICON_WIDTH(button)) << 2,
(R_ITEM_ICON_Y(button) + R_ITEM_ICON_WIDTH(button)) << 2, G_TX_RENDERTILE, 0, 0, (R_ITEM_ICON_Y(button) + R_ITEM_ICON_WIDTH(button)) << 2, G_TX_RENDERTILE, 0, 0,
R_ITEM_ICON_DD(button) * 2, R_ITEM_ICON_DD(button) * 2); R_ITEM_ICON_DD(button) * 2, R_ITEM_ICON_DD(button) * 2);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3094); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3094);
} }
void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) { void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
s16 item;
s16 ammo;
GraphicsContext* gfxCtx;
s16 i; s16 i;
Gfx* dispRefs[3]; s16 ammo;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3105);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3105);
item = gSaveContext.equips.buttonItems[button]; i = gSaveContext.equips.buttonItems[button];
if ((item == ITEM_STICK) || (item == ITEM_NUT) || (item == ITEM_BOMB) || (item == ITEM_BOW) || if ((i == ITEM_STICK) || (i == ITEM_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) ||
((item >= ITEM_BOW_ARROW_FIRE) && (item <= ITEM_BOW_ARROW_LIGHT)) || (item == ITEM_SLINGSHOT) || ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) ||
(item == ITEM_BOMBCHU) || (item == ITEM_BEAN)) { (i == ITEM_BEAN)) {
if ((item >= ITEM_BOW_ARROW_FIRE) && (item <= ITEM_BOW_ARROW_LIGHT)) {
item = ITEM_BOW; if ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) {
i = ITEM_BOW;
} }
ammo = AMMO(item); ammo = AMMO(i);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
if ((button == 0) && (gSaveContext.minigameState == 1)) { if ((button == 0) && (gSaveContext.minigameState == 1)) {
ammo = globalCtx->interfaceCtx.hbaAmmo; ammo = globalCtx->interfaceCtx.hbaAmmo;
@ -2912,17 +2897,17 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
if (ammo < 0) { if (ammo < 0) {
ammo = 0; ammo = 0;
} }
} else if (((item == ITEM_BOW) && (AMMO(item) == CUR_CAPACITY(UPG_QUIVER))) || } else if (((i == ITEM_BOW) && (AMMO(i) == CUR_CAPACITY(UPG_QUIVER))) ||
((item == ITEM_BOMB) && (AMMO(item) == CUR_CAPACITY(UPG_BOMB_BAG))) || ((i == ITEM_BOMB) && (AMMO(i) == CUR_CAPACITY(UPG_BOMB_BAG))) ||
((item == ITEM_SLINGSHOT) && (AMMO(item) == CUR_CAPACITY(UPG_BULLET_BAG))) || ((i == ITEM_SLINGSHOT) && (AMMO(i) == CUR_CAPACITY(UPG_BULLET_BAG))) ||
((item == ITEM_STICK) && (AMMO(item) == CUR_CAPACITY(UPG_STICKS))) || ((i == ITEM_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_STICKS))) ||
((item == ITEM_NUT) && (AMMO(item) == CUR_CAPACITY(UPG_NUTS))) || ((i == ITEM_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_NUTS))) || ((i == ITEM_BOMBCHU) && (ammo == 50)) ||
((item == ITEM_BOMBCHU) && (ammo == 50)) || ((item == ITEM_BEAN) && (ammo == 15))) { ((i == ITEM_BEAN) && (ammo == 15))) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 120, 255, 0, alpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 120, 255, 0, alpha);
} }
if (ammo == 0) { if (ammo == 0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 100, 100, 100, alpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 100, 100, 100, alpha);
} }
for (i = 0; ammo >= 10; i++) { for (i = 0; ammo >= 10; i++) {
@ -2930,24 +2915,21 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
} }
if (i != 0) { if (i != 0) {
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, &D_020035C0[i], 8, 8, R_ITEM_AMMO_X(button), oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, &D_020035C0[i], 8, 8, R_ITEM_AMMO_X(button),
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024); R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
} }
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, &D_020035C0[ammo], 8, 8, R_ITEM_AMMO_X(button) + 6, oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, &D_020035C0[ammo], 8, 8, R_ITEM_AMMO_X(button) + 6,
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024); R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3158); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3158);
} }
void Interface_DrawActionButton(GlobalContext* globalCtx) { void Interface_DrawActionButton(GlobalContext* globalCtx) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3172);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3172);
Matrix_Translate(0.0f, 0.0f, XREG(18) / 10.0f, MTXMODE_NEW); Matrix_Translate(0.0f, 0.0f, XREG(18) / 10.0f, MTXMODE_NEW);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
@ -2955,17 +2937,17 @@ void Interface_DrawActionButton(GlobalContext* globalCtx) {
if (1) {} // Necessary to match if (1) {} // Necessary to match
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_parameter.c", 3177), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_parameter.c", 3177),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, interfaceCtx->vtx_128, 4, 0); gSPVertex(oGfxCtx->overlay.p++, interfaceCtx->vtx_128, 4, 0);
gDPLoadTextureBlock(gfxCtx->overlay.p++, &D_02000A00[0], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, gDPLoadTextureBlock(oGfxCtx->overlay.p++, &D_02000A00[0], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD); G_TX_NOLOD);
gSP1Quadrangle(gfxCtx->overlay.p++, 0, 2, 3, 1, 0); gSP1Quadrangle(oGfxCtx->overlay.p++, 0, 2, 3, 1, 0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3187); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3187);
} }
void Interface_InitVertices(GlobalContext* globalCtx) { void Interface_InitVertices(GlobalContext* globalCtx) {
@ -3115,17 +3097,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
s16 phi_s1; s16 phi_s1;
s16 phi_s0; s16 phi_s0;
s16 sp274; s16 sp274;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
s32 pad;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3405);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3405);
gSPSegment(gfxCtx->overlay.p++, 0x02, interfaceCtx->parameterSegment); gSPSegment(oGfxCtx->overlay.p++, 0x02, interfaceCtx->parameterSegment);
gSPSegment(gfxCtx->overlay.p++, 0x07, interfaceCtx->do_actionSegment); gSPSegment(oGfxCtx->overlay.p++, 0x07, interfaceCtx->do_actionSegment);
gSPSegment(gfxCtx->overlay.p++, 0x08, interfaceCtx->icon_itemSegment); gSPSegment(oGfxCtx->overlay.p++, 0x08, interfaceCtx->icon_itemSegment);
gSPSegment(gfxCtx->overlay.p++, 0x0B, interfaceCtx->mapSegment); gSPSegment(oGfxCtx->overlay.p++, 0x0B, interfaceCtx->mapSegment);
if (pauseCtx->flag == 0) { if (pauseCtx->flag == 0) {
Interface_InitVertices(globalCtx); Interface_InitVertices(globalCtx);
@ -3135,9 +3113,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
func_80094520(globalCtx->state.gfxCtx); func_80094520(globalCtx->state.gfxCtx);
// Rupee Icon // Rupee Icon
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 255, 100, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 255, 100, interfaceCtx->magicAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 80, 0, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 80, 0, 255);
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, D_02001F00, 16, 16, 26, 206, 16, 16, 1024, 1024); oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, D_02001F00, 16, 16, 26, 206, 16, 16, 1024, 1024);
switch (globalCtx->sceneNum) { switch (globalCtx->sceneNum) {
case SCENE_BMORI1: case SCENE_BMORI1:
@ -3156,16 +3134,16 @@ void Interface_Draw(GlobalContext* globalCtx) {
case SCENE_TAKARAYA: case SCENE_TAKARAYA:
if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] >= 0) { if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] >= 0) {
// Small Key Icon // Small Key Icon
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 20, 255); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 20, 255);
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024); Gfx_TextureIA8(oGfxCtx->overlay.p, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024);
// Small Key Counter // Small Key Counter
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
gDPSetCombineLERP(gfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
interfaceCtx->counterDigits[2] = 0; interfaceCtx->counterDigits[2] = 0;
@ -3178,14 +3156,14 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s2 = 42; phi_s2 = 42;
if (interfaceCtx->counterDigits[2] != 0) { if (interfaceCtx->counterDigits[2] != 0) {
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16, phi_s2, Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16,
190, 8, 16, 1024, 1024); phi_s2, 190, 8, 16, 1024, 1024);
phi_s2 = 50; phi_s2 = 50;
} }
gfxCtx->overlay.p = Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[3]], 8, oGfxCtx->overlay.p = Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[3]],
16, phi_s2, 190, 8, 16, 1024, 1024); 8, 16, phi_s2, 190, 8, 16, 1024, 1024);
} }
phi_s2 = 42; phi_s2 = 42;
@ -3198,17 +3176,17 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s2 = 42; phi_s2 = 42;
// Rupee Counter // Rupee Counter
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET)) { if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 120, 255, 0, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 120, 255, 0, interfaceCtx->magicAlpha);
} else if (gSaveContext.rupees != 0) { } else if (gSaveContext.rupees != 0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
} else { } else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 100, 100, 100, interfaceCtx->magicAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 100, 100, 100, interfaceCtx->magicAlpha);
} }
gDPSetCombineLERP(gfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, gDPSetCombineLERP(oGfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0,
0, PRIMITIVE, 0); 0, PRIMITIVE, 0);
interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0; interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0;
@ -3232,7 +3210,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s1 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)]; phi_s1 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)];
for (phi_s3 = 0; phi_s3 < phi_s1; phi_s3++, phi_s0++, phi_s2 += 8) { for (phi_s3 = 0; phi_s3 < phi_s1; phi_s3++, phi_s0++, phi_s2 += 8) {
gfxCtx->overlay.p = Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[phi_s0]], 8, oGfxCtx->overlay.p = Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[phi_s0]], 8,
16, phi_s2, 206, 8, 16, 1024, 1024); 16, phi_s2, 206, 8, 16, 1024, 1024);
} }
@ -3247,9 +3225,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
Interface_DrawItemButtons(globalCtx); Interface_DrawItemButtons(globalCtx);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
if (interfaceCtx->unk_1FA == 0) { if (interfaceCtx->unk_1FA == 0) {
// B Button Icon & possibly Ammo Count // B Button Icon & possibly Ammo Count
@ -3258,8 +3236,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) || if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) ||
((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) { ((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0); 0);
Interface_DrawAmmoCount(globalCtx, 0, interfaceCtx->bAlpha); Interface_DrawAmmoCount(globalCtx, 0, interfaceCtx->bAlpha);
@ -3267,91 +3245,91 @@ void Interface_Draw(GlobalContext* globalCtx) {
} }
} else { } else {
// B Button Do Action Label // B Button Do Action Label
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
(u32)interfaceCtx->do_actionSegment + 0x180); (u32)interfaceCtx->do_actionSegment + 0x180);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0x0000, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 188, 60);
R_B_LABEL_DD = 1024.0f / (WREG(37 + gSaveContext.language) / 100.0f); R_B_LABEL_DD = 1024.0f / (WREG(37 + gSaveContext.language) / 100.0f);
gSPTextureRectangle(gfxCtx->overlay.p++, R_B_LABEL_X(gSaveContext.language) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, R_B_LABEL_X(gSaveContext.language) << 2,
R_B_LABEL_Y(gSaveContext.language) << 2, (R_B_LABEL_X(gSaveContext.language) + 48) << 2, R_B_LABEL_Y(gSaveContext.language) << 2, (R_B_LABEL_X(gSaveContext.language) + 48) << 2,
(R_B_LABEL_Y(gSaveContext.language) + 16) << 2, G_TX_RENDERTILE, 0, 0, R_B_LABEL_DD, (R_B_LABEL_Y(gSaveContext.language) + 16) << 2, G_TX_RENDERTILE, 0, 0, R_B_LABEL_DD,
R_B_LABEL_DD); R_B_LABEL_DD);
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
// C-Left Button Icon & Ammo Count // C-Left Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[1] < 0xF0) { if (gSaveContext.equips.buttonItems[1] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cLeftAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cLeftAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x1000), 1); Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x1000), 1);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 1, interfaceCtx->cLeftAlpha); Interface_DrawAmmoCount(globalCtx, 1, interfaceCtx->cLeftAlpha);
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
// C-Down Button Icon & Ammo Count // C-Down Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[2] < 0xF0) { if (gSaveContext.equips.buttonItems[2] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cDownAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cDownAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x2000), 2); Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x2000), 2);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 2, interfaceCtx->cDownAlpha); Interface_DrawAmmoCount(globalCtx, 2, interfaceCtx->cDownAlpha);
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
// C-Right Button Icon & Ammo Count // C-Right Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[3] < 0xF0) { if (gSaveContext.equips.buttonItems[3] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cRightAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cRightAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x3000), 3); Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x3000), 3);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 3, interfaceCtx->cRightAlpha); Interface_DrawAmmoCount(globalCtx, 3, interfaceCtx->cRightAlpha);
} }
// A Button // A Button
func_80094A14(globalCtx->state.gfxCtx); func_80094A14(globalCtx->state.gfxCtx);
func_8008A8B8(globalCtx, R_A_BTN_Y, R_A_BTN_Y + 45, R_A_BTN_X, R_A_BTN_X + 45); func_8008A8B8(globalCtx, R_A_BTN_Y, R_A_BTN_Y + 45, R_A_BTN_X, R_A_BTN_X + 45);
gSPClearGeometryMode(gfxCtx->overlay.p++, G_CULL_BOTH); gSPClearGeometryMode(oGfxCtx->overlay.p++, G_CULL_BOTH);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_A_BTN_COLOR(0), R_A_BTN_COLOR(1), R_A_BTN_COLOR(2), gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_A_BTN_COLOR(0), R_A_BTN_COLOR(1), R_A_BTN_COLOR(2),
interfaceCtx->aAlpha); interfaceCtx->aAlpha);
Interface_DrawActionButton(globalCtx); Interface_DrawActionButton(globalCtx);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
func_8008A8B8(globalCtx, R_A_ICON_Y, R_A_ICON_Y + 45, R_A_ICON_X, R_A_ICON_X + 45); func_8008A8B8(globalCtx, R_A_ICON_Y, R_A_ICON_Y + 45, R_A_ICON_X, R_A_ICON_X + 45);
gSPSetGeometryMode(gfxCtx->overlay.p++, G_CULL_BACK); gSPSetGeometryMode(oGfxCtx->overlay.p++, G_CULL_BACK);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
Matrix_Translate(0.0f, 0.0f, WREG(46 + gSaveContext.language) / 10.0f, MTXMODE_NEW); Matrix_Translate(0.0f, 0.0f, WREG(46 + gSaveContext.language) / 10.0f, MTXMODE_NEW);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
Matrix_RotateX(interfaceCtx->unk_1F4 / 10000.0f, MTXMODE_APPLY); Matrix_RotateX(interfaceCtx->unk_1F4 / 10000.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_parameter.c", 3701), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_parameter.c", 3701),
G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, &interfaceCtx->vtx_128[4], 4, 0); gSPVertex(oGfxCtx->overlay.p++, &interfaceCtx->vtx_128[4], 4, 0);
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3)) { if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3)) {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)(u32)interfaceCtx->do_actionSegment); Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)(u32)interfaceCtx->do_actionSegment);
@ -3359,16 +3337,16 @@ void Interface_Draw(GlobalContext* globalCtx) {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)((u32)interfaceCtx->do_actionSegment + 0x180)); Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)((u32)interfaceCtx->do_actionSegment + 0x180));
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
func_8008A994(interfaceCtx); func_8008A994(interfaceCtx);
if ((pauseCtx->state == 6) && (pauseCtx->unk_1E4 == 3)) { if ((pauseCtx->state == 6) && (pauseCtx->unk_1E4 == 3)) {
// Inventory Equip Effects // Inventory Equip Effects
gSPSegment(gfxCtx->overlay.p++, 0x08, pauseCtx->unk_128); gSPSegment(oGfxCtx->overlay.p++, 0x08, pauseCtx->unk_128);
func_80094A14(globalCtx->state.gfxCtx); func_80094A14(globalCtx->state.gfxCtx);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gSPMatrix(gfxCtx->overlay.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->overlay.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
pauseCtx->vtx_168[16].v.ob[0] = pauseCtx->vtx_168[18].v.ob[0] = pauseCtx->unk_254 / 10; pauseCtx->vtx_168[16].v.ob[0] = pauseCtx->vtx_168[18].v.ob[0] = pauseCtx->unk_254 / 10;
pauseCtx->vtx_168[17].v.ob[0] = pauseCtx->vtx_168[19].v.ob[0] = pauseCtx->vtx_168[17].v.ob[0] = pauseCtx->vtx_168[19].v.ob[0] =
@ -3379,25 +3357,25 @@ void Interface_Draw(GlobalContext* globalCtx) {
if (pauseCtx->unk_24E < 0xBF) { if (pauseCtx->unk_24E < 0xBF) {
// Normal Equip (icon goes from the inventory slot to the C button when equipping it) // Normal Equip (icon goes from the inventory slot to the C button when equipping it)
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, pauseCtx->unk_258); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, pauseCtx->unk_258);
gSPVertex(gfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0); gSPVertex(oGfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, gItemIcons[pauseCtx->unk_24E]); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, gItemIcons[pauseCtx->unk_24E]);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0, 0x0000, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 1023, 128); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 1023, 128);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0x0000, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124);
} else { } else {
// Magic Arrow Equip Effect // Magic Arrow Equip Effect
phi_s3_2 = pauseCtx->unk_24E - 0xBF; phi_s3_2 = pauseCtx->unk_24E - 0xBF;
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, sMagicArrowEffectsR[phi_s3_2], sMagicArrowEffectsG[phi_s3_2], gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, sMagicArrowEffectsR[phi_s3_2],
sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258); sMagicArrowEffectsG[phi_s3_2], sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258);
if ((pauseCtx->unk_258 > 0) && (pauseCtx->unk_258 < 0xFF)) { if ((pauseCtx->unk_258 > 0) && (pauseCtx->unk_258 < 0xFF)) {
phi_s3_2 = (pauseCtx->unk_258 / 8) / 2; phi_s3_2 = (pauseCtx->unk_258 / 8) / 2;
@ -3411,21 +3389,21 @@ void Interface_Draw(GlobalContext* globalCtx) {
pauseCtx->vtx_168[16].v.ob[1] - phi_s3_2 * 2 - 32; pauseCtx->vtx_168[16].v.ob[1] - phi_s3_2 * 2 - 32;
} }
gSPVertex(gfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0); gSPVertex(oGfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0);
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_080895C0); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_080895C0);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 511, 512); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 511, 512);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0x0000, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124);
} }
gSP1Quadrangle(gfxCtx->overlay.p++, 0, 2, 3, 1, 0); gSP1Quadrangle(oGfxCtx->overlay.p++, 0, 2, 3, 1, 0);
} }
func_80094520(globalCtx->state.gfxCtx); func_80094520(globalCtx->state.gfxCtx);
@ -3435,29 +3413,29 @@ void Interface_Draw(GlobalContext* globalCtx) {
// Carrots rendering if the action corresponds to riding a horse // Carrots rendering if the action corresponds to riding a horse
if (interfaceCtx->unk_1EE == 8) { if (interfaceCtx->unk_1EE == 8) {
// Load Carrot Icon // Load Carrot Icon
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, &D_02002100); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, &D_02002100);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0, 0x0000, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 255, 256); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 255, 256);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 4, 0x0000, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 4, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 60, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 60, 60);
// Draw 6 carrots // Draw 6 carrots
phi_s1 = ZREG(14); phi_s1 = ZREG(14);
for (phi_s3 = 1; phi_s3 < 7; phi_s3++) { for (phi_s3 = 1; phi_s3 < 7; phi_s3++) {
// Carrot Color (based on availability) // Carrot Color (based on availability)
if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3)) { if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0, 150, 255, interfaceCtx->aAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 0, 150, 255, interfaceCtx->aAlpha);
} else { } else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha);
} }
gSPTextureRectangle(gfxCtx->overlay.p++, phi_s1 << 2, ZREG(15) << 2, (phi_s1 + 16) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, phi_s1 << 2, ZREG(15) << 2, (phi_s1 + 16) << 2,
(ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
phi_s1 += 16; phi_s1 += 16;
@ -3465,42 +3443,42 @@ void Interface_Draw(GlobalContext* globalCtx) {
} }
} else { } else {
// Score for the Horseback Archery // Score for the Horseback Archery
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
// Target Icon // Target Icon
gDPSetTextureImage(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_02002600); gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_02002600);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++); gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 383, 342); gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 383, 342);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 6, 0x0000, G_TX_RENDERTILE, 0, gDPSetTile(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 6, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD); G_TX_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 92, 60); gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 92, 60);
gSPTextureRectangle(gfxCtx->overlay.p++, (WREG(32) + 28) << 2, ZREG(15) << 2, (WREG(32) + 52) << 2, gSPTextureRectangle(oGfxCtx->overlay.p++, (WREG(32) + 28) << 2, ZREG(15) << 2, (WREG(32) + 52) << 2,
(ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
// Score Counter // Score Counter
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
phi_s0 = 0; phi_s0 = 0;
phi_s1 = WREG(32) + 6 * 9; phi_s1 = WREG(32) + 6 * 9;
for (phi_s3 = 0; phi_s3 < 4; phi_s3++) { for (phi_s3 = 0; phi_s3 < 4; phi_s3++) {
if (sHBAScoreDigits[phi_s3] != 0 || (phi_s0 != 0) || (phi_s3 >= 3)) { if (sHBAScoreDigits[phi_s3] != 0 || (phi_s0 != 0) || (phi_s3 >= 3)) {
gfxCtx->overlay.p = oGfxCtx->overlay.p =
Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[sHBAScoreDigits[phi_s3]], 8, 16, phi_s1, Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[sHBAScoreDigits[phi_s3]], 8, 16, phi_s1,
ZREG(15) - 2, sDigitWidth[0], VREG(42), VREG(43) * 2, VREG(43) * 2); ZREG(15) - 2, sDigitWidth[0], VREG(42), VREG(43) * 2, VREG(43) * 2);
phi_s1 += 9; phi_s1 += 9;
phi_s0++; phi_s0++;
} }
} }
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
} }
} }
@ -3881,32 +3859,32 @@ void Interface_Draw(GlobalContext* globalCtx) {
} }
// Clock Icon // Clock Icon
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0); gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, D_02002000, 16, 16, gSaveContext.timerX[sp274], oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, D_02002000, 16, 16, gSaveContext.timerX[sp274],
gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024); gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024);
// Timer Counter // Timer Counter
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
if (gSaveContext.timer1State != 0) { if (gSaveContext.timer1State != 0) {
if ((gSaveContext.timer1Value < 10) && (gSaveContext.timer1State < 11)) { if ((gSaveContext.timer1Value < 10) && (gSaveContext.timer1State < 11)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 50, 0, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 50, 0, 255);
} else { } else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
} }
} else { } else {
if ((gSaveContext.timer2Value < 10) && (gSaveContext.timer2State < 6)) { if ((gSaveContext.timer2Value < 10) && (gSaveContext.timer2State < 6)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 50, 0, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 50, 0, 255);
} else { } else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 0, 255); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 0, 255);
} }
} }
for (phi_s3 = 0; phi_s3 < 5; phi_s3++) { for (phi_s3 = 0; phi_s3 < 5; phi_s3++) {
gfxCtx->overlay.p = Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[sTimerDigits[phi_s3]], 8, 16, oGfxCtx->overlay.p = Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[sTimerDigits[phi_s3]], 8, 16,
gSaveContext.timerX[sp274] + sTimerDigitLeftPos[phi_s3], gSaveContext.timerX[sp274] + sTimerDigitLeftPos[phi_s3],
gSaveContext.timerY[sp274], sDigitWidth[phi_s3], VREG(42), gSaveContext.timerY[sp274], sDigitWidth[phi_s3], VREG(42),
VREG(43) * 2, VREG(43) * 2); VREG(43) * 2, VREG(43) * 2);
@ -3920,13 +3898,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
} }
if (interfaceCtx->unk_244 != 0) { if (interfaceCtx->unk_244 != 0) {
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gSPDisplayList(gfxCtx->overlay.p++, sSetupDL_80125A60); gSPDisplayList(oGfxCtx->overlay.p++, sSetupDL_80125A60);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0, 0, 0, interfaceCtx->unk_244); gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 0, 0, 0, interfaceCtx->unk_244);
gDPFillRectangle(gfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, gScreenHeight - 1); gDPFillRectangle(oGfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, gScreenHeight - 1);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 4269); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 4269);
} }
#else #else
s16 D_8015FFE0; s16 D_8015FFE0;

View file

@ -223,18 +223,18 @@ void Gameplay_Init(GlobalContext* globalCtx) {
globalCtx->cameraPtrs[i] = NULL; globalCtx->cameraPtrs[i] = NULL;
} }
func_80057C6C(&globalCtx->cameras[0], &globalCtx->view, &globalCtx->colCtx, globalCtx); func_80057C6C(&globalCtx->mainCamera, &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->cameras[0], 7); Camera_ChangeStatus(&globalCtx->mainCamera, 7);
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
func_80057C6C(&globalCtx->cameras[i + 1], &globalCtx->view, &globalCtx->colCtx, globalCtx); func_80057C6C(&globalCtx->subCameras[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->cameras[i + 1], 0x100); Camera_ChangeStatus(&globalCtx->subCameras[i], 0x100);
} }
globalCtx->cameraPtrs[0] = &globalCtx->cameras[0]; globalCtx->cameraPtrs[0] = &globalCtx->mainCamera;
globalCtx->cameraPtrs[0]->uid = 0; globalCtx->cameraPtrs[0]->uid = 0;
globalCtx->activeCamera = 0; globalCtx->activeCamera = 0;
func_8005AC48(&globalCtx->cameras[0], 0xFF); func_8005AC48(&globalCtx->mainCamera, 0xFF);
func_800A9D28(globalCtx, &globalCtx->sub_1F74); func_800A9D28(globalCtx, &globalCtx->sub_1F74);
func_80112098(globalCtx); func_80112098(globalCtx);
func_80110F68(globalCtx); func_80110F68(globalCtx);
@ -385,13 +385,13 @@ void Gameplay_Init(GlobalContext* globalCtx) {
} }
player = PLAYER; player = PLAYER;
func_80058148(&globalCtx->cameras[0], player); func_80058148(&globalCtx->mainCamera, player);
func_8005A444(&globalCtx->cameras[0], 0); func_8005A444(&globalCtx->mainCamera, 0);
playerStartCamId = player->actor.params & 0xFF; playerStartCamId = player->actor.params & 0xFF;
if (playerStartCamId != 0xFF) { if (playerStartCamId != 0xFF) {
osSyncPrintf("player has start camera ID (" VT_FGCOL(BLUE) "%d" VT_RST ")\n", playerStartCamId); osSyncPrintf("player has start camera ID (" VT_FGCOL(BLUE) "%d" VT_RST ")\n", playerStartCamId);
func_8005A7A8(&globalCtx->cameras[0], playerStartCamId); func_8005A7A8(&globalCtx->mainCamera, playerStartCamId);
} }
if (YREG(15) == 0x20) { if (YREG(15) == 0x20) {
@ -1070,39 +1070,37 @@ void Gameplay_DrawOverlayElements(GlobalContext* globalCtx) {
#ifdef NON_MATCHING #ifdef NON_MATCHING
// regalloc, stack usage and minor ordering differences // regalloc, stack usage and minor ordering differences
void Gameplay_Draw(GlobalContext* globalCtx) { void Gameplay_Draw(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
LightMapper* sp228; LightMapper* sp228;
Vec3f sp21C; Vec3f sp21C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4]; // 0x208
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(gfxCtx, "../z_play.c", 3907);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_play.c", 3907);
gSegments[4] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment); gSegments[4] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSegments[5] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment); gSegments[5] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSegments[2] = PHYSICAL_TO_VIRTUAL(globalCtx->sceneSegment); gSegments[2] = PHYSICAL_TO_VIRTUAL(globalCtx->sceneSegment);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL); gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyXlu.p++, 0x00, NULL); gSPSegment(oGfxCtx->polyXlu.p++, 0x00, NULL);
gSPSegment(gfxCtx->overlay.p++, 0x00, NULL); gSPSegment(oGfxCtx->overlay.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(gfxCtx->polyXlu.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(gfxCtx->overlay.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment); gSPSegment(oGfxCtx->overlay.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(gfxCtx->polyXlu.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(gfxCtx->overlay.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment); gSPSegment(oGfxCtx->overlay.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x02, globalCtx->sceneSegment); gSPSegment(oGfxCtx->polyOpa.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(gfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment); gSPSegment(oGfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(gfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment); gSPSegment(oGfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment);
func_80095248(gfxCtx, 0, 0, 0); func_80095248(gfxCtx, 0, 0, 0);
if ((HREG(80) != 10) || (HREG(82) != 0)) { if ((HREG(80) != 10) || (HREG(82) != 0)) {
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p); oGfxCtx->polyOpa.p = func_800BC8A0(globalCtx, oGfxCtx->polyOpa.p);
gfxCtx->polyXlu.p = func_800BC8A0(globalCtx, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = func_800BC8A0(globalCtx, oGfxCtx->polyXlu.p);
func_800AA460(&globalCtx->view, globalCtx->view.fovy, globalCtx->view.zNear, globalCtx->lightCtx.unk_0C); func_800AA460(&globalCtx->view, globalCtx->view.fovy, globalCtx->view.zNear, globalCtx->lightCtx.unk_0C);
func_800AAA50(&globalCtx->view, 15); func_800AAA50(&globalCtx->view, 15);
@ -1122,12 +1120,12 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
globalCtx->unk_11DE0 = Matrix_MtxFToMtx(Matrix_CheckFloats(&globalCtx->mf_11DA0, "../z_play.c", 4005), globalCtx->unk_11DE0 = Matrix_MtxFToMtx(Matrix_CheckFloats(&globalCtx->mf_11DA0, "../z_play.c", 4005),
Graph_Alloc(gfxCtx, sizeof(Mtx))); Graph_Alloc(gfxCtx, sizeof(Mtx)));
gSPSegment(gfxCtx->polyOpa.p++, 0x01, globalCtx->unk_11DE0); gSPSegment(oGfxCtx->polyOpa.p++, 0x01, globalCtx->unk_11DE0);
if ((HREG(80) != 10) || (HREG(92) != 0)) { if ((HREG(80) != 10) || (HREG(92) != 0)) {
Gfx* sp1CC = gfxCtx->polyOpa.p; Gfx* sp1CC = oGfxCtx->polyOpa.p;
Gfx* gfxP = Graph_GfxPlusOne(gfxCtx->polyOpa.p); Gfx* gfxP = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, gfxP); gSPDisplayList(oGfxCtx->overlay.p++, gfxP);
if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) || if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) ||
(globalCtx->transitionCtx.transitionType >= 56)) { (globalCtx->transitionCtx.transitionType >= 56)) {
@ -1151,13 +1149,13 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
gSPEndDisplayList(gfxP++); gSPEndDisplayList(gfxP++);
Graph_BranchDlist(sp1CC, gfxP); Graph_BranchDlist(sp1CC, gfxP);
gfxCtx->polyOpa.p = gfxP; oGfxCtx->polyOpa.p = gfxP;
} }
if (gTrnsnUnkState == 3) { if (gTrnsnUnkState == 3) {
Gfx* sp88 = gfxCtx->polyOpa.p; Gfx* sp88 = oGfxCtx->polyOpa.p;
TransitionUnk_Draw(&sTrnsnUnk, &sp88); TransitionUnk_Draw(&sTrnsnUnk, &sp88);
gfxCtx->polyOpa.p = sp88; oGfxCtx->polyOpa.p = sp88;
goto Gameplay_Draw_DrawOverlayElements; goto Gameplay_Draw_DrawOverlayElements;
} else { } else {
func_800C0ED8(&globalCtx->preRenderCtx, 0x140, 0xF0, gfxCtx->curFrameBuffer, gZBuffer); func_800C0ED8(&globalCtx->preRenderCtx, 0x140, 0xF0, gfxCtx->curFrameBuffer, gZBuffer);
@ -1171,9 +1169,9 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
} }
if (R_PAUSE_MENU_MODE == 3) { if (R_PAUSE_MENU_MODE == 3) {
Gfx* sp84 = gfxCtx->polyOpa.p; Gfx* sp84 = oGfxCtx->polyOpa.p;
func_800C24BC(&globalCtx->preRenderCtx, &sp84); func_800C24BC(&globalCtx->preRenderCtx, &sp84);
gfxCtx->polyOpa.p = sp84; oGfxCtx->polyOpa.p = sp84;
goto Gameplay_Draw_DrawOverlayElements; goto Gameplay_Draw_DrawOverlayElements;
} else { } else {
s32 sp80; s32 sp80;
@ -1288,7 +1286,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
} }
if ((R_PAUSE_MENU_MODE == 1) || (gTrnsnUnkState == 1)) { if ((R_PAUSE_MENU_MODE == 1) || (gTrnsnUnkState == 1)) {
Gfx* sp70 = gfxCtx->overlay.p; Gfx* sp70 = oGfxCtx->overlay.p;
globalCtx->preRenderCtx.unk_10 = gfxCtx->curFrameBuffer; globalCtx->preRenderCtx.unk_10 = gfxCtx->curFrameBuffer;
globalCtx->preRenderCtx.unk_14 = gZBuffer; globalCtx->preRenderCtx.unk_14 = gZBuffer;
func_800C1F20(&globalCtx->preRenderCtx, &sp70); func_800C1F20(&globalCtx->preRenderCtx, &sp70);
@ -1299,7 +1297,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
} else { } else {
gTrnsnUnkState = 2; gTrnsnUnkState = 2;
} }
gfxCtx->overlay.p = sp70; oGfxCtx->overlay.p = sp70;
globalCtx->preRenderCtx.unk_A3 = 2; globalCtx->preRenderCtx.unk_A3 = 2;
SREG(33) |= 1; SREG(33) |= 1;
} else { } else {
@ -1325,7 +1323,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
func_80059EC8(ACTIVE_CAM); func_80059EC8(ACTIVE_CAM);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_play.c", 4508); CLOSE_DISPS(gfxCtx, "../z_play.c", 4508);
} }
#else #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Gameplay_Draw.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Gameplay_Draw.s")
@ -1531,7 +1529,7 @@ s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx) {
CYAN) " " VT_RST "\n", CYAN) " " VT_RST "\n",
i); i);
globalCtx->cameraPtrs[i] = &globalCtx->cameras[i]; globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - 1];
func_80057C6C(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx); func_80057C6C(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
globalCtx->cameraPtrs[i]->unk_164 = i; globalCtx->cameraPtrs[i]->unk_164 = i;

View file

@ -506,23 +506,20 @@ void func_800906D4(GlobalContext* globalCtx, Player* player, ColliderTrisItemDim
void func_800907E4(GlobalContext* globalCtx, Player* player, Vec3f* arg2, s32 arg3) { void func_800907E4(GlobalContext* globalCtx, Player* player, Vec3f* arg2, s32 arg3) {
f32 sp4C; f32 sp4C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
sp4C = (player->exchangeItemId != 0) ? 6.0f : 14.0f; sp4C = (player->exchangeItemId != 0) ? 6.0f : 14.0f;
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 0x961);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0x961);
gSegments[6] = PHYSICAL_TO_VIRTUAL(player->getItemModel); gSegments[6] = PHYSICAL_TO_VIRTUAL(player->getItemModel);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, player->getItemModel); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, player->getItemModel);
gSPSegment(gfxCtx->polyXlu.p++, 0x06, player->getItemModel); gSPSegment(oGfxCtx->polyXlu.p++, 0x06, player->getItemModel);
Matrix_Translate(arg2->x + (Math_Sins(player->actor.shape.rot.y) * 3.3f), arg2->y + sp4C, Matrix_Translate(arg2->x + (Math_Sins(player->actor.shape.rot.y) * 3.3f), arg2->y + sp4C,
arg2->z + ((3.3f + (IREG(90) / 10.0f)) * Math_Coss(player->actor.shape.rot.y)), MTXMODE_NEW); arg2->z + ((3.3f + (IREG(90) / 10.0f)) * Math_Coss(player->actor.shape.rot.y)), MTXMODE_NEW);
Matrix_RotateRPY(0, globalCtx->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_RotateRPY(0, globalCtx->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
func_800694A0(globalCtx, arg3 - 1); func_800694A0(globalCtx, arg3 - 1);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0x975); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 0x975);
} }
void func_800909B4(GlobalContext* globalCtx, Player* player) { void func_800909B4(GlobalContext* globalCtx, Player* player) {
@ -558,8 +555,6 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Vec3f sp68; Vec3f sp68;
f32 sp64; f32 sp64;
f32 sp60; f32 sp60;
Gfx* dispRefs[5]; // TODO confirm size
GraphicsContext* gfxCtx;
D_801260D0 = 0.0f; D_801260D0 = 0.0f;
Matrix_MultVec3f(&D_801260C8, &sp8C); Matrix_MultVec3f(&D_801260C8, &sp8C);
@ -567,10 +562,9 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Matrix_MultVec3f(&D_801260C8, &sp80); Matrix_MultVec3f(&D_801260C8, &sp80);
if (func_8003E188(&globalCtx->colCtx, &sp8C, &sp80, &sp74, &sp9C, 1, 1, 1, 1, &sp98) != 0) { if (func_8003E188(&globalCtx->colCtx, &sp8C, &sp80, &sp74, &sp9C, 1, 1, 1, 1, &sp98) != 0) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA0C);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA0C);
gfxCtx->overlay.p = Gfx_CallSetupDL(gfxCtx->overlay.p, 7); oGfxCtx->overlay.p = Gfx_CallSetupDL(oGfxCtx->overlay.p, 7);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp74, &sp68, &sp64); SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp74, &sp68, &sp64);
@ -579,12 +573,12 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Matrix_Translate(sp74.x, sp74.y, sp74.z, MTXMODE_NEW); Matrix_Translate(sp74.x, sp74.y, sp74.z, MTXMODE_NEW);
Matrix_Scale(sp60, sp60, sp60, MTXMODE_APPLY); Matrix_Scale(sp60, sp60, sp60, MTXMODE_APPLY);
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(gfxCtx, "../z_player_lib.c", 0xA1B), gSPMatrix(oGfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA1B),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->overlay.p++, 0x06, globalCtx->objectCtx.status[player->actor.objBankIndex].segment); gSPSegment(oGfxCtx->overlay.p++, 0x06, globalCtx->objectCtx.status[player->actor.objBankIndex].segment);
gSPDisplayList(gfxCtx->overlay.p++, &D_0602CB48); gSPDisplayList(oGfxCtx->overlay.p++, &D_0602CB48);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA20); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA20);
} }
} }
#else #else

View file

@ -26,19 +26,18 @@ void PreNMI_Update(PreNMIContext* prenmiCtx) {
void PreNMI_Draw(PreNMIContext* prenmiCtx) { void PreNMI_Draw(PreNMIContext* prenmiCtx) {
GraphicsContext* gfxCtx = prenmiCtx->state.gfxCtx; GraphicsContext* gfxCtx = prenmiCtx->state.gfxCtx;
Gfx* dispRefs[5];
osSyncPrintf(VT_COL(YELLOW, BLACK) "prenmi_draw\n" VT_RST); osSyncPrintf(VT_COL(YELLOW, BLACK) "prenmi_draw\n" VT_RST);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_prenmi.c", 96); OPEN_DISPS(gfxCtx, "../z_prenmi.c", 96);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL); gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
func_80095248(gfxCtx, 0, 0, 0); func_80095248(gfxCtx, 0, 0, 0);
func_800940B0(gfxCtx); func_800940B0(gfxCtx);
gDPSetFillColor(gfxCtx->polyOpa.p++, (GPACK_RGBA5551(255, 255, 255, 1) << 16) | GPACK_RGBA5551(255, 255, 255, 1)); gDPSetFillColor(oGfxCtx->polyOpa.p++, (GPACK_RGBA5551(255, 255, 255, 1) << 16) | GPACK_RGBA5551(255, 255, 255, 1));
gDPFillRectangle(gfxCtx->polyOpa.p++, 0, prenmiCtx->timer + 100, SCREEN_WIDTH - 1, prenmiCtx->timer + 100); gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, prenmiCtx->timer + 100, SCREEN_WIDTH - 1, prenmiCtx->timer + 100);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_prenmi.c", 112); CLOSE_DISPS(gfxCtx, "../z_prenmi.c", 112);
} }
void PreNMI_Main(PreNMIContext* prenmiCtx) { void PreNMI_Main(PreNMIContext* prenmiCtx) {

View file

@ -857,169 +857,137 @@ Gfx* func_80093808(Gfx* gfx) {
} }
void func_80093848(GraphicsContext* gfxCtx) { void func_80093848(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1293);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1293); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x3A]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x3A]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1297);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1297);
} }
void func_800938B4(GraphicsContext* gfxCtx) { void func_800938B4(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1309);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1309); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x39]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x39]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1313);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1313);
} }
void func_80093920(GraphicsContext* gfxCtx) { void func_80093920(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1325);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1325); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x32]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x32]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1329);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1329);
} }
void func_8009398C(GraphicsContext* gfxCtx) { void func_8009398C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1341);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1341); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x33]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x33]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1345);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1345);
} }
void func_800939F8(GraphicsContext* gfxCtx) { void func_800939F8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1357);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1357); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x34]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x34]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1361);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1361);
} }
void func_80093A64(GraphicsContext* gfxCtx) { void func_80093A64(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1373);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1373); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x35]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x35]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1377);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1377);
} }
void func_80093AD0(GraphicsContext* gfxCtx) { void func_80093AD0(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1389);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1389); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x36]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x36]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1393);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1393);
} }
void func_80093B3C(GraphicsContext* gfxCtx) { void func_80093B3C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1405);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1405); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x37]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x37]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1409);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1409);
} }
void func_80093BA8(GraphicsContext* gfxCtx) { void func_80093BA8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1421);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1421); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1A]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1A]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1425);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1425);
} }
void func_80093C14(GraphicsContext* gfxCtx) { void func_80093C14(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1439);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1439); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1443);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1443);
} }
void func_80093C80(GlobalContext* globalCtx) { void func_80093C80(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
gfxCtx = globalCtx->state.gfxCtx;
func_80093D18(gfxCtx); func_80093D18(gfxCtx);
if (globalCtx->roomCtx.curRoom.unk_03 == 3) { if (globalCtx->roomCtx.curRoom.unk_03 == 3) {
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1460); OPEN_DISPS(gfxCtx, "../z_rcp.c", 1460);
gDPSetColorDither(gfxCtx->polyOpa.p++, G_CD_DISABLE); gDPSetColorDither(oGfxCtx->polyOpa.p++, G_CD_DISABLE);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1462); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1462);
} }
} }
void func_80093D18(GraphicsContext* gfxCtx) { void func_80093D18(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1475);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1475); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x19]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x19]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1479);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1479);
} }
void func_80093D84(GraphicsContext* gfxCtx) { void func_80093D84(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1491);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1491); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1495);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1495);
} }
void func_80093DF0(GraphicsContext* gfxCtx) { void func_80093DF0(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1507);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1507); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1F]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1F]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1511);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1511);
} }
void func_80093E5C(GraphicsContext* gfxCtx) { void func_80093E5C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1523);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1523); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x20]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x20]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1527);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1527);
} }
void func_80093EC8(GraphicsContext* gfxCtx) { void func_80093EC8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1539);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1539); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x21]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x21]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1543);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1543);
} }
Gfx* func_80093F34(Gfx* gfx) { Gfx* func_80093F34(Gfx* gfx) {
@ -1033,43 +1001,35 @@ Gfx* func_80093F58(Gfx* gfx) {
} }
void func_80093F7C(GraphicsContext* gfxCtx) { void func_80093F7C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1569);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1569); oGfxCtx->polyOpa.p = func_80093F58(oGfxCtx->polyOpa.p);
gfxCtx->polyOpa.p = func_80093F58(gfxCtx->polyOpa.p); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1573);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1573);
} }
void func_80093FD8(GraphicsContext* gfxCtx) { void func_80093FD8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1585);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1585); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x23]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x23]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1589);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1589);
} }
void func_80094044(GraphicsContext* gfxCtx) { void func_80094044(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1601);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1601); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2C]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2C]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1605);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1605);
} }
void func_800940B0(GraphicsContext* gfxCtx) { void func_800940B0(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1617);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1617); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x24]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x24]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1621);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1621);
} }
Gfx* func_8009411C(Gfx* gfx) { Gfx* func_8009411C(Gfx* gfx) {
@ -1078,83 +1038,67 @@ Gfx* func_8009411C(Gfx* gfx) {
} }
void func_80094140(GraphicsContext* gfxCtx) { void func_80094140(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1640);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1640); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1C]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1C]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1644);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1644);
} }
void func_800941AC(GraphicsContext* gfxCtx) { void func_800941AC(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1651);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1651); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2B]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2B]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1655);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1655);
} }
void func_80094218(GraphicsContext* gfxCtx) { void func_80094218(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1670);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1670); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2D]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2D]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1674);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1674);
} }
void func_80094284(GraphicsContext* gfxCtx) { void func_80094284(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1681);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1681); gSPDisplayList(oGfxCtx->overlay.p++, &sSetupDL[6 * 0x2E]);
gSPDisplayList(gfxCtx->overlay.p++, &sSetupDL[6 * 0x2E]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1685);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1685);
} }
void func_800942F0(GraphicsContext* gfxCtx) { void func_800942F0(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1700);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1700); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x26]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x26]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1704);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1704);
} }
void func_8009435C(GraphicsContext* gfxCtx) { void func_8009435C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1722);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1722); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x04]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x04]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1726);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1726);
} }
void func_800943C8(GraphicsContext* gfxCtx) { void func_800943C8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1758);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1758); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x25]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x25]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1762);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1762);
} }
void func_80094434(GraphicsContext* gfxCtx) { void func_80094434(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1775);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1775); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x02]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x02]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1779);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1779);
} }
Gfx* func_800944A0(Gfx* gfx) { Gfx* func_800944A0(Gfx* gfx) {
@ -1163,23 +1107,19 @@ Gfx* func_800944A0(Gfx* gfx) {
} }
void func_800944C4(GraphicsContext* gfxCtx) { void func_800944C4(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1799);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1799); oGfxCtx->polyOpa.p = func_800944A0(oGfxCtx->polyOpa.p);
gfxCtx->polyOpa.p = func_800944A0(gfxCtx->polyOpa.p); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1801);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1801);
} }
void func_80094520(GraphicsContext* gfxCtx) { void func_80094520(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1809);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1809); oGfxCtx->overlay.p = func_800944A0(oGfxCtx->overlay.p);
gfxCtx->overlay.p = func_800944A0(gfxCtx->overlay.p); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1811);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1811);
} }
void func_8009457C(Gfx** gfxp) { void func_8009457C(Gfx** gfxp) {
@ -1189,33 +1129,27 @@ void func_8009457C(Gfx** gfxp) {
} }
void func_800945A0(GraphicsContext* gfxCtx) { void func_800945A0(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1837);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1837); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x28]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x28]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1841);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1841);
} }
void func_8009460C(GraphicsContext* gfxCtx) { void func_8009460C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1853);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1853); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x29]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x29]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1857);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1857);
} }
void func_80094678(GraphicsContext* gfxCtx) { void func_80094678(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1869);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1869); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2F]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2F]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1873);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1873);
} }
Gfx* func_800946E4(Gfx* gfx) { Gfx* func_800946E4(Gfx* gfx) {
@ -1275,84 +1209,68 @@ Gfx* func_80094968(Gfx* gfx) {
} }
void func_800949A8(GraphicsContext* gfxCtx) { void func_800949A8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1953);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1953); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2A]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2A]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1957);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1957);
} }
void func_80094A14(GraphicsContext* gfxCtx) { void func_80094A14(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1964);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1964); gSPDisplayList(oGfxCtx->overlay.p++, &sSetupDL[6 * 0x2A]);
gSPDisplayList(gfxCtx->overlay.p++, &sSetupDL[6 * 0x2A]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1968);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1968);
} }
void func_80094A80(GraphicsContext* gfxCtx) { void func_80094A80(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 1992);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 1992); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x30]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x30]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1996);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1996);
} }
void func_80094AEC(GraphicsContext* gfxCtx) { void func_80094AEC(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2008);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2008); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x31]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x31]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2012);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2012);
} }
void func_80094B58(GraphicsContext* gfxCtx) { void func_80094B58(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2024);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2024); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x1B]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x1B]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2028);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2028);
} }
void func_80094BC4(GraphicsContext* gfxCtx) { void func_80094BC4(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2040);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2040); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x3C]);
gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x3C]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2043);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2043);
} }
void func_80094C50(GraphicsContext* gfxCtx) { void func_80094C50(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2056);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2056); gSPDisplayList(oGfxCtx->polyXlu.p++, &sSetupDL[6 * 0x3D]);
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x3D]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2058);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2058);
} }
void func_80094CBC(GraphicsContext* gfxCtx) { void func_80094CBC(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2086);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2086); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x38]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x38]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2090);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2090);
} }
void func_80094D28(Gfx** gfxp) { void func_80094D28(Gfx** gfxp) {
@ -1362,13 +1280,11 @@ void func_80094D28(Gfx** gfxp) {
} }
void func_80094D4C(GraphicsContext* gfxCtx) { void func_80094D4C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2112);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2112); gSPDisplayList(oGfxCtx->polyOpa.p++, &sSetupDL[6 * 0x3B]);
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x3B]); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2116);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2116);
} }
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height) { Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height) {
@ -1448,30 +1364,27 @@ Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a) {
} }
void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) { void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2386);
s32 ret;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2386); gSPDisplayList(oGfxCtx->polyOpa.p++, sFillSetupDL);
gSPDisplayList(oGfxCtx->polyXlu.p++, sFillSetupDL);
gSPDisplayList(oGfxCtx->overlay.p++, sFillSetupDL);
gSPDisplayList(gfxCtx->polyOpa.p++, sFillSetupDL); gDPSetScissorFrac(oGfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gSPDisplayList(gfxCtx->polyXlu.p++, sFillSetupDL); gDPSetScissorFrac(oGfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gSPDisplayList(gfxCtx->overlay.p++, sFillSetupDL); gDPSetScissorFrac(oGfxCtx->overlay.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gDPSetScissorFrac(gfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f); gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetScissorFrac(gfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f); gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetScissorFrac(gfxCtx->overlay.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f); gDPSetColorImage(oGfxCtx->polyXlu.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer); gDPSetDepthImage(oGfxCtx->polyOpa.p++, gZBuffer);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer); gDPSetDepthImage(oGfxCtx->polyXlu.p++, gZBuffer);
gDPSetColorImage(gfxCtx->polyXlu.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer); gDPSetDepthImage(oGfxCtx->overlay.p++, gZBuffer);
gDPSetColorImage(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetDepthImage(gfxCtx->polyOpa.p++, gZBuffer);
gDPSetDepthImage(gfxCtx->polyXlu.p++, gZBuffer);
gDPSetDepthImage(gfxCtx->overlay.p++, gZBuffer);
if ((R_PAUSE_MENU_MODE < 2) && (gTrnsnUnkState < 2)) { if ((R_PAUSE_MENU_MODE < 2) && (gTrnsnUnkState < 2)) {
ret = ShrinkWindow_GetCurrentVal(); s32 ret = ShrinkWindow_GetCurrentVal();
if (HREG(80) == 16) { if (HREG(80) == 16) {
if (HREG(95) != 16) { if (HREG(95) != 16) {
@ -1513,44 +1426,42 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
} }
} }
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gZBuffer); gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gZBuffer);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_FILL); gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2); gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(gfxCtx->polyOpa.p++, gDPSetFillColor(oGfxCtx->polyOpa.p++,
(GPACK_RGBA5551(255, 255, 240, 0) << 16) | GPACK_RGBA5551(255, 255, 240, 0)); (GPACK_RGBA5551(255, 255, 240, 0) << 16) | GPACK_RGBA5551(255, 255, 240, 0));
gDPFillRectangle(gfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1); gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer); gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_FILL); gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2); gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(gfxCtx->polyOpa.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1)); gDPSetFillColor(oGfxCtx->polyOpa.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
gDPFillRectangle(gfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1); gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
if (ret > 0) { if (ret > 0) {
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCycleType(gfxCtx->overlay.p++, G_CYC_FILL); gDPSetCycleType(oGfxCtx->overlay.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->overlay.p++, G_RM_NOOP, G_RM_NOOP2); gDPSetRenderMode(oGfxCtx->overlay.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(gfxCtx->overlay.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1)); gDPSetFillColor(oGfxCtx->overlay.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
gDPFillRectangle(gfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, ret - 1); gDPFillRectangle(oGfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, ret - 1);
gDPFillRectangle(gfxCtx->overlay.p++, 0, gScreenHeight - ret, gScreenWidth - 1, gScreenHeight - 1); gDPFillRectangle(oGfxCtx->overlay.p++, 0, gScreenHeight - ret, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
} }
} }
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2497); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2497);
} }
void func_80095974(GraphicsContext* gfxCtx) { void func_80095974(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_rcp.c", 2503);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_rcp.c", 2503); gSPDisplayList(oGfxCtx->polyOpa.p++, sFillSetupDL);
gDPSetScissorFrac(oGfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gDPSetDepthImage(oGfxCtx->polyOpa.p++, gZBuffer);
gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gSPDisplayList(gfxCtx->polyOpa.p++, sFillSetupDL); CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2513);
gDPSetScissorFrac(gfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gDPSetDepthImage(gfxCtx->polyOpa.p++, gZBuffer);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2513);
} }

View file

@ -37,41 +37,38 @@ void func_80095AB4(GlobalContext* globalCtx, Room* room, u32 flags) {
s32 i; s32 i;
PolygonType0* polygon0; PolygonType0* polygon0;
PolygonDlist* polygonDlist; PolygonDlist* polygonDlist;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 193);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 193);
if (flags & 1) { if (flags & 1) {
func_800342EC(&D_801270A0, globalCtx); func_800342EC(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
func_80093C80(globalCtx); func_80093C80(globalCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
} }
if (flags & 2) { if (flags & 2) {
func_8003435C(&D_801270A0, globalCtx); func_8003435C(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
} }
polygon0 = &room->mesh->polygon0; polygon0 = &room->mesh->polygon0;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon0->start); polygonDlist = SEGMENTED_TO_VIRTUAL(polygon0->start);
for (i = 0; i < polygon0->num; i++) { for (i = 0; i < polygon0->num; i++) {
if ((flags & 1) && (polygonDlist->opa != NULL)) { if ((flags & 1) && (polygonDlist->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa); gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
} }
if ((flags & 2) && (polygonDlist->xlu != NULL)) { if ((flags & 2) && (polygonDlist->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu); gSPDisplayList(oGfxCtx->polyXlu.p++, polygonDlist->xlu);
} }
polygonDlist++; polygonDlist++;
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 239); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 239);
} }
#define SHAPE_SORT_MAX 64 #define SHAPE_SORT_MAX 64
@ -104,26 +101,24 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
PolygonDlist2* sp78; PolygonDlist2* sp78;
f32 temp_f0; f32 temp_f0;
f32 temp_f2; f32 temp_f2;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
spB0 = NULL; spB0 = NULL;
spB4 = NULL; spB4 = NULL;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 287); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 287);
if (flags & 1) { if (flags & 1) {
func_800342EC(&D_801270A0, globalCtx); func_800342EC(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
func_80093C80(globalCtx); func_80093C80(globalCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
} }
if (flags & 2) { if (flags & 2) {
func_8003435C(&D_801270A0, globalCtx); func_8003435C(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
} }
spA4 = &spB8[0]; spA4 = &spB8[0];
@ -199,20 +194,20 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
if (((iREG(86) == 1) && (iREG(89) > sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) { if (((iREG(86) == 1) && (iREG(89) > sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) {
if ((flags & 1) && (phi_s0->opa != NULL)) { if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa); gSPDisplayList(oGfxCtx->polyOpa.p++, phi_s0->opa);
} }
if ((flags & 2) && (phi_s0->xlu != NULL)) { if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu); gSPDisplayList(oGfxCtx->polyXlu.p++, phi_s0->xlu);
} }
} }
} else { } else {
if ((flags & 1) && (phi_s0->opa != NULL)) { if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa); gSPDisplayList(oGfxCtx->polyOpa.p++, phi_s0->opa);
} }
if ((flags & 2) && (phi_s0->xlu != NULL)) { if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu); gSPDisplayList(oGfxCtx->polyXlu.p++, phi_s0->xlu);
} }
} }
@ -222,7 +217,7 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
iREG(88) = sp9C - 1; iREG(88) = sp9C - 1;
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 430); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 430);
} }
#else #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_80095D04.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_80095D04.s")
@ -337,11 +332,8 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
u32 sp98; u32 sp98;
u32 sp94; u32 sp94;
u32 sp90; u32 sp90;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 628);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 628);
camera = ACTIVE_CAM; camera = ACTIVE_CAM;
sp9C = (camera->setting == 25); sp9C = (camera->setting == 25);
@ -352,42 +344,42 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
sp90 = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4); sp90 = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4);
if (sp94 || sp98) { if (sp94 || sp98) {
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
if (sp94) { if (sp94) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa); gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
} }
if (sp98) { if (sp98) {
// gSPLoadUcodeL(gfxCtx->polyOpa.p++, rspS2DEX)? // gSPLoadUcodeL(oGfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800); gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
if (1) { {
Vec3f sp60; Vec3f sp60;
spA8 = gfxCtx->polyOpa.p; spA8 = oGfxCtx->polyOpa.p;
func_8005AFB4(&sp60, camera); func_8005AFB4(&sp60, camera);
func_8009638C(&spA8, polygon1->single.source, polygon1->single.tlut, polygon1->single.width, func_8009638C(&spA8, polygon1->single.source, polygon1->single.tlut, polygon1->single.width,
polygon1->single.height, polygon1->single.fmt, polygon1->single.siz, polygon1->single.height, polygon1->single.fmt, polygon1->single.siz,
polygon1->single.mode0, polygon1->single.tlutCount, polygon1->single.mode0, polygon1->single.tlutCount,
(sp60.x + sp60.z) * 1.2f + sp60.y * 0.6f, sp60.y * 2.4f + (sp60.x + sp60.z) * 0.3f); (sp60.x + sp60.z) * 1.2f + sp60.y * 0.6f, sp60.y * 2.4f + (sp60.x + sp60.z) * 0.3f);
gfxCtx->polyOpa.p = spA8; oGfxCtx->polyOpa.p = spA8;
} }
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())? // gSPLoadUcode(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800); gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
} }
} }
if (sp90) { if (sp90) {
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu); gSPDisplayList(oGfxCtx->polyXlu.p++, polygonDlist->xlu);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 691); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 691);
} }
BgImage* func_80096A74(PolygonType1* polygon1, GlobalContext* globalCtx) { BgImage* func_80096A74(PolygonType1* polygon1, GlobalContext* globalCtx) {
@ -434,11 +426,8 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
u32 sp94; u32 sp94;
u32 sp90; u32 sp90;
u32 sp8C; u32 sp8C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 752);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 752);
camera = ACTIVE_CAM; camera = ACTIVE_CAM;
sp98 = (camera->setting == 25); sp98 = (camera->setting == 25);
@ -450,41 +439,41 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
sp8C = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4); sp8C = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4);
if (sp90 || sp94) { if (sp90 || sp94) {
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
if (sp90) { if (sp90) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa); gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
} }
if (sp94) { if (sp94) {
// gSPLoadUcodeL(gfxCtx->polyOpa.p++, rspS2DEX)? // gSPLoadUcodeL(oGfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800); gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
if (1) { {
Vec3f sp5C; Vec3f sp5C;
spA8 = gfxCtx->polyOpa.p; spA8 = oGfxCtx->polyOpa.p;
func_8005AFB4(&sp5C, camera); func_8005AFB4(&sp5C, camera);
func_8009638C(&spA8, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt, func_8009638C(&spA8, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt,
bgImage->siz, bgImage->mode0, bgImage->tlutCount, bgImage->siz, bgImage->mode0, bgImage->tlutCount,
(sp5C.x + sp5C.z) * 1.2f + sp5C.y * 0.6f, sp5C.y * 2.4f + (sp5C.x + sp5C.z) * 0.3f); (sp5C.x + sp5C.z) * 1.2f + sp5C.y * 0.6f, sp5C.y * 2.4f + (sp5C.x + sp5C.z) * 0.3f);
gfxCtx->polyOpa.p = spA8; oGfxCtx->polyOpa.p = spA8;
} }
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())? // gSPLoadUcode(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800); gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
} }
} }
if (sp8C) { if (sp8C) {
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu); gSPDisplayList(oGfxCtx->polyXlu.p++, polygonDlist->xlu);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 819); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 819);
} }
// Room Draw Polygon Type 1 // Room Draw Polygon Type 1

View file

@ -12,33 +12,32 @@ void Sample_HandleStateChange(SampleContext* this) {
void Sample_Draw(SampleContext* this) { void Sample_Draw(SampleContext* this) {
GraphicsContext* gfxCtx = this->state.gfxCtx; GraphicsContext* gfxCtx = this->state.gfxCtx;
View* view = &this->view; View* view = &this->view;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_sample.c", 62); OPEN_DISPS(gfxCtx, "../z_sample.c", 62);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL); gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 0x01, this->staticSegment); gSPSegment(oGfxCtx->polyOpa.p++, 0x01, this->staticSegment);
func_80095248(gfxCtx, 0, 0, 0); func_80095248(gfxCtx, 0, 0, 0);
view->flags = 1 | 2 | 4; view->flags = 1 | 2 | 4;
func_800AAA50(view, 15); func_800AAA50(view, 15);
if (1) { {
Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx));
guPosition(mtx, SREG(37), SREG(38), SREG(39), 1.0f, SREG(40), SREG(41), SREG(42)); guPosition(mtx, SREG(37), SREG(38), SREG(39), 1.0f, SREG(40), SREG(41), SREG(42));
gSPMatrix(gfxCtx->polyOpa.p++, mtx, G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
} }
gfxCtx->polyOpa.p = Gfx_SetFog2(gfxCtx->polyOpa.p, 0xFF, 0xFF, 0xFF, 0, 0, 0); oGfxCtx->polyOpa.p = Gfx_SetFog2(oGfxCtx->polyOpa.p, 0xFF, 0xFF, 0xFF, 0, 0, 0);
func_80093D18(gfxCtx); func_80093D18(gfxCtx);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_1CYCLE); gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_1CYCLE);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(gfxCtx->polyOpa.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); gDPSetCombineMode(oGfxCtx->polyOpa.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 255, 255, 0, 0); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 255, 255, 0, 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_sample.c", 111); CLOSE_DISPS(gfxCtx, "../z_sample.c", 111);
} }
void Sample_Main(SampleContext* this) { void Sample_Main(SampleContext* this) {

File diff suppressed because it is too large Load diff

View file

@ -34,11 +34,9 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
Gfx* dList; Gfx* dList;
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 773);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 773);
Matrix_Push(); Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]);
limbIndex++; limbIndex++;
@ -52,17 +50,15 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) { if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList != NULL) { if (dList != NULL) {
do { gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
if (1) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
G_MTX_LOAD); G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
} while (0);
} }
} }
if (1) {}
if (postLimbDraw != NULL) { if (postLimbDraw != NULL) {
postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor); postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor);
} }
@ -79,7 +75,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
postLimbDraw, actor, dListIndex); postLimbDraw, actor, dListIndex);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 821); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 821);
} }
/* /*
@ -92,8 +88,6 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
Gfx* dList; Gfx* dList;
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (skeleton == NULL) { if (skeleton == NULL) {
osSyncPrintf(VT_FGCOL(RED)); osSyncPrintf(VT_FGCOL(RED));
@ -101,8 +95,9 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
return; return;
} }
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 849); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 849);
Matrix_Push(); Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]);
@ -116,9 +111,10 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) { if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList != NULL) { if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881), G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881),
G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
} }
} }
if (postLimbDraw != NULL) { if (postLimbDraw != NULL) {
@ -131,7 +127,8 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
} }
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 894);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 894);
} }
/* /*
@ -145,8 +142,6 @@ void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton*
Gfx* dList[2]; Gfx* dList[2];
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
Matrix_Push(); Matrix_Push();
@ -166,11 +161,10 @@ void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton*
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) { if (dList[1] != NULL) {
Matrix_ToMtx(*mtx, "../z_skelanime.c", 945); Matrix_ToMtx(*mtx, "../z_skelanime.c", 945);
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 946);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 946); gSPMatrix(oGfxCtx->polyOpa.p++, *mtx, G_MTX_LOAD);
gSPMatrix(gfxCtx->polyOpa.p++, *mtx, G_MTX_LOAD); gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 949);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 949);
(*mtx)++; (*mtx)++;
} else if (dList[0] != NULL) { } else if (dList[0] != NULL) {
Matrix_ToMtx(*mtx, "../z_skelanime.c", 954); Matrix_ToMtx(*mtx, "../z_skelanime.c", 954);
@ -206,8 +200,6 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
Mtx* mtx; Mtx* mtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(Mtx)); mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(Mtx));
@ -217,9 +209,10 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
return; return;
} }
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1000); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1000);
gSPSegment(gfxCtx->polyOpa.p++, 0xD, mtx);
gSPSegment(oGfxCtx->polyOpa.p++, 0xD, mtx);
Matrix_Push(); Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]);
@ -236,8 +229,8 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) { if (dList[1] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1033); Matrix_ToMtx(mtx, "../z_skelanime.c", 1033);
gSPMatrix(gfxCtx->polyOpa.p++, mtx, G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
mtx++; mtx++;
} else if (dList[0] != NULL) { } else if (dList[0] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1040); Matrix_ToMtx(mtx, "../z_skelanime.c", 1040);
@ -255,7 +248,7 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1053); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1053);
} }
/* /*
@ -267,12 +260,9 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele
Gfx* dList; Gfx* dList;
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1076);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1076);
Matrix_Push(); Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]);
@ -286,16 +276,14 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) { if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList != NULL) { if (dList != NULL) {
do { gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103),
if (1) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103),
G_MTX_LOAD); G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
} while (0);
} }
} }
if (1) {}
if (postLimbDraw != NULL) { if (postLimbDraw != NULL) {
postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor); postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor);
} }
@ -312,7 +300,7 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele
actor); actor);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1121); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1121);
} }
void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable,
@ -322,8 +310,6 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
Gfx* dList; Gfx* dList;
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (skeleton == NULL) { if (skeleton == NULL) {
osSyncPrintf(VT_FGCOL(RED)); osSyncPrintf(VT_FGCOL(RED));
@ -332,9 +318,8 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
return; return;
} }
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1148);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1148);
Matrix_Push(); Matrix_Push();
rootLimb = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); rootLimb = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]);
@ -348,9 +333,9 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) { if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList != NULL) { if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1176), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1176),
G_MTX_LOAD); G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList); gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
} }
} }
@ -365,7 +350,7 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1190); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1190);
} }
void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable,
@ -375,11 +360,9 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
Gfx* dList[2]; Gfx* dList[2];
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1214);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1214);
Matrix_Push(); Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]);
@ -397,8 +380,8 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) { if (dList[1] != NULL) {
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1242); Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1242);
gSPMatrix(gfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
(*limbMatricies)++; (*limbMatricies)++;
} else if (dList[0] != NULL) { } else if (dList[0] != NULL) {
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1249); Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1249);
@ -422,7 +405,7 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
postLimbDraw, actor, limbMatricies); postLimbDraw, actor, limbMatricies);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1265); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1265);
} }
void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount,
@ -433,8 +416,6 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
Mtx* mtx; Mtx* mtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(Mtx)); mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(Mtx));
@ -445,11 +426,9 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
return; return;
} }
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1294);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1294); gSPSegment(oGfxCtx->polyOpa.p++, 0xD, mtx);
gSPSegment(gfxCtx->polyOpa.p++, 0xD, mtx);
Matrix_Push(); Matrix_Push();
@ -468,8 +447,8 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
Matrix_JointPosition(&pos, &rot); Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) { if (dList[1] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1327); Matrix_ToMtx(mtx, "../z_skelanime.c", 1327);
gSPMatrix(gfxCtx->polyOpa.p++, mtx, G_MTX_LOAD); gSPMatrix(oGfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]); gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
mtx++; mtx++;
} else { } else {
if (dList[0] != NULL) { if (dList[0] != NULL) {
@ -489,7 +468,7 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
} }
Matrix_Pull(); Matrix_Pull();
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1347); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1347);
} }
/* /*

View file

@ -134,7 +134,6 @@ void func_800AA550(View* view) {
s32 lrx; s32 lrx;
s32 lry; s32 lry;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx; gfxCtx = view->gfxCtx;
@ -174,14 +173,14 @@ void func_800AA550(View* view) {
__assert("lry <= SCREEN_HT", "../z_view.c", 457); __assert("lry <= SCREEN_HT", "../z_view.c", 457);
} }
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 459); OPEN_DISPS(gfxCtx, "../z_view.c", 459);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetScissor(gfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry); gDPSetScissor(oGfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetScissor(gfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry); gDPSetScissor(oGfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_view.c", 472); CLOSE_DISPS(gfxCtx, "../z_view.c", 472);
} }
void func_800AA76C(View* view, f32 x, f32 y, f32 z) { void func_800AA76C(View* view, f32 x, f32 y, f32 z) {
@ -279,10 +278,10 @@ s32 func_800AAA9C(View* view) {
Mtx* projection; Mtx* projection;
Mtx* viewing; Mtx* viewing;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx; gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 596);
OPEN_DISPS(gfxCtx, "../z_view.c", 596);
vp = Graph_Alloc(gfxCtx, sizeof(Vp)); vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 601); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 601);
@ -291,8 +290,8 @@ s32 func_800AAA9C(View* view) {
func_800AA550(view); func_800AA550(view);
gSPViewport(gfxCtx->polyOpa.p++, vp); gSPViewport(oGfxCtx->polyOpa.p++, vp);
gSPViewport(gfxCtx->polyXlu.p++, vp); gSPViewport(oGfxCtx->polyXlu.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 616); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 616);
@ -335,10 +334,10 @@ s32 func_800AAA9C(View* view) {
func_800AA890(view, projection); func_800AA890(view, projection);
gSPPerspNormalize(gfxCtx->polyOpa.p++, view->normal); gSPPerspNormalize(oGfxCtx->polyOpa.p++, view->normal);
gSPMatrix(gfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfxCtx->polyXlu.p++, view->normal); gSPPerspNormalize(oGfxCtx->polyXlu.p++, view->normal);
gSPMatrix(gfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); viewing = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 667); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 667);
@ -368,10 +367,10 @@ s32 func_800AAA9C(View* view) {
osSyncPrintf("\n"); osSyncPrintf("\n");
} }
gSPMatrix(gfxCtx->polyOpa.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyOpa.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
gSPMatrix(gfxCtx->polyXlu.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyXlu.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_view.c", 711); CLOSE_DISPS(gfxCtx, "../z_view.c", 711);
return 1; return 1;
} }
@ -380,10 +379,10 @@ s32 func_800AB0A8(View* view) {
Vp* vp; Vp* vp;
Mtx* projection; Mtx* projection;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx; gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 726);
OPEN_DISPS(gfxCtx, "../z_view.c", 726);
vp = Graph_Alloc(gfxCtx, sizeof(Vp)); vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 730); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 730);
@ -392,9 +391,9 @@ s32 func_800AB0A8(View* view) {
func_800AA550(view); func_800AA550(view);
gSPViewport(gfxCtx->polyOpa.p++, vp); gSPViewport(oGfxCtx->polyOpa.p++, vp);
gSPViewport(gfxCtx->polyXlu.p++, vp); gSPViewport(oGfxCtx->polyXlu.p++, vp);
gSPViewport(gfxCtx->overlay.p++, vp); gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 744); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 744);
@ -405,10 +404,10 @@ s32 func_800AB0A8(View* view) {
view->projection = *projection; view->projection = *projection;
gSPMatrix(gfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_view.c", 762); CLOSE_DISPS(gfxCtx, "../z_view.c", 762);
return 1; return 1;
} }
@ -417,22 +416,22 @@ s32 func_800AB2C4(View* view) {
Vp* vp; Vp* vp;
Mtx* projection; Mtx* projection;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
if (1) {} // Necessary to match if (1) {} // Necessary to match
gfxCtx = view->gfxCtx; gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 777);
OPEN_DISPS(gfxCtx, "../z_view.c", 777);
vp = Graph_Alloc(gfxCtx, sizeof(Vp)); vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 781); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 781);
View_ViewportToVp(vp, &view->viewport); View_ViewportToVp(vp, &view->viewport);
view->vp = *vp; view->vp = *vp;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetScissor(gfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY, gDPSetScissor(oGfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY); view->viewport.rightX, view->viewport.bottomY);
gSPViewport(gfxCtx->overlay.p++, vp); gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 791); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 791);
@ -443,9 +442,9 @@ s32 func_800AB2C4(View* view) {
view->projection = *projection; view->projection = *projection;
gSPMatrix(gfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_view.c", 801); CLOSE_DISPS(gfxCtx, "../z_view.c", 801);
return 1; return 1;
} }
@ -459,20 +458,20 @@ s32 func_800AB560(View* view) {
Mtx* projection; Mtx* projection;
Mtx* viewing; Mtx* viewing;
GraphicsContext* gfxCtx; GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx; gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 816);
OPEN_DISPS(gfxCtx, "../z_view.c", 816);
vp = Graph_Alloc(gfxCtx, sizeof(Vp)); vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 821); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 821);
View_ViewportToVp(vp, &view->viewport); View_ViewportToVp(vp, &view->viewport);
view->vp = *vp; view->vp = *vp;
gDPPipeSync(gfxCtx->overlay.p++); gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetScissor(gfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY, gDPSetScissor(oGfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY); view->viewport.rightX, view->viewport.bottomY);
gSPViewport(gfxCtx->overlay.p++, vp); gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 833); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 833);
@ -486,8 +485,8 @@ s32 func_800AB560(View* view) {
view->projection = *projection; view->projection = *projection;
gSPPerspNormalize(gfxCtx->overlay.p++, view->normal); gSPPerspNormalize(oGfxCtx->overlay.p++, view->normal);
gSPMatrix(gfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); viewing = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 848); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 848);
@ -505,23 +504,21 @@ s32 func_800AB560(View* view) {
view->viewing = *viewing; view->viewing = *viewing;
gSPMatrix(gfxCtx->overlay.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); gSPMatrix(oGfxCtx->overlay.p++, viewing, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_view.c", 871); CLOSE_DISPS(gfxCtx, "../z_view.c", 871);
return 1; return 1;
} }
s32 func_800AB944(View* view) { s32 func_800AB944(View* view) {
Gfx* dispRefs[5]; OPEN_DISPS(view->gfxCtx, "../z_view.c", 878);
Graph_OpenDisps(dispRefs, view->gfxCtx, "../z_view.c", 878);
func_800ABE74(view->eye.x, view->eye.y, view->eye.z); func_800ABE74(view->eye.x, view->eye.y, view->eye.z);
guLookAt(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z, guLookAt(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z,
view->up.x, view->up.y, view->up.z); view->up.x, view->up.y, view->up.z);
Graph_CloseDisps(dispRefs, view->gfxCtx, "../z_view.c", 886); CLOSE_DISPS(view->gfxCtx, "../z_view.c", 886);
return 1; return 1;
} }

View file

@ -12,17 +12,16 @@ Mtx* SkyboxDraw_UpdateMatrix(SkyboxContext* skyboxCtx, f32 x, f32 y, f32 z) {
} }
void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 alpha, f32 x, f32 y, f32 z) { void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 alpha, f32 x, f32 y, f32 z) {
Gfx* dispRefs[5]; OPEN_DISPS(gfxCtx, "../z_vr_box_draw.c", 52);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_vr_box_draw.c", 52);
func_800945A0(gfxCtx); func_800945A0(gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 7, skyboxCtx->staticSegments[0]); gSPSegment(oGfxCtx->polyOpa.p++, 7, skyboxCtx->staticSegments[0]);
gSPSegment(gfxCtx->polyOpa.p++, 8, skyboxCtx->staticSegments[1]); gSPSegment(oGfxCtx->polyOpa.p++, 8, skyboxCtx->staticSegments[1]);
gSPSegment(gfxCtx->polyOpa.p++, 9, skyboxCtx->staticSegments[2]); gSPSegment(oGfxCtx->polyOpa.p++, 9, skyboxCtx->staticSegments[2]);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0x00, 0x00, 0, 0, 0, alpha); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0x00, 0x00, 0, 0, 0, alpha);
gSPTexture(gfxCtx->polyOpa.p++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON) gSPTexture(oGfxCtx->polyOpa.p++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON);
sSkyboxDrawMatrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); sSkyboxDrawMatrix = Graph_Alloc(gfxCtx, sizeof(Mtx));
@ -32,54 +31,55 @@ void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyb
Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY); Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY);
Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY); Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY);
Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 76); Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 76);
gSPMatrix(gfxCtx->polyOpa.p++, sSkyboxDrawMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(oGfxCtx->polyOpa.p++, sSkyboxDrawMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetColorDither(gfxCtx->polyOpa.p++, G_CD_MAGICSQ); gDPSetColorDither(oGfxCtx->polyOpa.p++, G_CD_MAGICSQ);
gDPSetTextureFilter(gfxCtx->polyOpa.p++, G_TF_BILERP); gDPSetTextureFilter(oGfxCtx->polyOpa.p++, G_TF_BILERP);
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, skyboxCtx->staticSegments[2]); gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, skyboxCtx->staticSegments[2]);
gDPSetTextureLUT(gfxCtx->polyOpa.p++, G_TT_RGBA16); gDPSetTextureLUT(oGfxCtx->polyOpa.p++, G_TT_RGBA16);
gDPSetTextureConvert(gfxCtx->polyOpa.p++, G_TC_FILT); gDPSetTextureConvert(oGfxCtx->polyOpa.p++, G_TC_FILT);
if (skyboxCtx->unk_140) { if (skyboxCtx->unk_140) {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 1); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 1);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 1); gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 1);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 3); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 3);
if (skyboxId != 2) { if (skyboxId != 2) {
if (skyboxId <= 0x10 || skyboxId >= 0x19) { if (skyboxId <= 0x10 || skyboxId >= 0x19) {
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2); gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 5); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 5);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
if (skyboxCtx->unk_140 != 2) { if (skyboxCtx->unk_140 != 2) {
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3); gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 7); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 7);
} }
} }
} }
} else { } else {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 8); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 8);
if (skyboxId == 5) { if (skyboxId == 5) {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 10); gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 10);
} }
} }
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_vr_box_draw.c", 125);
CLOSE_DISPS(gfxCtx, "../z_vr_box_draw.c", 125);
} }
void SkyboxDraw_Update(SkyboxContext* skyboxCtx) { void SkyboxDraw_Update(SkyboxContext* skyboxCtx) {

View file

@ -308,13 +308,10 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
Vec3f sp60; Vec3f sp60;
f32 sp5C; f32 sp5C;
f32 sp58; f32 sp58;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (player->actor.draw != NULL) { if (player->actor.draw != NULL) {
if (player->unk_15D == 0xF) { if (player->unk_15D == 0xF) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) { if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) {
Matrix_MultVec3f(&D_80865B70, &this->unk_1E8); Matrix_MultVec3f(&D_80865B70, &this->unk_1E8);
@ -329,9 +326,9 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80090480(globalCtx, &this->collider.base, &this->unk_1CC, &sp6C, &sp60); func_80090480(globalCtx, &this->collider.base, &this->unk_1CC, &sp6C, &sp60);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 895), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 895),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_0602B288); gSPDisplayList(oGfxCtx->polyOpa.p++, D_0602B288);
Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW); Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW);
Math_Vec3f_Diff(&player->unk_3C8, &this->actor.posRot.pos, &sp78); Math_Vec3f_Diff(&player->unk_3C8, &this->actor.posRot.pos, &sp78);
sp58 = SQ(sp78.x) + SQ(sp78.z); sp58 = SQ(sp78.x) + SQ(sp78.z);
@ -339,11 +336,11 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_RotateY(Math_atan2f(sp78.x, sp78.z), MTXMODE_APPLY); Matrix_RotateY(Math_atan2f(sp78.x, sp78.z), MTXMODE_APPLY);
Matrix_RotateX(Math_atan2f(-sp78.y, sp5C), MTXMODE_APPLY); Matrix_RotateX(Math_atan2f(-sp78.y, sp5C), MTXMODE_APPLY);
Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY); Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 910), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 910),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_0602AFF0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_0602AFF0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arms_hook.c", 913); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 913);
} }
} }
} }

View file

@ -194,10 +194,8 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
ArrowFire* this = THIS; ArrowFire* this = THIS;
s32 pad; s32 pad;
u32 stateFrames; u32 stateFrames;
GraphicsContext* gfxCtx;
Actor* tranform;
EnArrow* arrow; EnArrow* arrow;
Gfx* dispRefs[4]; Actor* tranform;
stateFrames = globalCtx->state.frames; stateFrames = globalCtx->state.frames;
arrow = (EnArrow*)this->actor.parent; arrow = (EnArrow*)this->actor.parent;
@ -206,9 +204,9 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
if (1) {} if (1) {}
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
// clang-format off
gfxCtx = globalCtx->state.gfxCtx; Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
// clang-format on
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
@ -217,18 +215,18 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
// Draw red effect over the screen when arrow hits // Draw red effect over the screen when arrow hits
if (this->unk_15C > 0) { if (this->unk_15C > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0, 0, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0, 0,
(s32)(150.0f * this->unk_15C) & 0xFF); (s32)(150.0f * this->unk_15C) & 0xFF);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
} }
// Draw fire on the arrow // Draw fire on the arrow
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 200, 0, this->alpha); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 200, 0, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 128); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY); Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) { if (this->timer != 0) {
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
@ -237,13 +235,14 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++, gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1,
255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682);
} }
} }

View file

@ -196,9 +196,7 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
Actor* tranform; Actor* tranform;
u32 stateFrames; u32 stateFrames;
GraphicsContext* gfxCtx;
EnArrow* arrow; EnArrow* arrow;
Gfx* dispRefs[4];
stateFrames = globalCtx->state.frames; stateFrames = globalCtx->state.frames;
arrow = (EnArrow*)this->actor.parent; arrow = (EnArrow*)this->actor.parent;
@ -207,9 +205,9 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
if (1) {} if (1) {}
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
// clang-format off
gfxCtx = globalCtx->state.gfxCtx; Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610);
// clang-format on
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
@ -218,18 +216,18 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
// Draw blue effect over the screen when arrow hits // Draw blue effect over the screen when arrow hits
if (this->unk_164 > 0) { if (this->unk_164 > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF,
(s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF); (s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
} }
// Draw ice on the arrow // Draw ice on the arrow
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 170, 255, 255, this->alpha); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 170, 255, 255, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 255, 128); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY); Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) { if (this->timer != 0) {
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
@ -238,13 +236,14 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++, gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1,
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676);
} }
} }

View file

@ -195,10 +195,8 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
ArrowLight* this = THIS; ArrowLight* this = THIS;
s32 pad; s32 pad;
u32 stateFrames; u32 stateFrames;
GraphicsContext* gfxCtx;
Actor* tranform;
EnArrow* arrow; EnArrow* arrow;
Gfx* dispRefs[4]; Actor* tranform;
stateFrames = globalCtx->state.frames; stateFrames = globalCtx->state.frames;
arrow = (EnArrow*)this->actor.parent; arrow = (EnArrow*)this->actor.parent;
@ -207,9 +205,9 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) {
if (1) {} if (1) {}
tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor;
// clang-format off
gfxCtx = globalCtx->state.gfxCtx; Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_light.c", 598);
// clang-format on
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
@ -218,18 +216,18 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
// Draw yellow effect over the screen when arrow hits // Draw yellow effect over the screen when arrow hits
if (this->unk_164 > 0) { if (this->unk_164 > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF,
(s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF); (s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
} }
// Draw light on the arrow // Draw light on the arrow
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 170, this->alpha); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 170, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 0, 128); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 0, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY); Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) { if (this->timer != 0) {
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
@ -238,13 +236,14 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++, gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1,
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL); gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arrow_light.c", 664);
} }
} }

View file

@ -159,7 +159,7 @@ void BgDdanKd_LowerStairs(BgDdanKd* this, GlobalContext* globalCtx) {
func_80033480(globalCtx, &sp5C, 20.0f, 1, sp4C * 135.0f, 60, 1); func_80033480(globalCtx, &sp5C, 20.0f, 1, sp4C * 135.0f, 60, 1);
func_8003555C(globalCtx, &sp5C, &D_808718FC, &D_80871908); func_8003555C(globalCtx, &sp5C, &D_808718FC, &D_80871908);
} }
func_8005AA1C(&globalCtx->cameras, 0, sp4C * 0.6f, 3); func_8005AA1C(&globalCtx->mainCamera, 0, sp4C * 0.6f, 3);
Audio_PlaySoundGeneral(NA_SE_EV_PILLAR_SINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4, &D_801333E0, Audio_PlaySoundGeneral(NA_SE_EV_PILLAR_SINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8); &D_801333E0, &D_801333E8);
} }

View file

@ -273,15 +273,14 @@ void BgDodoago_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672);
if (Flags_GetEventChkInf(0xB0)) { if (Flags_GetEventChkInf(0xB0)) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 677), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 677),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_60013500); gSPDisplayList(oGfxCtx->polyOpa.p++, D_60013500);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 681);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 681);
} }

View file

@ -127,15 +127,13 @@ void BgGateShutter_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgGateShutter_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgGateShutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 323);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 323);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 328), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 328),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001CD0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001CD0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 333); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 333);
} }

View file

@ -102,26 +102,23 @@ void BgGjyoBridge_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgGjyoBridge_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgGjyoBridge_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgGjyoBridge* this = THIS; BgGjyoBridge* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 260);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 260);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 8, gSPSegment(oGfxCtx->polyXlu.p++, 8,
Gfx_TexScroll(globalCtx->state.gfxCtx, globalCtx->gameplayFrames & 127, Gfx_TexScroll(globalCtx->state.gfxCtx, globalCtx->gameplayFrames & 127,
globalCtx->gameplayFrames * -3 & 127, 32, 32)); globalCtx->gameplayFrames * -3 & 127, 32, 32));
gSPSegment(gfxCtx->polyXlu.p++, 9, gSPSegment(oGfxCtx->polyXlu.p++, 9,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, -globalCtx->gameplayFrames & 127, 32, 32, 1, 0, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, -globalCtx->gameplayFrames & 127, 32, 32, 1, 0,
globalCtx->gameplayFrames & 127, 32, 32)); globalCtx->gameplayFrames & 127, 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000600); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000600);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 285); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 285);
} }

View file

@ -152,20 +152,18 @@ void BgHaka_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgHaka_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgHaka_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka.c", 401);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka.c", 401);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 406), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 406),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_060001B0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_060001B0);
Matrix_Translate(0.0f, 0.0f, thisx->minVelocityY * 10.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, thisx->minVelocityY * 10.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 416), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 416),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_060002A8); gSPDisplayList(oGfxCtx->polyXlu.p++, D_060002A8);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka.c", 421); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka.c", 421);
} }

View file

@ -196,24 +196,25 @@ void BgHakaTubo_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgHakaTubo_DrawFlameCircle(BgHakaTubo* this, GlobalContext* globalCtx) { void BgHakaTubo_DrawFlameCircle(BgHakaTubo* this, GlobalContext* globalCtx) {
s32 pad; s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4]; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 476);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 476);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
Matrix_Translate(this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.y + 235.0f, Matrix_Translate(this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.y + 235.0f,
this->dyna.actor.posRot.pos.z, MTXMODE_NEW); this->dyna.actor.posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.shape.rot.y * 0.0000958738f, MTXMODE_APPLY); Matrix_RotateY(this->dyna.actor.shape.rot.y * 0.0000958738f, MTXMODE_APPLY);
Matrix_Scale(0.07f, 0.04f, 0.07f, MTXMODE_APPLY); Matrix_Scale(0.07f, 0.04f, 0.07f, MTXMODE_APPLY);
if (1) {} if (1) {}
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0, 170, 255, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 0, 170, 255, 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, this->fireScroll & 127, 0, 32, 64, 1, 0, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, this->fireScroll & 127, 0, 32, 64, 1, 0,
(this->fireScroll * -15) & 0xFF, 32, 64)); (this->fireScroll * -15) & 0xFF, 32, 64));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 497), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 497),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_040184B0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_040184B0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 501);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 501);
} }
void BgHakaTubo_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgHakaTubo_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -495,11 +495,8 @@ void BgHeavyBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgHeavyBlock* this = THIS; BgHeavyBlock* this = THIS;
s32 pad; s32 pad;
Player* player = PLAYER; Player* player = PLAYER;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 904);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 904);
if (BgHeavyBlock_LiftedUp == this->actionFunc) { if (BgHeavyBlock_LiftedUp == this->actionFunc) {
func_800D1694(player->unk_3B0.x, player->unk_3B0.y, player->unk_3B0.z, &thisx->shape.rot); func_800D1694(player->unk_3B0.x, player->unk_3B0.y, player->unk_3B0.z, &thisx->shape.rot);
@ -513,11 +510,11 @@ void BgHeavyBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_MultVec3f(&D_80884ED4, &thisx->initPosRot); Matrix_MultVec3f(&D_80884ED4, &thisx->initPosRot);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 931), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 931),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_060013C0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_060013C0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 935); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 935);
} }
void BgHeavyBlock_DrawPiece(Actor* thisx, GlobalContext* globalCtx) { void BgHeavyBlock_DrawPiece(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -192,20 +192,17 @@ void BgHidanFirewall_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgHidanFirewall_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgHidanFirewall_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgHidanFirewall* this = THIS; BgHidanFirewall* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 448);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 448); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x14);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x14);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80886D04[this->unk_150])); gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80886D04[this->unk_150]));
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0x01, 255, 255, 0, 150); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0x01, 255, 255, 0, 150);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 255); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 255);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 458), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 458),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0600DA80); gSPDisplayList(oGfxCtx->polyXlu.p++, D_0600DA80);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 463); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 463);
} }

View file

@ -152,15 +152,13 @@ void BgHidanKousi_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgHidanKousi_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgHidanKousi_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 350);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 350);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 354), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 354),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80889E84[thisx->params & 0xFF]); gSPDisplayList(oGfxCtx->polyOpa.p++, D_80889E84[thisx->params & 0xFF]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 359); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 359);
} }

View file

@ -177,36 +177,35 @@ void BgHidanRsekizou_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 i; s32 i;
s32 pad; s32 pad;
MtxF mf; MtxF mf;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 564);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 564);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 568), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 568),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_0600AD00); gSPDisplayList(oGfxCtx->polyOpa.p++, D_0600AD00);
Matrix_MtxFCopy(&mf, &gMtxFClear); Matrix_MtxFCopy(&mf, &gMtxFClear);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x14); oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x14);
if ((s16)((func_8005A9F4(ACTIVE_CAM) - this->dyna.actor.shape.rot.y) - 0x2E6C) >= 0) { if ((s16)((func_8005A9F4(ACTIVE_CAM) - this->dyna.actor.shape.rot.y) - 0x2E6C) >= 0) {
for (i = 3; i >= 0; i--) { for (i = 3; i >= 0; i--) {
gfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 0, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 0, oGfxCtx->polyXlu.p);
} }
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
gfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 1, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 1, oGfxCtx->polyXlu.p);
} }
} else { } else {
for (i = 3; i >= 0; i--) { for (i = 3; i >= 0; i--) {
gfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 1, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 1, oGfxCtx->polyXlu.p);
} }
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
gfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 0, gfxCtx->polyXlu.p); oGfxCtx->polyXlu.p = BgHidanRsekizou_DrawFireball(globalCtx, this, i, &mf, 0, oGfxCtx->polyXlu.p);
} }
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 600);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 600);
} }

View file

@ -107,16 +107,14 @@ void BgIngate_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgIngate_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgIngate_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 240);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ingate.c", 240);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 245), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 245),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001040); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001040);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ingate.c", 250);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 250);
} }

View file

@ -68,17 +68,15 @@ void BgJyaBlock_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgJyaBlock_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgJyaBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 145);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 145);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_05004350)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_05004350));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 153), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 153),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(gfxCtx->polyOpa.p++, 232, 210, 176, 255); gDPSetEnvColor(oGfxCtx->polyOpa.p++, 232, 210, 176, 255);
gSPDisplayList(gfxCtx->polyOpa.p++, D_05004CD0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_05004CD0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 158); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 158);
} }

View file

@ -291,30 +291,25 @@ void BgJyaMegami_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgJyaMegami_DrawFace(BgJyaMegami* this, GlobalContext* globalCtx) { void BgJyaMegami_DrawFace(BgJyaMegami* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 706);
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 706);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex])); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex]));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 716), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 716),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06005780); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06005780);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 720);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 720);
} }
void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) { void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) {
s32 pad; s32 pad;
BgJyaMegamiPiece* piece; BgJyaMegamiPiece* piece;
u32 i; u32 i;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 746);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 746);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
for (i = 0; i < ARRAY_COUNT(this->pieces); i++) { for (i = 0; i < ARRAY_COUNT(this->pieces); i++) {
@ -327,11 +322,12 @@ void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) {
Matrix_Translate(sPiecesInit[i].unk_00.x * -10.0f, sPiecesInit[i].unk_00.y * -10.0f, Matrix_Translate(sPiecesInit[i].unk_00.x * -10.0f, sPiecesInit[i].unk_00.y * -10.0f,
sPiecesInit[i].unk_00.z * -10.0f, MTXMODE_APPLY); sPiecesInit[i].unk_00.z * -10.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 778), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 778),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, sDLists[i]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDLists[i]);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 783);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 783);
} }
void BgJyaMegami_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgJyaMegami_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -101,24 +101,23 @@ void BgMjin_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgMjin_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgMjin_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgMjin* this = THIS; BgMjin* this = THIS;
u32 dlist; u32 dlist;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
s32 objBankIndex;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mjin.c", 250); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_mjin.c", 250);
if (thisx->params != 0) { if (thisx->params != 0) {
objBankIndex = Object_GetIndex(&globalCtx->objectCtx, sObjectIDs[thisx->params - 1]); s32 objBankIndex = Object_GetIndex(&globalCtx->objectCtx, sObjectIDs[thisx->params - 1]);
if (objBankIndex >= 0) { if (objBankIndex >= 0) {
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment); gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment);
} }
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_06000000)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_06000000));
dlist = D_06000330; dlist = D_06000330;
} else { } else {
dlist = D_06000140; dlist = D_06000140;
} }
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mjin.c", 285), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mjin.c", 285),
G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist); gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mjin.c", 288);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_mjin.c", 288);
} }

View file

@ -256,15 +256,14 @@ void BgMoriElevator_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgMoriElevator_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgMoriElevator_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
BgMoriElevator* this = THIS; BgMoriElevator* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 575);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 575);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIndex].segment);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 580), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 580),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06002AD0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06002AD0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 584);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 584);
} }

View file

@ -228,19 +228,17 @@ void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) { void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
BgMoriHineri* this = THIS; BgMoriHineri* this = THIS;
s8 objIndex; s8 objIndex;
MtxF mtx; MtxF mtx;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 611); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 611);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, sDLists[this->dyna.actor.params]); gSPDisplayList(oGfxCtx->polyOpa.p++, sDLists[this->dyna.actor.params]);
if (this->boxObjIdx > 0) { if (this->boxObjIdx > 0) {
Matrix_Get(&mtx); Matrix_Get(&mtx);
} }
@ -253,21 +251,21 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
} }
Matrix_RotateRPY(0, -0x8000, this->dyna.actor.shape.rot.z, MTXMODE_APPLY); Matrix_RotateRPY(0, -0x8000, this->dyna.actor.shape.rot.z, MTXMODE_APPLY);
Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 652), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 652),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_04049FE0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_04049FE0);
} }
if ((this->boxObjIdx > 0) && ((this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX)) > 0) && if ((this->boxObjIdx > 0) && ((this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX)) > 0) &&
(Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx))) { (Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx))) {
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, &D_80116280[2]); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, &D_80116280[2]);
Matrix_Put(&mtx); Matrix_Put(&mtx);
Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY); Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY);
Matrix_RotateY(1.5707964f, MTXMODE_APPLY); Matrix_RotateY(1.5707964f, MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 689), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 689),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000AE8); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000AE8);
Matrix_Put(&mtx); Matrix_Put(&mtx);
Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY); Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY);
if (Flags_GetTreasure(globalCtx, 0xE)) { if (Flags_GetTreasure(globalCtx, 0xE)) {
@ -276,9 +274,10 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
Matrix_RotateZ(M_PI, MTXMODE_APPLY); Matrix_RotateZ(M_PI, MTXMODE_APPLY);
} }
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 703), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 703),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001678); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001678);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 709);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 709);
} }

View file

@ -79,13 +79,14 @@ void BgPushbox_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgPushbox_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgPushbox_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 263);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 263);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 269), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 269),
G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD); G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06000000); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06000000);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 272);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 272);
} }

View file

@ -78,15 +78,13 @@ void BgSpot01Fusya_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgSpot01Fusya_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot01Fusya_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 210);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 210);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 214), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 214),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000100); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000100);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 219); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 219);
} }

View file

@ -324,18 +324,17 @@ void BgSpot01Idohashira_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_808AB700(BgSpot01Idohashira* this, GlobalContext* globalCtx) { void func_808AB700(BgSpot01Idohashira* this, GlobalContext* globalCtx) {
GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx; GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx;
GraphicsContext* gfxCtx = localGfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, localGfxCtx, "../z_bg_spot01_idohashira.c", 689); OPEN_DISPS(localGfxCtx, "../z_bg_spot01_idohashira.c", 689);
func_80093D18(localGfxCtx); func_80093D18(localGfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(localGfxCtx, "../z_bg_spot01_idohashira.c", 699), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(localGfxCtx, "../z_bg_spot01_idohashira.c", 699),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_808AAF34(this, globalCtx); func_808AAF34(this, globalCtx);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000420); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000420);
Graph_CloseDisps(dispRefs, localGfxCtx, "../z_bg_spot01_idohashira.c", 708); CLOSE_DISPS(localGfxCtx, "../z_bg_spot01_idohashira.c", 708);
} }
void BgSpot01Idohashira_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot01Idohashira_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -71,21 +71,20 @@ void BgSpot01Idomizu_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgSpot01Idomizu_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot01Idomizu_Draw(Actor* thisx, GlobalContext* globalCtx) {
u32 frames; u32 frames;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 228);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 228);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 232), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 232),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
frames = globalCtx->state.frames; frames = globalCtx->state.frames;
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - frames % 128, frames & 0x7F, 32, 32, 1, frames % 128, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - frames % 128, frames & 0x7F, 32, 32, 1, frames % 128,
frames & 0x7F, 32, 32)); frames & 0x7F, 32, 32));
gSPDisplayList(gfxCtx->polyXlu.p++, D_060007D0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_060007D0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 244);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 244);
} }

View file

@ -74,15 +74,13 @@ void BgSpot01Idosoko_Update(Actor* thisx, GlobalContext* globalCtx) {
extern u32 D_06003B20; extern u32 D_06003B20;
void BgSpot01Idosoko_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot01Idosoko_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 162);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 162);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 166), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 166),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06003B20); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06003B20);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 171); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 171);
} }

View file

@ -167,20 +167,17 @@ void BgSpot09Obj_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgSpot09Obj_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot09Obj_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgSpot09Obj* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[3];
Gfx_DrawDListOpa(globalCtx, sDLists[thisx->params]); Gfx_DrawDListOpa(globalCtx, sDLists[thisx->params]);
if (thisx->params == 3) { if (thisx->params == 3) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 388);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 388);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 391), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 391),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06008010); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06008010);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 396); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 396);
} }
} }

View file

@ -95,15 +95,13 @@ void BgSpot15Saku_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgSpot15Saku_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot15Saku_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 259);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 259);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 263), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 263),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_060003C0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_060003C0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 268); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 268);
} }

View file

@ -122,44 +122,45 @@ void BgSpot16Doughnut_UpdateExpanding(Actor* thisx, GlobalContext* globalCtx) {
void BgSpot16Doughnut_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot16Doughnut_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgSpot16Doughnut* this = THIS; BgSpot16Doughnut* this = THIS;
u32 scroll; u32 scroll = globalCtx->gameplayFrames & 0xFFFF;
GraphicsContext* gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 210);
scroll = globalCtx->gameplayFrames & 0xFFFF;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 210);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
if (1) {} if (1) {}
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 213),
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 213),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->fireFlag & 1) { if (this->fireFlag & 1) {
gSPSegment( gSPSegment(
gfxCtx->polyXlu.p++, 0x08, oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * (-1), 0, 16, 32, 1, scroll, scroll * (-2), 16, 32)); Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * (-1), 0, 16, 32, 1, scroll, scroll * (-2), 16, 32));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, this->envColorAlpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, this->envColorAlpha);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000660); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000660);
} else { } else {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000FC0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000FC0);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 238);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 238);
} }
// Draw function for outwardly expanding and dissipating // Draw function for outwardly expanding and dissipating
void BgSpot16Doughnut_DrawExpanding(Actor* thisx, GlobalContext* globalCtx) { void BgSpot16Doughnut_DrawExpanding(Actor* thisx, GlobalContext* globalCtx) {
BgSpot16Doughnut* this = THIS; BgSpot16Doughnut* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 245);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 245);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 248),
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 248),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000FC0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000FC0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 256);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 256);
} }

View file

@ -127,44 +127,32 @@ void BgSpot17Bakudankabe_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgSpot17Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgSpot17Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
s8 r; s8 r = coss(globalCtx->gameplayFrames * 1500) >> 8;
s8 g; s8 g = coss(globalCtx->gameplayFrames * 1500) >> 8;
{
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
r = coss(globalCtx->gameplayFrames * 1500) >> 8; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 269);
g = coss(globalCtx->gameplayFrames * 1500) >> 8;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 269);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 273), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 273),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
r = (r >> 1) + 0xC0; r = (r >> 1) + 0xC0;
g = (g >> 1) + 0xC0; g = (g >> 1) + 0xC0;
gDPSetEnvColor(gfxCtx->polyOpa.p++, r, g, 255, 128); gDPSetEnvColor(oGfxCtx->polyOpa.p++, r, g, 255, 128);
gSPDisplayList(gfxCtx->polyOpa.p++, D_060008A0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_060008A0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 283);
}
{ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 283);
GraphicsContext* gfxCtx;
Gfx* dispRefs[4]; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 286);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 286);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 290), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 290),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000960); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000960);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 295); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 295);
}
} }

View file

@ -55,21 +55,21 @@ void func_808B746C(Actor* thisx, GlobalContext* globalCtx) {
} }
void func_808B7478(Actor* thisx, GlobalContext* globalCtx) { void func_808B7478(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 153);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 153);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
Matrix_RotateY((s16)(func_8005A9F4(ACTIVE_CAM) - thisx->shape.rot.y + 0x8000) * 9.58738019108e-05f, MTXMODE_APPLY); Matrix_RotateY((s16)(func_8005A9F4(ACTIVE_CAM) - thisx->shape.rot.y + 0x8000) * 9.58738019108e-05f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 161), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 161),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20, 1, 0, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20, 1, 0,
(0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20)); (0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20));
do { gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000B40);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000B40);
} while (0); // necessary to match
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 176); if (1) {}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 176);
} }

View file

@ -153,25 +153,21 @@ void BgTokiSwd_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void BgTokiSwd_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgTokiSwd_Draw(Actor* thisx, GlobalContext* globalCtx) {
GlobalContext* globalCtx2 = globalCtx;
BgTokiSwd* this = THIS; BgTokiSwd* this = THIS;
s32 pad[3]; s32 pad[3];
GameState* state;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
state = &globalCtx->state; OPEN_DISPS(globalCtx2->state.gfxCtx, "../z_bg_toki_swd.c", 727);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, state->gfxCtx, "../z_bg_toki_swd.c", 727); func_80093D18(globalCtx2->state.gfxCtx);
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0); func_8002EBCC(&this->actor, globalCtx2, 0);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, -(globalCtx->gameplayFrames % 0x80), 32, 32)); Gfx_TexScroll(globalCtx2->state.gfxCtx, 0, -(globalCtx2->gameplayFrames % 0x80), 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_toki_swd.c", 742), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx2->state.gfxCtx, "../z_bg_toki_swd.c", 742),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001BD0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001BD0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_toki_swd.c", 776); CLOSE_DISPS(globalCtx2->state.gfxCtx, "../z_bg_toki_swd.c", 776);
} }

View file

@ -226,10 +226,9 @@ void BgTreemouth_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
u16 alpha = 500; u16 alpha = 500;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 893); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 893);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
if ((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) { if ((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) {
@ -243,10 +242,10 @@ void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) {
alpha = (globalCtx->unk_11D30[0] + 0x1F4); alpha = (globalCtx->unk_11D30[0] + 0x1F4);
} }
gDPSetEnvColor(gfxCtx->polyOpa.p++, 128, 128, 128, alpha * 0.1f); gDPSetEnvColor(oGfxCtx->polyOpa.p++, 128, 128, 128, alpha * 0.1f);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 932), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 932),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_060009D0); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_060009D0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 937); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 937);
} }

View file

@ -189,22 +189,22 @@ void BgYdanHasi_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgYdanHasi_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgYdanHasi_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgYdanHasi* this = THIS; BgYdanHasi* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (this->dyna.actor.params == 0 || this->dyna.actor.params == 2) { if (this->dyna.actor.params == 0 || this->dyna.actor.params == 2) {
Gfx_DrawDListOpa(globalCtx, D_808BEC24[this->dyna.actor.params]); Gfx_DrawDListOpa(globalCtx, D_808BEC24[this->dyna.actor.params]);
return; return;
} }
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 577); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 577);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (0 - globalCtx->gameplayFrames & 0x7F), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (0 - globalCtx->gameplayFrames & 0x7F),
globalCtx->gameplayFrames & 0x7F, 0x20, 0x20, 1, globalCtx->gameplayFrames & 0x7F, globalCtx->gameplayFrames & 0x7F, 0x20, 0x20, 1, globalCtx->gameplayFrames & 0x7F,
globalCtx->gameplayFrames & 0x7F, 0x20, 0x20)); globalCtx->gameplayFrames & 0x7F, 0x20, 0x20));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 592), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 592),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_06005DE0); gSPDisplayList(oGfxCtx->polyXlu.p++, &D_06005DE0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 597);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 597);
} }

View file

@ -128,17 +128,15 @@ void BgZg_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_808C0EEC(BgZg* this, GlobalContext* globalCtx) { void func_808C0EEC(BgZg* this, GlobalContext* globalCtx) {
GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx; GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx;
GraphicsContext* gfxCtx = localGfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, localGfxCtx, "../z_bg_zg.c", 311); OPEN_DISPS(localGfxCtx, "../z_bg_zg.c", 311);
func_80093D18(localGfxCtx); func_80093D18(localGfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(localGfxCtx, "../z_bg_zg.c", 315), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(localGfxCtx, "../z_bg_zg.c", 315),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001080); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001080);
Graph_CloseDisps(dispRefs, localGfxCtx, "../z_bg_zg.c", 320); CLOSE_DISPS(localGfxCtx, "../z_bg_zg.c", 320);
} }
void BgZg_Draw(Actor* thisx, GlobalContext* globalCtx) { void BgZg_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -75,34 +75,33 @@ void DemoGeff_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_80977EA8(GlobalContext* globalCtx, Gfx* dlist) { void func_80977EA8(GlobalContext* globalCtx, Gfx* dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_demo_geff.c", 181); OPEN_DISPS(gfxCtx, "../z_demo_geff.c", 181);
func_80093D18(gfxCtx); func_80093D18(gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(gfxCtx, "../z_demo_geff.c", 183), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(gfxCtx, "../z_demo_geff.c", 183),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist); gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
gSPPopMatrix(gfxCtx->polyOpa.p++, G_MTX_MODELVIEW); gSPPopMatrix(oGfxCtx->polyOpa.p++, G_MTX_MODELVIEW);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_demo_geff.c", 188); CLOSE_DISPS(gfxCtx, "../z_demo_geff.c", 188);
} }
void func_80977F80(DemoGeff* this, GlobalContext* globalCtx) { void func_80977F80(DemoGeff* this, GlobalContext* globalCtx) {
s32 pad[2]; s32 pad[2];
s32 objBankIndex = this->objBankIndex; s32 objBankIndex = this->objBankIndex;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_demo_geff.c", 204); OPEN_DISPS(gfxCtx, "../z_demo_geff.c", 204);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment); gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment);
// Necessary to match // Necessary to match
if (!globalCtx) {} if (!globalCtx) {}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_demo_geff.c", 212); CLOSE_DISPS(gfxCtx, "../z_demo_geff.c", 212);
} }
void func_80978030(DemoGeff* this, GlobalContext* globalCtx) { void func_80978030(DemoGeff* this, GlobalContext* globalCtx) {

View file

@ -335,19 +335,17 @@ void func_8097D29C(DemoGo* this, GlobalContext* globalCtx) {
SkelAnime* skelAnime = &this->skelAnime; SkelAnime* skelAnime = &this->skelAnime;
void* srcSegment8 = D_8097D440[temp]; void* srcSegment8 = D_8097D440[temp];
void* srcSegment9 = &D_0600E680; void* srcSegment9 = &D_0600E680;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_go.c", 732); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_go.c", 732);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9));
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL, SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
&this->actor); &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_go.c", 746); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_go.c", 746);
} }
void DemoGo_Draw(Actor* thisx, GlobalContext* globalCtx) { void DemoGo_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -526,20 +526,20 @@ void func_80985CE8(DemoIm* this, GlobalContext* globalCtx) {
s16 unk_25C = this->unk_25C; s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C]; UNK_PTR sp68 = D_80987830[unk_25C];
SkelAnime* skelAnime = &this->skelAnime; SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 281); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 281);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68)); gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(gfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68)); gSPSegment(oGfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, this->unk_26C); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, this->unk_26C);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, &D_80116280[0]); gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, &D_80116280[0]);
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, oGfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
NULL, NULL, NULL, gfxCtx->polyXlu.p); skelAnime->dListCount, NULL, NULL, NULL, oGfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
} }
void func_80985E60(DemoIm* this, GlobalContext* globalCtx) { void func_80985E60(DemoIm* this, GlobalContext* globalCtx) {
@ -1188,20 +1188,20 @@ void func_80987658(DemoIm* this, GlobalContext* globalCtx) {
s16 unk_25C = this->unk_25C; s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C]; UNK_PTR sp68 = D_80987830[unk_25C];
SkelAnime* skelAnime = &this->skelAnime; SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_im.c", 904); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_im.c", 904);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, 255); gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]); gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80987514, SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80987514,
func_809875C0, &this->actor); func_809875C0, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_im.c", 925);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im.c", 925);
} }
void DemoIm_Draw(Actor* thisx, GlobalContext* globalCtx) { void DemoIm_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -457,21 +457,21 @@ void func_8098F1C0(DemoSa* this, GlobalContext* globalCtx) {
s32 pad2; s32 pad2;
UNK_PTR sp6C = D_809900F4[unk_194]; UNK_PTR sp6C = D_809900F4[unk_194];
SkelAnime* skelAnime = &this->skelAnime; SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 296); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 296);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp78)); gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(gfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp78)); gSPSegment(oGfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(gfxCtx->polyXlu.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp6C)); gSPSegment(oGfxCtx->polyXlu.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp6C));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, this->alpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, this->alpha);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, D_80116280); gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, D_80116280);
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, oGfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
NULL, NULL, NULL, gfxCtx->polyXlu.p); skelAnime->dListCount, NULL, NULL, NULL, oGfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
} }
void func_8098F390(DemoSa* this, GlobalContext* globalCtx) { void func_8098F390(DemoSa* this, GlobalContext* globalCtx) {
@ -796,21 +796,21 @@ void func_8098FEB4(DemoSa* this, GlobalContext* globalCtx) {
s16 unk_194 = this->unk_194; s16 unk_194 = this->unk_194;
UNK_PTR sp64 = D_809900F4[unk_194]; UNK_PTR sp64 = D_809900F4[unk_194];
SkelAnime* skelAnime = &this->skelAnime; SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_demo_sa.c", 602); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa.c", 602);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp70)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp70)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(gfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp64)); gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp64));
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, 255); gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]); gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
DemoSa_OverrideLimbDraw, NULL, &this->actor); DemoSa_OverrideLimbDraw, NULL, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_sa.c", 626);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa.c", 626);
} }
void DemoSa_Draw(Actor* thisx, GlobalContext* globalCtx) { void DemoSa_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -161,13 +161,12 @@ void DoorAna_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void DoorAna_Draw(Actor* thisx, GlobalContext* globalCtx) { void DoorAna_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_ana.c", 440);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_ana.c", 440);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_ana.c", 446), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_ana.c", 446),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_05001390); gSPDisplayList(oGfxCtx->polyXlu.p++, D_05001390);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_ana.c", 449);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_door_ana.c", 449);
} }

View file

@ -150,20 +150,18 @@ void DoorGerudo_Update(Actor* thisx, GlobalContext* globalCtx) {
void DoorGerudo_Draw(Actor* thisx, GlobalContext* globalCtx) { void DoorGerudo_Draw(Actor* thisx, GlobalContext* globalCtx) {
DoorGerudo* this = THIS; DoorGerudo* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 361);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_gerudo.c", 361);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 365), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 365),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000040); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000040);
if (this->unk_166 != 0) { if (this->unk_166 != 0) {
Matrix_Scale(0.01f, 0.01f, 0.025f, MTXMODE_APPLY); Matrix_Scale(0.01f, 0.01f, 0.025f, MTXMODE_APPLY);
func_80033F54(globalCtx, this->unk_166, 0); func_80033F54(globalCtx, this->unk_166, 0);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_gerudo.c", 377); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 377);
} }

View file

@ -219,29 +219,28 @@ void ElfMsg_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void ElfMsg_Draw(Actor* thisx, GlobalContext* globalCtx) { void ElfMsg_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg.c", 436);
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg.c", 436);
if (R_NAVI_MSG_REGION_ALPHA == 0) { if (R_NAVI_MSG_REGION_ALPHA == 0) {
return; return;
} }
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
if (thisx->params & 0x8000) { if (thisx->params & 0x8000) {
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 100, 100, R_NAVI_MSG_REGION_ALPHA); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 100, 100, R_NAVI_MSG_REGION_ALPHA);
} else { } else {
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, R_NAVI_MSG_REGION_ALPHA); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, R_NAVI_MSG_REGION_ALPHA);
} }
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_elf_msg.c", 448), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_elf_msg.c", 448),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809AD278); gSPDisplayList(oGfxCtx->polyXlu.p++, D_809AD278);
if (thisx->params & 0x4000) { if (thisx->params & 0x4000) {
gSPDisplayList(gfxCtx->polyXlu.p++, D_809AD4B8); gSPDisplayList(oGfxCtx->polyXlu.p++, D_809AD4B8);
} else { } else {
gSPDisplayList(gfxCtx->polyXlu.p++, D_809AD3B8); gSPDisplayList(oGfxCtx->polyXlu.p++, D_809AD3B8);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg.c", 457); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg.c", 457);
} }

View file

@ -180,19 +180,18 @@ void ElfMsg2_Update(Actor* thisx, GlobalContext* globalCtx) {
} }
void ElfMsg2_Draw(Actor* thisx, GlobalContext* globalCtx) { void ElfMsg2_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 355);
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg2.c", 355);
if (R_NAVI_MSG_REGION_ALPHA == 0) { if (R_NAVI_MSG_REGION_ALPHA == 0) {
return; return;
} }
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 362), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 362),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809ADC38); gSPDisplayList(oGfxCtx->polyXlu.p++, D_809ADC38);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809ADCF8); gSPDisplayList(oGfxCtx->polyXlu.p++, D_809ADCF8);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg2.c", 367);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 367);
} }

View file

@ -314,17 +314,15 @@ void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnAni* this = THIS; EnAni* this = THIS;
s32 pad; s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ani.c", 719);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ani.c", 719);
func_800943C8(globalCtx->state.gfxCtx); func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809B0F80[this->unk_2AC])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809B0F80[this->unk_2AC]));
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, &this->actor); EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ani.c", 736);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ani.c", 736);
} }

View file

@ -135,10 +135,8 @@ void EnBlkobj_Update(Actor* thisx, GlobalContext* globalCtx) {
void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) { void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) {
Gfx* segment; Gfx* segment;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_blkobj.c", 322); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 322);
if (alpha == 255) { if (alpha == 255) {
segment = D_809C2590; segment = D_809C2590;
@ -146,28 +144,28 @@ void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) {
segment = D_809C25A0; segment = D_809C25A0;
} }
gSPSegment(gfxCtx->polyXlu.p++, 0x08, segment); gSPSegment(oGfxCtx->polyXlu.p++, 0x08, segment);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, alpha); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, alpha);
gSPDisplayList(gfxCtx->polyXlu.p++, dList); gSPDisplayList(oGfxCtx->polyXlu.p++, dList);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_blkobj.c", 330); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 330);
} }
void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnBlkobj* this = THIS; EnBlkobj* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
s32 temp_a3; s32 temp_a3;
u32 gameplayFrames; u32 gameplayFrames;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_blkobj.c", 349); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 349);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gameplayFrames = globalCtx->gameplayFrames % 128; gameplayFrames = globalCtx->gameplayFrames % 128;
gSPSegment(gfxCtx->polyXlu.p++, 0x0D, gSPSegment(oGfxCtx->polyXlu.p++, 0x0D,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, gameplayFrames, 0, 32, 32, 1, gameplayFrames, 0, 32, 32)); Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, gameplayFrames, 0, 32, 32, 1, gameplayFrames, 0, 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 363), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 363),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->unk_164 != 0) { if (this->unk_164 != 0) {
@ -178,5 +176,5 @@ void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_809C2324(globalCtx, D_060053D0, temp_a3); func_809C2324(globalCtx, D_060053D0, temp_a3);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_blkobj.c", 375); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 375);
} }

View file

@ -291,7 +291,7 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
if (globalCtx) {}; if (globalCtx) {};
globalCtx->envCtx.unk_8C[1][0] = globalCtx->envCtx.unk_8C[1][1] = globalCtx->envCtx.unk_8C[1][2] = 0xFA; globalCtx->envCtx.unk_8C[1][0] = globalCtx->envCtx.unk_8C[1][1] = globalCtx->envCtx.unk_8C[1][2] = 0xFA;
globalCtx->envCtx.unk_8C[0][0] = globalCtx->envCtx.unk_8C[0][1] = globalCtx->envCtx.unk_8C[0][2] = 0xFA; globalCtx->envCtx.unk_8C[0][0] = globalCtx->envCtx.unk_8C[0][1] = globalCtx->envCtx.unk_8C[0][2] = 0xFA;
func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8); func_8005AA1C(&globalCtx->mainCamera, 2, 0xB, 8);
thisx->params = BOMB_EXPLOSION; thisx->params = BOMB_EXPLOSION;
this->timer = 10; this->timer = 10;
thisx->flags |= 0x20; thisx->flags |= 0x20;
@ -328,30 +328,28 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
EnBom* this = THIS; EnBom* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (1) {} if (1) {}
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bom.c", 913); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bom.c", 913);
if (thisx->params == BOMB_BODY) { if (thisx->params == BOMB_BODY) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
func_8002EBCC(thisx, globalCtx, 0); func_8002EBCC(thisx, globalCtx, 0);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 928), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 928),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_04007A50); gSPDisplayList(oGfxCtx->polyOpa.p++, D_04007A50);
Matrix_RotateRPY(0x4000, 0, 0, MTXMODE_APPLY); Matrix_RotateRPY(0x4000, 0, 0, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 934), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 934),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 0, 40, 255); gDPSetEnvColor(oGfxCtx->polyOpa.p++, (s16)this->flashIntensity, 0, 40, 255);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, (s16)this->flashIntensity, 0, 40, 255); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, (s16)this->flashIntensity, 0, 40, 255);
gSPDisplayList(gfxCtx->polyOpa.p++, D_04007860); gSPDisplayList(oGfxCtx->polyOpa.p++, D_04007860);
func_800628A4(0, &this->explosionCollider); func_800628A4(0, &this->explosionCollider);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bom.c", 951); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bom.c", 951);
} }

View file

@ -401,7 +401,7 @@ void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx) {
Audio_PlayActorSound2(thisx, NA_SE_IT_BOMB_EXPLOSION); Audio_PlayActorSound2(thisx, NA_SE_IT_BOMB_EXPLOSION);
globalCtx->envCtx.unk_8C[1][0] = globalCtx->envCtx.unk_8C[1][1] = globalCtx->envCtx.unk_8C[1][2] = 0xFA; globalCtx->envCtx.unk_8C[1][0] = globalCtx->envCtx.unk_8C[1][1] = globalCtx->envCtx.unk_8C[1][2] = 0xFA;
globalCtx->envCtx.unk_8C[0][0] = globalCtx->envCtx.unk_8C[0][1] = globalCtx->envCtx.unk_8C[0][2] = 0xFA; globalCtx->envCtx.unk_8C[0][0] = globalCtx->envCtx.unk_8C[0][1] = globalCtx->envCtx.unk_8C[0][2] = 0xFA;
func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8); func_8005AA1C(&globalCtx->mainCamera, 2, 0xB, 8);
thisx->params = BOMBFLOWER_EXPLOSION; thisx->params = BOMBFLOWER_EXPLOSION;
this->timer = 10; this->timer = 10;
thisx->flags |= 0x20; thisx->flags |= 0x20;
@ -453,37 +453,35 @@ Gfx* EnBombf_NewMtxDList(GraphicsContext* gfxCtx, GlobalContext* globalCtx) {
void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
EnBombf* this = THIS; EnBombf* this = THIS;
GraphicsContext* gfxCtx;
Gfx* disRefs[4];
if (1) {} if (1) {}
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&disRefs, globalCtx->state.gfxCtx, "../z_en_bombf.c", 1034); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1034);
if (thisx->params <= BOMBFLOWER_BODY) { if (thisx->params <= BOMBFLOWER_BODY) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
if (thisx->params != BOMBFLOWER_BODY) { if (thisx->params != BOMBFLOWER_BODY) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1041), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1041),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000340); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000340);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000530); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000530);
Matrix_Translate(0.0f, 1000.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 1000.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(this->flowerBombScale, this->flowerBombScale, this->flowerBombScale, MTXMODE_APPLY); Matrix_Scale(this->flowerBombScale, this->flowerBombScale, this->flowerBombScale, MTXMODE_APPLY);
} }
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 200, 255, 200, 255); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 200, 255, 200, 255);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 20, 10, 0); gDPSetEnvColor(oGfxCtx->polyOpa.p++, (s16)this->flashIntensity, 20, 10, 0);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1054), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1054),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
SEGMENTED_TO_VIRTUAL(EnBombf_NewMtxDList(globalCtx->state.gfxCtx, globalCtx))); SEGMENTED_TO_VIRTUAL(EnBombf_NewMtxDList(globalCtx->state.gfxCtx, globalCtx)));
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000408); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000408);
} else { } else {
func_800628A4(0, &this->explosionCollider); func_800628A4(0, &this->explosionCollider);
} }
Graph_CloseDisps(&disRefs, globalCtx->state.gfxCtx, "../z_en_bombf.c", 1063); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1063);
} }

View file

@ -242,11 +242,9 @@ void EnBoom_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnBoom* this = THIS; EnBoom* this = THIS;
Vec3f vec1; Vec3f vec1;
Vec3f vec2; Vec3f vec2;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_boom.c", 567);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_boom.c", 567);
Matrix_RotateY(this->actor.posRot.rot.y * 0.0000958738f, MTXMODE_APPLY); Matrix_RotateY(this->actor.posRot.rot.y * 0.0000958738f, MTXMODE_APPLY);
Matrix_RotateZ(0.7669904f, MTXMODE_APPLY); Matrix_RotateZ(0.7669904f, MTXMODE_APPLY);
Matrix_RotateX(this->actor.posRot.rot.x * 0.0000958738f, MTXMODE_APPLY); Matrix_RotateX(this->actor.posRot.rot.x * 0.0000958738f, MTXMODE_APPLY);
@ -260,9 +258,9 @@ void EnBoom_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
Matrix_RotateY((this->activeTimer * 12000) * 0.0000958738f, MTXMODE_APPLY); Matrix_RotateY((this->activeTimer * 12000) * 0.0000958738f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_boom.c", 601), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_boom.c", 601),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_0400C808); gSPDisplayList(oGfxCtx->polyOpa.p++, D_0400C808);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_boom.c", 604); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_boom.c", 604);
} }

View file

@ -184,24 +184,20 @@ void EnBx_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnBx* this = THIS; EnBx* this = THIS;
s32 pad;
Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx)); Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));
f32 tmpf1;
f32 tmpf2;
{
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
s16 i; s16 i;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bx.c", 464); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bx.c", 464);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, mtx); gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, mtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809D2560[this->actor.params & 0x7F])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809D2560[this->actor.params & 0x7F]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, gSPSegment(oGfxCtx->polyOpa.p++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 16, 1, 0, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 16, 1, 0, (globalCtx->gameplayFrames * -10) % 128,
(globalCtx->gameplayFrames * -10) % 128, 32, 32)); 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bx.c", 478), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bx.c", 478),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->actor.params & 0x80) { if (this->actor.params & 0x80) {
@ -209,15 +205,11 @@ void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
this->unk_14E -= 0xBB8; this->unk_14E -= 0xBB8;
tmpf1 = (Math_Coss(this->unk_14E) * 0.0075f) + 0.015f; thisx->scale.z = thisx->scale.x = (Math_Coss(this->unk_14E) * 0.0075f) + 0.015f;
thisx->scale.x = tmpf1;
thisx->scale.z = tmpf1;
for (i = 3; i >= 0; i--) { for (i = 3; i >= 0; i--) {
s16 off = (0x2000 * i); s16 off = (0x2000 * i);
tmpf2 = (Math_Coss(this->unk_14E + off) * 0.0075f) + 0.015f; this->unk_184[i].z = this->unk_184[i].x = (Math_Coss(this->unk_14E + off) * 0.0075f) + 0.015f;
this->unk_184[i].x = tmpf2;
this->unk_184[i].z = tmpf2;
this->unk_1B4[i].x = thisx->shape.rot.x; this->unk_1B4[i].x = thisx->shape.rot.x;
this->unk_1B4[i].y = thisx->shape.rot.y; this->unk_1B4[i].y = thisx->shape.rot.y;
this->unk_1B4[i].z = thisx->shape.rot.z; this->unk_1B4[i].z = thisx->shape.rot.z;
@ -230,7 +222,7 @@ void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_ToMtx(mtx, "../z_en_bx.c", 507); Matrix_ToMtx(mtx, "../z_en_bx.c", 507);
} }
gSPDisplayList(gfxCtx->polyOpa.p++, D_060022F0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_060022F0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bx.c", 511);
} CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bx.c", 511);
} }

View file

@ -451,18 +451,17 @@ void EnDog_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
void EnDog_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnDog_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDog* this = THIS; EnDog* this = THIS;
Color_RGBA8 colors[] = { { 255, 255, 200, 0 }, { 150, 100, 50, 0 } }; Color_RGBA8 colors[] = { { 255, 255, 200, 0 }, { 150, 100, 50, 0 } };
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_dog.c", 972);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_dog.c", 972);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++); gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g, gDPSetEnvColor(oGfxCtx->polyOpa.p++, colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g,
colors[this->actor.params & 0xF].b, colors[this->actor.params & 0xF].a); colors[this->actor.params & 0xF].b, colors[this->actor.params & 0xF].a);
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, &this->actor); EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_dog.c", 994);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_dog.c", 994);
} }

View file

@ -96,12 +96,10 @@ void EnDyExtra_Draw(Actor* thisx, GlobalContext* globalCtx) {
0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02 }; 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02 };
EnDyExtra* this = THIS; EnDyExtra* this = THIS;
s32 pad; s32 pad;
GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Vtx* vertices = SEGMENTED_TO_VIRTUAL(D_0601BFB0); Vtx* vertices = SEGMENTED_TO_VIRTUAL(D_0601BFB0);
s32 i; s32 i;
u8 unk[3]; u8 unk[3];
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
unk[0] = 0.0f; unk[0] = 0.0f;
unk[1] = (s8)(this->unk_158 * 240.0f); unk[1] = (s8)(this->unk_158 * 240.0f);
@ -113,19 +111,20 @@ void EnDyExtra_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
} }
gfxCtx = localGfxCtx; OPEN_DISPS(gfxCtx, "../z_en_dy_extra.c", 294);
Graph_OpenDisps(dispRefs, localGfxCtx, "../z_en_dy_extra.c", 294);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->state.frames * 2, 0, 0x20, 0x40, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->state.frames * 2, 0, 0x20, 0x40, 1,
globalCtx->state.frames, globalCtx->state.frames * -8, 0x10, 0x10)); globalCtx->state.frames, globalCtx->state.frames * -8, 0x10, 0x10));
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_dy_extra.c", 307), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_dy_extra.c", 307),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0x80, primColors[this->type].r, primColors[this->type].g, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0x80, primColors[this->type].r, primColors[this->type].g,
primColors[this->type].b, 255); primColors[this->type].b, 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b, 128); gDPSetEnvColor(oGfxCtx->polyXlu.p++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b,
gSPDisplayList(gfxCtx->polyXlu.p++, D_0601C160); 128);
Graph_CloseDisps(dispRefs, localGfxCtx, "../z_en_dy_extra.c", 325); gSPDisplayList(oGfxCtx->polyXlu.p++, D_0601C160);
CLOSE_DISPS(gfxCtx, "../z_en_dy_extra.c", 325);
} }

View file

@ -364,18 +364,17 @@ UNK_PTR D_80A0B3B8[] = { 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x04042
void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnExRuppy* this = THIS; EnExRuppy* this = THIS;
s32 pad; s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (this->isFalling == 0) { if (this->isFalling == 0) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(thisx, globalCtx, 0); func_8002EBCC(thisx, globalCtx, 0);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 780), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 780),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150]));
gSPDisplayList(gfxCtx->polyOpa.p++, D_04042440); gSPDisplayList(oGfxCtx->polyOpa.p++, D_04042440);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784);
} }
} }

View file

@ -465,58 +465,56 @@ void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFhgFire* this = THIS; EnFhgFire* this = THIS;
s32 pad; s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1723); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1723);
if (thisx->params == 0x24) { if (thisx->params == 0x24) {
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 165, 255, 75, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 165, 255, 75, 0);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(D_0600FCF8)); gSPDisplayList(oGfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(D_0600FCF8));
} else if ((thisx->params == 0x26) || (thisx->params == 0x32)) { } else if ((thisx->params == 0x26) || (thisx->params == 0x32)) {
osSyncPrintf("yari hikari draw 1\n"); osSyncPrintf("yari hikari draw 1\n");
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
if (this->fireMode > 0) { if (this->fireMode > 0) {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 255, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 255, 255, 0);
} else { } else {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 165, 255, 75, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 165, 255, 75, 0);
} }
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
Matrix_RotateZ((thisx->shape.rot.z / 32768.0f) * 3.1416f, 1); Matrix_RotateZ((thisx->shape.rot.z / 32768.0f) * 3.1416f, 1);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1801), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1801),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06012160); gSPDisplayList(oGfxCtx->polyXlu.p++, D_06012160);
} else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) { } else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) {
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, (u8)this->unk_188); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, (u8)this->unk_188);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 90, 50, 95, (s8)(this->unk_188 * 0.5f)); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 90, 50, 95, (s8)(this->unk_188 * 0.5f));
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1,
(s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40)); (s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_0600FAA0);
} else { } else {
osSyncPrintf("FF DRAW 1\n"); osSyncPrintf("FF DRAW 1\n");
Matrix_Translate(0.0f, -100.0f, 0.0f, 1); Matrix_Translate(0.0f, -100.0f, 0.0f, 1);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 30, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 255, 30, 0);
gDPPipeSync(gfxCtx->polyXlu.p++); gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_060105E0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_060105E0);
osSyncPrintf("FF DRAW 2\n"); osSyncPrintf("FF DRAW 2\n");
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1900); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1900);
} }

View file

@ -1075,40 +1075,39 @@ static Color_RGBA8 sMergeColor = { 0x00, 0xFF, 0x00, 0x00 };
void EnFloormas_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnFloormas_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFloormas* this = THIS; EnFloormas* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfx[4];
s32 pad;
Graph_OpenDisps(gfx, globalCtx->state.gfxCtx, "../z_en_floormas.c", 2318); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_floormas.c", 2318);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
if (this->collider.base.type == COLTYPE_UNK12) { if (this->collider.base.type == COLTYPE_UNK12) {
func_80026230(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28); func_80026230(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28);
} }
gfxCtx->polyOpa.p = oGfxCtx->polyOpa.p =
SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, gfxCtx->polyOpa.p); EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, oGfxCtx->polyOpa.p);
if (this->collider.base.type == COLTYPE_UNK12) { if (this->collider.base.type == COLTYPE_UNK12) {
func_80026608(globalCtx); func_80026608(globalCtx);
} }
Graph_CloseDisps(gfx, globalCtx->state.gfxCtx, "../z_en_floormas.c", 2340);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_floormas.c", 2340);
} }
void EnFloormas_DrawHighlighted(Actor* thisx, GlobalContext* globalCtx) { void EnFloormas_DrawHighlighted(Actor* thisx, GlobalContext* globalCtx) {
EnFloormas* this = THIS; EnFloormas* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfx[4];
Graph_OpenDisps(gfx, globalCtx->state.gfxCtx, "../z_en_floormas.c", 2352); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_floormas.c", 2352);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
if (this->collider.base.type == COLTYPE_UNK12) { if (this->collider.base.type == COLTYPE_UNK12) {
func_80026690(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28); func_80026690(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28);
} }
gfxCtx->polyXlu.p = oGfxCtx->polyXlu.p =
SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, gfxCtx->polyXlu.p); EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, oGfxCtx->polyXlu.p);
if (this->collider.base.type == COLTYPE_UNK12) { if (this->collider.base.type == COLTYPE_UNK12) {
func_80026A6C(globalCtx); func_80026A6C(globalCtx);
} }
Graph_CloseDisps(gfx, globalCtx->state.gfxCtx, "../z_en_floormas.c", 2374);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_floormas.c", 2374);
} }

View file

@ -298,15 +298,14 @@ void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
EnFu* this = THIS; EnFu* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fu.c", 773);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fu.c", 773);
func_800943C8(globalCtx->state.gfxCtx); func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression])); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression]));
SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, &this->actor); EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fu.c", 791);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fu.c", 791);
} }

View file

@ -93,28 +93,26 @@ Gfx* func_80A28148(GraphicsContext* gfxCtx, BossGanon* dorf) {
} }
void EnGanonOrgan_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnGanonOrgan_Draw(Actor* thisx, GlobalContext* globalCtx) {
BossGanon* dorf; BossGanon* dorf = (BossGanon*)thisx->parent;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4]; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 205);
dorf = (BossGanon*)thisx->parent;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 205);
osSyncPrintf("ORGAN DRAW 1\n"); osSyncPrintf("ORGAN DRAW 1\n");
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
if ((thisx->params == 1) && (dorf->organFadeTimer != 0xff)) { if ((thisx->params == 1) && (dorf->organFadeTimer != 0xff)) {
gSPSegment(gfxCtx->polyOpa.p++, 0x08, func_80A280BC(globalCtx->state.gfxCtx, dorf)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80A280BC(globalCtx->state.gfxCtx, dorf));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, func_80A28148(globalCtx->state.gfxCtx, dorf)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80A28148(globalCtx->state.gfxCtx, dorf));
} else { } else {
gSPSegment(gfxCtx->polyOpa.p++, 0x08, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx));
} }
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW); Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 221), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 221),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80A2CCA8); gSPDisplayList(oGfxCtx->polyOpa.p++, D_80A2CCA8);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80A2EAB0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_80A2EAB0);
osSyncPrintf("ORGAN DRAW 2\n"); osSyncPrintf("ORGAN DRAW 2\n");
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 230);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ganon_organ.c", 230);
} }

View file

@ -524,12 +524,10 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGs* this = THIS; EnGs* this = THIS;
s32 tmp; s32 tmp;
u32 frames; u32 frames;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (!(this->unk_19E & 8)) { if (!(this->unk_19E & 8)) {
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_gs.c", 1046);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_gs.c", 1046);
frames = globalCtx->gameplayFrames; frames = globalCtx->gameplayFrames;
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
Matrix_Push(); Matrix_Push();
@ -543,19 +541,19 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_RotateZ(this->unk_1A0[1].z * 0.0000958738f, MTXMODE_APPLY); Matrix_RotateZ(this->unk_1A0[1].z * 0.0000958738f, MTXMODE_APPLY);
} }
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gs.c", 1064), gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gs.c", 1064),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000950); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000950);
if (this->unk_19E & 4) { if (this->unk_19E & 4) {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, this->flashColor.r, this->flashColor.g, this->flashColor.b, gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, this->flashColor.r, this->flashColor.g, this->flashColor.b,
this->flashColor.a); this->flashColor.a);
} else { } else {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 255, 255, 255, 255);
} }
gSPDisplayList(gfxCtx->polyOpa.p++, D_060009D0); gSPDisplayList(oGfxCtx->polyOpa.p++, D_060009D0);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000A60); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000A60);
Matrix_Pull(); Matrix_Pull();
if (this->unk_19E & 2) { if (this->unk_19E & 2) {
@ -563,15 +561,16 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800D1FD4(&globalCtx->mf_11DA0); func_800D1FD4(&globalCtx->mf_11DA0);
Matrix_Scale(0.05f, -0.05f, 1.0f, MTXMODE_APPLY); Matrix_Scale(0.05f, -0.05f, 1.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gs.c", 1087), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gs.c", 1087),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment( gSPSegment(
gfxCtx->polyXlu.p++, 0x08, oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x40, 1, 0, -frames * 0x14, 0x20, 0x80)); Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x40, 1, 0, -frames * 0x14, 0x20, 0x80));
gDPSetPrimColor(gfxCtx->polyXlu.p++, 128, 128, 255, 255, 0, 255); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 128, 128, 255, 255, 0, 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0404D4E0); gSPDisplayList(oGfxCtx->polyXlu.p++, D_0404D4E0);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_gs.c", 1101);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_gs.c", 1101);
} }
} }

View file

@ -189,9 +189,8 @@ s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
Actor* thisx) { Actor* thisx) {
EnGuest* this = THIS; EnGuest* this = THIS;
Vec3s sp3C; Vec3s sp3C;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 352); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 352);
if (limbIndex == 15) { if (limbIndex == 15) {
*dList = D_060059B0; *dList = D_060059B0;
@ -213,24 +212,25 @@ s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
rot->z += Math_Coss(this->unk_2EC[limbIndex]) * 200.0f; rot->z += Math_Coss(this->unk_2EC[limbIndex]) * 200.0f;
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 388); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 388);
return 0; return 0;
} }
void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGuest* this = THIS; EnGuest* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 404);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 404);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, func_80A50708(globalCtx->state.gfxCtx, 0xFF, 0xFF, 0xFF, 0xFF)); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80A50708(globalCtx->state.gfxCtx, 0xFF, 0xFF, 0xFF, 0xFF));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, func_80A50708(globalCtx->state.gfxCtx, 0xA0, 0x3C, 0xDC, 0xFF)); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80A50708(globalCtx->state.gfxCtx, 0xA0, 0x3C, 0xDC, 0xFF));
gSPSegment(gfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E])); gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E]));
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnGuest_OverrideLimbDraw, NULL, &this->actor); EnGuest_OverrideLimbDraw, NULL, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 421);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 421);
} }

View file

@ -830,28 +830,24 @@ void EnHeishi2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
} }
void func_80A54C6C(Actor* thisx, GlobalContext* globalCtx) { void func_80A54C6C(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1772);
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1774),
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1772);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1774),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06002C10); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06002C10);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1777);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1777);
} }
void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHeishi2* this; EnHeishi2* this = THIS;
GraphicsContext* gfxCtx;
s32 linkObjBankIndex;
Mtx* mtx; Mtx* mtx;
Gfx* dispRefs[4]; s32 linkObjBankIndex;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1792);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1792);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
this = THIS;
SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw, SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw,
EnHeishi2_PostLimbDraw, &this->actor); EnHeishi2_PostLimbDraw, &this->actor);
if ((this->initParams == 5) && (gSaveContext.infTable[7] & 0x80)) { if ((this->initParams == 5) && (gSaveContext.infTable[7] & 0x80)) {
@ -862,11 +858,12 @@ void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_RotateZ(DEGTORAD(70.0), MTXMODE_APPLY); Matrix_RotateZ(DEGTORAD(70.0), MTXMODE_APPLY);
mtx = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1820) - 7; mtx = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1820) - 7;
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[linkObjBankIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[linkObjBankIndex].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x0D, mtx); gSPSegment(oGfxCtx->polyOpa.p++, 0x0D, mtx);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0602B060); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_0602B060);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment); gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment);
} }
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1834);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1834);
} }

View file

@ -476,14 +476,13 @@ void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
0x06001C70, 0x06001C70,
}; };
EnKz* this = THIS; EnKz* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
func_800943C8(globalCtx->state.gfxCtx); func_800943C8(globalCtx->state.gfxCtx);
SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, &this->actor); EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, &this->actor);
Graph_CloseDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);
} }

View file

@ -159,36 +159,33 @@ void EnLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad; s32 pad;
FlameParams* flameParams; FlameParams* flameParams;
Gfx* dList; Gfx* dList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (1) {} if (1) {}
flameParams = &D_80A9E840[this->actor.params & 0xF]; flameParams = &D_80A9E840[this->actor.params & 0xF];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_light.c", 441);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_light.c", 441);
func_80093D84(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx);
if (this->actor.params >= 0) { if (this->actor.params >= 0) {
gSPSegment( gSPSegment(
gfxCtx->polyXlu.p++, 0x08, oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, (this->timer * -20) & 511, 32, 128)); Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, (this->timer * -20) & 511, 32, 128));
dList = D_0404D4E0; dList = D_0404D4E0;
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, flameParams->primColor.r, flameParams->primColor.g, gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, flameParams->primColor.r, flameParams->primColor.g,
flameParams->primColor.b, flameParams->primColor.a); flameParams->primColor.b, flameParams->primColor.a);
gDPSetEnvColor(gfxCtx->polyXlu.p++, flameParams->envColor.r, flameParams->envColor.g, flameParams->envColor.b, gDPSetEnvColor(oGfxCtx->polyXlu.p++, flameParams->envColor.r, flameParams->envColor.g, flameParams->envColor.b,
0); 0);
} else { } else {
gSPSegment(gfxCtx->polyXlu.p++, 0x08, gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 32, 1, ((this->timer * 2) & 63), Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 32, 1, ((this->timer * 2) & 63),
(this->timer * -6) & 127 * 1, 16, 32)); (this->timer * -6) & 127 * 1, 16, 32));
dList = D_05000440; dList = D_05000440;
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0xC0, 0xC0, 255, 200, 0, 0); gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0xC0, 0xC0, 255, 200, 0, 0);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 0); gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0);
} }
Matrix_RotateY((s16)((func_8005A9F4(ACTIVE_CAM) - this->actor.shape.rot.y) + 0x8000) * (M_PI / 32768.0f), Matrix_RotateY((s16)((func_8005A9F4(ACTIVE_CAM) - this->actor.shape.rot.y) + 0x8000) * (M_PI / 32768.0f),
@ -199,9 +196,9 @@ void EnLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
} }
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_light.c", 488), gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_light.c", 488),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, dList); gSPDisplayList(oGfxCtx->polyXlu.p++, dList);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_light.c", 491); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_light.c", 491);
} }

View file

@ -432,19 +432,20 @@ void EnMa1_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnMa1* this = THIS; EnMa1* this = THIS;
Camera* camera; Camera* camera;
f32 someFloat; f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma1.c", 1226);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma1.c", 1226);
camera = ACTIVE_CAM; camera = ACTIVE_CAM;
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye); someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F); func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA16C4[this->unk_1E6])); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA16C4[this->unk_1E6]));
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA16D0[this->unk_1E4])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA16D0[this->unk_1E4]));
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, &this->actor); EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma1.c", 1261);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma1.c", 1261);
} }

View file

@ -351,38 +351,37 @@ s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnMa2* this = THIS; EnMa2* this = THIS;
Vec3f vec = D_80AA28A8; Vec3f vec = D_80AA28A8;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 904); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 904);
if (limbIndex == 18) { if (limbIndex == 18) {
Matrix_MultVec3f(&vec, &this->actor.posRot2.pos); Matrix_MultVec3f(&vec, &this->actor.posRot2.pos);
} }
if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) { if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) {
gSPDisplayList(gfxCtx->polyOpa.p++, D_06005420); gSPDisplayList(oGfxCtx->polyOpa.p++, D_06005420);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 927); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 927);
} }
void EnMa2_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnMa2_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnMa2* this = THIS; EnMa2* this = THIS;
Camera* camera; Camera* camera;
f32 someFloat; f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 955);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 955);
camera = ACTIVE_CAM; camera = ACTIVE_CAM;
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye); someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F); func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210])); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210]));
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA28C0[this->unk_20E])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA28C0[this->unk_20E]));
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, &this->actor); EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 990);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 990);
} }

View file

@ -331,38 +331,37 @@ s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnMa3* this = THIS; EnMa3* this = THIS;
Vec3f vec = D_80AA3898; Vec3f vec = D_80AA3898;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 927); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 927);
if (limbIndex == 18) { if (limbIndex == 18) {
Matrix_MultVec3f(&vec, &thisx->posRot2.pos); Matrix_MultVec3f(&vec, &thisx->posRot2.pos);
} }
if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) { if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) {
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06005420); gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06005420);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 950); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 950);
} }
void EnMa3_Draw(Actor* thisx, GlobalContext* globalCtx) { void EnMa3_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnMa3* this = THIS; EnMa3* this = THIS;
Camera* camera; Camera* camera;
f32 someFloat; f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; s32 pad;
Gfx* dispRefs[5];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 978);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 978);
camera = globalCtx->cameraPtrs[globalCtx->activeCamera]; camera = globalCtx->cameraPtrs[globalCtx->activeCamera];
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye); someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F); func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx); func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210])); gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210]));
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA38B0[this->unk_20E])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA38B0[this->unk_20E]));
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, &this->actor); EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, &this->actor);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 1013);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 1013);
} }

View file

@ -807,18 +807,16 @@ void EnMd_Draw(Actor* thisx, GlobalContext* globalCtx) {
0x06005D30, 0x06005D30,
}; };
EnMd* this = THIS; EnMd* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_md.c", 1280);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_md.c", 1280);
if (this->alpha == 255) { if (this->alpha == 255) {
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx])); gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx]));
func_80034BA0(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha); func_80034BA0(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha);
} else if (this->alpha != 0) { } else if (this->alpha != 0) {
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx])); gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx]));
func_80034CC4(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha); func_80034CC4(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha);
} }
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_md.c", 1317); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_md.c", 1317);
} }

Some files were not shown because too many files have changed in this diff Show more