From f2d272f50b2a95150917010930681e12b0d70636 Mon Sep 17 00:00:00 2001 From: engineer124 Date: Fri, 30 Sep 2022 11:11:01 -0400 Subject: [PATCH] misc play docs --- include/functions.h | 24 +-- include/regs.h | 7 +- include/variables.h | 6 +- include/z64.h | 4 +- src/code/z_actor.c | 4 +- src/code/z_construct.c | 3 +- src/code/z_game_over.c | 2 +- src/code/z_kankyo.c | 2 +- src/code/z_play.c | 144 +++++++++--------- src/code/z_scene.c | 2 +- src/code/z_vr_box.c | 2 +- .../ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c | 2 +- .../z_bg_ikana_rotaryroom.c | 2 +- src/overlays/actors/ovl_Boss_02/z_boss_02.c | 18 +-- .../actors/ovl_Door_Shutter/z_door_shutter.c | 3 +- .../actors/ovl_Door_Warp1/z_door_warp1.c | 4 +- .../actors/ovl_En_Bji_01/z_en_bji_01.c | 2 +- .../actors/ovl_En_Kakasi/z_en_kakasi.c | 2 +- src/overlays/actors/ovl_En_Test4/z_en_test4.c | 2 +- src/overlays/actors/ovl_En_Test7/z_en_test7.c | 24 +-- src/overlays/actors/ovl_En_Tru/z_en_tru.c | 6 +- .../actors/ovl_En_Wallmas/z_en_wallmas.c | 2 +- .../actors/ovl_En_Warp_Uzu/z_en_warp_uzu.c | 2 +- .../actors/ovl_En_Warp_tag/z_en_warp_tag.c | 2 +- .../actors/ovl_Obj_Grass/z_obj_grass.c | 6 +- .../ovl_Obj_Roomtimer/z_obj_roomtimer.c | 2 +- tools/disasm/functions.txt | 24 +-- tools/disasm/variables.txt | 6 +- tools/sizes/code_functions.csv | 24 +-- 29 files changed, 170 insertions(+), 163 deletions(-) diff --git a/include/functions.h b/include/functions.h index 308c1a4f7b..682a701552 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1432,7 +1432,7 @@ void Font_LoadMessageBoxEndIcon(Font* font, u16 icon); void Font_LoadOrderedFont(Font* font); // void func_800F5090(void); // void func_800F50D4(void); -void Kankyo_Init(PlayState* play, EnvironmentContext* envCtx, s32 arg2); +void Environment_Init(PlayState* play, EnvironmentContext* envCtx, s32 arg2); u32 func_800F5954(u8* param_1, u32 param_2, u32 param_3, u8 param_4, u8 param_5); f32 Environment_LerpWeight(u16 max, u16 min, u16 val); // void func_800F5B10(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); @@ -2358,7 +2358,7 @@ s32 func_80142440(SkyboxContext* skyboxCtx, Vtx* vtx, s32 arg2, s32 arg3, s32 ar void func_80143148(SkyboxContext* skyboxCtx, s32 arg1); void func_801431E8(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType); void func_80143324(PlayState* play, SkyboxContext* skyboxCtx, s16 skyType); -void func_801434E4(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType); +void Skybox_Init(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType); Mtx* SkyboxDraw_UpdateMatrix(SkyboxContext* skyboxCtx, f32 x, f32 y, f32 z); void SkyboxDraw_SetColors(SkyboxContext* skyboxCtx, u8 primR, u8 primG, u8 primB, u8 envR, u8 envG, u8 envB); void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 blend, f32 x, f32 y, f32 z); @@ -2524,7 +2524,7 @@ void func_80165690(void); // void func_80165E1C(void); // void func_80165E7C(void); // void Play_SetupTransition(void); -// void func_80166060(void); +// void Play_ClearTransitionInstanceType(void); Gfx* func_801660B8(PlayState* play, Gfx* gfx); void Play_Destroy(GameState* thisx); // void func_801663C4(void); @@ -2541,10 +2541,10 @@ void Play_Main(GameState* thisx); s32 Play_InCsMode(PlayState* play); f32 func_80169100(PlayState* play, MtxF* mtx, CollisionPoly** poly, s32* bgId, Vec3f* feetPos); void func_801691F0(PlayState* this, MtxF* mtx, Vec3f* feetPos); -void* Play_LoadScene(PlayState* play, RomFile* entry); -void func_8016927C(PlayState* play, s16 sParm2); -// void func_801692C4(PlayState* play, UNK_TYPE1 uParm2); -// void Play_SceneInit(PlayState* play, s32 sceneIndex, UNK_TYPE1 param_3); +void* Play_LoadFile(PlayState* play, RomFile* entry); +void Play_InitEnvironment(PlayState* play, s16 sParm2); +// void Play_InitScene(PlayState* play, UNK_TYPE1 uParm2); +// void Play_SpawnScene(PlayState* play, s32 sceneIndex, UNK_TYPE1 param_3); void Play_GetScreenPos(PlayState* play, Vec3f* worldPos, Vec3f* screenPos); s16 Play_CreateSubCamera(PlayState* play); s16 Play_GetActiveCamId(PlayState* play); @@ -2565,16 +2565,16 @@ s16 Play_GetOriginalSceneId(s16 sceneId); void Play_SaveCycleSceneFlags(GameState* gameState); void Play_SetRespawnData(GameState* gameState, s32 respawnNumber, u16 sceneSetup, s32 roomIndex, s32 playerParams, Vec3f* pos, s16 yaw); void Play_SetupRespawnPoint(GameState* gameState, s32 respawnNumber, s32 playerParams); -void func_80169EFC(GameState* gameState); -void func_80169F78(GameState* gameState); -void func_80169FDC(GameState* gameState); +void Play_TriggerVoidOut(GameState* gameState); +void Play_LoadToLastEntrance(GameState* gameState); +void Play_TriggerRespawn(GameState* gameState); s32 func_80169FFC(GameState* gameState); s32 FrameAdvance_IsEnabled(GameState* gameState); s32 func_8016A02C(GameState* gameState, Actor* actor, s16* yaw); s32 Play_IsUnderwater(PlayState* play, Vec3f* pos); s32 Play_IsDebugCamEnabled(void); void Play_AssignPlayerActorCsIdsFromScene(GameState* gameState, s32 cutscene); -void func_8016A268(GameState* gameState, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5); +void Play_FillScreen(GameState* gameState, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5); void Play_Init(GameState* gameState); // void func_8016AC10(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10); // void func_8016AE1C(void); @@ -3349,6 +3349,6 @@ void Audio_SetVolumeScale(u8 playerIndex, u8 scaleIndex, u8 targetVol, u8 volFad void GameOver_Init(PlayState* play); void GameOver_FadeLights(PlayState* play); void GameOver_Update(PlayState* play); -void func_801AAAA0(PlayState* play); +void Construct_InitRegs(PlayState* play); #endif diff --git a/include/regs.h b/include/regs.h index cf15b236af..8aa1bac6a5 100644 --- a/include/regs.h +++ b/include/regs.h @@ -43,10 +43,15 @@ #define bREG(r) BASE_REG(28, r) /* TODO: Actually confirm these, in case of miss-match it's at least a simple list to `sed` */ -#define R_ENABLE_ARENA_DBG SREG(0) // Same as OoT #define R_RUN_SPEED_LIMIT REG(45) +#define R_ENABLE_ARENA_DBG SREG(0) // Same as OoT #define R_UPDATE_RATE SREG(30) #define R_PAUSE_MENU_MODE SREG(94) +#define R_PLAY_FILL_SCREEN_ON MREG(64) +#define R_PLAY_FILL_SCREEN_R MREG(65) +#define R_PLAY_FILL_SCREEN_G MREG(66) +#define R_PLAY_FILL_SCREEN_B MREG(67) +#define R_PLAY_FILL_SCREEN_ALPHA MREG(68) #define R_C_UP_ICON_X YREG(88) #define R_C_UP_ICON_Y YREG(89) #define R_MAGIC_FILL_COLOR(i) ZREG(0 + i) diff --git a/include/variables.h b/include/variables.h index 75630fd2ea..beac385b2d 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1476,7 +1476,7 @@ extern const TransitionInit TransitionFade_InitVars; extern const TransitionInit TransitionCircle_InitVars; extern s32 gDbgCamEnabled; // extern UNK_TYPE1 D_801D0D54; -// extern UNK_TYPE2 D_801D0D58; +// extern UNK_TYPE2 sQuakeIndex; // extern UNK_TYPE2 sIsCameraUnderwater; extern Input* D_801D0D60; // extern UNK_TYPE2 D_801D0D64; @@ -3193,7 +3193,7 @@ extern Input D_801F6C18; // extern UNK_TYPE1 sTrnsnUnk; // extern UNK_TYPE1 D_801F6D0C; extern UNK_TYPE4 gTrnsnUnkState; -// extern UNK_TYPE1 D_801F6D18; +// extern UNK_TYPE1 sVisMono; extern Color_RGBA8_u32 gVisMonoColor; // extern UNK_TYPE1 D_801F6D38; // extern UNK_TYPE4 D_801F6D4C; @@ -3497,7 +3497,7 @@ extern GfxPool gGfxPools[2]; extern u8 gAudioHeap[0x138000]; extern u8 gSystemHeap[UNK_SIZE]; -extern u8 D_80780000[0x4600]; +extern u8 gPictoPhotoI8[0x4600]; extern u8 D_80784600[0x56200]; extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH]; diff --git a/include/z64.h b/include/z64.h index 83b4ac1bbe..246637eece 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1166,7 +1166,7 @@ struct PlayState { /* 0x18798 */ s32 (*setPlayerTalkAnim)(struct PlayState* play, void* talkAnim, s32 arg2); /* 0x1879C */ s16 playerActorCsIds[10]; /* 0x187B0 */ MtxF viewProjectionMtxF; - /* 0x187F0 */ Vec3f unk_187F0; + /* 0x187F0 */ Vec3f projectionMtxFDiagonal; /* 0x187FC */ MtxF billboardMtxF; /* 0x1883C */ Mtx* billboardMtx; /* 0x18840 */ u32 gameplayFrames; @@ -1205,7 +1205,7 @@ struct PlayState { /* 0x18E48 */ TransitionFade unk_18E48; /* 0x18E54 */ SceneTableEntry* loadedScene; /* 0x18E58 */ UNK_PTR unk_18E58; - /* 0x18E5C */ UNK_PTR unk_18E5C; + /* 0x18E5C */ TexturePtr pictoPhotoI8; /* 0x18E60 */ void* unk_18E60; /* 0x18E64 */ void* unk_18E64; /* 0x18E68 */ void* unk_18E68; diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 8aa9bd2711..abbc84715b 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -2819,9 +2819,9 @@ s32 func_800BA2FC(PlayState* play, Actor* actor, Vec3f* projectedPos, f32 projec f32 phi_f16; if (play->view.fovy != 60.0f) { - phi_f12 = actor->uncullZoneScale * play->unk_187F0.x * 0.76980036f; // sqrt(16/27) + phi_f12 = actor->uncullZoneScale * play->projectionMtxFDiagonal.x * 0.76980036f; // sqrt(16/27) - phi_f14 = play->unk_187F0.y * 0.57735026f; // 1 / sqrt(3) + phi_f14 = play->projectionMtxFDiagonal.y * 0.57735026f; // 1 / sqrt(3) phi_f16 = actor->uncullZoneScale * phi_f14; phi_f14 *= actor->uncullZoneDownward; } else { diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 5e92d49587..382292ca39 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -1,4 +1,5 @@ #include "global.h" -void func_801AAAA0(PlayState* play) { +// Remnant from OoT +void Construct_InitRegs(PlayState* play) { } diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c index 92f7b78dc3..abb48fb12e 100644 --- a/src/code/z_game_over.c +++ b/src/code/z_game_over.c @@ -68,7 +68,7 @@ void GameOver_Update(PlayState* play) { break; case GAMEOVER_DEATH_FADE_OUT: if (func_801A8A50(1) != NA_BGM_GAME_OVER) { - func_80169F78(&play->state); + Play_LoadToLastEntrance(&play->state); if (gSaveContext.respawnFlag != -7) { gSaveContext.respawnFlag = -6; } diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 81fc6c46e4..b404308b53 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -4,7 +4,7 @@ #pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F50D4.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Kankyo_Init.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Environment_Init.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5954.s") diff --git a/src/code/z_play.c b/src/code/z_play.c index 1613b019d7..c78c68d1d4 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -16,7 +16,7 @@ extern Input D_801F6C18; extern FbDemoStruct sTrnsnUnk; extern u16* D_801F6D0C; extern s32 gTrnsnUnkState; -extern VisMono D_801F6D18; +extern VisMono sVisMono; extern Color_RGBA8_u32 gVisMonoColor; extern Struct_80140E80 D_801F6D38; extern Struct_80140E80* D_801F6D4C; @@ -207,9 +207,10 @@ void func_80165E04(void) { SREG(89) = 1; } +// Takes the picto photo, stores it as I8 to gPictoPhotoI8 void func_80165E1C(PreRender* prerender) { PreRender_ApplyFilters(prerender); - func_801656A4(D_80780000, prerender->fbufSave, 320, 80, 64, 240 - 1, 176 - 1, 8); + func_801656A4(gPictoPhotoI8, prerender->fbufSave, 320, 80, 64, 240 - 1, 176 - 1, 8); } s32 func_80165E7C(PlayState* this, s32 transitionType) { @@ -376,7 +377,7 @@ const char D_801DFB20[] = "fi"; const char D_801DFB24[] = "fj"; const char D_801DFB28[] = "fk"; -void func_80166060(PlayState* this) { +void Play_ClearTransitionInstanceType(PlayState* this) { if (this->transitionCtx.fbdemoType != -1) { func_80163D80(&this->transitionCtx, this); } @@ -420,7 +421,7 @@ void Play_Destroy(GameState* thisx) { SREG(89) = 0; PreRender_Destroy(&this->pauseBgPreRender); this->unk_18E58 = NULL; - this->unk_18E5C = NULL; + this->pictoPhotoI8 = NULL; this->unk_18E60 = NULL; this->unk_18E64 = NULL; this->unk_18E68 = NULL; @@ -435,13 +436,13 @@ void Play_Destroy(GameState* thisx) { if ((this->transitionMode == TRANS_MODE_INSTANCE_RUNNING) || D_801D0D54) { this->transitionCtx.destroy(&this->transitionCtx.instanceData); - func_80166060(this); + Play_ClearTransitionInstanceType(this); this->transitionMode = TRANS_MODE_OFF; } ShrinkWindow_Destroy(); TransitionFade_Destroy(&this->unk_18E48); - VisMono_Destroy(&D_801F6D18); + VisMono_Destroy(&sVisMono); func_80140EA0(D_801F6D4C); D_801F6D4C = NULL; @@ -456,17 +457,18 @@ void Play_Destroy(GameState* thisx) { ZeldaArena_Cleanup(); } -void func_801663C4(u8* arg0, s8* arg1, u32 arg2) { +// compresses from I8 to I5 and stores it in the save file +void func_801663C4(u8* srcI8, s8* destI5, size_t size) { u32 i; - u8* var_v0 = arg0; - s8* var_v1 = arg1; + u8* src = srcI8; + s8* dest = destI5; s32 var_a3 = 8; u32 var_t0 = 0; s32 var_a1; u32 temp_lo_2; - for (i = 0; i < arg2; i++) { - temp_lo_2 = *var_v0++; + for (i = 0; i < size; i++) { + temp_lo_2 = *src++; temp_lo_2 = (temp_lo_2 * 0x1F + 0x80) / 255; var_a1 = var_a3 - 5; if (var_a1 > 0) { @@ -474,27 +476,28 @@ void func_801663C4(u8* arg0, s8* arg1, u32 arg2) { } else { var_t0 |= temp_lo_2 >> -(var_a1); - *var_v1++ = var_t0; + *dest++ = var_t0; var_a1 += 8; var_t0 = temp_lo_2 << (var_a1); } var_a3 = var_a1; } if (var_a3 < 8) { - *var_v1 = var_t0; + *dest = var_t0; } } -void func_80166644(u8* arg0, s8* arg1, u32 arg2) { +// decompresses from the save file from I5 to I8 +void func_80166644(u8* srcI5, s8* destI8, size_t size) { u32 i; - u8* var_v0 = arg0; - s8* var_v1 = arg1; + u8* src = srcI5; + s8* dest = destI8; s32 var_a3 = 8; u32 var_t0; s32 var_a1; - u32 temp_lo_2 = *var_v0++; + u32 temp_lo_2 = *src++; - for (i = 0; i < arg2; i++) { + for (i = 0; i < size; i++) { var_a1 = var_a3 - 5; if (var_a1 > 0) { var_t0 = 0; @@ -502,12 +505,12 @@ void func_80166644(u8* arg0, s8* arg1, u32 arg2) { } else { var_t0 = 0; var_t0 |= temp_lo_2 << -(var_a1); - temp_lo_2 = *var_v0++; + temp_lo_2 = *src++; var_a1 += 8; var_t0 |= temp_lo_2 >> var_a1; } var_t0 = (var_t0 & 0x1F) * 0xFF / 0x1F; - *var_v1++ = var_t0; + *dest++ = var_t0; var_a3 = var_a1; } } @@ -531,7 +534,7 @@ f32 func_801668B4(PlayState* this, Vec3f* arg1, s32* arg2) { } void func_80166968(PlayState* this, Camera* camera) { - static s16 D_801D0D58 = -1; + static s16 sQuakeIndex = -1; static s16 sIsCameraUnderwater = false; s32 pad; s32 sp28; @@ -541,7 +544,7 @@ void func_80166968(PlayState* this, Camera* camera) { if (func_801668B4(this, &camera->eye, &sp28) != BGCHECK_Y_MIN) { if (!sIsCameraUnderwater) { Camera_SetFlags(camera, CAM_STATE_UNDERWATER); - D_801D0D58 = -1; + sQuakeIndex = -1; Distortion_SetType(0x10); Distortion_SetCountdown(80); } @@ -549,14 +552,14 @@ void func_80166968(PlayState* this, Camera* camera) { func_801A3EC0(0x20); func_800F6834(this, sp28); - if ((D_801D0D58 == -1) || (Quake_GetCountdown(D_801D0D58) == 0xA)) { - s16 quake = Quake_Add(camera, 5); + if ((sQuakeIndex == -1) || (Quake_GetCountdown(sQuakeIndex) == 0xA)) { + s16 quakeIndex = Quake_Add(camera, 5); - D_801D0D58 = quake; - if (quake != 0) { - Quake_SetSpeed(D_801D0D58, 550); - Quake_SetQuakeValues(D_801D0D58, 1, 1, 180, 0); - Quake_SetCountdown(D_801D0D58, 1000); + sQuakeIndex = quakeIndex; + if (quakeIndex != 0) { + Quake_SetSpeed(sQuakeIndex, 550); + Quake_SetQuakeValues(sQuakeIndex, 1, 1, 180, 0); + Quake_SetCountdown(sQuakeIndex, 1000); } } if (player->stateFlags3 & PLAYER_STATE3_8000) { @@ -573,8 +576,8 @@ void func_80166968(PlayState* this, Camera* camera) { Distortion_ClearType(4); Distortion_ClearType(0x10); Distortion_ClearType(8); - if (D_801D0D58 != 0) { - Quake_RemoveFromIdx(D_801D0D58); + if (sQuakeIndex != 0) { + Quake_RemoveFromIdx(sQuakeIndex); } func_800F694C(this); func_801A3EC0(0); @@ -743,7 +746,7 @@ void Play_UpdateTransition(PlayState* this) { D_801D0D54 = true; } else { this->transitionCtx.destroy(&this->transitionCtx.instanceData); - func_80166060(this); + Play_ClearTransitionInstanceType(this); } this->transitionMode = TRANS_MODE_OFF; if (gTrnsnUnkState == 3) { @@ -1191,12 +1194,13 @@ void Play_Draw(PlayState* this) { View_RenderView(&this->view, 0xF); + // The billboard matrix temporarily stores the viewing matrix Matrix_MtxToMtxF(&this->view.viewing, &this->billboardMtxF); Matrix_MtxToMtxF(&this->view.projection, &this->viewProjectionMtxF); - this->unk_187F0.x = this->viewProjectionMtxF.xx; - this->unk_187F0.y = this->viewProjectionMtxF.yy; - this->unk_187F0.z = -this->viewProjectionMtxF.zz; + this->projectionMtxFDiagonal.x = this->viewProjectionMtxF.xx; + this->projectionMtxFDiagonal.y = this->viewProjectionMtxF.yy; + this->projectionMtxFDiagonal.z = -this->viewProjectionMtxF.zz; SkinMatrix_MtxFMtxFMult(&this->viewProjectionMtxF, &this->billboardMtxF, &this->viewProjectionMtxF); @@ -1241,8 +1245,8 @@ void Play_Draw(PlayState* this) { TransitionFade_Draw(&this->unk_18E48, &sp218); if (gVisMonoColor.a != 0) { - D_801F6D18.primColor.rgba = gVisMonoColor.rgba; - VisMono_Draw(&D_801F6D18, &sp218); + sVisMono.primColor.rgba = gVisMonoColor.rgba; + VisMono_Draw(&sVisMono, &sp218); } gSPEndDisplayList(sp218++); @@ -1346,8 +1350,9 @@ void Play_Draw(PlayState* this) { Environment_DrawCustomLensFlare(this); - if (MREG(64) != 0) { - Environment_FillScreen(gfxCtx, MREG(65), MREG(66), MREG(67), MREG(68), 3); + if (R_PLAY_FILL_SCREEN_ON) { + Environment_FillScreen(gfxCtx, R_PLAY_FILL_SCREEN_R, R_PLAY_FILL_SCREEN_G, R_PLAY_FILL_SCREEN_B, + R_PLAY_FILL_SCREEN_ALPHA, 3); } switch (this->envCtx.fillScreen) { @@ -1542,20 +1547,21 @@ void func_801691F0(PlayState* this, MtxF* mtx, Vec3f* feetPos) { func_80169100(this, mtx, &poly, &bgId, feetPos); } -void* Play_LoadScene(PlayState* this, RomFile* entry) { +void* Play_LoadFile(PlayState* this, RomFile* entry) { size_t size = entry->vromEnd - entry->vromStart; - void* sp18 = THA_AllocEndAlign16(&this->state.heap, size); + void* allocp = THA_AllocEndAlign16(&this->state.heap, size); - DmaMgr_SendRequest0(sp18, entry->vromStart, size); - return sp18; + DmaMgr_SendRequest0(allocp, entry->vromStart, size); + + return allocp; } -void func_8016927C(PlayState* this, s16 skyboxId) { - func_801434E4(&this->state, &this->skyboxCtx, skyboxId); - Kankyo_Init(this, &this->envCtx, 0); +void Play_InitEnvironment(PlayState* this, s16 skyboxId) { + Skybox_Init(&this->state, &this->skyboxCtx, skyboxId); + Environment_Init(this, &this->envCtx, 0); } -void func_801692C4(PlayState* this, s32 spawn) { +void Play_InitScene(PlayState* this, s32 spawn) { this->curSpawn = spawn; this->linkActorEntry = NULL; this->actorCsCamList = NULL; @@ -1572,10 +1578,10 @@ void func_801692C4(PlayState* this, s32 spawn) { Room_Init(this, &this->roomCtx); gSaveContext.worldMapArea = 0; Scene_ProcessHeader(this, this->sceneSegment); - func_8016927C(this, this->skyboxId); + Play_InitEnvironment(this, this->skyboxId); } -void Play_SceneInit(PlayState* this, s32 sceneId, s32 spawn) { +void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) { s32 pad; SceneTableEntry* sp1C = &gSceneTable[sceneId]; @@ -1583,10 +1589,10 @@ void Play_SceneInit(PlayState* this, s32 sceneId, s32 spawn) { this->loadedScene = sp1C; this->sceneId = sceneId; this->sceneConfig = sp1C->drawConfig; - this->sceneSegment = Play_LoadScene(this, &sp1C->segment); + this->sceneSegment = Play_LoadFile(this, &sp1C->segment); sp1C->unk_D = 0; gSegments[0x02] = VIRTUAL_TO_PHYSICAL(this->sceneSegment); - func_801692C4(this, spawn); + Play_InitScene(this, spawn); Room_AllocateAndLoad(this, &this->roomCtx); } @@ -1906,9 +1912,7 @@ void func_80169ECC(PlayState* this) { } } -// Gameplay_TriggerVoidOut ? -// Used by Player, Ikana_Rotaryroom, Bji01, Kakasi, LiftNuts, Test4, Warptag, WarpUzu, Roomtimer -void func_80169EFC(GameState* thisx) { +void Play_TriggerVoidOut(GameState* thisx) { PlayState* this = (PlayState*)thisx; gSaveContext.respawn[RESPAWN_MODE_DOWN].tempSwitchFlags = this->actorCtx.sceneFlags.switches[2]; @@ -1921,9 +1925,7 @@ void func_80169EFC(GameState* thisx) { this->transitionType = TRANS_TYPE_FADE_BLACK; } -// Gameplay_LoadToLastEntrance ? -// Used by game_over and Test7 -void func_80169F78(GameState* thisx) { +void Play_LoadToLastEntrance(GameState* thisx) { PlayState* this = (PlayState*)thisx; this->nextEntrance = gSaveContext.respawn[RESPAWN_MODE_TOP].entrance; @@ -1933,10 +1935,8 @@ void func_80169F78(GameState* thisx) { this->transitionType = TRANS_TYPE_FADE_BLACK; } -// Gameplay_TriggerRespawn ? -// Used for void by Wallmaster, Deku Shrine doors. Also used by Player, Kaleido, DoorWarp1 -void func_80169FDC(GameState* thisx) { - func_80169F78(thisx); +void Play_TriggerRespawn(GameState* thisx) { + Play_LoadToLastEntrance(thisx); } // Used by Kankyo to determine how to change the lighting, e.g. for game over. @@ -2052,13 +2052,13 @@ void Play_AssignPlayerActorCsIdsFromScene(GameState* thisx, s32 startActorCsId) } } -// These regs are used by Gameplay_Draw, and several actors, purpose as yet unclear. -void func_8016A268(GameState* thisx, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) { - MREG(64) = arg1; - MREG(65) = arg2; - MREG(66) = arg3; - MREG(67) = arg4; - MREG(68) = arg5; +// Set values to fill screen +void Play_FillScreen(GameState* thisx, s16 fillScreenOn, u8 red, u8 green, u8 blue, u8 alpha) { + R_PLAY_FILL_SCREEN_ON = fillScreenOn; + R_PLAY_FILL_SCREEN_R = red; + R_PLAY_FILL_SCREEN_G = green; + R_PLAY_FILL_SCREEN_B = blue; + R_PLAY_FILL_SCREEN_ALPHA = alpha; } void Play_Init(GameState* thisx) { @@ -2168,7 +2168,7 @@ void Play_Init(GameState* thisx) { func_800DFF18(&this->mainCamera, 0x7F); Sram_Alloc(&this->state, &this->sramCtx); - func_801AAAA0(this); + Construct_InitRegs(this); Message_Init(this); GameOver_Init(this); SoundSource_InitAll(this); @@ -2212,7 +2212,7 @@ void Play_Init(GameState* thisx) { sp87 = gSaveContext.sceneSetupIndex; - Play_SceneInit( + Play_SpawnScene( this, Entrance_GetSceneIdAbsolute(((void)0, gSaveContext.save.entrance) + ((void)0, gSaveContext.sceneSetupIndex)), Entrance_GetSpawnNum(((void)0, gSaveContext.save.entrance) + ((void)0, gSaveContext.sceneSetupIndex))); @@ -2240,7 +2240,7 @@ void Play_Init(GameState* thisx) { PreRender_SetValues(&this->pauseBgPreRender, D_801FBBCC, D_801FBBCE, NULL, NULL); this->unk_18E64 = D_801FBB90; - this->unk_18E5C = D_80780000; + this->pictoPhotoI8 = gPictoPhotoI8; this->unk_18E68 = D_80784600; this->unk_18E58 = D_80784600; this->unk_18E60 = D_80784600; @@ -2277,7 +2277,7 @@ void Play_Init(GameState* thisx) { TransitionFade_SetType(&this->unk_18E48, 3); TransitionFade_SetColor(&this->unk_18E48, RGBA8(160, 160, 160, 255)); TransitionFade_Start(&this->unk_18E48); - VisMono_Init(&D_801F6D18); + VisMono_Init(&sVisMono); gVisMonoColor.a = 0; D_801F6D4C = &D_801F6D38; diff --git a/src/code/z_scene.c b/src/code/z_scene.c index db721efc5a..314642fcca 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -228,7 +228,7 @@ void Scene_HeaderCmdSpecialFiles(PlayState* play, SceneCmd* cmd) { } if (cmd->specialFiles.cUpElfMsgNum != 0) { - play->unk_18868 = Play_LoadScene(play, &tatlMessageFiles[cmd->specialFiles.cUpElfMsgNum - 1]); + play->unk_18868 = Play_LoadFile(play, &tatlMessageFiles[cmd->specialFiles.cUpElfMsgNum - 1]); } } diff --git a/src/code/z_vr_box.c b/src/code/z_vr_box.c index 6dd46633c9..fc28aebc70 100644 --- a/src/code/z_vr_box.c +++ b/src/code/z_vr_box.c @@ -133,7 +133,7 @@ void func_80143324(PlayState* play, SkyboxContext* skyboxCtx, s16 skyType) { } } -void func_801434E4(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType) { +void Skybox_Init(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType) { skyboxCtx->skyboxShouldDraw = 0; skyboxCtx->rotX = skyboxCtx->rotY = skyboxCtx->rotZ = 0.0f; diff --git a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c index 45286fccb4..a57efbe2db 100644 --- a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c +++ b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c @@ -274,7 +274,7 @@ void func_80A70F2C(BgCraceMovebg* this, PlayState* play) { if (Math_StepToF(&this->unk160, 0.0f, 1.0f)) { if (!(this->unk170 & 2) && !Flags_GetSwitch(play, BGCRACEMOVEBG_GET_7F0(&this->dyna.actor) + 1)) { play->haltAllActors = true; - func_80169FDC(&play->state); + Play_TriggerRespawn(&play->state); play_sound(NA_SE_OC_ABYSS); } func_80A70FF4(this, play); diff --git a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c index 902b527763..fdd059d6c2 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c @@ -648,7 +648,7 @@ void func_80B814B8(BgIkanaRotaryroom* this, PlayState* play) { if (ActorCutscene_GetCurrentIndex() == this->dyna.actor.cutscene) { if (player->actor.bgCheckFlags & 0x100) { func_800B8E58(player, NA_SE_VO_LI_DAMAGE_S + player->ageProperties->unk_92); - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); func_800B8E58(player, NA_SE_VO_LI_TAKEN_AWAY + player->ageProperties->unk_92); play->haltAllActors = true; play_sound(NA_SE_OC_ABYSS); diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.c b/src/overlays/actors/ovl_Boss_02/z_boss_02.c index 9808e68a40..8043968666 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.c +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.c @@ -461,20 +461,20 @@ Vec3f D_809DFA2C[] = { { -800.0f, -1000.0f, 0.0f }, { -800.0f, -1000.0f, 0.0f }, { -800.0f, -1000.0f, 0.0f }, }; -void func_809DA1D0(PlayState* play, u8 arg1, u8 arg2, u8 arg3, u8 arg4) { - MREG(64) = 1; - MREG(65) = arg1; - MREG(66) = arg2; - MREG(67) = arg3; - MREG(68) = arg4; +void func_809DA1D0(PlayState* play, u8 red, u8 green, u8 blue, u8 alpha) { + R_PLAY_FILL_SCREEN_ON = true; + R_PLAY_FILL_SCREEN_R = red; + R_PLAY_FILL_SCREEN_G = green; + R_PLAY_FILL_SCREEN_B = blue; + R_PLAY_FILL_SCREEN_ALPHA = alpha; } -void func_809DA22C(PlayState* play, u8 arg1) { - MREG(68) = arg1; +void func_809DA22C(PlayState* play, u8 alpha) { + R_PLAY_FILL_SCREEN_ALPHA = alpha; } void func_809DA24C(PlayState* play) { - MREG(64) = 0; + R_PLAY_FILL_SCREEN_ON = false; } void Boss02_SpawnEffectSand(TwinmoldEffect* effects, Vec3f* pos, f32 scale) { diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 6bf8adc727..be1d227b29 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -260,7 +260,8 @@ void DoorShutter_Destroy(Actor* thisx, PlayState* play) { } void DoorShutter_SetupType(DoorShutter* this, PlayState* play) { - if (Object_IsLoaded(&play->objectCtx, this->requiredObjBankIndex) && ((MREG(64) == 0) || (MREG(68) == 0))) { + if (Object_IsLoaded(&play->objectCtx, this->requiredObjBankIndex) && + (!R_PLAY_FILL_SCREEN_ON || (R_PLAY_FILL_SCREEN_ALPHA == 0))) { this->actor.objBankIndex = this->requiredObjBankIndex; this->actor.draw = DoorShutter_Draw; DoorShutter_SetupDoor(this, play); diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index 6e4f763d0c..c660457a93 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -489,7 +489,7 @@ void func_808B98A8(DoorWarp1* this, PlayState* play) { Scene_SetExitFade(play); play->transitionTrigger = TRANS_TRIGGER_START; } else { - func_80169FDC(&play->state); + Play_TriggerRespawn(&play->state); } } } @@ -768,7 +768,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) { Scene_SetExitFade(play); play->transitionTrigger = TRANS_TRIGGER_START; } else { - func_80169FDC(&play->state); + Play_TriggerRespawn(&play->state); } } diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c index e49b743b80..7fef4f3b48 100644 --- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c +++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c @@ -298,7 +298,7 @@ void func_809CD634(EnBji01* this, PlayState* play) { Audio_QueueSeqCmd(0xE0000101); play->nextEntrance = ENTRANCE(TERMINA_FIELD, 10); /* Telescope entrance */ gSaveContext.respawn[RESPAWN_MODE_DOWN].entrance = play->nextEntrance; - func_80169EFC(&play->state); /* Load new entrance? */ + Play_TriggerVoidOut(&play->state); /* Load new entrance? */ gSaveContext.respawnFlag = -2; this->actionFunc = EnBji01_DoNothing; } diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 3acbece163..9856b2df39 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -931,7 +931,7 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { Play_SetRespawnData(&play->state, RESPAWN_MODE_DOWN, Entrance_CreateFromSpawn(0), player->unk_3CE, 0xBFF, &player->unk_3C0, player->unk_3CC); - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); if (0) {} if (gSaveContext.save.time > CLOCK_TIME(18, 0) || gSaveContext.save.time < CLOCK_TIME(6, 0)) { diff --git a/src/overlays/actors/ovl_En_Test4/z_en_test4.c b/src/overlays/actors/ovl_En_Test4/z_en_test4.c index 43989a4db3..71827bfbcb 100644 --- a/src/overlays/actors/ovl_En_Test4/z_en_test4.c +++ b/src/overlays/actors/ovl_En_Test4/z_en_test4.c @@ -398,7 +398,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) { gSaveContext.screenScale = 0.0f; Play_SetRespawnData(&play->state, RESPAWN_MODE_DOWN, Entrance_CreateFromSpawn(0), player->unk_3CE, 0xBFF, &player->unk_3C0, player->unk_3CC); - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); if (player->stateFlags1 & 0x800000) { EnHorse* rideActor = (EnHorse*)player->rideActor; diff --git a/src/overlays/actors/ovl_En_Test7/z_en_test7.c b/src/overlays/actors/ovl_En_Test7/z_en_test7.c index fa7ddde52e..58ac131642 100644 --- a/src/overlays/actors/ovl_En_Test7/z_en_test7.c +++ b/src/overlays/actors/ovl_En_Test7/z_en_test7.c @@ -594,11 +594,11 @@ void func_80AF2030(EnTest7* this, PlayState* play) { subCam->fov = ((subCam->fov - this->subCamFov) * sp1C) + this->subCamFov; if (this->unk_1E54 >= 100) { - MREG(64) = 1; - MREG(65) = 255; - MREG(66) = 255; - MREG(67) = 255; - MREG(68) = 255; + R_PLAY_FILL_SCREEN_ON = true; + R_PLAY_FILL_SCREEN_R = 255; + R_PLAY_FILL_SCREEN_G = 255; + R_PLAY_FILL_SCREEN_B = 255; + R_PLAY_FILL_SCREEN_ALPHA = 255; play->unk_18844 = false; this->unk_144 &= ~4; func_80AF082C(this, func_80AF21E8); @@ -612,13 +612,13 @@ void func_80AF21E8(EnTest7* this, PlayState* play) { Color_RGB8 sp24 = { 64, 0, 0 }; Color_RGB8 sp20 = { 220, 220, 255 }; - if (MREG(64) != 0) { + if (R_PLAY_FILL_SCREEN_ON) { Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_PL_WARP_WING_VANISH); - MREG(64) = 0; - MREG(65) = 0; - MREG(66) = 0; - MREG(67) = 0; - MREG(68) = 0; + R_PLAY_FILL_SCREEN_ON = false; + R_PLAY_FILL_SCREEN_R = 0; + R_PLAY_FILL_SCREEN_G = 0; + R_PLAY_FILL_SCREEN_B = 0; + R_PLAY_FILL_SCREEN_ALPHA = 0; } sp1C = 1.0f - (sp2C / 10.0f); @@ -661,7 +661,7 @@ void func_80AF2350(EnTest7* this, PlayState* play) { if (play->sceneId == SCENE_SECOM) { play->nextEntrance = ENTRANCE(IKANA_CANYON, 6); } else if (ENTEST7_GET(&this->actor) == ENTEST7_26) { - func_80169F78(&play->state); + Play_LoadToLastEntrance(&play->state); gSaveContext.respawn[RESPAWN_MODE_TOP].playerParams = (gSaveContext.respawn[RESPAWN_MODE_TOP].playerParams & 0xFF) | 0x600; gSaveContext.respawnFlag = -6; diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.c b/src/overlays/actors/ovl_En_Tru/z_en_tru.c index 42cbdc22a1..2811e0c176 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.c +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.c @@ -934,7 +934,7 @@ s32 func_80A87B48(Actor* thisx, PlayState* play) { sp4C.z = 40.0f; Lib_Vec3f_TranslateAndRotateY(&this->actor.world.pos, sp3E, &sp4C, &sp40); func_80A85620(this->unk_394, &sp40, 2.0f, 0.08f, 60.0f); - func_8016A268(&play->state, 1, 160, 160, 160, 0); + Play_FillScreen(&play->state, 1, 160, 160, 160, 0); this->unk_370 = 20; this->unk_372 = 10; this->unk_364++; @@ -946,7 +946,7 @@ s32 func_80A87B48(Actor* thisx, PlayState* play) { case 2: if (DECR(this->unk_370) != 0) { - MREG(68) = 255.0f - ((fabsf(10.0f - this->unk_370) / 10) * 255.0f); + R_PLAY_FILL_SCREEN_ALPHA = 255.0f - ((fabsf(10.0f - this->unk_370) / 10) * 255.0f); if (this->unk_370 == 9) { this->actor.shape.shadowDraw = NULL; this->unk_34E |= (0x200 | 0x8); @@ -957,7 +957,7 @@ s32 func_80A87B48(Actor* thisx, PlayState* play) { func_80A86924(this, 12); } } else { - MREG(64) = 0; + R_PLAY_FILL_SCREEN_ON = false; ret = true; } break; diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index 9dca3642f3..d4787c6a59 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -499,7 +499,7 @@ void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) { if (this->timer == 30) { play_sound(NA_SE_OC_ABYSS); - func_80169FDC(&play->state); + Play_TriggerRespawn(&play->state); } } diff --git a/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.c b/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.c index 34c8db4bbe..bec3bf97de 100644 --- a/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.c +++ b/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.c @@ -113,7 +113,7 @@ void func_80A66278(EnWarpUzu* this, PlayState* play) { void func_80A66384(EnWarpUzu* this, PlayState* play) { play->nextEntrance = ENTRANCE(PIRATES_FORTRESS, 10); gSaveContext.respawn[RESPAWN_MODE_DOWN].entrance = play->nextEntrance; - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); gSaveContext.respawnFlag = -2; this->actionFunc = EnWarpUzu_DoNothing; } diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c index 4f302e2687..2d25e19149 100644 --- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c +++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c @@ -213,7 +213,7 @@ void EnWarpTag_RespawnPlayer(EnWarptag* this, PlayState* play) { play->setupEntranceList[playerSpawnIndex].room, playerParams, &newRespawnPos, ((((playerActorEntry->rot.y >> 7) & 0x1FF) / 180.0f) * 32768.0f)); // DEG_TO_BINANG ? - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); gSaveContext.respawnFlag = ~0x4; func_80165690(); } diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c index df880906ee..3428bdd418 100644 --- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c +++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c @@ -73,13 +73,13 @@ s32 func_809A9110(PlayState* play, Vec3f* arg1) { SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, arg1, &sp20, &sp2C); - if ((play->unk_187F0.z * -130.13191f) < sp20.z) { + if ((play->projectionMtxFDiagonal.z * -130.13191f) < sp20.z) { if (sp2C < 1.0f) { sp2C = 1.0f; } - if (((fabsf(sp20.x) - (130.13191f * play->unk_187F0.x)) < sp2C) && - ((fabsf(sp20.y) - (130.13191f * play->unk_187F0.y)) < sp2C)) { + if (((fabsf(sp20.x) - (130.13191f * play->projectionMtxFDiagonal.x)) < sp2C) && + ((fabsf(sp20.y) - (130.13191f * play->projectionMtxFDiagonal.y)) < sp2C)) { return true; } } diff --git a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c index 0ce2f38a16..68537fb8a8 100644 --- a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c +++ b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c @@ -68,7 +68,7 @@ void func_80973D3C(ObjRoomtimer* this, PlayState* play) { this->actionFunc = func_80973DE0; } else if ((this->actor.params != 0x1FF) && (gSaveContext.timerStates[TIMER_ID_MINIGAME_2] == TIMER_STATE_OFF)) { play_sound(NA_SE_OC_ABYSS); - func_80169EFC(&play->state); + Play_TriggerVoidOut(&play->state); Actor_MarkForDeath(&this->actor); } } diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index afd167a170..31be671ce6 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -1708,7 +1708,7 @@ 0x800F5004:("Font_LoadOrderedFont",), 0x800F5090:("func_800F5090",), 0x800F50D4:("func_800F50D4",), - 0x800F510C:("Kankyo_Init",), + 0x800F510C:("Environment_Init",), 0x800F5954:("func_800F5954",), 0x800F5A8C:("Environment_LerpWeight",), 0x800F5B10:("func_800F5B10",), @@ -2782,7 +2782,7 @@ 0x80143148:("func_80143148",), 0x801431E8:("func_801431E8",), 0x80143324:("func_80143324",), - 0x801434E4:("func_801434E4",), + 0x801434E4:("Skybox_Init",), 0x801435A0:("SkyboxDraw_UpdateMatrix",), 0x80143624:("SkyboxDraw_SetColors",), 0x80143668:("SkyboxDraw_Draw",), @@ -2984,7 +2984,7 @@ 0x80165E1C:("func_80165E1C",), 0x80165E7C:("func_80165E7C",), 0x80165EC0:("Play_SetupTransition",), - 0x80166060:("func_80166060",), + 0x80166060:("Play_ClearTransitionInstanceType",), 0x801660B8:("func_801660B8",), 0x8016613C:("Play_Destroy",), 0x801663C4:("func_801663C4",), @@ -3001,10 +3001,10 @@ 0x801690CC:("Play_InCsMode",), 0x80169100:("func_80169100",), 0x801691F0:("func_801691F0",), - 0x80169220:("Play_LoadScene",), - 0x8016927C:("func_8016927C",), - 0x801692C4:("func_801692C4",), - 0x801693D4:("Play_SceneInit",), + 0x80169220:("Play_LoadFile",), + 0x8016927C:("Play_InitEnvironment",), + 0x801692C4:("Play_InitScene",), + 0x801693D4:("Play_SpawnScene",), 0x80169474:("Play_GetScreenPos",), 0x801694DC:("Play_CreateSubCamera",), 0x80169584:("Play_GetActiveCamId",), @@ -3029,16 +3029,16 @@ 0x80169DCC:("Play_SetRespawnData",), 0x80169E6C:("Play_SetupRespawnPoint",), 0x80169ECC:("func_80169ECC",), - 0x80169EFC:("func_80169EFC",), - 0x80169F78:("func_80169F78",), - 0x80169FDC:("func_80169FDC",), + 0x80169EFC:("Play_TriggerVoidOut",), + 0x80169F78:("Play_LoadToLastEntrance",), + 0x80169FDC:("Play_TriggerRespawn",), 0x80169FFC:("func_80169FFC",), 0x8016A01C:("FrameAdvance_IsEnabled",), 0x8016A02C:("func_8016A02C",), 0x8016A0AC:("Play_IsUnderwater",), 0x8016A168:("Play_IsDebugCamEnabled",), 0x8016A178:("Play_AssignPlayerActorCsIdsFromScene",), - 0x8016A268:("func_8016A268",), + 0x8016A268:("Play_FillScreen",), 0x8016A2C8:("Play_Init",), 0x8016AC10:("func_8016AC10",), 0x8016AE1C:("func_8016AE1C",), @@ -4082,7 +4082,7 @@ 0x801AA610:("GameOver_Init",), 0x801AA624:("GameOver_FadeLights",), 0x801AA68C:("GameOver_Update",), - 0x801AAAA0:("func_801AAAA0",), + 0x801AAAA0:("Construct_InitRegs",), 0x80800000:("ConsoleLogo_UpdateCounters",), 0x8080009C:("ConsoleLogo_RenderView",), 0x80800134:("ConsoleLogo_Draw",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 646977c3a8..10096d6715 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -2127,7 +2127,7 @@ 0x801D0D28:("TransitionCircle_InitVars","UNK_PTR","",0x4), 0x801D0D50:("gDbgCamEnabled","UNK_TYPE4","",0x4), 0x801D0D54:("D_801D0D54","UNK_TYPE1","",0x1), - 0x801D0D58:("D_801D0D58","UNK_TYPE2","",0x2), + 0x801D0D58:("sQuakeIndex","UNK_TYPE2","",0x2), 0x801D0D5C:("sIsCameraUnderwater","UNK_TYPE2","",0x2), 0x801D0D60:("D_801D0D60","Input*","",0x4), 0x801D0D64:("D_801D0D64","s16","[10]",0x14), @@ -4058,7 +4058,7 @@ 0x801F6C30:("sTrnsnUnk","UNK_TYPE1","",0x1), 0x801F6D0C:("D_801F6D0C","UNK_TYPE1","",0x1), 0x801F6D10:("gTrnsnUnkState","UNK_TYPE4","",0x4), - 0x801F6D18:("D_801F6D18","UNK_TYPE1","",0x1), + 0x801F6D18:("sVisMono","UNK_TYPE1","",0x1), 0x801F6D30:("gVisMonoColor","Color_RGBA8","",0x4), 0x801F6D38:("D_801F6D38","UNK_TYPE1","",0x1), 0x801F6D4C:("D_801F6D4C","UNK_TYPE4","",0x4), @@ -4368,7 +4368,7 @@ 0x80209EA0:("gGfxPools","GfxPool","[2]",0x40620), 0x8024A4C0:("gAudioHeap","u8","[0x138000]",0x138000), 0x803824C0:("gSystemHeap","u8","[UNK_SIZE]",0x3fdb40), - 0x80780000:("D_80780000","u8","[0x4600]",0x4600), + 0x80780000:("gPictoPhotoI8","u8","[0x4600]",0x4600), 0x80784600:("D_80784600","u8","[0x56200]",0x56200), 0x807DA800:("gFramebuffer0","u16","[SCREEN_HEIGHT][SCREEN_WIDTH]",0x25800), 0x80800860:("titleRotation","s16","",0x2), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 7ed67b5c40..ba516d2db5 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1222,7 +1222,7 @@ asm/non_matchings/code/z_kanfont/Font_LoadMessageBoxEndIcon.s,Font_LoadMessageBo asm/non_matchings/code/z_kanfont/Font_LoadOrderedFont.s,Font_LoadOrderedFont,0x800F5004,0x23 asm/non_matchings/code/z_kankyo/func_800F5090.s,func_800F5090,0x800F5090,0x11 asm/non_matchings/code/z_kankyo/func_800F50D4.s,func_800F50D4,0x800F50D4,0xE -asm/non_matchings/code/z_kankyo/Kankyo_Init.s,Kankyo_Init,0x800F510C,0x212 +asm/non_matchings/code/z_kankyo/Environment_Init.s,Environment_Init,0x800F510C,0x212 asm/non_matchings/code/z_kankyo/func_800F5954.s,func_800F5954,0x800F5954,0x4E asm/non_matchings/code/z_kankyo/Environment_LerpWeight.s,Environment_LerpWeight,0x800F5A8C,0x21 asm/non_matchings/code/z_kankyo/func_800F5B10.s,func_800F5B10,0x800F5B10,0x70 @@ -2296,7 +2296,7 @@ asm/non_matchings/code/z_vr_box/func_80142440.s,func_80142440,0x80142440,0x342 asm/non_matchings/code/z_vr_box/func_80143148.s,func_80143148,0x80143148,0x28 asm/non_matchings/code/z_vr_box/func_801431E8.s,func_801431E8,0x801431E8,0x4F asm/non_matchings/code/z_vr_box/func_80143324.s,func_80143324,0x80143324,0x70 -asm/non_matchings/code/z_vr_box/func_801434E4.s,func_801434E4,0x801434E4,0x2F +asm/non_matchings/code/z_vr_box/Skybox_Init.s,Skybox_Init,0x801434E4,0x2F asm/non_matchings/code/z_vr_box_draw/func_801435A0.s,func_801435A0,0x801435A0,0x21 asm/non_matchings/code/z_vr_box_draw/func_80143624.s,func_80143624,0x80143624,0x11 asm/non_matchings/code/z_vr_box_draw/func_80143668.s,func_80143668,0x80143668,0xE7 @@ -2498,7 +2498,7 @@ asm/non_matchings/code/z_play/func_80165E04.s,func_80165E04,0x80165E04,0x6 asm/non_matchings/code/z_play/func_80165E1C.s,func_80165E1C,0x80165E1C,0x18 asm/non_matchings/code/z_play/func_80165E7C.s,func_80165E7C,0x80165E7C,0x11 asm/non_matchings/code/z_play/Play_SetupTransition.s,Play_SetupTransition,0x80165EC0,0x68 -asm/non_matchings/code/z_play/func_80166060.s,func_80166060,0x80166060,0x16 +asm/non_matchings/code/z_play/Play_ClearTransitionInstanceType.s,Play_ClearTransitionInstanceType,0x80166060,0x16 asm/non_matchings/code/z_play/func_801660B8.s,func_801660B8,0x801660B8,0x21 asm/non_matchings/code/z_play/Play_Destroy.s,Play_Destroy,0x8016613C,0xA2 asm/non_matchings/code/z_play/func_801663C4.s,func_801663C4,0x801663C4,0xA0 @@ -2515,10 +2515,10 @@ asm/non_matchings/code/z_play/Play_Main.s,Play_Main,0x80168F64,0x5A asm/non_matchings/code/z_play/Play_InCsMode.s,Play_InCsMode,0x801690CC,0xD asm/non_matchings/code/z_play/func_80169100.s,func_80169100,0x80169100,0x3C asm/non_matchings/code/z_play/func_801691F0.s,func_801691F0,0x801691F0,0xC -asm/non_matchings/code/z_play/Play_LoadScene.s,Play_LoadScene,0x80169220,0x17 -asm/non_matchings/code/z_play/func_8016927C.s,func_8016927C,0x8016927C,0x12 -asm/non_matchings/code/z_play/func_801692C4.s,func_801692C4,0x801692C4,0x44 -asm/non_matchings/code/z_play/Play_SceneInit.s,Play_SceneInit,0x801693D4,0x28 +asm/non_matchings/code/z_play/Play_LoadFile.s,Play_LoadFile,0x80169220,0x17 +asm/non_matchings/code/z_play/Play_InitEnvironment.s,Play_InitEnvironment,0x8016927C,0x12 +asm/non_matchings/code/z_play/Play_InitScene.s,Play_InitScene,0x801692C4,0x44 +asm/non_matchings/code/z_play/Play_SpawnScene.s,Play_SpawnScene,0x801693D4,0x28 asm/non_matchings/code/z_play/Play_GetScreenPos.s,Play_GetScreenPos,0x80169474,0x1A asm/non_matchings/code/z_play/Play_CreateSubCamera.s,Play_CreateSubCamera,0x801694DC,0x2A asm/non_matchings/code/z_play/Play_GetActiveCamId.s,Play_GetActiveCamId,0x80169584,0x3 @@ -2543,16 +2543,16 @@ asm/non_matchings/code/z_play/Play_SaveCycleSceneFlags.s,Play_SaveCycleSceneFlag asm/non_matchings/code/z_play/Play_SetRespawnData.s,Play_SetRespawnData,0x80169DCC,0x28 asm/non_matchings/code/z_play/Play_SetupRespawnPoint.s,Play_SetupRespawnPoint,0x80169E6C,0x18 asm/non_matchings/code/z_play/func_80169ECC.s,func_80169ECC,0x80169ECC,0xC -asm/non_matchings/code/z_play/func_80169EFC.s,func_80169EFC,0x80169EFC,0x1F -asm/non_matchings/code/z_play/func_80169F78.s,func_80169F78,0x80169F78,0x19 -asm/non_matchings/code/z_play/func_80169FDC.s,func_80169FDC,0x80169FDC,0x8 +asm/non_matchings/code/z_play/Play_TriggerVoidOut.s,Play_TriggerVoidOut,0x80169EFC,0x1F +asm/non_matchings/code/z_play/Play_LoadToLastEntrance.s,Play_LoadToLastEntrance,0x80169F78,0x19 +asm/non_matchings/code/z_play/Play_TriggerRespawn.s,Play_TriggerRespawn,0x80169FDC,0x8 asm/non_matchings/code/z_play/func_80169FFC.s,func_80169FFC,0x80169FFC,0x8 asm/non_matchings/code/z_play/FrameAdvance_IsEnabled.s,FrameAdvance_IsEnabled,0x8016A01C,0x4 asm/non_matchings/code/z_play/func_8016A02C.s,func_8016A02C,0x8016A02C,0x20 asm/non_matchings/code/z_play/Play_IsUnderwater.s,Play_IsUnderwater,0x8016A0AC,0x2F asm/non_matchings/code/z_play/Play_IsDebugCamEnabled.s,Play_IsDebugCamEnabled,0x8016A168,0x4 asm/non_matchings/code/z_play/func_8016A178.s,func_8016A178,0x8016A178,0x3C -asm/non_matchings/code/z_play/func_8016A268.s,func_8016A268,0x8016A268,0x18 +asm/non_matchings/code/z_play/Play_FillScreen.s,Play_FillScreen,0x8016A268,0x18 asm/non_matchings/code/z_play/Play_Init.s,Play_Init,0x8016A2C8,0x252 asm/non_matchings/code/z_play_hireso/func_8016AC10.s,func_8016AC10,0x8016AC10,0x83 asm/non_matchings/code/z_play_hireso/func_8016AE1C.s,func_8016AE1C,0x8016AE1C,0x117 @@ -3598,4 +3598,4 @@ asm/non_matchings/code/jpegdecoder/JpegDecoder_ReadBits.s,JpegDecoder_ReadBits,0 asm/non_matchings/code/z_game_over/GameOver_Init.s,GameOver_Init,0x801AA610,0x5 asm/non_matchings/code/z_game_over/GameOver_FadeLights.s,GameOver_FadeLights,0x801AA624,0x1A asm/non_matchings/code/z_game_over/GameOver_Update.s,GameOver_Update,0x801AA68C,0x105 -asm/non_matchings/code/z_construct/func_801AAAA0.s,func_801AAAA0,0x801AAAA0,0x4 +asm/non_matchings/code/z_construct/Construct_InitRegs.s,Construct_InitRegs,0x801AAAA0,0x4