Match z_effect.c (#176)

This commit is contained in:
engineer124 2021-06-10 22:13:43 +10:00 committed by GitHub
parent aae3c6f895
commit e9eb4d4e0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 239 additions and 234 deletions

View File

@ -547,16 +547,16 @@ s32 EffectBlure_Update(EffectBlure* params);
// void func_800AA498(void);
// void func_800AA700(void);
// void func_800AABE0(void);
void EffectBlure_Draw(EffectBlure* params, GraphicsContext* gCtxt);
void EffectBlure_Draw(EffectBlure* params, GraphicsContext* gfxCtx);
void EffectShieldParticle_Init(EffShieldParticleParams* params, EffShieldParticleInit* init);
void EffectShieldParticle_Destroy(EffShieldParticleParams* params);
s32 EffectShieldParticle_Update(EffShieldParticleParams* params);
void EffectShieldParticle_CalculateColors(EffShieldParticleParams* params, Color_RGBA8* primColor, Color_RGBA8* envColor);
void EffectShieldParticle_Draw(EffShieldParticleParams* params, GraphicsContext* gCtxt);
void EffectShieldParticle_Draw(EffShieldParticleParams* params, GraphicsContext* gfxCtx);
void EffectSpark_Init(EffSparkParams* params, EffSparkParams* init);
void EffectSpark_Destroy(EffSparkParams* params);
s32 EffectSpark_Update(EffSparkParams* params);
void EffectSpark_Draw(EffSparkParams* params, GraphicsContext* gCtxt);
void EffectSpark_Draw(EffSparkParams* params, GraphicsContext* gfxCtx);
// void func_800AE2A0(void);
void func_800AE434(GlobalContext* globalCtx, Color_RGBA8* color, s16 sParm3, s16 sParm4);
void func_800AE5A0(GlobalContext* globalCtx);
@ -570,13 +570,13 @@ void EffectTireMark_Init(EffTireMarkParams* params, EffTireMarkInit* init);
void EffectTireMark_Destroy(EffTireMarkParams* params);
s32 EffectTireMark_Update(EffTireMarkParams* params);
void EffectTireMark_InitVertices(F3DVertexColor* vertices, EffTireMarkParticle* particle, s32 index, s32 alpha);
void EffectTireMark_Draw(EffTireMarkParams* params, GraphicsContext* gCtxt);
void EffectTireMark_Draw(EffTireMarkParams* params, GraphicsContext* gfxCtx);
GlobalContext* Effect_GetContext(void);
void* Effect_GetParams(s32 index);
void Effect_InitCommon(EffCommon* common);
void Effect_Init(GlobalContext* globalCtx);
void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 param_5, void* initParams);
void Effect_DrawAll(GraphicsContext* gCtxt);
void Effect_DrawAll(GraphicsContext* gfxCtx);
void Effect_UpdateAll(GlobalContext* globalCtx);
void Effect_Destroy(GlobalContext* globalCtx, s32 index);
void Effect_DestroyAll(GlobalContext* globalCtx);
@ -785,7 +785,7 @@ void func_800B75A0(CollisionPoly* param_1, Vec3f* param_2, s16* param_3);
// UNK_TYPE4 func_800B7678(GlobalContext* globalCtx, Actor* param_2, s32 param_3, u32 param_4);
void func_800B78B8(GlobalContext* globalCtx, Actor* actor, f32 uParm3, f32 uParm4, f32 param_5, u32 param_6);
// void func_800B7E04(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
s32 func_800B7FE0(f32* param_1, f32* param_2, f32* param_3, GraphicsContext* gCtxt);
s32 func_800B7FE0(f32* param_1, f32* param_2, f32* param_3, GraphicsContext* gfxCtx);
// void func_800B8018(void);
void func_800B8050(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
void func_800B8118(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
@ -1553,7 +1553,7 @@ void DebugDisplay_DrawObjects(GlobalContext* globalCtx);
// void func_800E9CFC(void);
// void func_800E9DBC(void);
// void func_800E9E94(void);
void func_800E9F78(GraphicsContext* gCtxt);
void func_800E9F78(GraphicsContext* gfxCtx);
void Cutscene_Init(GlobalContext* globalCtx, CutsceneContext* csCtx);
void func_800EA0D4(GlobalContext* globalCtx, CutsceneContext* csCtx);
void func_800EA0EC(GlobalContext* globalCtx, CutsceneContext* csCtx);
@ -2339,49 +2339,49 @@ void Gfx_CallSetupDLAtPtr(Gfx** gfxp, u32 i);
Gfx* func_8012BFC4(Gfx* gfx);
Gfx* func_8012BFEC(Gfx* gfx);
Gfx* func_8012C014(Gfx* gfx);
void func_8012C058(GraphicsContext* gCtxt);
void func_8012C080(GraphicsContext* gCtxt);
void func_8012C0A8(GraphicsContext* gCtxt);
void func_8012C0D0(GraphicsContext* gCtxt);
void func_8012C0F8(GraphicsContext* gCtxt);
void func_8012C120(GraphicsContext* gCtxt);
void func_8012C148(GraphicsContext* gCtxt);
void func_8012C170(GraphicsContext* gCtxt);
void func_8012C058(GraphicsContext* gfxCtx);
void func_8012C080(GraphicsContext* gfxCtx);
void func_8012C0A8(GraphicsContext* gfxCtx);
void func_8012C0D0(GraphicsContext* gfxCtx);
void func_8012C0F8(GraphicsContext* gfxCtx);
void func_8012C120(GraphicsContext* gfxCtx);
void func_8012C148(GraphicsContext* gfxCtx);
void func_8012C170(GraphicsContext* gfxCtx);
Gfx* func_8012C198(Gfx* gfx);
void func_8012C1C0(GraphicsContext* gCtxt);
void func_8012C1C0(GraphicsContext* gfxCtx);
Gfx* func_8012C1EC(Gfx* gfx);
void func_8012C214(GraphicsContext* gCtxt);
void func_8012C240(GraphicsContext* gCtxt);
void func_8012C214(GraphicsContext* gfxCtx);
void func_8012C240(GraphicsContext* gfxCtx);
void func_8012C268(GlobalContext* globalCtx);
void func_8012C28C(GraphicsContext* gCtxt);
void func_8012C28C(GraphicsContext* gfxCtx);
Gfx* func_8012C2B4(Gfx* gfx);
void func_8012C2DC(GraphicsContext* gCtxt);
void func_8012C2DC(GraphicsContext* gfxCtx);
Gfx* func_8012C304(Gfx* gfx);
void func_8012C32C(GraphicsContext* gCtxt);
void func_8012C354(GraphicsContext* gCtxt);
void func_8012C37C(GraphicsContext* gCtxt);
void func_8012C32C(GraphicsContext* gfxCtx);
void func_8012C354(GraphicsContext* gfxCtx);
void func_8012C37C(GraphicsContext* gfxCtx);
Gfx* func_8012C3A4(Gfx* gfx);
Gfx* func_8012C3CC(Gfx* gfx);
void func_8012C3F4(GraphicsContext* gCtxt);
void func_8012C420(GraphicsContext* gCtxt);
void func_8012C448(GraphicsContext* gCtxt);
void func_8012C470(GraphicsContext* gCtxt);
void func_8012C3F4(GraphicsContext* gfxCtx);
void func_8012C420(GraphicsContext* gfxCtx);
void func_8012C448(GraphicsContext* gfxCtx);
void func_8012C470(GraphicsContext* gfxCtx);
Gfx* func_8012C498(Gfx* gfx);
void func_8012C4C0(GraphicsContext* gCtxt);
void func_8012C4E8(GraphicsContext* gCtxt);
void func_8012C510(GraphicsContext* gCtxt);
void func_8012C538(GraphicsContext* gCtxt);
void func_8012C560(GraphicsContext* gCtxt);
void func_8012C588(GraphicsContext* gCtxt);
void func_8012C5B0(GraphicsContext* gCtxt);
void func_8012C5D8(GraphicsContext* gCtxt);
void func_8012C4C0(GraphicsContext* gfxCtx);
void func_8012C4E8(GraphicsContext* gfxCtx);
void func_8012C510(GraphicsContext* gfxCtx);
void func_8012C538(GraphicsContext* gfxCtx);
void func_8012C560(GraphicsContext* gfxCtx);
void func_8012C588(GraphicsContext* gfxCtx);
void func_8012C5B0(GraphicsContext* gfxCtx);
void func_8012C5D8(GraphicsContext* gfxCtx);
Gfx* func_8012C600(Gfx* gfx);
void func_8012C628(GraphicsContext* gCtxt);
void func_8012C654(GraphicsContext* gCtxt);
void func_8012C628(GraphicsContext* gfxCtx);
void func_8012C654(GraphicsContext* gfxCtx);
void func_8012C680(Gfx** gfxp);
void func_8012C6AC(GraphicsContext* gCtxt);
void func_8012C6D4(GraphicsContext* gCtxt);
void func_8012C6FC(GraphicsContext* gCtxt);
void func_8012C6AC(GraphicsContext* gfxCtx);
void func_8012C6D4(GraphicsContext* gfxCtx);
void func_8012C6FC(GraphicsContext* gfxCtx);
Gfx* func_8012C724(Gfx* gfx);
Gfx* func_8012C74C(Gfx* gfx);
Gfx* func_8012C774(Gfx* gfx);
@ -2389,16 +2389,16 @@ Gfx* func_8012C7B8(Gfx* gfx);
Gfx* func_8012C7FC(Gfx* gfx);
Gfx* func_8012C840(Gfx* gfx);
Gfx* func_8012C868(Gfx* gfx);
void func_8012C8AC(GraphicsContext* gCtxt);
void func_8012C8D4(GraphicsContext* gCtxt);
void func_8012C8FC(GraphicsContext* gCtxt);
void func_8012C924(GraphicsContext* gCtxt);
void func_8012C94C(GraphicsContext* gCtxt);
void func_8012C974(GraphicsContext* gCtxt);
void func_8012C9BC(GraphicsContext* gCtxt);
void func_8012C9E4(GraphicsContext* gCtxt);
void func_8012C8AC(GraphicsContext* gfxCtx);
void func_8012C8D4(GraphicsContext* gfxCtx);
void func_8012C8FC(GraphicsContext* gfxCtx);
void func_8012C924(GraphicsContext* gfxCtx);
void func_8012C94C(GraphicsContext* gfxCtx);
void func_8012C974(GraphicsContext* gfxCtx);
void func_8012C9BC(GraphicsContext* gfxCtx);
void func_8012C9E4(GraphicsContext* gfxCtx);
void func_8012CA0C(Gfx** gfxp);
void func_8012CA38(GraphicsContext* gCtxt);
void func_8012CA38(GraphicsContext* gfxCtx);
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height);
void func_8012CB04(Gfx** gfxp, u32 x, u32 y);
Gfx* func_8012CB28(GraphicsContext* gfxCtx, u32 x, u32 y);
@ -2407,8 +2407,8 @@ Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 wi
Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a);
Gfx* Gfx_PrimColor(GraphicsContext* gfxCtx, s32 lodfrac, s32 r, s32 g, s32 b, s32 a);
void func_8012CF0C(GraphicsContext* gCtxt, s32 iParm2, s32 iParm3, u8 r, u8 g, u8 b);
void func_8012D374(GraphicsContext* gCtxt, u8 r, u8 g, u8 b);
void func_8012CF0C(GraphicsContext* gfxCtx, s32 iParm2, s32 iParm3, u8 r, u8 g, u8 b);
void func_8012D374(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
void func_8012D40C(f32* param_1, f32* param_2, s16* param_3);
void Room_nop8012D510(GlobalContext* globalCtx, Room* room, UNK_PTR param_3, UNK_TYPE1 param_4);
void Room_DrawType3Mesh(GlobalContext* globalCtx, Room* room, u32 flags);
@ -2738,7 +2738,7 @@ void func_8013EDD0(void);
// void func_8013EE38(void);
// void func_8013EE48(void);
void View_ViewportToVp(Vp* dest, Viewport* src);
void View_Init(View* view, GraphicsContext* gCtxt);
void View_Init(View* view, GraphicsContext* gfxCtx);
void View_SetViewOrientation(View* view, Vec3f* eye, Vec3f* focalPoint, Vec3f* upDir);
void func_8013F050(View* view, Vec3f* eye, Vec3f* focalPoint, Vec3f* upDir);
void View_SetScale(View* view, f32 scale);
@ -3139,15 +3139,15 @@ void Game_UpdateFramerateVariables(s32 divisor);
void Game_SetFramerateDivisor(GameState* gameState, s32 divisor);
void GameState_SetFBFilter(Gfx** gfx, u32 arg1);
void Game_Nop80173534(GameState* ctxt);
void GameState_Draw(GameState* ctxt, GraphicsContext* gCtxt);
void Game_ResetSegments(GraphicsContext* gCtxt);
void func_801736DC(GraphicsContext* gCtxt);
void GameState_Draw(GameState* ctxt, GraphicsContext* gfxCtx);
void Game_ResetSegments(GraphicsContext* gfxCtx);
void func_801736DC(GraphicsContext* gfxCtx);
void Game_UpdateInput(GameState* ctxt);
void Game_Update(GameState* ctxt);
void Game_IncrementFrameCount(GameState* ctxt);
void Game_InitHeap(GameState* ctxt, u32 size);
void Game_ResizeHeap(GameState* ctxt, u32 size);
void Game_StateInit(GameState* ctxt, GameStateFunc gameStateInit, GraphicsContext* gCtxt);
void Game_StateInit(GameState* ctxt, GameStateFunc gameStateInit, GraphicsContext* gfxCtx);
void Game_StateFini(GameState* ctxt);
GameStateFunc Game_GetNextStateInit(GameState* ctxt);
u32 Game_GetNextStateSize(GameState* ctxt);
@ -3161,15 +3161,15 @@ void Gamealloc_FreeAll(GameAlloc* heap);
void Gamealloc_Init(GameAlloc* iParm1);
// void Graph_FaultClient(void);
void Graph_DlAlloc(TwoHeadGfxArena* dl, void* memoryBlock, u32 size);
void Graph_InitTHGA(GraphicsContext* gCtxt);
void Graph_InitTHGA(GraphicsContext* gfxCtx);
GameStateOverlay* Graph_GetNextGameState(GameState* ctxt);
void* Graph_FaultAddrConvFunc(void* addr);
void Graph_Init(GraphicsContext* gCtxt);
void Graph_Init(GraphicsContext* gfxCtx);
// void Graph_Destroy(void);
void Graph_Render(GraphicsContext* gCtxt, GameState* ctxt);
void Graph_Render(GraphicsContext* gfxCtx, GameState* ctxt);
void Graph_FrameSetup(GameState* ctxt);
void Graph_RenderFrame(GraphicsContext* gCtxt, GameState* ctxt);
void Graph_DoFrame(GraphicsContext* gCtxt, GameState* ctxt);
void Graph_RenderFrame(GraphicsContext* gfxCtx, GameState* ctxt);
void Graph_DoFrame(GraphicsContext* gfxCtx, GameState* ctxt);
void Graph_ThreadEntry(void* arg);
Gfx* Graph_GfxPlusOne(Gfx* gfx);
Gfx* Graph_BranchDlist(Gfx* gfx, Gfx* dst);
@ -3393,8 +3393,8 @@ void SysMatrix_SetStateRotationAndTranslation(f32 x, f32 y, f32 z, Vec3s* rotati
RSPMatrix* SysMatrix_ToRSPMatrix(MtxF* src, RSPMatrix* dst);
RSPMatrix* SysMatrix_GetStateAsRSPMatrix(RSPMatrix* matrix);
Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx);
RSPMatrix* SysMatrix_AppendStateToPolyOpaDisp(GraphicsContext* gCtxt);
void SysMatrix_AppendToPolyOpaDisp(MtxF* ctxt, GraphicsContext* gCtxt);
RSPMatrix* SysMatrix_AppendStateToPolyOpaDisp(GraphicsContext* gfxCtx);
void SysMatrix_AppendToPolyOpaDisp(MtxF* ctxt, GraphicsContext* gfxCtx);
void SysMatrix_MultiplyVector3fByState(Vec3f* src, Vec3f* dst);
void SysMatrix_GetStateTranslation(Vec3f* dst);
void SysMatrix_GetStateTranslationAndScaledX(f32 scale, Vec3f* dst);

View File

@ -253,7 +253,7 @@ typedef struct {
/* 0x04 */ UNK_TYPE1 pad4[0x40];
} GlobalContext17D98; // size = 0x44
typedef struct {
typedef struct GraphicsContext {
/* 0x000 */ Gfx* polyOpaBuffer;
/* 0x004 */ Gfx* polyXluBuffer;
/* 0x008 */ UNK_TYPE1 pad8[0x8];

View File

@ -13,12 +13,19 @@ struct EffectSs;
typedef void(*eff_destroy_func)(void* params);
typedef void(*eff_draw_func)(void* params, struct GraphicsContext* gCtxt);
typedef void(*eff_draw_func)(void* params, struct GraphicsContext* gfxCtx);
typedef void(*eff_init_func)(void* params, void* init);
typedef s32(*eff_update_func)(void* params);
#define SPARK_COUNT 3
#define BLURE_COUNT 25
#define SHIELD_PARTICLE_COUNT 3
#define TIRE_MARK_COUNT 15
#define TOTAL_EFFECT_COUNT SPARK_COUNT + BLURE_COUNT + SHIELD_PARTICLE_COUNT + TIRE_MARK_COUNT
/* G Effect Regs */
#define rgTexIdx regs[0]
@ -210,10 +217,10 @@ typedef struct {
typedef struct {
/* 0x0000 */ struct GlobalContext* globalCtx;
/* 0x0004 */ EffSpark sparks[3];
/* 0x0E5C */ EffBlure blures[25];
/* 0x388C */ EffShieldParticle shieldParticles[3];
/* 0x3DF0 */ EffTireMark tireMarks[15];
/* 0x0004 */ EffSpark sparks[SPARK_COUNT];
/* 0x0E5C */ EffBlure blures[BLURE_COUNT];
/* 0x388C */ EffShieldParticle shieldParticles[SHIELD_PARTICLE_COUNT];
/* 0x3DF0 */ EffTireMark tireMarks[TIRE_MARK_COUNT];
} EffTables; // size = 0x98E0
typedef struct {

View File

@ -353,7 +353,7 @@ SECTIONS
build/asm/code/z_eff_spark.o(.text)
build/asm/code/z_eff_ss_dead.o(.text)
build/asm/code/z_eff_tire_mark.o(.text)
build/src/code/code_0x800AF710.o(.text)
build/src/code/z_effect.o(.text)
build/src/code/z_effect_soft_sprite.o(.text)
build/src/code/z_effect_soft_sprite_old_init.o(.text)
build/asm/code/flg_set.o(.text)
@ -493,7 +493,7 @@ SECTIONS
build/src/code/z_en_item00.o(.data)
build/asm/code/code_data_z_eff_blure.o(.data)
build/asm/code/code_data_z_eff_shield_particle.o(.data)
build/src/code/code_0x800AF710.o(.data)
build/src/code/z_effect.o(.data)
build/asm/code/code_data_z_effect_soft_sprite.o(.data)
build/asm/code/code_data_z_effect_soft_sprite_old_init.o(.data)
build/asm/code/code_data_flg_set_table.o(.data)
@ -571,7 +571,7 @@ SECTIONS
build/asm/code/code_rodata_z_eff_shield_particle.o(.rodata)
build/asm/code/code_rodata_z_eff_spark.o(.rodata)
build/asm/code/code_rodata_z_eff_ss_dead.o(.rodata)
build/src/code/code_0x800AF710.o(.rodata)
build/src/code/z_effect.o(.rodata)
build/asm/code/code_rodata_z_effect_soft_sprite_old_init.o(.rodata)
build/asm/code/code_rodata_flg_set.o(.rodata)
. += 0x10;
@ -654,7 +654,7 @@ SECTIONS
code_bss_start = .;
. += 0x10;
. += 0x98F0; /* code_0x800AF710 */
. += 0x98F0; /* z_effect */
. += 0x90; /* z_actor */
. += 0x20; /* z_actor_dlftbls */
. += 0x2A0; /* z_bgcheck */

View File

@ -67,19 +67,19 @@ void Game_Nop80173534(GameState* ctxt) {
;
}
void GameState_Draw(GameState* ctxt, GraphicsContext* gCtxt) {
void GameState_Draw(GameState* ctxt, GraphicsContext* gfxCtx) {
Gfx* nextDisplayList;
Gfx* _polyOpa;
// Unused vars impact regalloc
Gfx* temp_t2;
u32 temp_v1;
_polyOpa = gCtxt->polyOpa.p;
nextDisplayList = Graph_GfxPlusOne(gCtxt->polyOpa.p);
gSPDisplayList(gCtxt->overlay.p++, nextDisplayList);
_polyOpa = gfxCtx->polyOpa.p;
nextDisplayList = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, nextDisplayList);
if (R_FB_FILTER_TYPE && R_FB_FILTER_ENV_COLOR(3) == 0) {
GameState_SetFBFilter(&nextDisplayList, (u32)gCtxt->zbuffer);
GameState_SetFBFilter(&nextDisplayList, (u32)gfxCtx->zbuffer);
}
if (R_ENABLE_ARENA_DBG < 0) {
@ -88,36 +88,36 @@ void GameState_Draw(GameState* ctxt, GraphicsContext* gCtxt) {
gSPEndDisplayList(nextDisplayList++);
Graph_BranchDlist(_polyOpa, nextDisplayList);
gCtxt->polyOpa.p = nextDisplayList;
gfxCtx->polyOpa.p = nextDisplayList;
lblUnk:; // Label prevents reordering, if(1) around the above block don't seem to help unlike in OoT
func_800E9F78(gCtxt);
func_800E9F78(gfxCtx);
if (R_ENABLE_ARENA_DBG != 0) {
SpeedMeter_DrawTimeEntries(&D_801F7FF0, gCtxt);
SpeedMeter_DrawAllocEntries(&D_801F7FF0, gCtxt, ctxt);
SpeedMeter_DrawTimeEntries(&D_801F7FF0, gfxCtx);
SpeedMeter_DrawAllocEntries(&D_801F7FF0, gfxCtx, ctxt);
}
}
void Game_ResetSegments(GraphicsContext* gCtxt) {
gSPSegment(gCtxt->polyOpa.p++, 0, 0);
gSPSegment(gCtxt->polyOpa.p++, 0xF, gCtxt->framebuffer);
gSPSegment(gCtxt->polyXlu.p++, 0, 0);
gSPSegment(gCtxt->polyXlu.p++, 0xF, gCtxt->framebuffer);
gSPSegment(gCtxt->overlay.p++, 0, 0);
gSPSegment(gCtxt->overlay.p++, 0xF, gCtxt->framebuffer);
void Game_ResetSegments(GraphicsContext* gfxCtx) {
gSPSegment(gfxCtx->polyOpa.p++, 0, 0);
gSPSegment(gfxCtx->polyOpa.p++, 0xF, gfxCtx->framebuffer);
gSPSegment(gfxCtx->polyXlu.p++, 0, 0);
gSPSegment(gfxCtx->polyXlu.p++, 0xF, gfxCtx->framebuffer);
gSPSegment(gfxCtx->overlay.p++, 0, 0);
gSPSegment(gfxCtx->overlay.p++, 0xF, gfxCtx->framebuffer);
}
void func_801736DC(GraphicsContext* gCtxt) {
void func_801736DC(GraphicsContext* gfxCtx) {
Gfx* nextDisplayList;
Gfx* _polyOpa;
nextDisplayList = Graph_GfxPlusOne(_polyOpa = gCtxt->polyOpa.p);
gSPDisplayList(gCtxt->overlay.p++, nextDisplayList);
nextDisplayList = Graph_GfxPlusOne(_polyOpa = gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, nextDisplayList);
gSPEndDisplayList(nextDisplayList++);
Graph_BranchDlist(_polyOpa, nextDisplayList);
gCtxt->polyOpa.p = nextDisplayList;
gfxCtx->polyOpa.p = nextDisplayList;
}
void Game_UpdateInput(GameState* ctxt) {
@ -185,16 +185,16 @@ void Game_ResizeHeap(GameState* ctxt, u32 size) {
}
}
void Game_StateInit(GameState* ctxt, GameStateFunc gameStateInit, GraphicsContext* gCtxt) {
ctxt->gfxCtx = gCtxt;
void Game_StateInit(GameState* ctxt, GameStateFunc gameStateInit, GraphicsContext* gfxCtx) {
ctxt->gfxCtx = gfxCtx;
ctxt->frames = 0U;
ctxt->main = NULL;
ctxt->destroy = NULL;
ctxt->running = 1;
gCtxt->unk274 = D_801FBB88;
gCtxt->viConfigFeatures = gViConfigFeatures;
gCtxt->viConfigXScale = gViConfigXScale;
gCtxt->viConfigYScale = gViConfigYScale;
gfxCtx->unk274 = D_801FBB88;
gfxCtx->viConfigFeatures = gViConfigFeatures;
gfxCtx->viConfigXScale = gViConfigXScale;
gfxCtx->viConfigYScale = gViConfigYScale;
ctxt->nextGameStateInit = NULL;
ctxt->nextGameStateSize = 0U;

View File

@ -44,11 +44,11 @@ GlobalContext* Effect_GetContext(void) {
}
void* Effect_GetParams(s32 index) {
if (index == 46) {
if (index == TOTAL_EFFECT_COUNT) {
return NULL;
}
if (index < 3) {
if (index < SPARK_COUNT) {
if (sEffTable.sparks[index].base.active == 1) {
return &sEffTable.sparks[index].params;
} else {
@ -56,8 +56,8 @@ void* Effect_GetParams(s32 index) {
}
}
index -= 3;
if (index < 25) {
index -= SPARK_COUNT;
if (index < BLURE_COUNT) {
if (sEffTable.blures[index].base.active == 1) {
return &sEffTable.blures[index].params;
} else {
@ -65,8 +65,8 @@ void* Effect_GetParams(s32 index) {
}
}
index -= 25;
if (index < 3) {
index -= BLURE_COUNT;
if (index < SHIELD_PARTICLE_COUNT) {
if (sEffTable.shieldParticles[index].base.active == 1) {
return &sEffTable.shieldParticles[index].params;
} else {
@ -74,8 +74,8 @@ void* Effect_GetParams(s32 index) {
}
}
index -= 3;
if (index < 15) {
index -= SHIELD_PARTICLE_COUNT;
if (index < TIRE_MARK_COUNT) {
if (sEffTable.tireMarks[index].base.active == 1) {
return &sEffTable.tireMarks[index].params;
} else {
@ -95,20 +95,20 @@ void Effect_InitCommon(EffCommon* common) {
void Effect_Init(GlobalContext* globalCtx) {
s32 i;
for (i = 0; i < 3; i++) {
for (i = 0; i < SPARK_COUNT; i++) {
Effect_InitCommon(&sEffTable.sparks[i].base);
}
for (i = 0; i < 25; i++) {
for (i = 0; i < BLURE_COUNT; i++) {
Effect_InitCommon(&sEffTable.blures[i].base);
}
//! @bug This is probably supposed to loop over shieldParticles, not blures again
for (i = 0; i < 3; i++) {
for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) {
Effect_InitCommon(&sEffTable.blures[i].base);
}
for (i = 0; i < 15; i++) {
for (i = 0; i < TIRE_MARK_COUNT; i++) {
Effect_InitCommon(&sEffTable.tireMarks[i].base);
}
@ -122,14 +122,14 @@ void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 p
EffCommon* common;
params = NULL;
*index = 46;
*index = TOTAL_EFFECT_COUNT;
common = NULL;
if (func_8016A01C(globalCtx) != 1) {
slotFound = 0;
switch (type) {
case 0:
for (i = 0; i < 3; i++) {
for (i = 0; i < SPARK_COUNT; i++) {
if (sEffTable.sparks[i].base.active == 0) {
slotFound = 1;
*index = i;
@ -141,7 +141,7 @@ void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 p
break;
case 1:
case 2:
for (i = 0; i < 25; i++) {
for (i = 0; i < BLURE_COUNT; i++) {
if (sEffTable.blures[i].base.active == 0) {
slotFound = 1;
*index = i + 3;
@ -152,7 +152,7 @@ void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 p
}
break;
case 3:
for (i = 0; i < 3; i++) {
for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) {
if (sEffTable.shieldParticles[i].base.active == 0) {
slotFound = 1;
*index = i + 28;
@ -163,7 +163,7 @@ void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 p
}
break;
case 4:
for (i = 0; i < 15; i++) {
for (i = 0; i < TIRE_MARK_COUNT; i++) {
if (sEffTable.tireMarks[i].base.active == 0) {
slotFound = 1;
*index = i + 31;
@ -184,45 +184,43 @@ void Effect_Add(GlobalContext* globalCtx, s32* index, s32 type, u8 param_4, u8 p
}
}
#ifdef NON_MATCHING
// Contents of s2 and s3 swapped
void Effect_DrawAll(GraphicsContext* gCtxt) {
void Effect_DrawAll(GraphicsContext* gfxCtx) {
s32 i;
for (i = 0; i < 3; i++) {
for (i = 0; i < SPARK_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.sparks[i].base.active) {
sEffInfoTable[0].draw(&sEffTable.sparks[i].params, gCtxt);
sEffInfoTable[0].draw(&sEffTable.sparks[i].params, gfxCtx);
}
}
for (i = 0; i < 25; i++) {
for (i = 0; i < BLURE_COUNT; i++) {
if (1) { if (gfxCtx) {} } // necessary to match
if (sEffTable.blures[i].base.active) {
sEffInfoTable[1].draw(&sEffTable.blures[i].params, gCtxt);
sEffInfoTable[1].draw(&sEffTable.blures[i].params, gfxCtx);
}
}
for (i = 0; i < 3; i++) {
for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.shieldParticles[i].base.active) {
sEffInfoTable[3].draw(&sEffTable.shieldParticles[i].params, gCtxt);
sEffInfoTable[3].draw(&sEffTable.shieldParticles[i].params, gfxCtx);
}
}
for (i = 0; i < 15; i++) {
if (1) {} // necessary to match
for (i = 0; i < TIRE_MARK_COUNT; i++) {
if (sEffTable.tireMarks[i].base.active) {
sEffInfoTable[4].draw(&sEffTable.tireMarks[i].params, gCtxt);
sEffInfoTable[4].draw(&sEffTable.tireMarks[i].params, gfxCtx);
}
}
}
#else
#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x800AF710/Effect_DrawAll.asm")
#endif
#ifdef NON_MATCHING
// 15 is being placed in s5 instead of at
void Effect_UpdateAll(GlobalContext* globalCtx) {
s32 i;
for (i = 0; i < 3; i++) {
for (i = 0; i < SPARK_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.sparks[i].base.active) {
if (sEffInfoTable[0].update(&sEffTable.sparks[i].params) == 1) {
Effect_Destroy(globalCtx, i);
@ -230,7 +228,8 @@ void Effect_UpdateAll(GlobalContext* globalCtx) {
}
}
for (i = 0; i < 25; i++) {
for (i = 0; i < BLURE_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.blures[i].base.active) {
if (sEffInfoTable[1].update(&sEffTable.blures[i].params) == 1) {
Effect_Destroy(globalCtx, i + 3);
@ -238,7 +237,8 @@ void Effect_UpdateAll(GlobalContext* globalCtx) {
}
}
for (i = 0; i < 3; i++) {
for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.shieldParticles[i].base.active) {
if (sEffInfoTable[3].update(&sEffTable.shieldParticles[i].params) == 1) {
Effect_Destroy(globalCtx, i + 28);
@ -246,7 +246,8 @@ void Effect_UpdateAll(GlobalContext* globalCtx) {
}
}
for (i = 0; i < 15; i++) {
for (i = 0; i < TIRE_MARK_COUNT; i++) {
if (1) {} // necessary to match
if (sEffTable.tireMarks[i].base.active) {
if (sEffInfoTable[4].update(&sEffTable.tireMarks[i].params) == 1) {
Effect_Destroy(globalCtx, i + 31);
@ -254,37 +255,34 @@ void Effect_UpdateAll(GlobalContext* globalCtx) {
}
}
}
#else
#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x800AF710/Effect_UpdateAll.asm")
#endif
void Effect_Destroy(GlobalContext* globalCtx, s32 index) {
if (index == 46) {
if (index == TOTAL_EFFECT_COUNT) {
return;
}
if (index < 3) {
if (index < SPARK_COUNT) {
sEffTable.sparks[index].base.active = 0;
sEffInfoTable[0].destroy(&sEffTable.sparks[index].params);
return;
}
index -= 3;
if (index < 25) {
index -= SPARK_COUNT;
if (index < BLURE_COUNT) {
sEffTable.blures[index].base.active = 0;
sEffInfoTable[1].destroy(&sEffTable.blures[index].params);
return;
}
index -= 25;
if (index < 3) {
index -= BLURE_COUNT;
if (index < SHIELD_PARTICLE_COUNT) {
sEffTable.shieldParticles[index].base.active = 0;
sEffInfoTable[3].destroy(&sEffTable.shieldParticles[index].params);
return;
}
index -= 3;
if (index < 15) {
index -= SHIELD_PARTICLE_COUNT;
if (index < TIRE_MARK_COUNT) {
sEffTable.tireMarks[index].base.active = 0;
sEffInfoTable[4].destroy(&sEffTable.tireMarks[index].params);
return;
@ -294,22 +292,22 @@ void Effect_Destroy(GlobalContext* globalCtx, s32 index) {
void Effect_DestroyAll(GlobalContext* globalCtx) {
s32 i;
for (i = 0; i < 3; i++) {
for (i = 0; i < SPARK_COUNT; i++) {
sEffTable.sparks[i].base.active = 0;
sEffInfoTable[0].destroy(&sEffTable.sparks[i].params);
}
for (i = 0; i < 25; i++) {
for (i = 0; i < BLURE_COUNT; i++) {
sEffTable.blures[i].base.active = 0;
sEffInfoTable[1].destroy(&sEffTable.blures[i].params);
}
for (i = 0; i < 3; i++) {
for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) {
sEffTable.shieldParticles[i].base.active = 0;
sEffInfoTable[3].destroy(&sEffTable.shieldParticles[i].params);
}
for (i = 0; i < 15; i++) {
for (i = 0; i < TIRE_MARK_COUNT; i++) {
sEffTable.tireMarks[i].base.active = 0;
sEffInfoTable[4].destroy(&sEffTable.tireMarks[i].params);
}

View File

@ -843,36 +843,36 @@ Gfx* func_8012C014(Gfx* gfx) {
return gfx;
}
void func_8012C058(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x3A]);
void func_8012C058(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x3A]);
}
void func_8012C080(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x39]);
void func_8012C080(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x39]);
}
void func_8012C0A8(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x32]);
void func_8012C0A8(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x32]);
}
void func_8012C0D0(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x33]);
void func_8012C0D0(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x33]);
}
void func_8012C0F8(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x34]);
void func_8012C0F8(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x34]);
}
void func_8012C120(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x35]);
void func_8012C120(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x35]);
}
void func_8012C148(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x36]);
void func_8012C148(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x36]);
}
void func_8012C170(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x37]);
void func_8012C170(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x37]);
}
Gfx* func_8012C198(Gfx* gfx) {
@ -880,8 +880,8 @@ Gfx* func_8012C198(Gfx* gfx) {
return gfx;
}
void func_8012C1C0(GraphicsContext* gCtxt) {
gCtxt->polyOpa.p = func_8012C198(gCtxt->polyOpa.p);
void func_8012C1C0(GraphicsContext* gfxCtx) {
gfxCtx->polyOpa.p = func_8012C198(gfxCtx->polyOpa.p);
}
Gfx* func_8012C1EC(Gfx* gfx) {
@ -889,20 +889,20 @@ Gfx* func_8012C1EC(Gfx* gfx) {
return gfx;
}
void func_8012C214(GraphicsContext* gCtxt) {
gCtxt->polyOpa.p = func_8012C1EC(gCtxt->polyOpa.p);
void func_8012C214(GraphicsContext* gfxCtx) {
gfxCtx->polyOpa.p = func_8012C1EC(gfxCtx->polyOpa.p);
}
void func_8012C240(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x19]);
void func_8012C240(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]);
}
void func_8012C268(GlobalContext* globalCtx) {
func_8012C28C(globalCtx->state.gfxCtx);
}
void func_8012C28C(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x19]);
void func_8012C28C(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x19]);
}
Gfx* func_8012C2B4(Gfx* gfx) {
@ -910,8 +910,8 @@ Gfx* func_8012C2B4(Gfx* gfx) {
return gfx;
}
void func_8012C2DC(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x19]);
void func_8012C2DC(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x19]);
}
Gfx* func_8012C304(Gfx* gfx) {
@ -919,16 +919,16 @@ Gfx* func_8012C304(Gfx* gfx) {
return gfx;
}
void func_8012C32C(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x1F]);
void func_8012C32C(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1F]);
}
void func_8012C354(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x20]);
void func_8012C354(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x20]);
}
void func_8012C37C(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x21]);
void func_8012C37C(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x21]);
}
Gfx* func_8012C3A4(Gfx* gfx) {
@ -941,20 +941,20 @@ Gfx* func_8012C3CC(Gfx* gfx) {
return gfx;
}
void func_8012C3F4(GraphicsContext* gCtxt) {
gCtxt->polyOpa.p = func_8012C3CC(gCtxt->polyOpa.p);
void func_8012C3F4(GraphicsContext* gfxCtx) {
gfxCtx->polyOpa.p = func_8012C3CC(gfxCtx->polyOpa.p);
}
void func_8012C420(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x23]);
void func_8012C420(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x23]);
}
void func_8012C448(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x2C]);
void func_8012C448(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2C]);
}
void func_8012C470(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x24]);
void func_8012C470(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x24]);
}
Gfx* func_8012C498(Gfx* gfx) {
@ -962,36 +962,36 @@ Gfx* func_8012C498(Gfx* gfx) {
return gfx;
}
void func_8012C4C0(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x1C]);
void func_8012C4C0(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x1C]);
}
void func_8012C4E8(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x2B]);
void func_8012C4E8(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2B]);
}
void func_8012C510(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x2D]);
void func_8012C510(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2D]);
}
void func_8012C538(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->overlay.p++, &sSetupDL[6 * 0x2E]);
void func_8012C538(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->overlay.p++, &sSetupDL[6 * 0x2E]);
}
void func_8012C560(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x26]);
void func_8012C560(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x26]);
}
void func_8012C588(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x4]);
void func_8012C588(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x4]);
}
void func_8012C5B0(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x25]);
void func_8012C5B0(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x25]);
}
void func_8012C5D8(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x2]);
void func_8012C5D8(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x2]);
}
Gfx* func_8012C600(Gfx* gfx) {
@ -999,12 +999,12 @@ Gfx* func_8012C600(Gfx* gfx) {
return gfx;
}
void func_8012C628(GraphicsContext* gCtxt) {
gCtxt->polyOpa.p = func_8012C600(gCtxt->polyOpa.p);
void func_8012C628(GraphicsContext* gfxCtx) {
gfxCtx->polyOpa.p = func_8012C600(gfxCtx->polyOpa.p);
}
void func_8012C654(GraphicsContext* gCtxt) {
gCtxt->overlay.p = func_8012C600(gCtxt->overlay.p);
void func_8012C654(GraphicsContext* gfxCtx) {
gfxCtx->overlay.p = func_8012C600(gfxCtx->overlay.p);
}
void func_8012C680(Gfx** gfxp) {
@ -1013,16 +1013,16 @@ void func_8012C680(Gfx** gfxp) {
*gfxp = gfx;
}
void func_8012C6AC(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x28]);
void func_8012C6AC(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x28]);
}
void func_8012C6D4(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyOpa.p++, &sSetupDL[6 * 0x29]);
void func_8012C6D4(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, &sSetupDL[6 * 0x29]);
}
void func_8012C6FC(GraphicsContext* gCtxt) {
gSPDisplayList(gCtxt->polyXlu.p++, &sSetupDL[6 * 0x2F]);
void func_8012C6FC(GraphicsContext* gfxCtx) {
gSPDisplayList(gfxCtx->polyXlu.p++, &sSetupDL[6 * 0x2F]);
}
Gfx* func_8012C724(Gfx* gfx) {
@ -1225,20 +1225,20 @@ Gfx* Gfx_PrimColor(GraphicsContext* gfxCtx, s32 lodfrac, s32 r, s32 g, s32 b, s3
#ifdef NON_MATCHING
// regalloc, some reorderings
void func_8012CF0C(GraphicsContext* gCtxt, s32 iParm2, s32 iParm3, u8 r, u8 g, u8 b) {
void func_8012CF0C(GraphicsContext* gfxCtx, s32 iParm2, s32 iParm3, u8 r, u8 g, u8 b) {
s32 i;
Gfx* gfx;
gSegments[0] = 0;
gSegments[14] = (u32)graphDlEntry;
gSegments[15] = (u32)gCtxt->framebuffer;
gSegments[15] = (u32)gfxCtx->framebuffer;
gfx = graphDlEntry + 0x16;
gSPDisplayList(gfx + 0, &D_0E000140);
gSPDisplayList(gfx + 1, D_801C1CA0);
gDPSetColorImage(gfx + 2, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, 0x0F000000);
if (gCtxt->zbuffer != NULL) {
gDPSetDepthImage(gfx + 3, gCtxt->zbuffer);
if (gfxCtx->zbuffer != NULL) {
gDPSetDepthImage(gfx + 3, gfxCtx->zbuffer);
} else {
gDPSetDepthImage(gfx + 3, 0x0F000000);
}
@ -1249,16 +1249,16 @@ void func_8012CF0C(GraphicsContext* gCtxt, s32 iParm2, s32 iParm3, u8 r, u8 g, u
gSPEndDisplayList(gfx + 1);
gfx = graphDlEntry + 0x9;
if (gCtxt->zbuffer == NULL) {
if (gfxCtx->zbuffer == NULL) {
gSPEndDisplayList(gfx + 0);
} else {
gDPSetColorImage(gfx + 0, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, gCtxt->zbuffer);
gDPSetColorImage(gfx + 0, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, gfxCtx->zbuffer);
gDPPipeSync(gfx + 1);
gDPSetCycleType(gfx + 2, G_CYC_FILL);
gDPSetRenderMode(gfx + 3, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(gfx + 4, (GPACK_RGBA5551(0xFF, 0xFF, 0xF0, 0) << 16) | GPACK_RGBA5551(0xFF, 0xFF, 0xF0, 0));
gSPDisplayList(gfx + 5, &D_0E0002C8);
gDPSetColorImage(gfx + 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, gCtxt->zbuffer);
gDPSetColorImage(gfx + 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, gfxCtx->zbuffer);
gSPEndDisplayList(gfx + 7);
}
@ -1289,27 +1289,27 @@ void func_8012CF0C(GraphicsContext* gCtxt, s32 iParm2, s32 iParm3, u8 r, u8 g, u
}
gSPEndDisplayList(gfx + i);
gSPDisplayList(gCtxt->polyOpa.p++, graphDlEntry + 0x16);
gSPDisplayList(gCtxt->polyXlu.p++, graphDlEntry + 0x16);
gSPDisplayList(gCtxt->overlay.p++, graphDlEntry + 0x16);
gSPDisplayList(gCtxt->unk1B8.p++, graphDlEntry + 0x16);
gSPDisplayList(gfxCtx->polyOpa.p++, graphDlEntry + 0x16);
gSPDisplayList(gfxCtx->polyXlu.p++, graphDlEntry + 0x16);
gSPDisplayList(gfxCtx->overlay.p++, graphDlEntry + 0x16);
gSPDisplayList(gfxCtx->unk1B8.p++, graphDlEntry + 0x16);
if (iParm3) {
gSPDisplayList(gCtxt->polyOpa.p++, &D_0E000048);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0E000048);
}
if (iParm2) {
gSPDisplayList(gCtxt->polyOpa.p++, &D_0E000088);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_0E000088);
}
}
#else
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_rcp/func_8012CF0C.asm")
#endif
void func_8012D374(GraphicsContext* gCtxt, u8 r, u8 g, u8 b) {
void func_8012D374(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
if ((R_PAUSE_MENU_MODE < 2) && (D_801F6D10 < 2)) {
func_8012CF0C(gCtxt, 1, 1, r, g, b);
func_8012CF0C(gfxCtx, 1, 1, r, g, b);
} else {
func_8012CF0C(gCtxt, 0, 0, r, g, b);
func_8012CF0C(gfxCtx, 0, 0, r, g, b);
}
}