1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 22:44:30 +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 SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
(curState)->init = newInit; \
(curState)->size = sizeof(newStruct);
#define CHECK_PAD(state, combo) (~(state.in.button | ~(combo)) == 0)
#define LOG(exp, value, format, file, line) \
do { \
@ -61,7 +59,37 @@
#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 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
* `y` vertex y
* `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 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

View file

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

View file

@ -1208,7 +1208,8 @@ typedef struct GlobalContext {
/* 0x000B0 */ void* sceneSegment;
/* 0x000B4 */ char unk_B4[0x4];
/* 0x000B8 */ View view;
/* 0x001E0 */ Camera cameras[4];
/* 0x001E0 */ Camera mainCamera;
/* 0x001E0 */ Camera subCameras[3];
/* 0x00790 */ Camera* cameraPtrs[4];
/* 0x007A0 */ s16 activeCamera;
/* 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]" },
};
GraphicsContext* gfxCtx;
s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Input* input = &globalCtx->state.input[0];
Gfx* gfx;
Gfx* polyOpa;
Gfx* dispRefs[5];
GfxPrint printer;
Input* input = &globalCtx->state.input[0];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../flg_set.c", 131);
polyOpa = gfxCtx->polyOpa.p;
OPEN_DISPS(gfxCtx, "../flg_set.c", 131);
{
GfxPrint printer;
s32 pad;
polyOpa = oGfxCtx->polyOpa.p;
gfx = Graph_GfxPlusOne(polyOpa);
gSPDisplayList(gfxCtx->overlay.p++, gfx);
gSPDisplayList(oGfxCtx->overlay.p++, gfx);
GfxPrint_Init(&printer);
GfxPrint_Open(&printer, gfx);
@ -138,13 +139,15 @@ void FlagSet_Update(GlobalContext* globalCtx) {
gfx = GfxPrint_Close(&printer);
GfxPrint_Destroy(&printer);
gSPEndDisplayList(gfx++);
Graph_BranchDlist(polyOpa, gfx);
gfxCtx->polyOpa.p = gfx;
oGfxCtx->polyOpa.p = gfx;
}
if (CHECK_PAD(input->press, L_TRIG)) {
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) {
Gfx* newDList;
Gfx* polyOpaP;
Gfx* dispRefs[5];
char pad[0x8];
GfxPrint printChars;
Graph_OpenDisps(dispRefs, gfxCtx, "../game.c", 746);
newDList = Graph_GfxPlusOne(polyOpaP = gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, newDList);
OPEN_DISPS(gfxCtx, "../game.c", 746);
newDList = Graph_GfxPlusOne(polyOpaP = oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, newDList);
if (R_ENABLE_FB_FILTER == 1) {
GameState_SetFBFilter(&newDList);
@ -166,14 +164,19 @@ void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
}
if (R_ENABLE_AUDIO_DBG & 1) {
GfxPrint_Init(&printChars);
GfxPrint_Open(&printChars, newDList);
func_800EEA50(&printChars);
newDList = GfxPrint_Close(&printChars);
GfxPrint_Destroy(&printChars);
s32 pad;
GfxPrint printer;
GfxPrint_Init(&printer);
GfxPrint_Open(&printer, newDList);
func_800EEA50(&printer);
newDList = GfxPrint_Close(&printer);
GfxPrint_Destroy(&printer);
}
if (R_ENABLE_ARENA_DBG < 0) {
s32 pad;
DebugArena_Display();
SystemArena_Display();
//% 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;
}
if (1) {
gSPEndDisplayList(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);
@ -198,41 +201,37 @@ void GameState_Draw(GameState* gameState, 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);
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);
CLOSE_DISPS(gfxCtx, "../game.c", 838);
}
void func_800C49F4(GraphicsContext* gfxCtx) {
Gfx* newDlist;
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);
gSPDisplayList(gfxCtx->overlay.p++, newDlist);
newDlist = Graph_GfxPlusOne(polyOpaP = oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, newDlist);
// necessary to match
if (1) {
gSPEndDisplayList(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) {

View file

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

View file

@ -52,14 +52,13 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
View view;
u32 pad2[3];
Gfx* gfx;
Gfx* dispRefs[5];
uly = this->y;
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) {
return;
}
@ -76,7 +75,7 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
SET_FULLSCREEN_VIEWPORT(&view);
gfx = gfxCtx->overlay.p;
gfx = oGfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx);
gDPPipeSync(gfx++);
@ -98,8 +97,9 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
}
gDPPipeSync(gfx++);
gfxCtx->overlay.p = gfx;
Graph_CloseDisps(dispRefs, gfxCtx, "../speed_meter.c", 276);
oGfxCtx->overlay.p = gfx;
CLOSE_DISPS(gfxCtx, "../speed_meter.c", 276);
}
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;
View view;
Gfx* gfx;
Gfx* dispRefs[5];
if (this->maxval == 0) {
osSyncPrintf(VT_FGCOL(RED));
LOG_NUM("this->maxval", this->maxval, "../speed_meter.c", 313);
osSyncPrintf(VT_RST);
} else {
Graph_OpenDisps(dispRefs, gfxCtx, "../speed_meter.c", 318);
OPEN_DISPS(gfxCtx, "../speed_meter.c", 318);
View_Init(&view, gfxCtx);
view.flags = 0xA;
SET_FULLSCREEN_VIEWPORT(&view);
gfx = gfxCtx->overlay.p;
gfx = oGfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx);
gDPPipeSync(gfx++);
@ -147,8 +146,8 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
gDPPipeSync(gfx++);
gfxCtx->overlay.p = gfx;
Graph_CloseDisps(dispRefs, gfxCtx, "../speed_meter.c", 339);
oGfxCtx->overlay.p = gfx;
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 temp2;
MtxF sp60;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (actor->floorPoly != NULL) {
temp1 = actor->posRot.pos.y - actor->groundY;
if (temp1 >= -50.0f && temp1 < 500.0f) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1553);
OPEN_DISPS(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,
0, COMBINED);
gDPSetCombineLERP(oGfxCtx->polyOpa.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0,
0, 0, COMBINED);
temp1 = (temp1 < 0.0f) ? 0.0f : ((temp1 > 150.0f) ? 150.0f : temp1);
temp2 = 1.0f - (temp1 * (1.f / 350));
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);
} 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);
@ -51,11 +48,11 @@ void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* global
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);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad1;
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);
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_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);
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
// saved register, stack usage and minor ordering differences
void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
MtxF spE8;
f32 spE0[2];
s32 i;
f32* spAC;
Gfx* dispRefs[4];
f32 temp_10;
u8 temp_14;
f32 temp_f0;
@ -141,10 +136,9 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
temp_s6 = lightMapper->numLights;
temp_s6 -= 2;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1741);
OPEN_DISPS(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;
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;
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 1831);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 1831);
}
}
#else
@ -309,10 +303,12 @@ void func_8002C0C0(TargetContext* targetCtx, Actor* actor, GlobalContext* global
void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Actor* actor = targetCtx->targetedActor;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Player* player;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2029);
if (targetCtx->unk_48 != 0) {
TargetContextEntry* entry;
Player* player;
s16 spCE;
f32 temp1;
Vec3f spBC;
@ -324,9 +320,6 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
f32 var2;
s32 i;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2029);
if (targetCtx->unk_48 != 0) {
player = PLAYER;
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);
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) {
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_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);
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_Push();
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);
gSPDisplayList(gfxCtx->overlay.p++, D_0404D450);
gSPDisplayList(oGfxCtx->overlay.p++, D_0404D450);
Matrix_Pull();
}
}
@ -410,20 +403,20 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
if ((actor != NULL) && !(actor->flags & 0x8000000)) {
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,
actor->posRot2.pos.z, MTXMODE_NEW);
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);
gDPSetPrimColor(gfxCtx->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),
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, naviColor->inner.r, naviColor->inner.g, naviColor->inner.b, 255);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 2153),
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) {
@ -724,8 +717,6 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
s32 spB8;
s32 spB4;
s32 spB0;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (titleCtx->unk_C != 0) {
spCC = titleCtx->unk_8;
@ -734,8 +725,7 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
spB8 = (titleCtx->unk_6 * 4) - (spC8 * 2);
sp38 = spCC * 2;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 2824);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2824);
spB0 = spCC * spC8 * gSaveContext.language;
spC8 = (spCC * spC8 > 0x1000) ? 0x1000 / spCC : spC8;
@ -743,30 +733,30 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
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);
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_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);
spC8 = titleCtx->unk_9 - spC8;
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,
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);
}
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* hilite;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, 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);
OPEN_DISPS(gfxCtx, "../z_actor.c", 4306);
oGfxCtx->polyOpa.p = func_8002E830(object, eye, lightDir, gfxCtx, oGfxCtx->polyOpa.p, &hilite);
CLOSE_DISPS(gfxCtx, "../z_actor.c", 4313);
return hilite;
}
Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) {
Hilite* hilite;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, 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);
OPEN_DISPS(gfxCtx, "../z_actor.c", 4332);
oGfxCtx->polyXlu.p = func_8002E830(object, eye, lightDir, gfxCtx, oGfxCtx->polyXlu.p, &hilite);
CLOSE_DISPS(gfxCtx, "../z_actor.c", 4339);
return hilite;
}
@ -1336,8 +1328,6 @@ void func_8002EBCC(Actor* actor, GlobalContext* globalCtx, s32 flag) {
Vec3f lightDir;
Gfx* displayListHead;
Gfx* displayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
lightDir.x = globalCtx->envCtx.unk_2A;
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));
displayListHead = displayList;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4384);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4384);
gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10);
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;
Gfx* displayListHead;
Gfx* displayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
lightDir.x = globalCtx->envCtx.unk_2A;
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));
displayListHead = displayList;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 4429);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 4429);
gDPSetHilite1Tile(displayListHead++, 1, hilite, 0x10, 0x10);
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
// this also doesn't generate a few useless struct copies
void func_8002FBAC(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[6];
Vec3f lightPos;
f32 spD8;
f32 spD4;
@ -1806,9 +1790,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
f32 phi_f10;
f32 phi_f6;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 5308);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 5308);
if (gSaveContext.respawn[RESPAWN_MODE_TOP].data != 0) {
if (LINK_IS_ADULT) {
@ -1904,7 +1886,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state == 0) &&
(gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex == gSaveContext.entranceIndex) &&
(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,
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_Push();
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 200, spD0);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 100, 200, 0, 255);
gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 200, spD0);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 100, 200, 0, 255);
phi_f10 = (globalCtx->gameplayFrames * 1500) & 0xFFFF;
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);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_04010130);
gSPDisplayList(oGfxCtx->polyXlu.p++, &D_04010130);
Matrix_Pull();
phi_f6 = ~((globalCtx->gameplayFrames * 1200) & 0xFFFF);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_04010130);
gSPDisplayList(oGfxCtx->polyXlu.p++, &D_04010130);
}
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,
500.0f * spD4);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 5474);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 5474);
}
}
#else
@ -2169,15 +2151,10 @@ void Actor_FaultPrint(Actor* actor, char* command) {
void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
FaultClient faultClient;
LightMapper* lightMapper;
GraphicsContext* gfxCtx;
Camera* camera;
Gfx* dispRefs[3];
Fault_AddClient(&faultClient, Actor_FaultPrint, actor, "Actor_draw");
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 6035);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 6035);
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);
if (actor->flags & 0x1000) {
camera = &globalCtx->cameras[0];
func_800D1694(actor->posRot.pos.x + camera->unk_80.x,
actor->posRot.pos.y + (f32)((actor->shape.unk_08 * actor->scale.y) + camera->unk_80.y),
actor->posRot.pos.z + camera->unk_80.z, &actor->shape.rot);
func_800D1694(actor->posRot.pos.x + globalCtx->mainCamera.unk_80.x,
actor->posRot.pos.y +
(f32)((actor->shape.unk_08 * actor->scale.y) + globalCtx->mainCamera.unk_80.y),
actor->posRot.pos.z + globalCtx->mainCamera.unk_80.z, &actor->shape.rot);
} else {
func_800D1694(actor->posRot.pos.x, actor->posRot.pos.y + (actor->shape.unk_08 * actor->scale.y),
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);
Actor_SetObjectDependency(globalCtx, actor);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
gSPSegment(gfxCtx->polyXlu.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
if (actor->dmgEffectTimer != 0) {
// Must be inline data to match
@ -2232,7 +2209,7 @@ void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
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);
}
@ -2252,94 +2229,91 @@ void func_80030ED8(Actor* actor) {
}
void func_80030FA8(GraphicsContext* gfxCtx) {
Gfx* dispRefs[5];
OPEN_DISPS(gfxCtx, "../z_actor.c", 6161);
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 6161);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, &D_0401E370, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_MIRROR | G_TX_CLAMP,
gDPLoadTextureBlock(oGfxCtx->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);
gDPSetTileSize(gfxCtx->polyXlu.p++, G_TX_RENDERTILE, 384, 224, 892, 732);
gSPTextureRectangle(gfxCtx->polyXlu.p++, 0, 0, 1280, 960, G_TX_RENDERTILE, 2240, 1600, 576, 597);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetTileSize(oGfxCtx->polyXlu.p++, G_TX_RENDERTILE, 384, 224, 892, 732);
gSPTextureRectangle(oGfxCtx->polyXlu.p++, 0, 0, 1280, 960, G_TX_RENDERTILE, 2240, 1600, 576, 597);
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) {
Actor** invisibleActor;
GraphicsContext* gfxCtx;
s32 i;
Gfx* dispRefs[5];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_actor.c", 6197);
OPEN_DISPS(gfxCtx, "../z_actor.c", 6197);
// 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) {
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_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);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
} 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_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 |
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));
gDPSetCombineLERP(gfxCtx->polyXlu.p++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0,
PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0xFF, 74, 74, 74, 74);
gDPSetCombineLERP(oGfxCtx->polyXlu.p++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC,
0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0);
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);
// 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];
for (i = 0; i < nbInvisibleActors; i++) {
// Translates to: "MAGIC LENS INVISIBLE ACTOR DISPLAY"
gDPNoOpString(gfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示", i);
gDPNoOpString(oGfxCtx->polyOpa.p++, "魔法のメガネ 見えないc表示", i);
Actor_Draw(globalCtx, *(invisibleActor++));
}
// 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) {
// 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_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);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 0, 0, 255);
func_80030FA8(gfxCtx);
// Translates to: "BLUE SPECTACLES (EXTERIOR)"
gDPNoOpString(gfxCtx->polyOpa.p++, "青い眼鏡(外側)", 1);
gDPNoOpString(oGfxCtx->polyOpa.p++, "青い眼鏡(外側)", 1);
}
// 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) {
@ -2366,28 +2340,24 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
s32 invisibleActorCounter;
Actor* invisibleActors[INVISIBLE_ACTOR_MAX];
ActorListEntry* actorListEntry;
GraphicsContext* gfxCtx;
s32 i;
Gfx* dispRefs[5];
Actor* actor;
ActorOverlay* overlayEntry;
char* actorName;
s32 i;
gfxCtx = globalCtx->state.gfxCtx;
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];
for (i = 0; i < ARRAY_COUNT(actorCtx->actorList); i++, actorListEntry++) {
actor = actorListEntry->first;
while (actor != NULL) {
overlayEntry = actor->overlayEntry;
actorName = overlayEntry->name != NULL ? overlayEntry->name : "";
gDPNoOpString(gfxCtx->polyOpa.p++, actorName, i);
gDPNoOpString(gfxCtx->polyXlu.p++, actorName, i);
while (actor != NULL) {
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;
@ -2466,7 +2436,7 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
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) {
@ -3444,16 +3414,14 @@ void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, GlobalContext* globalCtx)
f32 var;
Vec3f sp50;
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
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.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);
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);
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) {
s16 var = Quake_Add(&globalCtx->cameras[0], 3);
s16 var = Quake_Add(&globalCtx->mainCamera, 3);
Quake_SetSpeed(var, 20000);
Quake_SetQuakeValues(var, arg1, 0, 0, 0);
Quake_SetCountdown(var, arg2);
}
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_SetQuakeValues(var, arg1, 0, 0, 0);
Quake_SetCountdown(var, arg2);
@ -3533,14 +3501,11 @@ void func_80033F54(GlobalContext* globalCtx, s32 arg1, s32 arg2) {
f32 temp1;
f32 temp2;
f32 temp3;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
entry = &D_801160DC[arg2];
var = entry->unk_10;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8265);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8265);
Matrix_Translate(0.0f, entry->unk_08, 500.0f, MTXMODE_APPLY);
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);
}
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);
gSPDisplayList(gfxCtx->polyOpa.p++, entry->unk_14);
gSPDisplayList(oGfxCtx->polyOpa.p++, entry->unk_14);
if (i % 2) {
temp3 = entry->unk_00 + entry->unk_00;
@ -3573,11 +3538,11 @@ void func_80033F54(GlobalContext* globalCtx, s32 arg1, s32 arg2) {
Matrix_Put(&spB0);
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);
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) {
@ -3825,41 +3790,37 @@ Gfx* func_80034B54(GraphicsContext* gfxCtx) {
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8831);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8831);
func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, alpha);
gDPPipeSync(gfxCtx->polyOpa.p++);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, alpha);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
gfxCtx->polyOpa.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, gfxCtx->polyOpa.p);
oGfxCtx->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,
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_actor.c", 8876);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8876);
func_80093D84(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, alpha);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
gDPPipeSync(oGfxCtx->polyXlu.p++);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, alpha);
gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, gfxCtx->polyXlu.p);
oGfxCtx->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) {

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);
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_14C &= ~0x4;
} 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_11C = -1;
camera->unk_14C |= 4;
if (camera == &camera->globalCtx->cameras[0]) {
if (camera == &camera->globalCtx->mainCamera) {
D_8011D3A0.w = 0xB200;
} else {
D_8011D3A0.w = 0;

View file

@ -2,29 +2,23 @@
#include <global.h>
void Gfx_DrawDListOpa(GlobalContext* globalCtx, Gfx* dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228);
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);
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;
GfxPrint gfxPrint;
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);
sp78 = gfxCtx->polyOpa.p;
tempRet = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, tempRet);
sp78 = oGfxCtx->polyOpa.p;
tempRet = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, tempRet);
GfxPrint_Open(&gfxPrint, tempRet);
if ((OREG(0) == 1) || (OREG(0) == 8)) {
@ -242,8 +241,11 @@ void func_80063D7C(GraphicsContext* gfxCtx) {
sp7C = GfxPrint_Close(&gfxPrint);
gSPEndDisplayList(sp7C++);
Graph_BranchDlist(sp78, sp7C);
gfxCtx->polyOpa.p = sp7C;
oGfxCtx->polyOpa.p = sp7C;
if (0) {}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_debug.c", 664);
CLOSE_DISPS(gfxCtx, "../z_debug.c", 664);
GfxPrint_Destroy(&gfxPrint);
}

View file

@ -71,47 +71,42 @@ void DebugDisplay_DrawObjects(GlobalContext* globalCtx) {
}
void DebugDisplay_DrawSpriteI8(DebugDispObject* dispObj, u32 texture, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 169);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 169);
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_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY);
Matrix_Mult(&globalCtx->mf_11DA0, 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);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_debug_display.c", 211);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_debug_display.c", 211);
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);
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);
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) {
Gfx* displayList;
Gfx* prevDisplayList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (0) {} // Necessary to match
@ -1861,18 +1859,17 @@ void func_80068C3C(GlobalContext* globalCtx, CutsceneContext* csCtx) {
if (0) {} // Also necessary to match
if (BREG(0) != 0) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo.c", 4101);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo.c", 4101);
prevDisplayList = gfxCtx->polyOpa.p;
displayList = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, displayList);
prevDisplayList = oGfxCtx->polyOpa.p;
displayList = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, displayList);
Cutscene_DrawDebugInfo(globalCtx, &displayList, csCtx);
gSPEndDisplayList(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++;

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
void func_800694E4(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 556);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 556);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 576),
oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 5);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 576),
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 588);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 588);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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),
0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 8), 16, 32));
Matrix_Push();
Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 628);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 628);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 16, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 6), 16, 32));
Matrix_Push();
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 670);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 670);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 * (globalCtx->state.frames * 0),
0 * (globalCtx->state.frames * 0), 32, 32, 1, 1 * (globalCtx->state.frames * 1),
1 * -(globalCtx->state.frames * 6), 32, 32));
Matrix_Push();
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 712);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 712);
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,
1 * (globalCtx->state.frames * 2) % 256, 64, 64, 1,
0 * (globalCtx->state.frames * 0) % 128, 1 * (globalCtx->state.frames * 1) % 128, 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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 742);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 742);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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),
1 * -(globalCtx->state.frames * 5), 32, 32, 1, 0 * (globalCtx->state.frames * 0),
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 772);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 772);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 811);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 811);
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);
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);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 822),
oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 5);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_draw.c", 822),
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 834);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 834);
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),
1 * (globalCtx->state.frames * 1), 32, 32, 1, -1 * (globalCtx->state.frames * 1),
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[5]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 868);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 868);
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),
0 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 1),
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 890);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 890);
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),
1 * (globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 6),
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 913);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 913);
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),
1 * -(globalCtx->state.frames * 3), 32, 32, 1, 0 * (globalCtx->state.frames * 1),
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 936);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 936);
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),
1 * (globalCtx->state.frames * 1), 32, 32, 1, 0 * (globalCtx->state.frames * 0),
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 959);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 959);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 975);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 975);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 998);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 998);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1008);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1008);
}
void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1015);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1015);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1039);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1039);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1063);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1063);
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),
1 * -(globalCtx->state.frames * 6), 32, 32, 1, 1 * (globalCtx->state.frames * 1),
-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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1088);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1088);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1108);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1108);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1162);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1162);
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),
-1 * (globalCtx->state.frames * 2), 64, 64, 1, 1 * (globalCtx->state.frames * 4),
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[1]);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_draw.c", 1188);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1188);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyXlu.p++, sDrawItemTable[drawId].dlists[3]);
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) {
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);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[5]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[6]);
gSPDisplayList(gfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[7]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[1]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[0]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[2]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[3]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[4]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[5]);
gSPDisplayList(oGfxCtx->polyOpa.p++, sDrawItemTable[drawId].dlists[6]);
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
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);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 813);
CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 813);
}
// original name: "SQ_NoInterpolate_disp"
@ -420,9 +418,8 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement*
Vec3f sp6C;
Vec3f sp60;
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);
@ -498,11 +495,11 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement*
vtx[3].v.cn[2] = sp78.b;
vtx[3].v.cn[3] = sp78.a;
gSPVertex(gfxCtx->polyXlu.p++, vtx, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 2, 3, 0);
gSPVertex(oGfxCtx->polyXlu.p++, vtx, 4, 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"
@ -533,17 +530,8 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
Color_RGBA8 sp148;
Color_RGBA8 sp144;
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);
@ -561,6 +549,9 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem
Math_Vec3f_Diff(&sp18C, &sp1CC, &sp1B4);
Math_Vec3f_Diff(&sp180, &sp1C0, &sp1A8);
} else {
Vec3f sp118;
Vec3f sp10C;
if (index - 1 < 0) {
__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(&sp180, &sp1C0, &sp168);
} else {
Vec3f sp100;
Vec3f spF4;
if (index + 2 >= this->numElements) {
__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."
osSyncPrintf("z_eff_blure.c::SQ_HermiteInterpolate_disp() 頂点確保できず。\n");
} else {
s32 j1;
s32 j2;
Vec3f spE0;
s32 i;
Math_Vec3f_Diff(&sp1CC, &sp138, &sp158);
Math_Vec3f_Scale(&sp158, 10.0f);
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);
}
gSPVertex(gfxCtx->polyXlu.p++, vtx, 16, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 2, 3, 5, 0, 2, 5, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 4, 5, 7, 0, 4, 7, 6, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 6, 7, 9, 0, 6, 9, 8, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 8, 9, 11, 0, 8, 11, 10, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 10, 11, 13, 0, 10, 13, 12, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 12, 13, 15, 0, 12, 15, 14, 0);
gSPVertex(oGfxCtx->polyXlu.p++, vtx, 16, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 2, 3, 5, 0, 2, 5, 4, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 4, 5, 7, 0, 4, 7, 6, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 6, 7, 9, 0, 6, 9, 8, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 8, 9, 11, 0, 8, 11, 10, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 10, 11, 13, 0, 10, 13, 12, 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
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 sp5C;
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) {
return;
@ -724,7 +722,7 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
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++) {
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
#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s")
#endif
// EffectBlure_SetupSimple
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);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1285);
CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1285);
}
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++);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x26);
gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
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);
gDPSetTextureLUT(gfxCtx->polyXlu.p++, G_TT_NONE);
gSPTexture(gfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(oGfxCtx->polyXlu.p++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPSetCombineLERP(oGfxCtx->polyXlu.p++, TEXEL0, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL0, 0, PRIMITIVE, 0,
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,
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,
gDPSetEnvColor(oGfxCtx->polyXlu.p++, this->altEnvColor.r, this->altEnvColor.g, this->altEnvColor.b,
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) = {
@ -795,39 +788,40 @@ s32 D_80115788 = 0; // unused
// original name: "EffectBlureInfo2_disp_makeDisplayList"
void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this, Vtx* vtx) {
f32 alphaRatio;
Gfx* dispRefs[5];
f32 scale;
Mtx* mtx;
OPEN_DISPS(gfxCtx, "../z_eff_blure.c", 1356);
sSetupHandlers[this->drawMode](gfxCtx, this, vtx);
gDPPipeSync(oGfxCtx->polyXlu.p++);
{
Vec3f sp1B0;
Vec3f sp1A4;
Vec3f sp198;
Mtx* mtx;
f32 alphaRatio;
MtxF sp154;
MtxF sp114;
MtxF spD4;
MtxF sp94;
f32 scale;
s32 i;
s32 j;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1356);
sSetupHandlers[this->drawMode](gfxCtx, this, vtx);
gDPPipeSync(gfxCtx->polyXlu.p++);
j = 0;
for (i = 0; i < this->numElements - 1; i++) {
if (this->drawMode == 1) {
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));
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPPipeSync(oGfxCtx->polyXlu.p++);
}
if (1) {} // Necessary to match
gSPVertex(gfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSPVertex(oGfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
if (this->flags & 4) {
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;
}
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(gfxCtx->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++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(oGfxCtx->polyXlu.p++, &vtx[j], 4, 0);
gSP2Triangles(oGfxCtx->polyXlu.p++, 0, 1, 3, 0, 0, 3, 2, 0);
gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
}
}
j += 4;
}
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_blure.c", 1452);
CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1452);
}
Vtx_t D_8011578C[] = {
@ -996,17 +991,15 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
s32 i;
s32 j;
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->flags == 0) {
func_800942F0(gfxCtx);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPPipeSync(oGfxCtx->polyXlu.p++);
vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[32]));
if (vtx == NULL) {
@ -1018,7 +1011,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
elem = &this->elements[i];
if (elem->state == 1) {
ratio = (f32)elem->timer / (f32)this->elemDuration;
f32 ratio = (f32)elem->timer / (f32)this->elemDuration;
switch (this->calcMode) {
case 1:
@ -1080,7 +1073,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
j = 0;
gSPVertex(gfxCtx->polyXlu.p++, vtx, 32, 0);
gSPVertex(oGfxCtx->polyXlu.p++, vtx, 32, 0);
phi_t2 = 0;
for (i = 0; i < this->numElements; i++) {
@ -1092,7 +1085,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) {
if (phi_t2 == 0) {
phi_t2 = 1;
} 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
@ -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;
Color_RGBA8_n primColor;
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) {
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);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPTexture(gfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gDPPipeSync(oGfxCtx->polyXlu.p++);
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);
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);
gDPSetRenderMode(gfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(gfxCtx->polyXlu.p++,
gDPSetRenderMode(oGfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(oGfxCtx->polyXlu.p++,
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);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, primColor.r, primColor.g, primColor.b, primColor.a);
gDPSetEnvColor(gfxCtx->polyXlu.p++, envColor.r, envColor.g, envColor.b, envColor.a);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, primColor.r, primColor.g, primColor.b, primColor.a);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, envColor.r, envColor.g, envColor.b, envColor.a);
gDPPipeSync(oGfxCtx->polyXlu.p++);
for (elem = &this->elements[0]; elem < &this->elements[this->numElements]; elem++) {
Mtx* mtx;
MtxF sp104;
MtxF spC4;
MtxF sp84;
@ -215,11 +214,11 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
break;
}
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, sVertices, 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 0, 1, 2, 0, 0, 3, 1, 0);
gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(oGfxCtx->polyXlu.p++, sVertices, 4, 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;
s32 i;
s32 j;
Gfx* dispRefs[4]; // sp1AC
globalCtx = Effect_GetGlobalCtx();
Graph_OpenDisps(dispRefs, gfxCtx, "../z_eff_spark.c", 293);
OPEN_DISPS(gfxCtx, "../z_eff_spark.c", 293);
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);
gDPSetCycleType(gfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gDPPipeSync(gfxCtx->polyXlu.p++);
oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x26);
gDPSetCycleType(oGfxCtx->polyXlu.p++, G_CYC_2CYCLE);
gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPTexture(gfxCtx->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,
gSPTexture(oGfxCtx->polyXlu.p++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
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);
gDPSetCombineMode(gfxCtx->polyXlu.p++, G_CC_SHADEDECALA, G_CC_PASS2);
gDPSetRenderMode(gfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(gfxCtx->polyXlu.p++,
gDPSetCombineMode(oGfxCtx->polyXlu.p++, G_CC_SHADEDECALA, G_CC_PASS2);
gDPSetRenderMode(oGfxCtx->polyXlu.p++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(oGfxCtx->polyXlu.p++,
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);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPSetGeometryMode(oGfxCtx->polyXlu.p++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(oGfxCtx->polyXlu.p++);
vertices = Graph_Alloc(gfxCtx, this->numElements * sizeof(Vtx[4]));
if (vertices == NULL) {
@ -274,15 +274,15 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
break;
}
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gfxCtx->polyXlu.p++, &vertices[4 * i], 4, 0);
gSP2Triangles(gfxCtx->polyXlu.p++, 2, 0, 3, 0, 2, 3, 1, 0);
gSPMatrix(oGfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(oGfxCtx->polyXlu.p++, &vertices[4 * i], 4, 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
#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;
Gfx* displayListHead;
f32 absCos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 113);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 113);
displayListHead = gfxCtx->polyOpa.p;
displayListHead = oGfxCtx->polyOpa.p;
cos = Math_Coss((0x8000 / arg3) * arg2);
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);
gfxCtx->polyOpa.p = displayListHead;
oGfxCtx->polyOpa.p = displayListHead;
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) {
Gfx* displayListHead;
f32 cos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (arg3 != 0) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 141);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 141);
cos = Math_Coss((0x4000 / arg3) * arg2);
displayListHead = gfxCtx->polyOpa.p;
displayListHead = oGfxCtx->polyOpa.p;
gDPPipeSync(displayListHead++);
gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a);
gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700);
gfxCtx->polyOpa.p = displayListHead;
oGfxCtx->polyOpa.p = displayListHead;
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) {
s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 159);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 159);
gDPPipeSync(gfxCtx->polyOpa.p++);
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p);
gDPPipeSync(oGfxCtx->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) {
f32 cos;
Gfx* displayListHead;
f32 absCos;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 178);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 178);
displayListHead = gfxCtx->polyXlu.p;
displayListHead = oGfxCtx->polyXlu.p;
cos = Math_Coss((0x8000 / arg3) * arg2);
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);
gfxCtx->polyXlu.p = displayListHead;
oGfxCtx->polyXlu.p = displayListHead;
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) {
f32 cos;
Gfx* displayListHead;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 201);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 201);
displayListHead = gfxCtx->polyXlu.p;
displayListHead = oGfxCtx->polyXlu.p;
cos = Math_Coss((0x4000 / arg3) * arg2);
gDPPipeSync(displayListHead++);
gDPSetFogColor(displayListHead++, color->r, color->g, color->b, color->a);
gSPFogPosition(displayListHead++, 0, (s16)(2800.0f * ABS(cos)) + 1700);
gfxCtx->polyXlu.p = displayListHead;
oGfxCtx->polyXlu.p = displayListHead;
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) {
s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 217);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_eff_ss_dead.c", 217);
gDPPipeSync(gfxCtx->polyXlu.p++);
gfxCtx->polyXlu.p = func_800BC8A0(globalCtx, gfxCtx->polyXlu.p);
gDPPipeSync(oGfxCtx->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) {
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);
@ -331,12 +329,12 @@ void EnAObj_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
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);
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.
*/
void func_8001EF30(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad;
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_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);
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) {
s32 iconNb;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
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) {
iconNb = 1;
@ -780,57 +777,55 @@ void func_8001F080(EnItem00* this, GlobalContext* globalCtx) {
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);
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.
*/
void func_8001F1F4(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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_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);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0403BBA0);
gSPDisplayList(oGfxCtx->polyOpa.p++, &D_0403BBA0);
func_80093D84(globalCtx->state.gfxCtx);
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);
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.
*/
void func_8001F334(EnItem00* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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_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);
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,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor) {
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();
@ -138,27 +136,27 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
dList = limb->dList[0];
if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++,
gSPMatrix(oGfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
} else if (lod == 1) {
s32 pad2;
dList = limb->dList[0];
if (dList != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++,
gSPMatrix(oGfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
dList = limb->dList[1];
if (dList != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++,
gSPMatrix(oGfxCtx->polyXlu.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, dList);
gSPDisplayList(oGfxCtx->polyXlu.p++, dList);
}
} else {
// 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);
}
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,

View file

@ -206,9 +206,8 @@ void Health_Draw(GlobalContext* globalCtx) {
s32 curCombineModeSet = 0;
u8* curBgImgLoaded = NULL;
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)) {
fullHeartCount--;
@ -223,37 +222,37 @@ void Health_Draw(GlobalContext* globalCtx) {
if (i < fullHeartCount) {
if (curColorSet != 0) {
curColorSet = 0;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
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);
}
} else if (i == fullHeartCount) {
if (curColorSet != 1) {
curColorSet = 1;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_202[0], interfaceCtx->unk_202[1],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_202[0], interfaceCtx->unk_202[1],
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);
}
} else if (i > fullHeartCount) {
if (curColorSet != 2) {
curColorSet = 2;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[0], interfaceCtx->unk_20E[2],
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);
}
} else {
if (curColorSet != 3) {
curColorSet = 3;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[1], interfaceCtx->unk_20E[3],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, interfaceCtx->unk_20E[1], interfaceCtx->unk_20E[3],
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);
}
}
@ -269,34 +268,34 @@ void Health_Draw(GlobalContext* globalCtx) {
if (i < fullHeartCount) {
if (curColorSet != 4) {
curColorSet = 4;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
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) {
if (curColorSet != 5) {
curColorSet = 5;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDC0[0], D_8015FDC0[1], D_8015FDC0[2],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDC0[0], D_8015FDC0[1], D_8015FDC0[2],
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) {
if (curColorSet != 6) {
curColorSet = 6;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[0], D_8015FDD0[1], D_8015FDD0[2],
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 (curColorSet != 7) {
curColorSet = 7;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, D_8015FDD0[3], D_8015FDD0[4], D_8015FDD0[5],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, D_8015FDD0[3], D_8015FDD0[4], D_8015FDD0[5],
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) {
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_NOLOD, G_TX_NOLOD);
}
@ -321,7 +320,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 1) {
curCombineModeSet = 1;
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,
0);
}
@ -329,7 +328,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 3) {
curCombineModeSet = 3;
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);
}
}
@ -341,7 +340,7 @@ void Health_Draw(GlobalContext* globalCtx) {
temp4 *= 1024.0f;
temp1 = 8.0f;
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)temp4, (s32)temp4);
} else {
@ -349,7 +348,7 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 2) {
curCombineModeSet = 2;
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,
0);
}
@ -357,18 +356,18 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 4) {
curCombineModeSet = 4;
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);
}
}
if (1) {
{
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),
-130.0f + offsetX, 94.5f - offsetY, 0.0f);
gSPMatrix(gfxCtx->overlay.p++, matrix, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, sp154, 4, 0);
gSP1Quadrangle(gfxCtx->overlay.p++, 0, 2, 3, 1, 0);
gSPMatrix(oGfxCtx->overlay.p++, matrix, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(oGfxCtx->overlay.p++, sp154, 4, 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);

View file

@ -314,22 +314,19 @@ void Map_Init(GlobalContext* globalCtx) {
#ifdef NON_MATCHING
// regalloc and minor ordering differences
void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
Player* player = PLAYER;
s16 tempX, tempY, tempZ;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 565);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_map_exp.c", 565);
if (globalCtx->interfaceCtx.minimapAlpha >= 0xAA) {
func_80094A14(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->overlay.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
gSPMatrix(oGfxCtx->overlay.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 255);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 255);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
tempX = player->actor.posRot.pos.x;
tempZ = player->actor.posRot.pos.z;
@ -340,11 +337,11 @@ void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
Matrix_RotateX(-1.6f, MTXMODE_APPLY);
tempY = (0x7FFF - player->actor.shape.rot.y) / 0x400;
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);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 255, 0, 255);
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 255, 0, 255);
gSPDisplayList(oGfxCtx->overlay.p++, D_0400C820);
tempX = sPlayerInitialPosX;
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_RotateX(VREG(52) / 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);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0xFF, 200, 0, 0, 255);
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0xFF, 200, 0, 0, 255);
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
#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];
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
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) {
switch (globalCtx->sceneNum) {
@ -390,17 +385,17 @@ void Minimap_Draw(GlobalContext* globalCtx) {
case SCENE_ICE_DOUKUTO:
if (!R_MINIMAP_TOGGLED) {
func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineLERP(gfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE,
0, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(oGfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0,
PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0);
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_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,
0, 0, 1024, 1024);
}
@ -447,16 +442,16 @@ void Minimap_Draw(GlobalContext* globalCtx) {
if (!R_MINIMAP_TOGGLED) {
func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1),
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1),
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,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
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_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0,
0, 1024, 1024);
@ -468,11 +463,11 @@ void Minimap_Draw(GlobalContext* globalCtx) {
((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) &&
(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_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++,
gSPTextureRectangle(oGfxCtx->overlay.p++,
gMapData->owEntranceIconPosX[sEntranceIconMapIndex] << 2,
gMapData->owEntranceIconPosY[sEntranceIconMapIndex] << 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])) {
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_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);
}
@ -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) {

View file

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

View file

@ -37,48 +37,47 @@ void func_8007B934(s32 arg0, s32 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) {
osSyncPrintf("moji_tlut --> %X\n", gLetterTLUT);
}
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;
}
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,
1024);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_moji.c", 123);
CLOSE_DISPS(gfxCtx, "../z_moji.c", 123);
}
void func_8007BBA8(GraphicsContext* gfxCtx, u8* arg1) {
s32 i;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_moji.c", 137);
OPEN_DISPS(gfxCtx, "../z_moji.c", 137);
if ((u32)gFontFF & 0xF) {
osSyncPrintf("font_ff --> %X\n", gFontFF);
}
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, sFontColorRed, sFontColorGreen, sFontColorBlue, sFontColorAlpha);
gDPPipeSync(oGfxCtx->polyOpa.p++);
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);
gDPSetTile(gfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
gDPSetTextureImage(oGfxCtx->polyOpa.p++, G_IM_FMT_CI, G_IM_SIZ_16b, 1, (s32)gFontFF);
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);
gDPLoadSync(gfxCtx->polyOpa.p++);
gDPLoadBlock(gfxCtx->polyOpa.p++, G_TX_LOADTILE, 0, 0, 511, 2048);
gDPPipeSync(gfxCtx->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,
gDPLoadSync(oGfxCtx->polyOpa.p++);
gDPLoadBlock(oGfxCtx->polyOpa.p++, G_TX_LOADTILE, 0, 0, 511, 2048);
gDPPipeSync(oGfxCtx->polyOpa.p++);
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);
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;
@ -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) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
s16 magicBarY;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 2650);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2650);
if (gSaveContext.magicLevel != 0) {
if (gSaveContext.healthCapacity > 0xA0) {
@ -2572,71 +2569,71 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) {
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);
gDPSetEnvColor(gfxCtx->overlay.p++, 100, 50, 50, 255);
gDPSetEnvColor(oGfxCtx->overlay.p++, 100, 50, 50, 255);
gfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024);
oGfxCtx->overlay.p =
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);
gDPSetTextureImage(gfxCtx->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,
gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_020038C0);
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);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 2048);
gDPPipeSync(gfxCtx->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,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 2048);
gDPPipeSync(oGfxCtx->overlay.p++);
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);
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,
256, 0, 1024, 1024);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, 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) {
// 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_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,
0, 1024, 1024);
// Fill the rest of the bar with the normal magic color
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
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,
0, 0, 1024, 1024);
} else {
// 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);
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_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,
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) {
@ -2676,23 +2673,21 @@ void func_80088B34(s16 arg0) {
}
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(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,
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,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->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,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(oGfxCtx->overlay.p++);
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);
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 };
@ -2708,75 +2703,71 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
s16 i; // sp+0x14A
s16 cUpAlpha;
s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 2900);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 2900);
// B Button Color & Texture
// Also loads the Item Button Texture reused by other buttons afterwards
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->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),
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2),
interfaceCtx->bAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 255);
gfxCtx->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),
R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 255);
oGfxCtx->overlay.p =
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_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2);
// C-Left Button Color & Texture
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
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,
G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(1) * 2, R_ITEM_BTN_DD(1) * 2);
// 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);
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,
G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(2) * 2, R_ITEM_BTN_DD(2) * 2);
// 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);
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,
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 != 0) || (globalCtx->pauseCtx.flag != 0)) {
// Start Button Texture, Color & Label
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 120, 120, 120, interfaceCtx->startAlpha);
gSPTextureRectangle(gfxCtx->overlay.p++, sStartButtonLeftPos[gSaveContext.language] << 2, 68,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 120, 120, 120, interfaceCtx->startAlpha);
gSPTextureRectangle(oGfxCtx->overlay.p++, sStartButtonLeftPos[gSaveContext.language] << 2, 68,
(sStartButtonLeftPos[gSaveContext.language] + 22) << 2, 156, G_TX_RENDERTILE, 0, 0,
1462, 1462);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
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);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(oGfxCtx->overlay.p++);
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);
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;
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_X(gSaveContext.language) + (s16)(16.0f / temp)) << 2,
(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)) {
if (!sCUpInvisible) {
// 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)) {
cUpAlpha = 0;
@ -2799,30 +2790,30 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
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);
gDPSetCombineMode(gfxCtx->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,
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
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);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, cUpAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, cUpAlpha);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
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]);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 1024);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 63, 1024);
gDPPipeSync(oGfxCtx->overlay.p++);
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_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);
}
@ -2833,29 +2824,29 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
}
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
// Empty C Button Arrows
for (i = 1; i < 4; i++) {
if (gSaveContext.equips.buttonItems[i] > 0xF0) {
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);
} 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);
} 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);
}
gfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i),
oGfxCtx->overlay.p =
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);
}
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3071);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3071);
}
#else
void Interface_DrawItemButtons(GlobalContext* globalCtx);
@ -2863,45 +2854,39 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx);
#endif
void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 button) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3079);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3079);
gDPLoadTextureBlock(oGfxCtx->overlay.p++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 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_NOLOD);
gDPLoadTextureBlock(gfxCtx->overlay.p++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 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_NOLOD);
gSPTextureRectangle(gfxCtx->overlay.p++, R_ITEM_ICON_X(button) << 2, R_ITEM_ICON_Y(button) << 2,
gSPTextureRectangle(oGfxCtx->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_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);
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) {
s16 item;
s16 ammo;
GraphicsContext* gfxCtx;
s16 i;
Gfx* dispRefs[3];
s16 ammo;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3105);
OPEN_DISPS(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) ||
((item >= ITEM_BOW_ARROW_FIRE) && (item <= ITEM_BOW_ARROW_LIGHT)) || (item == ITEM_SLINGSHOT) ||
(item == ITEM_BOMBCHU) || (item == ITEM_BEAN)) {
if ((item >= ITEM_BOW_ARROW_FIRE) && (item <= ITEM_BOW_ARROW_LIGHT)) {
item = ITEM_BOW;
if ((i == ITEM_STICK) || (i == ITEM_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) ||
((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) ||
(i == ITEM_BEAN)) {
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)) {
ammo = globalCtx->interfaceCtx.hbaAmmo;
@ -2912,17 +2897,17 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
if (ammo < 0) {
ammo = 0;
}
} else if (((item == ITEM_BOW) && (AMMO(item) == CUR_CAPACITY(UPG_QUIVER))) ||
((item == ITEM_BOMB) && (AMMO(item) == CUR_CAPACITY(UPG_BOMB_BAG))) ||
((item == ITEM_SLINGSHOT) && (AMMO(item) == CUR_CAPACITY(UPG_BULLET_BAG))) ||
((item == ITEM_STICK) && (AMMO(item) == CUR_CAPACITY(UPG_STICKS))) ||
((item == ITEM_NUT) && (AMMO(item) == CUR_CAPACITY(UPG_NUTS))) ||
((item == ITEM_BOMBCHU) && (ammo == 50)) || ((item == ITEM_BEAN) && (ammo == 15))) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 120, 255, 0, alpha);
} else if (((i == ITEM_BOW) && (AMMO(i) == CUR_CAPACITY(UPG_QUIVER))) ||
((i == ITEM_BOMB) && (AMMO(i) == CUR_CAPACITY(UPG_BOMB_BAG))) ||
((i == ITEM_SLINGSHOT) && (AMMO(i) == CUR_CAPACITY(UPG_BULLET_BAG))) ||
((i == ITEM_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_STICKS))) ||
((i == ITEM_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_NUTS))) || ((i == ITEM_BOMBCHU) && (ammo == 50)) ||
((i == ITEM_BEAN) && (ammo == 15))) {
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 120, 255, 0, alpha);
}
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++) {
@ -2930,24 +2915,21 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
}
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);
}
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);
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3158);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3158);
}
void Interface_DrawActionButton(GlobalContext* globalCtx) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3172);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3172);
Matrix_Translate(0.0f, 0.0f, XREG(18) / 10.0f, MTXMODE_NEW);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
@ -2955,17 +2937,17 @@ void Interface_DrawActionButton(GlobalContext* globalCtx) {
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);
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_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) {
@ -3115,17 +3097,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
s16 phi_s1;
s16 phi_s0;
s16 sp274;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
s32 pad;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_parameter.c", 3405);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3405);
gSPSegment(gfxCtx->overlay.p++, 0x02, interfaceCtx->parameterSegment);
gSPSegment(gfxCtx->overlay.p++, 0x07, interfaceCtx->do_actionSegment);
gSPSegment(gfxCtx->overlay.p++, 0x08, interfaceCtx->icon_itemSegment);
gSPSegment(gfxCtx->overlay.p++, 0x0B, interfaceCtx->mapSegment);
gSPSegment(oGfxCtx->overlay.p++, 0x02, interfaceCtx->parameterSegment);
gSPSegment(oGfxCtx->overlay.p++, 0x07, interfaceCtx->do_actionSegment);
gSPSegment(oGfxCtx->overlay.p++, 0x08, interfaceCtx->icon_itemSegment);
gSPSegment(oGfxCtx->overlay.p++, 0x0B, interfaceCtx->mapSegment);
if (pauseCtx->flag == 0) {
Interface_InitVertices(globalCtx);
@ -3135,9 +3113,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
func_80094520(globalCtx->state.gfxCtx);
// Rupee Icon
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 255, 100, interfaceCtx->magicAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 80, 0, 255);
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, D_02001F00, 16, 16, 26, 206, 16, 16, 1024, 1024);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 255, 100, interfaceCtx->magicAlpha);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 80, 0, 255);
oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, D_02001F00, 16, 16, 26, 206, 16, 16, 1024, 1024);
switch (globalCtx->sceneNum) {
case SCENE_BMORI1:
@ -3156,16 +3134,16 @@ void Interface_Draw(GlobalContext* globalCtx) {
case SCENE_TAKARAYA:
if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] >= 0) {
// Small Key Icon
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 20, 255);
gfxCtx->overlay.p =
Gfx_TextureIA8(gfxCtx->overlay.p, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 20, 255);
oGfxCtx->overlay.p =
Gfx_TextureIA8(oGfxCtx->overlay.p, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024);
// Small Key Counter
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
gDPSetCombineLERP(gfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
gDPSetCombineLERP(oGfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
interfaceCtx->counterDigits[2] = 0;
@ -3178,14 +3156,14 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s2 = 42;
if (interfaceCtx->counterDigits[2] != 0) {
gfxCtx->overlay.p =
Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16, phi_s2,
190, 8, 16, 1024, 1024);
oGfxCtx->overlay.p =
Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16,
phi_s2, 190, 8, 16, 1024, 1024);
phi_s2 = 50;
}
gfxCtx->overlay.p = Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[3]], 8,
16, phi_s2, 190, 8, 16, 1024, 1024);
oGfxCtx->overlay.p = Gfx_TextureI8(oGfxCtx->overlay.p, &D_02003040[interfaceCtx->counterDigits[3]],
8, 16, phi_s2, 190, 8, 16, 1024, 1024);
}
phi_s2 = 42;
@ -3198,17 +3176,17 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s2 = 42;
// Rupee Counter
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
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) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
} 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);
interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0;
@ -3232,7 +3210,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s1 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)];
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);
}
@ -3247,9 +3225,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
Interface_DrawItemButtons(globalCtx);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
if (interfaceCtx->unk_1FA == 0) {
// B Button Icon & possibly Ammo Count
@ -3258,8 +3236,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) ||
((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0);
Interface_DrawAmmoCount(globalCtx, 0, interfaceCtx->bAlpha);
@ -3267,91 +3245,91 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
} else {
// B Button Do Action Label
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, 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->bAlpha);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
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);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0x0000, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(oGfxCtx->overlay.p++);
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_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);
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) + 16) << 2, G_TX_RENDERTILE, 0, 0, R_B_LABEL_DD,
R_B_LABEL_DD);
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
// C-Left Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[1] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cLeftAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cLeftAlpha);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x1000), 1);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 1, interfaceCtx->cLeftAlpha);
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
// C-Down Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[2] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cDownAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cDownAlpha);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x2000), 2);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 2, interfaceCtx->cDownAlpha);
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
// C-Right Button Icon & Ammo Count
if (gSaveContext.equips.buttonItems[3] < 0xF0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cRightAlpha);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->cRightAlpha);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x3000), 3);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineLERP(oGfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 3, interfaceCtx->cRightAlpha);
}
// A Button
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);
gSPClearGeometryMode(gfxCtx->overlay.p++, G_CULL_BOTH);
gDPSetCombineMode(gfxCtx->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),
gSPClearGeometryMode(oGfxCtx->overlay.p++, G_CULL_BOTH);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, R_A_BTN_COLOR(0), R_A_BTN_COLOR(1), R_A_BTN_COLOR(2),
interfaceCtx->aAlpha);
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);
gSPSetGeometryMode(gfxCtx->overlay.p++, G_CULL_BACK);
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
gSPSetGeometryMode(oGfxCtx->overlay.p++, G_CULL_BACK);
gDPSetCombineLERP(oGfxCtx->overlay.p++, 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);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
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_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);
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)) {
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));
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
func_8008A994(interfaceCtx);
if ((pauseCtx->state == 6) && (pauseCtx->unk_1E4 == 3)) {
// Inventory Equip Effects
gSPSegment(gfxCtx->overlay.p++, 0x08, pauseCtx->unk_128);
gSPSegment(oGfxCtx->overlay.p++, 0x08, pauseCtx->unk_128);
func_80094A14(globalCtx->state.gfxCtx);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gSPMatrix(gfxCtx->overlay.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
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[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) {
// 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);
gSPVertex(gfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, pauseCtx->unk_258);
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]);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0, 0x0000, G_TX_LOADTILE, 0,
gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, gItemIcons[pauseCtx->unk_24E]);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 1023, 128);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0x0000, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 1023, 128);
gDPPipeSync(oGfxCtx->overlay.p++);
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_NOLOD);
gDPSetTileSize(gfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124);
gDPSetTileSize(oGfxCtx->overlay.p++, G_TX_RENDERTILE, 0, 0, 124, 124);
} else {
// Magic Arrow Equip Effect
phi_s3_2 = pauseCtx->unk_24E - 0xBF;
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, sMagicArrowEffectsR[phi_s3_2], sMagicArrowEffectsG[phi_s3_2],
sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, sMagicArrowEffectsR[phi_s3_2],
sMagicArrowEffectsG[phi_s3_2], sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258);
if ((pauseCtx->unk_258 > 0) && (pauseCtx->unk_258 < 0xFF)) {
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;
}
gSPVertex(gfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0);
gDPSetTextureImage(gfxCtx->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,
gSPVertex(oGfxCtx->overlay.p++, &pauseCtx->vtx_168[16], 4, 0);
gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_080895C0);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 511, 512);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0x0000, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 511, 512);
gDPPipeSync(oGfxCtx->overlay.p++);
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_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);
@ -3435,29 +3413,29 @@ void Interface_Draw(GlobalContext* globalCtx) {
// Carrots rendering if the action corresponds to riding a horse
if (interfaceCtx->unk_1EE == 8) {
// Load Carrot Icon
gDPSetTextureImage(gfxCtx->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,
gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, &D_02002100);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 255, 256);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 4, 0x0000, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 255, 256);
gDPPipeSync(oGfxCtx->overlay.p++);
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_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
phi_s1 = ZREG(14);
for (phi_s3 = 1; phi_s3 < 7; phi_s3++) {
// Carrot Color (based on availability)
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 {
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);
phi_s1 += 16;
@ -3465,42 +3443,42 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
} else {
// 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
gDPSetTextureImage(gfxCtx->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,
gDPSetTextureImage(oGfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_02002600);
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_NOLOD);
gDPLoadSync(gfxCtx->overlay.p++);
gDPLoadBlock(gfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 383, 342);
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetTile(gfxCtx->overlay.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 6, 0x0000, G_TX_RENDERTILE, 0,
gDPLoadSync(oGfxCtx->overlay.p++);
gDPLoadBlock(oGfxCtx->overlay.p++, G_TX_LOADTILE, 0, 0, 383, 342);
gDPPipeSync(oGfxCtx->overlay.p++);
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_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);
// Score Counter
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
phi_s0 = 0;
phi_s1 = WREG(32) + 6 * 9;
for (phi_s3 = 0; phi_s3 < 4; phi_s3++) {
if (sHBAScoreDigits[phi_s3] != 0 || (phi_s0 != 0) || (phi_s3 >= 3)) {
gfxCtx->overlay.p =
Gfx_TextureI8(gfxCtx->overlay.p, &D_02003040[sHBAScoreDigits[phi_s3]], 8, 16, phi_s1,
oGfxCtx->overlay.p =
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);
phi_s1 += 9;
phi_s0++;
}
}
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
}
}
@ -3881,32 +3859,32 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
// Clock Icon
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gfxCtx->overlay.p++, 0, 0, 0, 0);
gfxCtx->overlay.p = Gfx_TextureIA8(gfxCtx->overlay.p, D_02002000, 16, 16, gSaveContext.timerX[sp274],
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(oGfxCtx->overlay.p++, 0, 0, 0, 0);
oGfxCtx->overlay.p = Gfx_TextureIA8(oGfxCtx->overlay.p, D_02002000, 16, 16, gSaveContext.timerX[sp274],
gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024);
// Timer Counter
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCombineMode(oGfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
if (gSaveContext.timer1State != 0) {
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 {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 255, 255, 255, 255);
}
} else {
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 {
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++) {
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.timerY[sp274], sDigitWidth[phi_s3], VREG(42),
VREG(43) * 2, VREG(43) * 2);
@ -3920,13 +3898,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
if (interfaceCtx->unk_244 != 0) {
gDPPipeSync(gfxCtx->overlay.p++);
gSPDisplayList(gfxCtx->overlay.p++, sSetupDL_80125A60);
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0, 0, 0, interfaceCtx->unk_244);
gDPFillRectangle(gfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(oGfxCtx->overlay.p++);
gSPDisplayList(oGfxCtx->overlay.p++, sSetupDL_80125A60);
gDPSetPrimColor(oGfxCtx->overlay.p++, 0, 0, 0, 0, 0, interfaceCtx->unk_244);
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
s16 D_8015FFE0;

View file

@ -223,18 +223,18 @@ void Gameplay_Init(GlobalContext* globalCtx) {
globalCtx->cameraPtrs[i] = NULL;
}
func_80057C6C(&globalCtx->cameras[0], &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->cameras[0], 7);
func_80057C6C(&globalCtx->mainCamera, &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->mainCamera, 7);
for (i = 0; i < 3; i++) {
func_80057C6C(&globalCtx->cameras[i + 1], &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->cameras[i + 1], 0x100);
func_80057C6C(&globalCtx->subCameras[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->subCameras[i], 0x100);
}
globalCtx->cameraPtrs[0] = &globalCtx->cameras[0];
globalCtx->cameraPtrs[0] = &globalCtx->mainCamera;
globalCtx->cameraPtrs[0]->uid = 0;
globalCtx->activeCamera = 0;
func_8005AC48(&globalCtx->cameras[0], 0xFF);
func_8005AC48(&globalCtx->mainCamera, 0xFF);
func_800A9D28(globalCtx, &globalCtx->sub_1F74);
func_80112098(globalCtx);
func_80110F68(globalCtx);
@ -385,13 +385,13 @@ void Gameplay_Init(GlobalContext* globalCtx) {
}
player = PLAYER;
func_80058148(&globalCtx->cameras[0], player);
func_8005A444(&globalCtx->cameras[0], 0);
func_80058148(&globalCtx->mainCamera, player);
func_8005A444(&globalCtx->mainCamera, 0);
playerStartCamId = player->actor.params & 0xFF;
if (playerStartCamId != 0xFF) {
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) {
@ -1070,39 +1070,37 @@ void Gameplay_DrawOverlayElements(GlobalContext* globalCtx) {
#ifdef NON_MATCHING
// regalloc, stack usage and minor ordering differences
void Gameplay_Draw(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
LightMapper* sp228;
Vec3f sp21C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4]; // 0x208
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_play.c", 3907);
OPEN_DISPS(gfxCtx, "../z_play.c", 3907);
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[2] = PHYSICAL_TO_VIRTUAL(globalCtx->sceneSegment);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyXlu.p++, 0x00, NULL);
gSPSegment(gfxCtx->overlay.p++, 0x00, NULL);
gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(oGfxCtx->polyXlu.p++, 0x00, NULL);
gSPSegment(oGfxCtx->overlay.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(gfxCtx->polyXlu.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(gfxCtx->overlay.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
gSPSegment(oGfxCtx->polyXlu.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(gfxCtx->polyXlu.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(gfxCtx->overlay.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
gSPSegment(oGfxCtx->polyXlu.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(gfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(gfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment);
gSPSegment(oGfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment);
func_80095248(gfxCtx, 0, 0, 0);
if ((HREG(80) != 10) || (HREG(82) != 0)) {
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p);
gfxCtx->polyXlu.p = func_800BC8A0(globalCtx, gfxCtx->polyXlu.p);
oGfxCtx->polyOpa.p = func_800BC8A0(globalCtx, oGfxCtx->polyOpa.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_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),
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)) {
Gfx* sp1CC = gfxCtx->polyOpa.p;
Gfx* gfxP = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, gfxP);
Gfx* sp1CC = oGfxCtx->polyOpa.p;
Gfx* gfxP = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
gSPDisplayList(oGfxCtx->overlay.p++, gfxP);
if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) ||
(globalCtx->transitionCtx.transitionType >= 56)) {
@ -1151,13 +1149,13 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
gSPEndDisplayList(gfxP++);
Graph_BranchDlist(sp1CC, gfxP);
gfxCtx->polyOpa.p = gfxP;
oGfxCtx->polyOpa.p = gfxP;
}
if (gTrnsnUnkState == 3) {
Gfx* sp88 = gfxCtx->polyOpa.p;
Gfx* sp88 = oGfxCtx->polyOpa.p;
TransitionUnk_Draw(&sTrnsnUnk, &sp88);
gfxCtx->polyOpa.p = sp88;
oGfxCtx->polyOpa.p = sp88;
goto Gameplay_Draw_DrawOverlayElements;
} else {
func_800C0ED8(&globalCtx->preRenderCtx, 0x140, 0xF0, gfxCtx->curFrameBuffer, gZBuffer);
@ -1171,9 +1169,9 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
}
if (R_PAUSE_MENU_MODE == 3) {
Gfx* sp84 = gfxCtx->polyOpa.p;
Gfx* sp84 = oGfxCtx->polyOpa.p;
func_800C24BC(&globalCtx->preRenderCtx, &sp84);
gfxCtx->polyOpa.p = sp84;
oGfxCtx->polyOpa.p = sp84;
goto Gameplay_Draw_DrawOverlayElements;
} else {
s32 sp80;
@ -1288,7 +1286,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
}
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_14 = gZBuffer;
func_800C1F20(&globalCtx->preRenderCtx, &sp70);
@ -1299,7 +1297,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
} else {
gTrnsnUnkState = 2;
}
gfxCtx->overlay.p = sp70;
oGfxCtx->overlay.p = sp70;
globalCtx->preRenderCtx.unk_A3 = 2;
SREG(33) |= 1;
} else {
@ -1325,7 +1323,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
func_80059EC8(ACTIVE_CAM);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_play.c", 4508);
CLOSE_DISPS(gfxCtx, "../z_play.c", 4508);
}
#else
#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",
i);
globalCtx->cameraPtrs[i] = &globalCtx->cameras[i];
globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - 1];
func_80057C6C(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
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) {
f32 sp4C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
sp4C = (player->exchangeItemId != 0) ? 6.0f : 14.0f;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0x961);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 0x961);
gSegments[6] = PHYSICAL_TO_VIRTUAL(player->getItemModel);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, player->getItemModel);
gSPSegment(gfxCtx->polyXlu.p++, 0x06, player->getItemModel);
gSPSegment(oGfxCtx->polyOpa.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,
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_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
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) {
@ -558,8 +555,6 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Vec3f sp68;
f32 sp64;
f32 sp60;
Gfx* dispRefs[5]; // TODO confirm size
GraphicsContext* gfxCtx;
D_801260D0 = 0.0f;
Matrix_MultVec3f(&D_801260C8, &sp8C);
@ -567,10 +562,9 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Matrix_MultVec3f(&D_801260C8, &sp80);
if (func_8003E188(&globalCtx->colCtx, &sp8C, &sp80, &sp74, &sp9C, 1, 1, 1, 1, &sp98) != 0) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_player_lib.c", 0xA0C);
OPEN_DISPS(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);
@ -579,12 +573,12 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
Matrix_Translate(sp74.x, sp74.y, sp74.z, MTXMODE_NEW);
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);
gSPSegment(gfxCtx->overlay.p++, 0x06, globalCtx->objectCtx.status[player->actor.objBankIndex].segment);
gSPDisplayList(gfxCtx->overlay.p++, &D_0602CB48);
gSPSegment(oGfxCtx->overlay.p++, 0x06, globalCtx->objectCtx.status[player->actor.objBankIndex].segment);
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

View file

@ -26,19 +26,18 @@ void PreNMI_Update(PreNMIContext* prenmiCtx) {
void PreNMI_Draw(PreNMIContext* prenmiCtx) {
GraphicsContext* gfxCtx = prenmiCtx->state.gfxCtx;
Gfx* dispRefs[5];
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_800940B0(gfxCtx);
gDPSetFillColor(gfxCtx->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);
gDPSetFillColor(oGfxCtx->polyOpa.p++, (GPACK_RGBA5551(255, 255, 255, 1) << 16) | GPACK_RGBA5551(255, 255, 255, 1));
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) {

View file

@ -857,169 +857,137 @@ Gfx* func_80093808(Gfx* gfx) {
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1297);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1297);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1313);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1313);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1329);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1329);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1345);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1345);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1361);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1361);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1377);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1377);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1393);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1393);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1409);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1409);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1425);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1425);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1443);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1443);
}
void func_80093C80(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
gfxCtx = globalCtx->state.gfxCtx;
func_80093D18(gfxCtx);
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) {
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1479);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1479);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1495);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1495);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1511);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1511);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1527);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1527);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1543);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1543);
}
Gfx* func_80093F34(Gfx* gfx) {
@ -1033,43 +1001,35 @@ Gfx* func_80093F58(Gfx* gfx) {
}
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);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1573);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1573);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1589);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1589);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1605);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1605);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1621);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1621);
}
Gfx* func_8009411C(Gfx* gfx) {
@ -1078,83 +1038,67 @@ Gfx* func_8009411C(Gfx* gfx) {
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1644);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1644);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1655);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1655);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1674);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1674);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1685);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1685);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1704);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1704);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1726);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1726);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1762);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1762);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1779);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1779);
}
Gfx* func_800944A0(Gfx* gfx) {
@ -1163,23 +1107,19 @@ Gfx* func_800944A0(Gfx* gfx) {
}
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);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1801);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1801);
}
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);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1811);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1811);
}
void func_8009457C(Gfx** gfxp) {
@ -1189,33 +1129,27 @@ void func_8009457C(Gfx** gfxp) {
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1841);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1841);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1857);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1857);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1873);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1873);
}
Gfx* func_800946E4(Gfx* gfx) {
@ -1275,84 +1209,68 @@ Gfx* func_80094968(Gfx* gfx) {
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1957);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1957);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1968);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1968);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 1996);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 1996);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2012);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2012);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2028);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2028);
}
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]);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2043);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2043);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2058);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2058);
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2090);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2090);
}
void func_80094D28(Gfx** gfxp) {
@ -1362,13 +1280,11 @@ void func_80094D28(Gfx** gfxp) {
}
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]);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2116);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2116);
}
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) {
Gfx* dispRefs[5];
s32 ret;
OPEN_DISPS(gfxCtx, "../z_rcp.c", 2386);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, sFillSetupDL);
gSPDisplayList(gfxCtx->overlay.p++, sFillSetupDL);
gDPSetScissorFrac(oGfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gDPSetScissorFrac(oGfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
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);
gDPSetScissorFrac(gfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth * 4.0f, gScreenHeight * 4.0f);
gDPSetScissorFrac(gfxCtx->overlay.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);
gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
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);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(gfxCtx->polyXlu.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
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);
gDPSetDepthImage(oGfxCtx->polyOpa.p++, gZBuffer);
gDPSetDepthImage(oGfxCtx->polyXlu.p++, gZBuffer);
gDPSetDepthImage(oGfxCtx->overlay.p++, gZBuffer);
if ((R_PAUSE_MENU_MODE < 2) && (gTrnsnUnkState < 2)) {
ret = ShrinkWindow_GetCurrentVal();
s32 ret = ShrinkWindow_GetCurrentVal();
if (HREG(80) == 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);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(gfxCtx->polyOpa.p++,
gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gZBuffer);
gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(oGfxCtx->polyOpa.p++,
(GPACK_RGBA5551(255, 255, 240, 0) << 16) | GPACK_RGBA5551(255, 255, 240, 0));
gDPFillRectangle(gfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetColorImage(gfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->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));
gDPFillRectangle(gfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetColorImage(oGfxCtx->polyOpa.p++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_FILL);
gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(oGfxCtx->polyOpa.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
gDPFillRectangle(oGfxCtx->polyOpa.p++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(oGfxCtx->polyOpa.p++);
if (ret > 0) {
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetCycleType(gfxCtx->overlay.p++, G_CYC_FILL);
gDPSetRenderMode(gfxCtx->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));
gDPFillRectangle(gfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, ret - 1);
gDPFillRectangle(gfxCtx->overlay.p++, 0, gScreenHeight - ret, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(gfxCtx->overlay.p++);
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetCycleType(oGfxCtx->overlay.p++, G_CYC_FILL);
gDPSetRenderMode(oGfxCtx->overlay.p++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(oGfxCtx->overlay.p++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
gDPFillRectangle(oGfxCtx->overlay.p++, 0, 0, gScreenWidth - 1, ret - 1);
gDPFillRectangle(oGfxCtx->overlay.p++, 0, gScreenHeight - ret, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(oGfxCtx->overlay.p++);
}
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2497);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2497);
}
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);
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);
CLOSE_DISPS(gfxCtx, "../z_rcp.c", 2513);
}

View file

@ -37,41 +37,38 @@ void func_80095AB4(GlobalContext* globalCtx, Room* room, u32 flags) {
s32 i;
PolygonType0* polygon0;
PolygonDlist* polygonDlist;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 193);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 193);
if (flags & 1) {
func_800342EC(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
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) {
func_8003435C(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
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;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon0->start);
for (i = 0; i < polygon0->num; i++) {
if ((flags & 1) && (polygonDlist->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa);
gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
}
if ((flags & 2) && (polygonDlist->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu);
gSPDisplayList(oGfxCtx->polyXlu.p++, polygonDlist->xlu);
}
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
@ -104,26 +101,24 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
PolygonDlist2* sp78;
f32 temp_f0;
f32 temp_f2;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
spB0 = 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) {
func_800342EC(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
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) {
func_8003435C(&D_801270A0, globalCtx);
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
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];
@ -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 ((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)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu);
gSPDisplayList(oGfxCtx->polyXlu.p++, phi_s0->xlu);
}
}
} else {
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)) {
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;
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 430);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 430);
}
#else
#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 sp94;
u32 sp90;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 628);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 628);
camera = ACTIVE_CAM;
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);
if (sp94 || sp98) {
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
if (sp94) {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa);
gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
}
if (sp98) {
// gSPLoadUcodeL(gfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
// gSPLoadUcodeL(oGfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
if (1) {
{
Vec3f sp60;
spA8 = gfxCtx->polyOpa.p;
spA8 = oGfxCtx->polyOpa.p;
func_8005AFB4(&sp60, camera);
func_8009638C(&spA8, polygon1->single.source, polygon1->single.tlut, polygon1->single.width,
polygon1->single.height, polygon1->single.fmt, polygon1->single.siz,
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);
gfxCtx->polyOpa.p = spA8;
oGfxCtx->polyOpa.p = spA8;
}
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
// gSPLoadUcode(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
}
}
if (sp90) {
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu);
gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
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) {
@ -434,11 +426,8 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
u32 sp94;
u32 sp90;
u32 sp8C;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_room.c", 752);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 752);
camera = ACTIVE_CAM;
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);
if (sp90 || sp94) {
gSPSegment(gfxCtx->polyOpa.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x03, room->segment);
if (sp90) {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, polygonDlist->opa);
gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, polygonDlist->opa);
}
if (sp94) {
// gSPLoadUcodeL(gfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
// gSPLoadUcodeL(oGfxCtx->polyOpa.p++, rspS2DEX)?
gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
if (1) {
{
Vec3f sp5C;
spA8 = gfxCtx->polyOpa.p;
spA8 = oGfxCtx->polyOpa.p;
func_8005AFB4(&sp5C, camera);
func_8009638C(&spA8, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt,
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);
gfxCtx->polyOpa.p = spA8;
oGfxCtx->polyOpa.p = spA8;
}
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
// gSPLoadUcode(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
gSPLoadUcodeEx(oGfxCtx->polyOpa.p++, SysUcode_GetUCode(), SysUcode_GetUCodeData(), 0x800);
}
}
if (sp8C) {
gSPSegment(gfxCtx->polyXlu.p++, 0x03, room->segment);
gSPSegment(oGfxCtx->polyXlu.p++, 0x03, room->segment);
func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyXlu.p++, polygonDlist->xlu);
gSPMatrix(oGfxCtx->polyXlu.p++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
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

View file

@ -12,33 +12,32 @@ void Sample_HandleStateChange(SampleContext* this) {
void Sample_Draw(SampleContext* this) {
GraphicsContext* gfxCtx = this->state.gfxCtx;
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(gfxCtx->polyOpa.p++, 0x01, this->staticSegment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(oGfxCtx->polyOpa.p++, 0x01, this->staticSegment);
func_80095248(gfxCtx, 0, 0, 0);
view->flags = 1 | 2 | 4;
func_800AAA50(view, 15);
if (1) {
{
Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx));
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);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_1CYCLE);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(gfxCtx->polyOpa.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 255, 255, 0, 0);
gDPSetCycleType(oGfxCtx->polyOpa.p++, G_CYC_1CYCLE);
gDPSetRenderMode(oGfxCtx->polyOpa.p++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(oGfxCtx->polyOpa.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
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) {

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;
Vec3f pos;
Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 773);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 773);
Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[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)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
do {
if (1) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
}
} while (0);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
}
if (1) {}
if (postLimbDraw != NULL) {
postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor);
}
@ -79,7 +75,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
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;
Vec3f pos;
Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (skeleton == NULL) {
osSyncPrintf(VT_FGCOL(RED));
@ -101,8 +95,9 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
osSyncPrintf(VT_RST);
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();
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)) {
Matrix_JointPosition(&pos, &rot);
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) {
@ -131,7 +127,8 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
}
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];
Vec3f pos;
Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
Matrix_Push();
@ -166,11 +161,10 @@ void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton*
Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) {
Matrix_ToMtx(*mtx, "../z_skelanime.c", 945);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 946);
gSPMatrix(gfxCtx->polyOpa.p++, *mtx, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 949);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 946);
gSPMatrix(oGfxCtx->polyOpa.p++, *mtx, G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 949);
(*mtx)++;
} else if (dList[0] != NULL) {
Matrix_ToMtx(*mtx, "../z_skelanime.c", 954);
@ -206,8 +200,6 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
Vec3f pos;
Vec3s rot;
Mtx* mtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
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);
return;
}
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1000);
gSPSegment(gfxCtx->polyOpa.p++, 0xD, mtx);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1000);
gSPSegment(oGfxCtx->polyOpa.p++, 0xD, mtx);
Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]);
@ -236,8 +229,8 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1033);
gSPMatrix(gfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]);
gSPMatrix(oGfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
mtx++;
} else if (dList[0] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1040);
@ -255,7 +248,7 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li
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;
Vec3f pos;
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();
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)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
do {
if (1) {
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103),
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103),
G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
}
} while (0);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList);
}
}
if (1) {}
if (postLimbDraw != NULL) {
postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor);
}
@ -312,7 +300,7 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele
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,
@ -322,8 +310,6 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
Gfx* dList;
Vec3f pos;
Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (skeleton == NULL) {
osSyncPrintf(VT_FGCOL(RED));
@ -332,9 +318,8 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
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();
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)) {
Matrix_JointPosition(&pos, &rot);
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);
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();
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,
@ -375,11 +360,9 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
Gfx* dList[2];
Vec3f pos;
Vec3s rot;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_skelanime.c", 1214);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1214);
Matrix_Push();
limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]);
@ -397,8 +380,8 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) {
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1242);
gSPMatrix(gfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]);
gSPMatrix(oGfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
(*limbMatricies)++;
} else if (dList[0] != NULL) {
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1249);
@ -422,7 +405,7 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske
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,
@ -433,8 +416,6 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
Vec3f pos;
Vec3s rot;
Mtx* mtx;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(Mtx));
@ -445,11 +426,9 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
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(gfxCtx->polyOpa.p++, 0xD, mtx);
gSPSegment(oGfxCtx->polyOpa.p++, 0xD, mtx);
Matrix_Push();
@ -468,8 +447,8 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
Matrix_JointPosition(&pos, &rot);
if (dList[1] != NULL) {
Matrix_ToMtx(mtx, "../z_skelanime.c", 1327);
gSPMatrix(gfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, dList[1]);
gSPMatrix(oGfxCtx->polyOpa.p++, mtx, G_MTX_LOAD);
gSPDisplayList(oGfxCtx->polyOpa.p++, dList[1]);
mtx++;
} else {
if (dList[0] != NULL) {
@ -489,7 +468,7 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD
}
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 lry;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx;
@ -174,14 +173,14 @@ void func_800AA550(View* view) {
__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++);
gDPSetScissor(gfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetScissor(gfxCtx->polyXlu.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetScissor(oGfxCtx->polyOpa.p++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPPipeSync(oGfxCtx->polyXlu.p++);
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) {
@ -279,10 +278,10 @@ s32 func_800AAA9C(View* view) {
Mtx* projection;
Mtx* viewing;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 596);
OPEN_DISPS(gfxCtx, "../z_view.c", 596);
vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 601);
@ -291,8 +290,8 @@ s32 func_800AAA9C(View* view) {
func_800AA550(view);
gSPViewport(gfxCtx->polyOpa.p++, vp);
gSPViewport(gfxCtx->polyXlu.p++, vp);
gSPViewport(oGfxCtx->polyOpa.p++, vp);
gSPViewport(oGfxCtx->polyXlu.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 616);
@ -335,10 +334,10 @@ s32 func_800AAA9C(View* view) {
func_800AA890(view, projection);
gSPPerspNormalize(gfxCtx->polyOpa.p++, view->normal);
gSPMatrix(gfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfxCtx->polyXlu.p++, view->normal);
gSPMatrix(gfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(oGfxCtx->polyOpa.p++, view->normal);
gSPMatrix(oGfxCtx->polyOpa.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(oGfxCtx->polyXlu.p++, view->normal);
gSPMatrix(oGfxCtx->polyXlu.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
viewing = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 667);
@ -368,10 +367,10 @@ s32 func_800AAA9C(View* view) {
osSyncPrintf("\n");
}
gSPMatrix(gfxCtx->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->polyOpa.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;
}
@ -380,10 +379,10 @@ s32 func_800AB0A8(View* view) {
Vp* vp;
Mtx* projection;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 726);
OPEN_DISPS(gfxCtx, "../z_view.c", 726);
vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 730);
@ -392,9 +391,9 @@ s32 func_800AB0A8(View* view) {
func_800AA550(view);
gSPViewport(gfxCtx->polyOpa.p++, vp);
gSPViewport(gfxCtx->polyXlu.p++, vp);
gSPViewport(gfxCtx->overlay.p++, vp);
gSPViewport(oGfxCtx->polyOpa.p++, vp);
gSPViewport(oGfxCtx->polyXlu.p++, vp);
gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 744);
@ -405,10 +404,10 @@ s32 func_800AB0A8(View* view) {
view->projection = *projection;
gSPMatrix(gfxCtx->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->polyOpa.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;
}
@ -417,22 +416,22 @@ s32 func_800AB2C4(View* view) {
Vp* vp;
Mtx* projection;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
if (1) {} // Necessary to match
gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 777);
OPEN_DISPS(gfxCtx, "../z_view.c", 777);
vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 781);
View_ViewportToVp(vp, &view->viewport);
view->vp = *vp;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetScissor(gfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetScissor(oGfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY);
gSPViewport(gfxCtx->overlay.p++, vp);
gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 791);
@ -443,9 +442,9 @@ s32 func_800AB2C4(View* view) {
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;
}
@ -459,20 +458,20 @@ s32 func_800AB560(View* view) {
Mtx* projection;
Mtx* viewing;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
gfxCtx = view->gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_view.c", 816);
OPEN_DISPS(gfxCtx, "../z_view.c", 816);
vp = Graph_Alloc(gfxCtx, sizeof(Vp));
LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 821);
View_ViewportToVp(vp, &view->viewport);
view->vp = *vp;
gDPPipeSync(gfxCtx->overlay.p++);
gDPSetScissor(gfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
gDPPipeSync(oGfxCtx->overlay.p++);
gDPSetScissor(oGfxCtx->overlay.p++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY);
gSPViewport(gfxCtx->overlay.p++, vp);
gSPViewport(oGfxCtx->overlay.p++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 833);
@ -486,8 +485,8 @@ s32 func_800AB560(View* view) {
view->projection = *projection;
gSPPerspNormalize(gfxCtx->overlay.p++, view->normal);
gSPMatrix(gfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(oGfxCtx->overlay.p++, view->normal);
gSPMatrix(oGfxCtx->overlay.p++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
viewing = Graph_Alloc(gfxCtx, sizeof(Mtx));
LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 848);
@ -505,23 +504,21 @@ s32 func_800AB560(View* view) {
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;
}
s32 func_800AB944(View* view) {
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, view->gfxCtx, "../z_view.c", 878);
OPEN_DISPS(view->gfxCtx, "../z_view.c", 878);
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,
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;
}

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) {
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);
gSPSegment(gfxCtx->polyOpa.p++, 7, skyboxCtx->staticSegments[0]);
gSPSegment(gfxCtx->polyOpa.p++, 8, skyboxCtx->staticSegments[1]);
gSPSegment(gfxCtx->polyOpa.p++, 9, skyboxCtx->staticSegments[2]);
gSPSegment(oGfxCtx->polyOpa.p++, 7, skyboxCtx->staticSegments[0]);
gSPSegment(oGfxCtx->polyOpa.p++, 8, skyboxCtx->staticSegments[1]);
gSPSegment(oGfxCtx->polyOpa.p++, 9, skyboxCtx->staticSegments[2]);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0x00, 0x00, 0, 0, 0, alpha);
gSPTexture(gfxCtx->polyOpa.p++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON)
gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0x00, 0x00, 0, 0, 0, alpha);
gSPTexture(oGfxCtx->polyOpa.p++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON);
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_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY);
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);
gDPSetTextureFilter(gfxCtx->polyOpa.p++, G_TF_BILERP);
gDPSetColorDither(oGfxCtx->polyOpa.p++, G_CD_MAGICSQ);
gDPSetTextureFilter(oGfxCtx->polyOpa.p++, G_TF_BILERP);
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, skyboxCtx->staticSegments[2]);
gDPSetTextureLUT(gfxCtx->polyOpa.p++, G_TT_RGBA16);
gDPSetTextureConvert(gfxCtx->polyOpa.p++, G_TC_FILT);
gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, skyboxCtx->staticSegments[2]);
gDPSetTextureLUT(oGfxCtx->polyOpa.p++, G_TT_RGBA16);
gDPSetTextureConvert(oGfxCtx->polyOpa.p++, G_TC_FILT);
if (skyboxCtx->unk_140) {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 1);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList);
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(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 3);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 3);
if (skyboxId != 2) {
if (skyboxId <= 0x10 || skyboxId >= 0x19) {
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 5);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 5);
gDPPipeSync(oGfxCtx->polyOpa.p++);
if (skyboxCtx->unk_140 != 2) {
gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 7);
gDPLoadTLUT_pal256(oGfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 7);
}
}
}
} else {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 8);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 8);
if (skyboxId == 5) {
gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 10);
gSPDisplayList(oGfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 10);
}
}
gDPPipeSync(gfxCtx->polyOpa.p++);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_vr_box_draw.c", 125);
gDPPipeSync(oGfxCtx->polyOpa.p++);
CLOSE_DISPS(gfxCtx, "../z_vr_box_draw.c", 125);
}
void SkyboxDraw_Update(SkyboxContext* skyboxCtx) {

View file

@ -308,13 +308,10 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
Vec3f sp60;
f32 sp5C;
f32 sp58;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (player->actor.draw != NULL) {
if (player->unk_15D == 0xF) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) {
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_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);
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);
Math_Vec3f_Diff(&player->unk_3C8, &this->actor.posRot.pos, &sp78);
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_RotateX(Math_atan2f(-sp78.y, sp5C), 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);
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;
s32 pad;
u32 stateFrames;
GraphicsContext* gfxCtx;
Actor* tranform;
EnArrow* arrow;
Gfx* dispRefs[4];
Actor* tranform;
stateFrames = globalCtx->state.frames;
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 (1) {}
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);
// clang-format on
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
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_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
if (this->unk_15C > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0, 0,
oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0, 0,
(s32)(150.0f * this->unk_15C) & 0xFF);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
}
// Draw fire on the arrow
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 200, 0, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 128);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 200, 0, this->alpha);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) {
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_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);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++,
gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1,
255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682);
gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
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;
Actor* tranform;
u32 stateFrames;
GraphicsContext* gfxCtx;
EnArrow* arrow;
Gfx* dispRefs[4];
stateFrames = globalCtx->state.frames;
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 (1) {}
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);
// clang-format on
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610);
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_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
if (this->unk_164 > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF,
oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
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);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
}
// Draw ice on the arrow
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 170, 255, 255, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 255, 128);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 170, 255, 255, this->alpha);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) {
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_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);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++,
gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1,
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676);
gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
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;
s32 pad;
u32 stateFrames;
GraphicsContext* gfxCtx;
Actor* tranform;
EnArrow* arrow;
Gfx* dispRefs[4];
Actor* tranform;
stateFrames = globalCtx->state.frames;
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 (1) {}
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);
// clang-format on
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_light.c", 598);
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_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
if (this->unk_164 > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF,
oGfxCtx->polyXlu.p = func_800937C0(oGfxCtx->polyXlu.p);
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);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
gDPSetAlphaDither(oGfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(oGfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(oGfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
}
// Draw light on the arrow
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 170, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 0, 128);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 255, 170, this->alpha);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 0, 128);
Matrix_RotateRPY(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) {
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_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);
gSPDisplayList(gfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(gfxCtx->polyXlu.p++,
gSPDisplayList(oGfxCtx->polyXlu.p++, sTextureDL);
gSPDisplayList(oGfxCtx->polyXlu.p++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1,
511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16));
gSPDisplayList(gfxCtx->polyXlu.p++, sVertexDL);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664);
gSPDisplayList(oGfxCtx->polyXlu.p++, sVertexDL);
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_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,
&D_801333E0, &D_801333E8);
}

View file

@ -273,15 +273,14 @@ void BgDodoago_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672);
if (Flags_GetEventChkInf(0xB0)) {
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 323);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 323);
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);
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) {
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);
gSPSegment(gfxCtx->polyXlu.p++, 8,
gSPSegment(oGfxCtx->polyXlu.p++, 8,
Gfx_TexScroll(globalCtx->state.gfxCtx, globalCtx->gameplayFrames & 127,
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,
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka.c", 401);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka.c", 401);
func_80093D18(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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_060001B0);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_060001B0);
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);
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) {
s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 476);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 476);
func_80093D84(globalCtx->state.gfxCtx);
Matrix_Translate(this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.y + 235.0f,
this->dyna.actor.posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.shape.rot.y * 0.0000958738f, MTXMODE_APPLY);
Matrix_Scale(0.07f, 0.04f, 0.07f, MTXMODE_APPLY);
if (1) {}
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0, 170, 255, 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 0, 170, 255, 255);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, this->fireScroll & 127, 0, 32, 64, 1, 0,
(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);
gSPDisplayList(gfxCtx->polyXlu.p++, D_040184B0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 501);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_040184B0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka_tubo.c", 501);
}
void BgHakaTubo_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -495,11 +495,8 @@ void BgHeavyBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgHeavyBlock* this = THIS;
s32 pad;
Player* player = PLAYER;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 904);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 904);
if (BgHeavyBlock_LiftedUp == this->actionFunc) {
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);
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);
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) {

View file

@ -192,20 +192,17 @@ void BgHidanFirewall_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgHidanFirewall_Draw(Actor* thisx, GlobalContext* globalCtx) {
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);
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 0x14);
oGfxCtx->polyXlu.p = Gfx_CallSetupDL(oGfxCtx->polyXlu.p, 0x14);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80886D04[this->unk_150]));
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0x01, 255, 255, 0, 150);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 255);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 458),
gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80886D04[this->unk_150]));
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0x01, 255, 255, 0, 150);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 255);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 458),
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 350);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 350);
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);
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 pad;
MtxF mf;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 564);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 564);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_0600AD00);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_0600AD00);
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) {
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++) {
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 {
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++) {
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ingate.c", 240);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 240);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001040);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ingate.c", 250);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06001040);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 145);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 145);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_05004350));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 153),
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(&D_05004350));
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 153),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(gfxCtx->polyOpa.p++, 232, 210, 176, 255);
gSPDisplayList(gfxCtx->polyOpa.p++, D_05004CD0);
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 232, 210, 176, 255);
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) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 706);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 706);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex]));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 716),
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex]));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex]));
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 716),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06005780);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 720);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06005780);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_megami.c", 720);
}
void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) {
s32 pad;
BgJyaMegamiPiece* piece;
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);
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,
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);
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) {

View file

@ -101,24 +101,23 @@ void BgMjin_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgMjin_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgMjin* this = THIS;
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) {
objBankIndex = Object_GetIndex(&globalCtx->objectCtx, sObjectIDs[thisx->params - 1]);
s32 objBankIndex = Object_GetIndex(&globalCtx->objectCtx, sObjectIDs[thisx->params - 1]);
if (objBankIndex >= 0) {
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;
} else {
dlist = D_06000140;
}
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);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mjin.c", 288);
gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
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) {
s32 pad;
BgMoriElevator* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 575);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 575);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIndex].segment);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 580),
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIndex].segment);
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 580),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06002AD0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_elevator.c", 584);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06002AD0);
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) {
BgMoriHineri* this = THIS;
s8 objIndex;
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618),
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment);
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618),
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) {
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_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);
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) &&
(Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx))) {
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, &D_80116280[2]);
gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, &D_80116280[2]);
Matrix_Put(&mtx);
Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY);
Matrix_RotateY(1.5707964f, 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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000AE8);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000AE8);
Matrix_Put(&mtx);
Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY);
if (Flags_GetTreasure(globalCtx, 0xE)) {
@ -276,9 +274,10 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
Matrix_RotateZ(M_PI, 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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06000000);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_pushbox.c", 272);
gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06000000);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 210);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 210);
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);
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) {
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);
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);
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) {

View file

@ -71,21 +71,20 @@ void BgSpot01Idomizu_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgSpot01Idomizu_Draw(Actor* thisx, GlobalContext* globalCtx) {
u32 frames;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 228);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 228);
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);
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,
frames & 0x7F, 32, 32));
gSPDisplayList(gfxCtx->polyXlu.p++, D_060007D0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 244);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_060007D0);
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;
void BgSpot01Idosoko_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 162);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 162);
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);
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) {
BgSpot09Obj* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[3];
Gfx_DrawDListOpa(globalCtx, sDLists[thisx->params]);
if (thisx->params == 3) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 388);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 388);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 259);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 259);
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);
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) {
BgSpot16Doughnut* this = THIS;
u32 scroll;
GraphicsContext* gfxCtx;
Gfx* dispRefs[5];
u32 scroll = globalCtx->gameplayFrames & 0xFFFF;
s32 pad;
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);
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);
if (this->fireFlag & 1) {
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));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, this->envColorAlpha);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000660);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, this->envColorAlpha);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000660);
} else {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000FC0);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
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
void BgSpot16Doughnut_DrawExpanding(Actor* thisx, GlobalContext* globalCtx) {
BgSpot16Doughnut* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 245);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 245);
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);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000FC0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 256);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000FC0);
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) {
s32 pad;
s8 r;
s8 g;
{
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
s8 r = coss(globalCtx->gameplayFrames * 1500) >> 8;
s8 g = coss(globalCtx->gameplayFrames * 1500) >> 8;
r = coss(globalCtx->gameplayFrames * 1500) >> 8;
g = coss(globalCtx->gameplayFrames * 1500) >> 8;
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 269);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 269);
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);
r = (r >> 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);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 283);
}
gSPDisplayList(oGfxCtx->polyOpa.p++, D_060008A0);
{
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 283);
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);
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);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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);
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);
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,
(0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20));
do {
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000B40);
} while (0); // necessary to match
gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000B40);
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) {
GlobalContext* globalCtx2 = globalCtx;
BgTokiSwd* this = THIS;
s32 pad[3];
GameState* state;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
state = &globalCtx->state;
gfxCtx = globalCtx->state.gfxCtx;
OPEN_DISPS(globalCtx2->state.gfxCtx, "../z_bg_toki_swd.c", 727);
Graph_OpenDisps(dispRefs, state->gfxCtx, "../z_bg_toki_swd.c", 727);
func_80093D18(globalCtx->state.gfxCtx);
func_80093D18(globalCtx2->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002EBCC(&this->actor, globalCtx2, 0);
gSPSegment(gfxCtx->polyOpa.p++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, -(globalCtx->gameplayFrames % 0x80), 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_toki_swd.c", 742),
gSPSegment(oGfxCtx->polyOpa.p++, 0x08,
Gfx_TexScroll(globalCtx2->state.gfxCtx, 0, -(globalCtx2->gameplayFrames % 0x80), 32, 32));
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx2->state.gfxCtx, "../z_bg_toki_swd.c", 742),
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) {
s32 pad;
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);
if ((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) {
@ -243,10 +242,10 @@ void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) {
alpha = (globalCtx->unk_11D30[0] + 0x1F4);
}
gDPSetEnvColor(gfxCtx->polyOpa.p++, 128, 128, 128, alpha * 0.1f);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 932),
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 128, 128, 128, alpha * 0.1f);
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 932),
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) {
BgYdanHasi* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (this->dyna.actor.params == 0 || this->dyna.actor.params == 2) {
Gfx_DrawDListOpa(globalCtx, D_808BEC24[this->dyna.actor.params]);
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);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (0 - globalCtx->gameplayFrames & 0x7F),
globalCtx->gameplayFrames & 0x7F, 0x20, 0x20, 1, globalCtx->gameplayFrames & 0x7F,
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);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_06005DE0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 597);
gSPDisplayList(oGfxCtx->polyXlu.p++, &D_06005DE0);
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) {
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);
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);
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) {

View file

@ -75,34 +75,33 @@ void DemoGeff_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_80977EA8(GlobalContext* globalCtx, Gfx* dlist) {
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);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist);
gSPPopMatrix(gfxCtx->polyOpa.p++, G_MTX_MODELVIEW);
gSPDisplayList(oGfxCtx->polyOpa.p++, dlist);
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) {
s32 pad[2];
s32 objBankIndex = this->objBankIndex;
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);
// Necessary to match
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) {

View file

@ -335,19 +335,17 @@ void func_8097D29C(DemoGo* this, GlobalContext* globalCtx) {
SkelAnime* skelAnime = &this->skelAnime;
void* srcSegment8 = D_8097D440[temp];
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9));
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9));
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
&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) {

View file

@ -526,20 +526,20 @@ void func_80985CE8(DemoIm* this, GlobalContext* globalCtx) {
s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C];
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);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(gfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, this->unk_26C);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, &D_80116280[0]);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(oGfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, this->unk_26C);
gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, &D_80116280[0]);
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, gfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
oGfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, oGfxCtx->polyXlu.p);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
}
void func_80985E60(DemoIm* this, GlobalContext* globalCtx) {
@ -1188,20 +1188,20 @@ void func_80987658(DemoIm* this, GlobalContext* globalCtx) {
s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C];
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp68));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp68));
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80987514,
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) {

View file

@ -457,21 +457,21 @@ void func_8098F1C0(DemoSa* this, GlobalContext* globalCtx) {
s32 pad2;
UNK_PTR sp6C = D_809900F4[unk_194];
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);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(gfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(gfxCtx->polyXlu.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp6C));
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, this->alpha);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, D_80116280);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(oGfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp78));
gSPSegment(oGfxCtx->polyXlu.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp6C));
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, this->alpha);
gSPSegment(oGfxCtx->polyXlu.p++, 0x0C, D_80116280);
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, gfxCtx->polyXlu.p);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
oGfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, oGfxCtx->polyXlu.p);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
}
void func_8098F390(DemoSa* this, GlobalContext* globalCtx) {
@ -796,21 +796,21 @@ void func_8098FEB4(DemoSa* this, GlobalContext* globalCtx) {
s16 unk_194 = this->unk_194;
UNK_PTR sp64 = D_809900F4[unk_194];
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(gfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp64));
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sp70));
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(sp64));
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 0, 0, 0, 255);
gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, &D_80116280[2]);
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
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) {

View file

@ -161,13 +161,12 @@ void DoorAna_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void DoorAna_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_ana.c", 440);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_ana.c", 440);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, D_05001390);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_ana.c", 449);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_05001390);
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) {
DoorGerudo* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 361);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_door_gerudo.c", 361);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000040);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000040);
if (this->unk_166 != 0) {
Matrix_Scale(0.01f, 0.01f, 0.025f, MTXMODE_APPLY);
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) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg.c", 436);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg.c", 436);
if (R_NAVI_MSG_REGION_ALPHA == 0) {
return;
}
func_80093D18(globalCtx->state.gfxCtx);
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 {
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);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809AD278);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_809AD278);
if (thisx->params & 0x4000) {
gSPDisplayList(gfxCtx->polyXlu.p++, D_809AD4B8);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_809AD4B8);
} 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) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 355);
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg2.c", 355);
if (R_NAVI_MSG_REGION_ALPHA == 0) {
return;
}
func_80093D18(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->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),
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_elf_msg2.c", 362),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809ADC38);
gSPDisplayList(gfxCtx->polyXlu.p++, D_809ADCF8);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_elf_msg2.c", 367);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_809ADC38);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_809ADCF8);
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) {
EnAni* this = THIS;
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);
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,
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) {
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) {
segment = D_809C2590;
@ -146,28 +144,28 @@ void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) {
segment = D_809C25A0;
}
gSPSegment(gfxCtx->polyXlu.p++, 0x08, segment);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 0, 0, alpha);
gSPDisplayList(gfxCtx->polyXlu.p++, dList);
gSPSegment(oGfxCtx->polyXlu.p++, 0x08, segment);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 0, 0, alpha);
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) {
EnBlkobj* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad;
s32 temp_a3;
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);
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));
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);
if (this->unk_164 != 0) {
@ -178,5 +176,5 @@ void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) {
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) {};
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;
func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8);
func_8005AA1C(&globalCtx->mainCamera, 2, 0xB, 8);
thisx->params = BOMB_EXPLOSION;
this->timer = 10;
thisx->flags |= 0x20;
@ -328,30 +328,28 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnBom* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
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) {
func_80093D18(globalCtx->state.gfxCtx);
func_800D1FD4(&globalCtx->mf_11DA0);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_04007A50);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_04007A50);
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);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 0, 40, 255);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, (s16)this->flashIntensity, 0, 40, 255);
gSPDisplayList(gfxCtx->polyOpa.p++, D_04007860);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(oGfxCtx->polyOpa.p++, (s16)this->flashIntensity, 0, 40, 255);
gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, (s16)this->flashIntensity, 0, 40, 255);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_04007860);
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);
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;
func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8);
func_8005AA1C(&globalCtx->mainCamera, 2, 0xB, 8);
thisx->params = BOMBFLOWER_EXPLOSION;
this->timer = 10;
thisx->flags |= 0x20;
@ -453,37 +453,35 @@ Gfx* EnBombf_NewMtxDList(GraphicsContext* gfxCtx, GlobalContext* globalCtx) {
void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnBombf* this = THIS;
GraphicsContext* gfxCtx;
Gfx* disRefs[4];
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) {
func_80093D18(globalCtx->state.gfxCtx);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000340);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000530);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000340);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000530);
Matrix_Translate(0.0f, 1000.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(this->flowerBombScale, this->flowerBombScale, this->flowerBombScale, MTXMODE_APPLY);
}
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 200, 255, 200, 255);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 20, 10, 0);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1054),
gDPSetPrimColor(oGfxCtx->polyOpa.p++, 0, 0, 200, 255, 200, 255);
gDPPipeSync(oGfxCtx->polyOpa.p++);
gDPSetEnvColor(oGfxCtx->polyOpa.p++, (s16)this->flashIntensity, 20, 10, 0);
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1054),
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)));
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000408);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000408);
} else {
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;
Vec3f vec1;
Vec3f vec2;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_boom.c", 567);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_boom.c", 567);
Matrix_RotateY(this->actor.posRot.rot.y * 0.0000958738f, MTXMODE_APPLY);
Matrix_RotateZ(0.7669904f, 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);
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);
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) {
EnBx* this = THIS;
s32 pad;
Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));
f32 tmpf1;
f32 tmpf2;
{
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, mtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809D2560[this->actor.params & 0x7F]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 16, 1, 0,
(globalCtx->gameplayFrames * -10) % 128, 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bx.c", 478),
gSPSegment(oGfxCtx->polyOpa.p++, 0x0C, mtx);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809D2560[this->actor.params & 0x7F]));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 16, 1, 0, (globalCtx->gameplayFrames * -10) % 128,
32, 32));
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bx.c", 478),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->actor.params & 0x80) {
@ -209,15 +205,11 @@ void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
this->unk_14E -= 0xBB8;
tmpf1 = (Math_Coss(this->unk_14E) * 0.0075f) + 0.015f;
thisx->scale.x = tmpf1;
thisx->scale.z = tmpf1;
thisx->scale.z = thisx->scale.x = (Math_Coss(this->unk_14E) * 0.0075f) + 0.015f;
for (i = 3; i >= 0; i--) {
s16 off = (0x2000 * i);
tmpf2 = (Math_Coss(this->unk_14E + off) * 0.0075f) + 0.015f;
this->unk_184[i].x = tmpf2;
this->unk_184[i].z = tmpf2;
this->unk_184[i].z = this->unk_184[i].x = (Math_Coss(this->unk_14E + off) * 0.0075f) + 0.015f;
this->unk_1B4[i].x = thisx->shape.rot.x;
this->unk_1B4[i].y = thisx->shape.rot.y;
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);
}
gSPDisplayList(gfxCtx->polyOpa.p++, D_060022F0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bx.c", 511);
}
gSPDisplayList(oGfxCtx->polyOpa.p++, D_060022F0);
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) {
EnDog* this = THIS;
Color_RGBA8 colors[] = { { 255, 255, 200, 0 }, { 150, 100, 50, 0 } };
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_dog.c", 972);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_dog.c", 972);
func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++, colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g,
gDPPipeSync(oGfxCtx->polyOpa.p++);
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);
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
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 };
EnDyExtra* this = THIS;
s32 pad;
GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Vtx* vertices = SEGMENTED_TO_VIRTUAL(D_0601BFB0);
s32 i;
u8 unk[3];
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
unk[0] = 0.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);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->state.frames * 2, 0, 0x20, 0x40, 1,
globalCtx->state.frames, globalCtx->state.frames * -8, 0x10, 0x10));
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_dy_extra.c", 307),
gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_dy_extra.c", 307),
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);
gDPSetEnvColor(gfxCtx->polyXlu.p++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b, 128);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0601C160);
Graph_CloseDisps(dispRefs, localGfxCtx, "../z_en_dy_extra.c", 325);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b,
128);
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) {
EnExRuppy* this = THIS;
s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (this->isFalling == 0) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774);
func_80093D18(globalCtx->state.gfxCtx);
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);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150]));
gSPDisplayList(gfxCtx->polyOpa.p++, D_04042440);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150]));
gSPDisplayList(oGfxCtx->polyOpa.p++, D_04042440);
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) {
EnFhgFire* this = THIS;
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) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 165, 255, 75, 0);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 165, 255, 75, 0);
gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
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)) {
osSyncPrintf("yari hikari draw 1\n");
func_800D1FD4(&globalCtx->mf_11DA0);
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) {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 255, 0);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 255, 255, 0);
} 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);
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);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06012160);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_06012160);
} else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, (u8)this->unk_188);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 90, 50, 95, (s8)(this->unk_188 * 0.5f));
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, (u8)this->unk_188);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 90, 50, 95, (s8)(this->unk_188 * 0.5f));
gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
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,
(s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_0600FAA0);
} else {
osSyncPrintf("FF DRAW 1\n");
Matrix_Translate(0.0f, -100.0f, 0.0f, 1);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 30, 0);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 255, 30, 0);
gDPPipeSync(oGfxCtx->polyXlu.p++);
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
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");
}
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) {
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);
if (this->collider.base.type == COLTYPE_UNK12) {
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,
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) {
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) {
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);
if (this->collider.base.type == COLTYPE_UNK12) {
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,
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) {
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) {
s32 pad;
EnFu* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fu.c", 773);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fu.c", 773);
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression]));
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[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,
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) {
BossGanon* dorf;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
BossGanon* dorf = (BossGanon*)thisx->parent;
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");
func_80093D18(globalCtx->state.gfxCtx);
if ((thisx->params == 1) && (dorf->organFadeTimer != 0xff)) {
gSPSegment(gfxCtx->polyOpa.p++, 0x08, func_80A280BC(globalCtx->state.gfxCtx, dorf));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, func_80A28148(globalCtx->state.gfxCtx, dorf));
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80A280BC(globalCtx->state.gfxCtx, dorf));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80A28148(globalCtx->state.gfxCtx, dorf));
} else {
gSPSegment(gfxCtx->polyOpa.p++, 0x08, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx));
gSPSegment(gfxCtx->polyOpa.p++, 0x09, EnGanonOrgan_EmptyDList(globalCtx->state.gfxCtx));
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, 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);
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80A2CCA8);
gSPDisplayList(gfxCtx->polyOpa.p++, D_80A2EAB0);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_80A2CCA8);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_80A2EAB0);
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;
s32 tmp;
u32 frames;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (!(this->unk_19E & 8)) {
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_gs.c", 1046);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_gs.c", 1046);
frames = globalCtx->gameplayFrames;
func_80093D18(globalCtx->state.gfxCtx);
Matrix_Push();
@ -543,19 +541,19 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
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);
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000950);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000950);
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);
} 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(gfxCtx->polyOpa.p++, D_06000A60);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_060009D0);
gSPDisplayList(oGfxCtx->polyOpa.p++, D_06000A60);
Matrix_Pull();
if (this->unk_19E & 2) {
@ -563,15 +561,16 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800D1FD4(&globalCtx->mf_11DA0);
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);
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));
gDPSetPrimColor(gfxCtx->polyXlu.p++, 128, 128, 255, 255, 0, 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 0);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0404D4E0);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 128, 128, 255, 255, 0, 255);
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0);
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) {
EnGuest* this = THIS;
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) {
*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;
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_guest.c", 388);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 388);
return 0;
}
void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGuest* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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);
gSPSegment(gfxCtx->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(gfxCtx->polyOpa.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E]));
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80A50708(globalCtx->state.gfxCtx, 0xFF, 0xFF, 0xFF, 0xFF));
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80A50708(globalCtx->state.gfxCtx, 0xA0, 0x3C, 0xDC, 0xFF));
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,
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) {
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1772);
gfxCtx = globalCtx->state.gfxCtx;
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),
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1774),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06002C10);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1777);
gSPDisplayList(oGfxCtx->polyOpa.p++, &D_06002C10);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1777);
}
void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHeishi2* this;
GraphicsContext* gfxCtx;
s32 linkObjBankIndex;
EnHeishi2* this = THIS;
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);
this = THIS;
SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw,
EnHeishi2_PostLimbDraw, &this->actor);
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);
mtx = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_heishi2.c", 1820) - 7;
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[linkObjBankIndex].segment);
gSPSegment(gfxCtx->polyOpa.p++, 0x0D, mtx);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0602B060);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[linkObjBankIndex].segment);
gSPSegment(oGfxCtx->polyOpa.p++, 0x0D, mtx);
gSPDisplayList(oGfxCtx->polyOpa.p++, &D_0602B060);
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,
};
EnKz* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
func_800943C8(globalCtx->state.gfxCtx);
SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
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;
FlameParams* flameParams;
Gfx* dList;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (1) {}
flameParams = &D_80A9E840[this->actor.params & 0xF];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_light.c", 441);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_light.c", 441);
func_80093D84(globalCtx->state.gfxCtx);
if (this->actor.params >= 0) {
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));
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);
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);
} 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),
(this->timer * -6) & 127 * 1, 16, 32));
dList = D_05000440;
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0xC0, 0xC0, 255, 200, 0, 0);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 255, 0, 0, 0);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0xC0, 0xC0, 255, 200, 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),
@ -199,9 +196,9 @@ void EnLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
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);
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;
Camera* camera;
f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma1.c", 1226);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma1.c", 1226);
camera = ACTIVE_CAM;
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->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++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA16C4[this->unk_1E6]));
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,
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) {
EnMa2* this = THIS;
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) {
Matrix_MultVec3f(&vec, &this->actor.posRot2.pos);
}
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) {
EnMa2* this = THIS;
Camera* camera;
f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 955);
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 955);
camera = ACTIVE_CAM;
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->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++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210]));
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,
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) {
EnMa3* this = THIS;
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) {
Matrix_MultVec3f(&vec, &thisx->posRot2.pos);
}
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) {
EnMa3* this = THIS;
Camera* camera;
f32 someFloat;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[5];
s32 pad;
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];
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
func_800F6268(someFloat, 0x2F);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->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++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210]));
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,
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,
};
EnMd* this = THIS;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_md.c", 1280);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_md.c", 1280);
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);
} 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);
}
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