mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-11 06:14:39 -04:00
misc play docs
This commit is contained in:
+12
-12
@@ -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
|
||||
|
||||
+6
-1
@@ -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)
|
||||
|
||||
+3
-3
@@ -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];
|
||||
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
|
||||
void func_801AAAA0(PlayState* play) {
|
||||
// Remnant from OoT
|
||||
void Construct_InitRegs(PlayState* play) {
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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")
|
||||
|
||||
|
||||
+72
-72
@@ -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;
|
||||
|
||||
+1
-1
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -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",),
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user