Match func_80168DAC

This commit is contained in:
Derek Hensley 2022-08-19 00:01:29 -07:00
parent afffe39763
commit e1c17c5da3
4 changed files with 48 additions and 9 deletions

View File

@ -2601,7 +2601,7 @@ void Play_Init(GameState* gameState);
// void func_8016CD4C(void);
// void func_8016E40C(void);
// void func_8016EA90(void);
// void func_8016F1A8(void);
void func_8016F1A8(HiresoStruct* arg0, GraphicsContext* gfxCtx);
// void func_8016F4EC(void);
void func_8016F5A8(PlayState* play, HiresoStruct* arg1, Input* input);
void func_8016FC78(HiresoStruct* this);
@ -2778,11 +2778,11 @@ void func_801780F0(Mtx* param_1, f32 param_2, f32 param_3, f32 param_4, f32 para
// void func_801781EC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
void func_8017842C(MtxF* arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 arg10);
void func_80178750(void);
// void func_80178818(void);
void func_80178818(void);
void func_80178978(void);
// void func_801789D4(void);
u32 SysCfb_GetFbPtr(s32 index);
u32 SysCfb_GetZBuffer(void);
void* SysCfb_GetFbPtr(s32 index);
void* SysCfb_GetZBuffer(void);
// UNK_TYPE4 func_80178A24(void);
// void func_80178A34(void);
s32 func_80178A94(s32 param_1, s32 param_2);

View File

@ -3275,7 +3275,7 @@ extern UNK_TYPE2 D_801FBBCC;
extern UNK_TYPE2 D_801FBBCE;
// extern UNK_TYPE1 D_801FBBD0;
// extern UNK_TYPE1 D_801FBBD2;
// extern UNK_TYPE1 D_801FBBD4;
extern u8 D_801FBBD4;
// extern UNK_TYPE1 D_801FBBE0;
extern Vec3f D_801FBBF0;
extern LineSegment Math3D_ColSphereTri_line;

View File

@ -49,7 +49,7 @@ void Graph_SetNextGfxPool(GraphicsContext* gfxCtx) {
gfxCtx->workBuffer = pool->workBuffer;
gfxCtx->debugBuffer = pool->debugBuffer;
gfxCtx->curFrameBuffer = (u16*)SysCfb_GetFbPtr(gfxCtx->framebufferIdx % 2);
gfxCtx->curFrameBuffer = SysCfb_GetFbPtr(gfxCtx->framebufferIdx % 2);
gSegments[0x0F] = gfxCtx->curFrameBuffer;
gfxCtx->zbuffer = SysCfb_GetZBuffer();

View File

@ -233,13 +233,13 @@ void Play_Destroy(GameState* thisx) {
if (D_801F6DFC != 0) {
MsgEvent_SendNullTask();
func_80178750();
gfxCtx->curFrameBuffer = (u16*)SysCfb_GetFbPtr(gfxCtx->framebufferIdx % 2);
gfxCtx->curFrameBuffer = SysCfb_GetFbPtr(gfxCtx->framebufferIdx % 2);
gfxCtx->zbuffer = SysCfb_GetZBuffer();
gfxCtx->viMode = D_801FBB88;
gfxCtx->viConfigFeatures = gViConfigFeatures;
gfxCtx->xScale = gViConfigXScale;
gfxCtx->yScale = gViConfigYScale;
gfxCtx->updateViMode = 1;
gfxCtx->updateViMode = true;
D_801F6DFC = 0;
}
@ -442,7 +442,46 @@ void func_80167F0C(PlayState* this) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Draw.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80168DAC.s")
void func_80168DAC(PlayState* this) {
GraphicsContext* gfxCtx = this->state.gfxCtx;
{
GraphicsContext* gfxCtx2 = this->state.gfxCtx;
if (D_801F6DFC != 0) {
if (D_801FBBD4 != 1) {
MsgEvent_SendNullTask();
func_80178818();
gfxCtx2->curFrameBuffer = SysCfb_GetFbPtr(gfxCtx2->framebufferIdx % 2);
gfxCtx2->zbuffer = SysCfb_GetZBuffer();
gfxCtx2->viMode = D_801FBB88;
gfxCtx2->viConfigFeatures = gViConfigFeatures;
gfxCtx2->xScale = gViConfigXScale;
gfxCtx2->yScale = gViConfigYScale;
gfxCtx2->updateViMode = true;
}
} else {
if (D_801FBBD4 != 0) {
MsgEvent_SendNullTask();
func_80178750();
gfxCtx2->curFrameBuffer = SysCfb_GetFbPtr(gfxCtx2->framebufferIdx % 2);
gfxCtx2->zbuffer = SysCfb_GetZBuffer();
gfxCtx2->viMode = D_801FBB88;
gfxCtx2->viConfigFeatures = gViConfigFeatures;
gfxCtx2->xScale = gViConfigXScale;
gfxCtx2->yScale = gViConfigYScale;
gfxCtx2->updateViMode = true;
}
}
}
if ((D_801F6DFC != 0) && ((SREG(2) != 2) || (gZBufferPtr == NULL))) {
func_8016F1A8(&D_801F6D50, gfxCtx);
func_80156758(this);
} else {
Play_Draw(this);
}
}
void Play_Main(GameState* thisx);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Main.s")