diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2026-10-09 04:47:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-09 08:47:01 -0300 |
| commit | 6e5fb93dde6368a6557fdd09ce9ae9309296670b (patch) | |
| tree | cea802e15141e9f61a2dd51dc0fb16a1a9fdf5dd /src/code | |
| parent | 56fa21dd0031a17cfc9e355f609542617598a265 (diff) | |
Another small misc Cleanup (#1906)
* Scene_CommandAltHeaderList
* Scene_CommandWindSettings
* Scene_CommandCollisionHeader
* EnMkk_Draw float
* func_8012F73C
* Object_UpdateEntries
* GET_PLAYER_ANIM
* KaleidoSetup_Update combine ifs
* KaleidoManager_GetRamAddr
* func_800F4A10 OWL_WARP_CLOCK_TOWN
* Rand_Next modulus instead of and
* Rand_Next s16 casts back to & 0xFFFF
* Player_InitItemActionWithAnim review suggestion
* KaleidoSetup_Update review
* func_8012F73C review
* Revert "GET_PLAYER_ANIM"
This reverts commit 3c6fb061ebe19338c9ce984906853b9d962ccf89.
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/z_kaleido_manager.c | 21 | ||||
| -rw-r--r-- | src/code/z_kaleido_setup.c | 65 | ||||
| -rw-r--r-- | src/code/z_scene.c | 54 |
3 files changed, 67 insertions, 73 deletions
diff --git a/src/code/z_kaleido_manager.c b/src/code/z_kaleido_manager.c index 072c460ab..053a0322e 100644 --- a/src/code/z_kaleido_manager.c +++ b/src/code/z_kaleido_manager.c @@ -83,23 +83,24 @@ void KaleidoManager_Destroy(void) { } void* KaleidoManager_GetRamAddr(void* vram) { - if (gKaleidoMgrCurOvl == NULL) { - s32 pad[2]; - KaleidoMgrOverlay* ovl = &gKaleidoMgrOverlayTable[0]; + KaleidoMgrOverlay* ovl = gKaleidoMgrCurOvl; - do { + if (ovl == NULL) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(gKaleidoMgrOverlayTable); i++) { + ovl = &gKaleidoMgrOverlayTable[i]; if (((uintptr_t)vram >= (uintptr_t)ovl->vramStart) && ((uintptr_t)ovl->vramEnd >= (uintptr_t)vram)) { KaleidoManager_LoadOvl(ovl); return (void*)((uintptr_t)vram + ovl->offset); } - ovl++; - } while (ovl != (KaleidoMgrOverlay*)&sKaleidoAreaPtr); - + } return NULL; - } else if (((uintptr_t)vram < (uintptr_t)gKaleidoMgrCurOvl->vramStart) || - ((uintptr_t)vram >= (uintptr_t)gKaleidoMgrCurOvl->vramEnd)) { + } + + if (((uintptr_t)vram < (uintptr_t)ovl->vramStart) || ((uintptr_t)vram >= (uintptr_t)ovl->vramEnd)) { return NULL; } - return (void*)((uintptr_t)vram + gKaleidoMgrCurOvl->offset); + return (void*)((uintptr_t)vram + ovl->offset); } diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c index 44bed418d..493a33e29 100644 --- a/src/code/z_kaleido_setup.c +++ b/src/code/z_kaleido_setup.c @@ -60,8 +60,8 @@ void func_800F4A10(PlayState* play) { } } - if ((gSaveContext.save.saveInfo.playerData.owlActivationFlags >> 4) & 1) { - pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = 4; + if ((gSaveContext.save.saveInfo.playerData.owlActivationFlags >> OWL_WARP_CLOCK_TOWN) & 1) { + pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = OWL_WARP_CLOCK_TOWN; } } @@ -105,41 +105,44 @@ void KaleidoSetup_Update(PlayState* play) { return; } - if (!Play_InCsMode(play) || ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId == 0xFF))) { - if (play->bButtonAmmoPlusOne >= 2) { - return; - } + if (Play_InCsMode(play) && ((msgCtx->msgMode == MSGMODE_NONE) || (msgCtx->currentTextId != 0xFF))) { + return; + } - if ((gSaveContext.magicState == MAGIC_STATE_STEP_CAPACITY) || (gSaveContext.magicState == MAGIC_STATE_FILL)) { - return; - } + if (1) {} - if (CHECK_EVENTINF(EVENTINF_17) || (player->stateFlags1 & PLAYER_STATE1_20)) { - return; - } + if (play->bButtonAmmoPlusOne >= 2) { + return; + } - if ((play->actorCtx.flags & ACTORCTX_FLAG_TELESCOPE_ON) || - (play->actorCtx.flags & ACTORCTX_FLAG_PICTO_BOX_ON)) { - return; - } + if ((gSaveContext.magicState == MAGIC_STATE_STEP_CAPACITY) || (gSaveContext.magicState == MAGIC_STATE_FILL)) { + return; + } - if (!play->actorCtx.isOverrideInputOn && CHECK_BTN_ALL(input->press.button, BTN_START)) { - gSaveContext.prevHudVisibility = gSaveContext.hudVisibility; - pauseCtx->itemDescriptionOn = false; - pauseCtx->state = PAUSE_STATE_OPENING_0; - func_800F4A10(play); - // Set next page mode to scroll left - pauseCtx->nextPageMode = pauseCtx->pageIndex * 2 + 1; - Audio_SetPauseState(true); - } + if (CHECK_EVENTINF(EVENTINF_17) || (player->stateFlags1 & PLAYER_STATE1_20)) { + return; + } - if (pauseCtx->state == PAUSE_STATE_OPENING_0) { - GameState_SetFramerateDivisor(&play->state, 2); - if (ShrinkWindow_Letterbox_GetSizeTarget() != 0) { - ShrinkWindow_Letterbox_SetSizeTarget(0); - } - Audio_PlaySfx_PauseMenuOpenOrClose(SFX_PAUSE_MENU_OPEN); + if ((play->actorCtx.flags & ACTORCTX_FLAG_TELESCOPE_ON) || (play->actorCtx.flags & ACTORCTX_FLAG_PICTO_BOX_ON)) { + return; + } + + if (!play->actorCtx.isOverrideInputOn && CHECK_BTN_ALL(input->press.button, BTN_START)) { + gSaveContext.prevHudVisibility = gSaveContext.hudVisibility; + pauseCtx->itemDescriptionOn = false; + pauseCtx->state = PAUSE_STATE_OPENING_0; + func_800F4A10(play); + // Set next page mode to scroll left + pauseCtx->nextPageMode = pauseCtx->pageIndex * 2 + 1; + Audio_SetPauseState(true); + } + + if (pauseCtx->state == PAUSE_STATE_OPENING_0) { + GameState_SetFramerateDivisor(&play->state, 2); + if (ShrinkWindow_Letterbox_GetSizeTarget() != 0) { + ShrinkWindow_Letterbox_SetSizeTarget(0); } + Audio_PlaySfx_PauseMenuOpenOrClose(SFX_PAUSE_MENU_OPEN); } } diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 1d568720a..b39b32655 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -90,7 +90,7 @@ void Object_UpdateEntries(ObjectContext* objectCtx) { DmaMgr_RequestAsync(&entry->dmaReq, entry->segment, objectFile->vromStart, size, 0, &entry->loadQueue, NULL); } - } else if (!osRecvMesg(&entry->loadQueue, NULL, OS_MESG_NOBLOCK)) { + } else if (osRecvMesg(&entry->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) { entry->id = id; } } @@ -137,21 +137,17 @@ void Object_LoadAll(ObjectContext* objectCtx) { } void* func_8012F73C(ObjectContext* objectCtx, s32 slot, s16 id) { - u32 addr; - uintptr_t vromSize; - RomFile* fileTableEntry; - - objectCtx->slots[slot].id = -id; - objectCtx->slots[slot].dmaReq.vromAddr = 0; - - fileTableEntry = &gObjectTable[id]; - vromSize = fileTableEntry->vromEnd - fileTableEntry->vromStart; + ObjectEntry* entry = &objectCtx->slots[slot]; + RomFile* objectFile = &gObjectTable[id]; + size_t size; + void* nextPtr; - // TODO: UB to cast void to u32 - addr = ((u32)objectCtx->slots[slot].segment) + vromSize; - addr = ALIGN16(addr); + entry->id = -id; + entry->dmaReq.vromAddr = 0; + size = objectFile->vromEnd - objectFile->vromStart; + nextPtr = (void*)ALIGN16((uintptr_t)entry->segment + size); - return (void*)addr; + return nextPtr; } // SceneTableEntry Header Command 0x00: Spawn List @@ -195,12 +191,9 @@ void Scene_CommandActorCutsceneCamList(PlayState* play, SceneCmd* cmd) { // SceneTableEntry Header Command 0x03: Collision Header void Scene_CommandCollisionHeader(PlayState* play, SceneCmd* cmd) { - CollisionHeader* colHeaderTemp; - CollisionHeader* colHeader; + CollisionHeader* colHeader = Lib_SegmentedToVirtual(cmd->colHeader.segment); - colHeaderTemp = Lib_SegmentedToVirtual(cmd->colHeader.segment); - colHeader = colHeaderTemp; - colHeader->vtxList = Lib_SegmentedToVirtual(colHeaderTemp->vtxList); + colHeader->vtxList = Lib_SegmentedToVirtual(colHeader->vtxList); colHeader->polyList = Lib_SegmentedToVirtual(colHeader->polyList); if (colHeader->surfaceTypeList != NULL) { @@ -433,14 +426,14 @@ void Scene_CommandTimeSettings(PlayState* play, SceneCmd* cmd) { // SceneTableEntry Header Command 0x05: Wind Settings void Scene_CommandWindSettings(PlayState* play, SceneCmd* cmd) { - s8 temp1 = cmd->windSettings.west; - s8 temp2 = cmd->windSettings.vertical; - s8 temp3 = cmd->windSettings.south; + s8 x = cmd->windSettings.x; + s8 y = cmd->windSettings.y; + s8 z = cmd->windSettings.z; - play->envCtx.windDirection.x = temp1; - play->envCtx.windDirection.y = temp2; - play->envCtx.windDirection.z = temp3; - play->envCtx.windSpeed = cmd->windSettings.clothIntensity; + play->envCtx.windDirection.x = x; + play->envCtx.windDirection.y = y; + play->envCtx.windDirection.z = z; + play->envCtx.windSpeed = cmd->windSettings.speed; } // SceneTableEntry Header Command 0x13: Exit List @@ -470,16 +463,13 @@ void Scene_CommandEchoSetting(PlayState* play, SceneCmd* cmd) { // SceneTableEntry Header Command 0x18: Alternate Header List void Scene_CommandAltHeaderList(PlayState* play, SceneCmd* cmd) { - SceneCmd** altHeaderList; - SceneCmd* altHeader; - if (gSaveContext.sceneLayer != 0) { - altHeaderList = Lib_SegmentedToVirtual(cmd->altHeaders.segment); - altHeader = altHeaderList[gSaveContext.sceneLayer - 1]; + SceneCmd* altHeader = + ((SceneCmd**)Lib_SegmentedToVirtual(cmd->altHeaders.segment))[gSaveContext.sceneLayer - 1]; if (altHeader != NULL) { Scene_ExecuteCommands(play, Lib_SegmentedToVirtual(altHeader)); - (cmd + 1)->base.code = 0x14; + (cmd + 1)->base.code = SCENE_CMD_ID_END; } } } |
