summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2026-10-09 04:47:01 -0700
committerGitHub <noreply@github.com>2026-10-09 08:47:01 -0300
commit6e5fb93dde6368a6557fdd09ce9ae9309296670b (patch)
treecea802e15141e9f61a2dd51dc0fb16a1a9fdf5dd /src/code
parent56fa21dd0031a17cfc9e355f609542617598a265 (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.c21
-rw-r--r--src/code/z_kaleido_setup.c65
-rw-r--r--src/code/z_scene.c54
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;
}
}
}