`z_kaleido_setup` (#768)

* KaleidoSetup_Init

* func_800F4C0C

* func_800F4A10 NON_EQUIVALENT

* fixes

* func_800F4A10

* import data

* Rename Play_InCsMode

* Name KaleidoSetup_Update

* minor cleanup

* Update src/code/z_play.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Bom/z_en_bom.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Gs/z_en_gs.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_kaleido_setup.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_kaleido_setup.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_kaleido_setup.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/overlays/actors/ovl_Door_Ana/z_door_ana.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/overlays/actors/ovl_Door_Ana/z_door_ana.c

* unname D_801BDB00

* format

* a

* actorfixer

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
This commit is contained in:
Anghelo Carvajal 2022-03-29 18:04:41 -03:00 committed by GitHub
parent 8c7d8359fa
commit 72bae2b6ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 200 additions and 55 deletions

View File

@ -1500,9 +1500,10 @@ void func_800F40A0(GameState* gameState, Player* player);
UNK_TYPE func_800F41E4(GlobalContext* globalCtx, ActorContext* actorCtx);
void func_800F4A10(GlobalContext* globalCtx);
void func_800F4C0C(GlobalContext* globalCtx);
void KaleidoSetup_Update(GlobalContext* globalCtx);
void KaleidoSetup_Init(GlobalContext* globalCtx);
void KaleidoSetup_Destroy(GlobalContext* globalCtx);
void Font_LoadChar(GlobalContext* globalCtx, u16 codePointIndex, s32 offset);
void Font_LoadCharNES(GlobalContext* globalCtx, u8 codePointIndex, s32 offset);
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon);
@ -2745,7 +2746,7 @@ void func_80167DE4(GlobalContext* globalCtx);
void Play_Draw(GlobalContext* globalCtx);
void func_80168DAC(GlobalContext* globalCtx);
void Play_Update(GlobalContext* globalCtx);
s32 func_801690CC(GlobalContext* globalCtx);
s32 Play_InCsMode(GlobalContext* globalCtx);
f32 func_80169100(GlobalContext* globalCtx, MtxF* mtx, CollisionPoly** arg2, s32* arg3, Vec3f* feetPosPtr);
// void func_801691F0(void);
void* Play_LoadScene(GlobalContext* globalCtx, RomFile* entry);
@ -3564,9 +3565,9 @@ void func_801A31EC(u16 seqId, s8 arg1, u8 arg2);
// void func_801A3590(void);
u8 func_801A3950(s32 playerIndex, s32 isChannelIOSet);
u8 func_801A39F8(void);
// void func_801A3A7C(void);
void func_801A3A7C(s32 arg0);
// void func_801A3AC0(void);
// void func_801A3AEC(void);
void func_801A3AEC(s32 arg0);
void func_801A3B48(UNK_TYPE arg0);
// void func_801A3B90(void);
void func_801A3CD8(s8 param_1);

View File

@ -908,9 +908,7 @@ extern UNK_TYPE4 D_801BDAA4;
// extern UNK_TYPE4 D_801BDACC;
// extern UNK_TYPE4 D_801BDAF0;
// extern UNK_TYPE4 D_801BDAF8;
// extern UNK_TYPE1 D_801BDB00;
// extern UNK_TYPE1 D_801BDB08;
// extern UNK_TYPE1 D_801BDB18;
extern u8 kanfontOrdering[92];
// extern UNK_TYPE4 D_801BDB90;
// extern UNK_TYPE4 D_801BDB94;

1
spec
View File

@ -479,7 +479,6 @@ beginseg
include "build/data/code/z_horse.data.o"
include "build/src/code/z_jpeg.o"
include "build/src/code/z_kaleido_setup.o"
include "build/data/code/z_kaleido_setup.data.o"
include "build/src/code/z_kanfont.o"
include "build/src/code/z_kankyo.o"
include "build/data/code/z_kankyo.data.o"

View File

@ -1,9 +1,145 @@
#include "global.h"
#include "overlays/gamestates/ovl_file_choose/z_file_choose.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4A10.s")
s16 D_801BDB00[] = { PAUSE_1, PAUSE_2, PAUSE_3, PAUSE_0 };
f32 sKaleidoSetupEyeX[] = { -64.0f, 0.0f, 64.0f, 0.0f };
f32 sKaleidoSetupEyeZ[] = { 0.0f, -64.0f, 0.0f, 64.0f };
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s")
void func_800F4A10(GlobalContext* globalCtx) {
PauseContext* pauseCtx = &globalCtx->pauseCtx;
s16 i;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Init.s")
func_8013EE24();
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Destroy.s")
pauseCtx->unk_206 = 0;
pauseCtx->unk_200 = 1;
pauseCtx->eye.x = sKaleidoSetupEyeX[pauseCtx->pageIndex];
pauseCtx->eye.z = sKaleidoSetupEyeZ[pauseCtx->pageIndex];
pauseCtx->pageIndex = D_801BDB00[pauseCtx->pageIndex];
pauseCtx->unk_27E = -40;
for (i = 0; i < ARRAY_COUNT(pauseCtx->worldMapPoints); i++) {
pauseCtx->worldMapPoints[i] = 0;
}
if (pauseCtx->state == 1) {
for (i = 0; i < 11; i++) {
if ((gSaveContext.save.mapsVisited >> i) & 1) {
pauseCtx->worldMapPoints[i] = 1;
}
}
} else {
for (i = 9; i >= 0; i--) {
if ((gSaveContext.save.playerData.owlActivationFlags >> i) & 1) {
pauseCtx->worldMapPoints[i] = 1;
pauseCtx->unk_238[4] = i;
}
}
if ((gSaveContext.save.playerData.owlActivationFlags >> 4) & 1) {
pauseCtx->unk_238[4] = 4;
}
}
YREG(11) = -0x00C8;
YREG(12) = -0x3840;
YREG(13) = 0x2710;
YREG(14) = 0x2710;
YREG(15) = 0x2710;
YREG(16) = -0x00BE;
YREG(17) = -0x06D6;
YREG(18) = -0x0B90;
YREG(19) = 0x06E0;
YREG(20) = 0;
YREG(21) = -0x0622;
YREG(22) = -0x0C44;
YREG(23) = 0x0622;
YREG(24) = -0x0622;
YREG(25) = -0x005A;
YREG(26) = -0x3840;
}
void KaleidoSetup_Update(GlobalContext* globalCtx) {
Input* input = CONTROLLER1(globalCtx);
MessageContext* msgCtx = &globalCtx->msgCtx;
Player* player = GET_PLAYER(globalCtx);
PauseContext* pauseCtx = &globalCtx->pauseCtx;
if (CHECK_BTN_ALL(input->cur.button, BTN_R)) {
if (msgCtx && msgCtx) {}
}
if ((pauseCtx->state == 0) && (pauseCtx->debugState == 0) && (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE)) {
if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
if ((gSaveContext.save.cutscene < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
if (!Play_InCsMode(globalCtx) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
if ((globalCtx->unk_1887C < 2) && (gSaveContext.unk_3F28 != 8) && (gSaveContext.unk_3F28 != 9)) {
if (!(gSaveContext.eventInf[1] & 0x80) && !(player->stateFlags1 & 0x20)) {
if (!(globalCtx->actorCtx.unk5 & 2) && !(globalCtx->actorCtx.unk5 & 4)) {
if ((globalCtx->actorCtx.unk268 == 0) &&
CHECK_BTN_ALL(input->press.button, BTN_START)) {
gSaveContext.unk_3F26 = gSaveContext.unk_3F22;
pauseCtx->unk_2B9 = 0;
pauseCtx->state = 1;
func_800F4A10(globalCtx);
pauseCtx->mode = pauseCtx->pageIndex * 2 + 1;
func_801A3A7C(1);
}
if (pauseCtx->state == 1) {
Game_SetFramerateDivisor(&globalCtx->state, 2);
if (ShrinkWindow_GetLetterboxTarget() != 0) {
ShrinkWindow_SetLetterboxTarget(0);
}
func_801A3AEC(1);
}
}
}
}
}
}
}
}
}
void KaleidoSetup_Init(GlobalContext* globalCtx) {
PauseContext* pauseCtx = &globalCtx->pauseCtx;
s32 pad[2];
bzero(pauseCtx, sizeof(PauseContext));
pauseCtx->pageIndex = PAUSE_0;
pauseCtx->unk_21C = 160.0f;
pauseCtx->unk_218 = 160.0f;
pauseCtx->unk_214 = 160.0f;
pauseCtx->unk_210 = 160.0f;
pauseCtx->eye.x = -64.0f;
pauseCtx->unk_20C = 936.0f;
pauseCtx->unk_220 = -314.0f;
pauseCtx->unk_238[PAUSE_1] = XREG(94) + 3;
pauseCtx->unk_258 = 11;
pauseCtx->unk_25A = 0;
pauseCtx->unk_25E[PAUSE_0] = 999;
pauseCtx->unk_25E[PAUSE_1] = XREG(94) + 3;
pauseCtx->unk_25E[PAUSE_2] = 999;
pauseCtx->unk_25E[PAUSE_3] = 999;
pauseCtx->unk_268[PAUSE_0] = 0;
pauseCtx->unk_268[PAUSE_1] = XREG(94) + 3;
pauseCtx->unk_284 = 2;
pauseCtx->unk_2A0 = -1;
pauseCtx->unk_2BA = 320;
pauseCtx->unk_2BC = 40;
pauseCtx->unk_29E = 100;
View_Init(&pauseCtx->view, globalCtx->state.gfxCtx);
}
void KaleidoSetup_Destroy(GlobalContext* globalCtx) {
}

View File

@ -399,9 +399,8 @@ void LifeMeter_UpdateSizeAndBeep(GlobalContext* globalCtx) {
if (interfaceCtx->lifeSizeChange <= 0) {
interfaceCtx->lifeSizeChange = 0;
interfaceCtx->lifeSizeChangeDirection = 0;
if (Player_InCsMode(&globalCtx->state) == 0 && (globalCtx->pauseCtx.state == 0) &&
(globalCtx->pauseCtx.debugState == 0) && LifeMeter_IsCritical() && func_801690CC(globalCtx) == 0) {
// Player_InCsMode and func_801690CC : Check if in Cutscene
if (!Player_InCsMode(&globalCtx->state) && (globalCtx->pauseCtx.state == 0) &&
(globalCtx->pauseCtx.debugState == 0) && LifeMeter_IsCritical() && !Play_InCsMode(globalCtx)) {
play_sound(NA_SE_SY_HITPOINT_ALARM);
}
}

View File

@ -499,7 +499,7 @@ void func_80156758(GlobalContext* globalCtx) {
nextDisplayList = Graph_GfxPlusOne(polyOpa);
gSPDisplayList(OVERLAY_DISP++, nextDisplayList);
if ((globalCtx->msgCtx.currentTextId != 0x5E6) || (func_801690CC(globalCtx) == 0)) {
if ((globalCtx->msgCtx.currentTextId != 0x5E6) || !Play_InCsMode(globalCtx)) {
func_801541D4(globalCtx, &nextDisplayList);
}

View File

@ -58,7 +58,9 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Update.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801690CC.s")
s32 Play_InCsMode(GlobalContext* globalCtx) {
return (globalCtx->csCtx.state != 0) || Player_InCsMode(&globalCtx->state);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169100.s")

View File

@ -156,9 +156,9 @@ void DoorAna_WaitOpen(DoorAna* this, GlobalContext* globalCtx) {
DoorAna_SetupAction(this, DoorAna_GrabLink);
} else if (func_801690CC(globalCtx) == 0 && (player->stateFlags1 & 0x08800000) == 0 &&
this->actor.xzDistToPlayer <= 20.0f && this->actor.playerHeightRel >= -50.0f &&
this->actor.playerHeightRel <= 15.0f) {
} else if (!Play_InCsMode(globalCtx) && !(player->stateFlags1 & 0x08800000) &&
(this->actor.xzDistToPlayer <= 20.0f) && (this->actor.playerHeightRel >= -50.0f) &&
(this->actor.playerHeightRel <= 15.0f)) {
player->stateFlags1 |= 0x80000000;
this->actor.targetMode = 1;

View File

@ -343,7 +343,7 @@ void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx) {
func_808BB8D4(this, globalCtx, 1);
}
if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) {
if (func_808B866C(this, globalCtx) && !Play_InCsMode(globalCtx)) {
func_800B7298(globalCtx, &this->dyna.actor, 7);
Message_StartTextbox(globalCtx, 0xF2, &this->dyna.actor);
DoorWarp1_SetupAction(this, func_808B93A0);
@ -443,7 +443,7 @@ void func_808B96B0(DoorWarp1* this, GlobalContext* globalCtx) {
void func_808B977C(DoorWarp1* this, GlobalContext* globalCtx) {
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) {
if (func_808B866C(this, globalCtx) && !Play_InCsMode(globalCtx)) {
Player* player = GET_PLAYER(globalCtx);
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &D_801DB4B0, &D_801DB4B0, &D_801DB4B8);
@ -595,7 +595,7 @@ void func_808B9ED8(DoorWarp1* this, GlobalContext* globalCtx) {
void func_808B9F10(DoorWarp1* this, GlobalContext* globalCtx) {
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
if ((this->unk_203 == 0) && func_808B866C(this, globalCtx) && !func_801690CC(globalCtx) && (this->unk_203 == 0)) {
if ((this->unk_203 == 0) && func_808B866C(this, globalCtx) && !Play_InCsMode(globalCtx) && (this->unk_203 == 0)) {
Player* player = GET_PLAYER(globalCtx);
Interface_ChangeAlpha(1);

View File

@ -455,7 +455,7 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
} else {
thisx->gravity = -1.2f;
if (this->timer != 0) {
if (!this->isPowderKeg || (func_808715B8 == this->actionFunc) || !func_801690CC(globalCtx)) {
if (!this->isPowderKeg || (func_808715B8 == this->actionFunc) || !Play_InCsMode(globalCtx)) {
this->timer--;
}
}

View File

@ -209,7 +209,7 @@ void func_80C012E0(EnBomjimb* this) {
s32 func_80C012FC(EnBomjimb* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
if (!func_801690CC(globalCtx) && (this->actor.xzDistToPlayer < 40.0f) &&
if (!Play_InCsMode(globalCtx) && (this->actor.xzDistToPlayer < 40.0f) &&
(fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 50.0f) && (globalCtx->msgCtx.unk11F10 == 0)) {
this->actor.speedXZ = 0.0f;
func_80C02740(this, globalCtx);
@ -722,7 +722,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
break;
}
if (!func_801690CC(globalCtx)) {
if (!Play_InCsMode(globalCtx)) {
Player* player = GET_PLAYER(globalCtx);
player->stateFlags1 |= 0x10000000;

View File

@ -1234,7 +1234,7 @@ void func_8089D42C(EnDinofos* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->unk_28E, cos_rad(M_PI) * 0x2C00, 0x233);
} else if (this->actionFunc == func_8089CBEC) {
this->unk_28E = cos_rad(this->unk_290 * (M_PI / 20)) * 0x2C00;
} else if (!func_801690CC(globalCtx)) {
} else if (!Play_InCsMode(globalCtx)) {
temp_v0_2 = this->unk_28E + this->actor.shape.rot.y;
temp_v0_2 = BINANG_SUB(this->actor.yawTowardsPlayer, temp_v0_2);
temp_v0_2 = CLAMP(temp_v0_2, -0x300, 0x300);

View File

@ -342,7 +342,7 @@ void func_80A52DC8(EnDnq* this, GlobalContext* globalCtx) {
if (!(gSaveContext.save.weekEventReg[23] & 0x20)) {
this->unk_390 = 70.0f;
if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) &&
if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !Play_InCsMode(globalCtx) &&
(Message_GetState(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) {
if ((DECR(this->unk_384) == 0) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
Message_StartTextbox(globalCtx, 0x969, NULL);

View File

@ -274,7 +274,7 @@ s32 func_8092CC68(GlobalContext* globalCtx) {
s32 ret = false;
s16 bgId;
if (!func_801690CC(globalCtx) && (player->actor.bgCheckFlags & 1) && (player->transformation != PLAYER_FORM_DEKU)) {
if (!Play_InCsMode(globalCtx) && (player->actor.bgCheckFlags & 1) && (player->transformation != PLAYER_FORM_DEKU)) {
bgId = player->actor.floorBgId;
if (SurfaceType_GetSceneExitIndex(&globalCtx->colCtx, player->actor.floorPoly, bgId) != 4) {
ret = true;

View File

@ -1504,7 +1504,7 @@ void func_8089010C(Actor* thisx, GlobalContext* globalCtx) {
} else {
this->actionFunc(this, globalCtx);
if (!func_801690CC(globalCtx)) {
if (!Play_InCsMode(globalCtx)) {
if (gSaveContext.save.playerData.tatlTimer < 25800) {
gSaveContext.save.playerData.tatlTimer++;
} else if (!(this->fairyFlags & 0x80)) {

View File

@ -533,8 +533,8 @@ s32 func_80998A48(EnGs* this, GlobalContext* globalCtx) {
} else if (this->unk_19D == 1) {
if (func_80998334(this, globalCtx, &this->unk_1DC, &this->unk_1E0, &this->unk_1D4, 0.8f, 0.007f, 0.001f, 7,
0) == 0.0f) {
if ((this->actor.params != ENGS_0) && !func_801690CC(globalCtx) &&
Message_GetState(&globalCtx->msgCtx) == 0) {
if ((this->actor.params != ENGS_0) && !Play_InCsMode(globalCtx) &&
(Message_GetState(&globalCtx->msgCtx) == 0)) {
this->unk_216 = 0;
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_FAIVE_LUPY_COUNT);
Message_StartTextbox(globalCtx, 0x20D2, NULL);

View File

@ -222,7 +222,7 @@ void func_809532D0(EnHs* this, GlobalContext* globalCtx) {
}
void func_80953354(EnHs* this, GlobalContext* globalCtx) {
if (!func_801690CC(globalCtx)) {
if (!Play_InCsMode(globalCtx)) {
func_800B7298(globalCtx, &this->actor, 7);
this->actionFunc = func_809532D0;
}

View File

@ -149,7 +149,7 @@ void EnLookNuts_Patrol(EnLookNuts* this, GlobalContext* globalCtx) {
f32 sp30;
SkelAnime_Update(&this->skelAnime);
if (func_801690CC(globalCtx) != 0) {
if (Play_InCsMode(globalCtx)) {
this->actor.speedXZ = 0.0f;
return;
}
@ -205,7 +205,7 @@ void EnLookNuts_StandAndWait(EnLookNuts* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
Math_ApproachZeroF(&this->actor.speedXZ, 0.3f, 1.0f);
if ((func_801690CC(globalCtx) == 0) && (D_80A6862C == 0) && (this->eventTimer == 0)) {
if (!Play_InCsMode(globalCtx) && (D_80A6862C == 0) && (this->eventTimer == 0)) {
this->eventTimer = 10;
switch (this->waitTimer) {
case 0:
@ -351,7 +351,7 @@ void EnLookNuts_Update(Actor* thisx, GlobalContext* globalCtx) {
if ((this->isPlayerDetected == true) || (this->actor.xzDistToPlayer < 20.0f)) {
Player* player = GET_PLAYER(globalCtx);
if (!(player->stateFlags3 & 0x100) && !func_801690CC(globalCtx)) {
if (!(player->stateFlags3 & 0x100) && !Play_InCsMode(globalCtx)) {
Math_Vec3f_Copy(&this->headRotTarget, &gZeroVec3f);
this->state = PALACE_GUARD_RUNNING_TO_PLAYER;
play_sound(NA_SE_SY_FOUND);

View File

@ -1035,7 +1035,7 @@ void EnPametfrog_LookAround(EnPametfrog* this, GlobalContext* globalCtx) {
EnPametfrog_IdleWaterEffects(this, globalCtx);
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 5, 0x400, 0x80);
this->actor.shape.rot.y = this->actor.world.rot.y;
if (SkelAnime_Update(&this->skelAnime) && (func_801690CC(globalCtx) == 0)) {
if (SkelAnime_Update(&this->skelAnime) && !Play_InCsMode(globalCtx)) {
if (!this->unk_2AE) {
func_801A2E54(NA_BGM_MINI_BOSS);
this->unk_2AE = true;

View File

@ -683,7 +683,7 @@ void func_80BF4EBC(EnRg* this, GlobalContext* globalCtx) {
void func_80BF4FC4(EnRg* this, GlobalContext* globalCtx) {
this->unk_344 = func_80BF4560(this, globalCtx);
if (!func_801690CC(globalCtx)) {
if (!Play_InCsMode(globalCtx)) {
if (this->actor.bgCheckFlags & 2) {
if (this->unk_310 & 0x400) {
this->unk_310 &= ~0x400;
@ -802,7 +802,7 @@ void EnRg_Update(Actor* thisx, GlobalContext* globalCtx) {
func_80BF3ED4(this, globalCtx);
if (!func_801690CC(globalCtx)) {
if (!Play_InCsMode(globalCtx)) {
func_80BF3C64(this);
}
}

View File

@ -271,7 +271,7 @@ void EnTanron5_Update(Actor* thisx, GlobalContext* globalCtx2) {
this->collider.base.acFlags &= ~AC_HIT;
spC4 = 10;
if (func_801690CC(globalCtx)) {
if (Play_InCsMode(globalCtx)) {
this->unk_144 = 1;
} else {
this->unk_144 = 5;

View File

@ -369,7 +369,7 @@ void EnTest4_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_80A42AB8(EnTest4* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
if ((globalCtx->unk_18B4A == 0) && (func_801690CC(globalCtx) == 0) && (globalCtx->numSetupActors <= 0) &&
if ((globalCtx->unk_18B4A == 0) && !Play_InCsMode(globalCtx) && (globalCtx->numSetupActors <= 0) &&
(globalCtx->roomCtx.unk31 == 0) && (func_8016A168() == 0)) {
s16 temp_a2;
u16 temp_a0 = D_80A43364[this->unk_144];

View File

@ -1043,7 +1043,7 @@ s32 func_80AEE86C(EnTk* this, GlobalContext* globalCtx) {
(this->actor.xyzDistToPlayerSq <= SQ(115.0f)) &&
func_80AEE7E0(&this->actor.world.pos, 100.0f, this->unk_324, this->unk_36C) &&
(((this->unk_2CA & 2) && (Math_Vec3f_DistXZ(&this->unk_300, &sp28) >= 100.0f)) || !(this->unk_2CA & 2)) &&
!func_801690CC(globalCtx)) {
!Play_InCsMode(globalCtx)) {
Math_Vec3f_Copy(&this->unk_300, &sp28);
ret = true;
}
@ -1189,7 +1189,7 @@ void func_80AEED38(EnTk* this, GlobalContext* globalCtx) {
this->actor.shape.rot.y = this->actor.world.rot.y;
}
if (Message_GetState(&globalCtx->msgCtx) == 0 && !func_801690CC(globalCtx) && (this->unk_2C6-- <= 0)) {
if (Message_GetState(&globalCtx->msgCtx) == 0 && !Play_InCsMode(globalCtx) && (this->unk_2C6-- <= 0)) {
Message_StartTextbox(globalCtx, 0x140C, NULL);
this->unk_2CA |= 0x4000;
this->unk_2C6 = 200;

View File

@ -405,7 +405,7 @@ void func_80A59C04(Actor* thisx, GlobalContext* globalCtx2) {
if ((rotaryRoom != NULL) && Flags_GetSwitch(globalCtx, (rotaryRoom->params >> 1) & 0x7F)) {
this->unk_DC6 = Rand_ZeroFloat(150.0f) + 100.0f;
} else if (!func_801690CC(globalCtx)) {
} else if (!Play_InCsMode(globalCtx)) {
this->unk_DC4++;
if (this->unk_DC6 == 0) {
this->unk_DC6 = Rand_ZeroFloat(150.0f) + 100.0f;

View File

@ -113,4 +113,13 @@ typedef struct FileChooseContext {
/* 0x24550 */ s16 unk_24550;
} FileChooseContext; // size = 0x24558
// TODO: Confirm those values has the same meaning as their OoT counterparts
typedef enum {
/* 0x00 */ PAUSE_0, // PAUSE_ITEM
/* 0x01 */ PAUSE_1, // PAUSE_MAP
/* 0x02 */ PAUSE_2, // PAUSE_QUEST
/* 0x03 */ PAUSE_3, // PAUSE_EQUIP
/* 0x04 */ PAUSE_4 // PAUSE_WORLD_MAP
} PauseMenuPage;
#endif

View File

@ -403,6 +403,12 @@ animdict = {
"func_80169BC4": "Play_CameraGetUID",
"func_80169C64": "Play_GetCsCamDataSetting",
"func_80169C84": "Play_GetCsCamDataVec3s",
"convert_scene_number_among_shared_scenes": "Play_GetOriginalSceneNumber",
"func_80169D40": "Play_SaveCycleSceneFlags",
"func_80169DCC": "Play_SetRespawnData",
"func_80169E6C": "Play_SetupRespawnPoint",
"func_8016A0AC": "Play_IsUnderwater",
"func_801690CC": "Play_InCsMode",
"func_8017D2FC": "Math3D_LineSegVsPlane",
"func_8013A7C0": "SubS_FindDoor",
"func_8013E640": "SubS_FindActorCustom",
@ -411,11 +417,6 @@ animdict = {
"func_800A81F0": "EffectBlure_AddVertex",
"func_800A8514": "EffectBlure_AddSpace",
"Effect_GetParams": "Effect_GetByIndex",
"convert_scene_number_among_shared_scenes": "Play_GetOriginalSceneNumber",
"func_80169D40": "Play_SaveCycleSceneFlags",
"func_80169DCC": "Play_SetRespawnData",
"func_80169E6C": "Play_SetupRespawnPoint",
"func_8016A0AC": "Play_IsUnderwater",
"func_800F5A8C": "Environment_LerpWeight",
"func_801A3F54": "Audio_SetCutsceneFlag",
"func_800EA0D4": "Cutscene_Start",

View File

@ -1699,7 +1699,7 @@
0x800F4540:("Jpeg_ParseMarkers",),
0x800F470C:("Jpeg_Decode",),
0x800F4A10:("func_800F4A10",),
0x800F4C0C:("func_800F4C0C",),
0x800F4C0C:("KaleidoSetup_Update",),
0x800F4E20:("KaleidoSetup_Init",),
0x800F4F28:("KaleidoSetup_Destroy",),
0x800F4F40:("Font_LoadChar",),
@ -2998,7 +2998,7 @@
0x80168090:("Play_Draw",),
0x80168DAC:("func_80168DAC",),
0x80168F64:("Play_Update",),
0x801690CC:("func_801690CC",),
0x801690CC:("Play_InCsMode",),
0x80169100:("func_80169100",),
0x801691F0:("func_801691F0",),
0x80169220:("Play_LoadScene",),

View File

@ -960,8 +960,8 @@
0x801BDAF0:("D_801BDAF0","UNK_TYPE4","",0x4),
0x801BDAF8:("D_801BDAF8","UNK_TYPE4","",0x4),
0x801BDB00:("D_801BDB00","UNK_TYPE1","",0x1),
0x801BDB08:("D_801BDB08","UNK_TYPE1","",0x1),
0x801BDB18:("D_801BDB18","UNK_TYPE1","",0x1),
0x801BDB08:("sKaleidoSetupEyeX","UNK_TYPE1","",0x1),
0x801BDB18:("sKaleidoSetupEyeZ","UNK_TYPE1","",0x1),
0x801BDB30:("kanfontOrdering","u8","[92]",0x5c),
0x801BDB90:("D_801BDB90","f32","",0x4),
0x801BDB94:("D_801BDB94","UNK_TYPE4","",0x4),

View File

@ -1213,7 +1213,7 @@ asm/non_matchings/code/z_jpeg/Jpeg_GetUnalignedU16.s,Jpeg_GetUnalignedU16,0x800F
asm/non_matchings/code/z_jpeg/Jpeg_ParseMarkers.s,Jpeg_ParseMarkers,0x800F4540,0x73
asm/non_matchings/code/z_jpeg/Jpeg_Decode.s,Jpeg_Decode,0x800F470C,0xC1
asm/non_matchings/code/z_kaleido_setup/func_800F4A10.s,func_800F4A10,0x800F4A10,0x7F
asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s,func_800F4C0C,0x800F4C0C,0x85
asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Update.s,KaleidoSetup_Update,0x800F4C0C,0x85
asm/non_matchings/code/z_kaleido_setup/func_800F4E20.s,func_800F4E20,0x800F4E20,0x42
asm/non_matchings/code/z_kaleido_setup/func_800F4F28.s,func_800F4F28,0x800F4F28,0x6
asm/non_matchings/code/z_kanfont/Font_LoadChar.s,Font_LoadChar,0x800F4F40,0x5
@ -2512,7 +2512,7 @@ asm/non_matchings/code/z_play/func_80167F0C.s,func_80167F0C,0x80167F0C,0x61
asm/non_matchings/code/z_play/Play_Draw.s,Play_Draw,0x80168090,0x347
asm/non_matchings/code/z_play/func_80168DAC.s,func_80168DAC,0x80168DAC,0x6E
asm/non_matchings/code/z_play/Play_Update.s,Play_Update,0x80168F64,0x5A
asm/non_matchings/code/z_play/func_801690CC.s,func_801690CC,0x801690CC,0xD
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

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
1213 asm/non_matchings/code/z_jpeg/Jpeg_ParseMarkers.s Jpeg_ParseMarkers 0x800F4540 0x73
1214 asm/non_matchings/code/z_jpeg/Jpeg_Decode.s Jpeg_Decode 0x800F470C 0xC1
1215 asm/non_matchings/code/z_kaleido_setup/func_800F4A10.s func_800F4A10 0x800F4A10 0x7F
1216 asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Update.s func_800F4C0C KaleidoSetup_Update 0x800F4C0C 0x85
1217 asm/non_matchings/code/z_kaleido_setup/func_800F4E20.s func_800F4E20 0x800F4E20 0x42
1218 asm/non_matchings/code/z_kaleido_setup/func_800F4F28.s func_800F4F28 0x800F4F28 0x6
1219 asm/non_matchings/code/z_kanfont/Font_LoadChar.s Font_LoadChar 0x800F4F40 0x5
2512 asm/non_matchings/code/z_play/Play_Draw.s Play_Draw 0x80168090 0x347
2513 asm/non_matchings/code/z_play/func_80168DAC.s func_80168DAC 0x80168DAC 0x6E
2514 asm/non_matchings/code/z_play/Play_Update.s Play_Update 0x80168F64 0x5A
2515 asm/non_matchings/code/z_play/func_801690CC.s asm/non_matchings/code/z_play/Play_InCsMode.s func_801690CC Play_InCsMode 0x801690CC 0xD
2516 asm/non_matchings/code/z_play/func_80169100.s func_80169100 0x80169100 0x3C
2517 asm/non_matchings/code/z_play/func_801691F0.s func_801691F0 0x801691F0 0xC
2518 asm/non_matchings/code/z_play/Play_LoadScene.s Play_LoadScene 0x80169220 0x17