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 3c6fb061eb.
This commit is contained in:
Derek Hensley
2026-10-09 04:47:01 -07:00
committed by GitHub
parent 56fa21dd00
commit 6e5fb93dde
15 changed files with 99 additions and 105 deletions
+4 -4
View File
@@ -58,10 +58,10 @@ typedef struct {
/* 0x0 */ u8 code;
/* 0x1 */ u8 data1;
/* 0x2 */ UNK_TYPE1 pad2[2];
/* 0x4 */ s8 west;
/* 0x5 */ s8 vertical;
/* 0x6 */ s8 south;
/* 0x7 */ u8 clothIntensity;
/* 0x4 */ s8 x;
/* 0x5 */ s8 y;
/* 0x6 */ s8 z;
/* 0x7 */ u8 speed;
} SCmdWindSettings; // size = 0x8
typedef struct {
+12 -11
View File
@@ -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)) {
}
return NULL;
}
return (void*)((uintptr_t)vram + gKaleidoMgrCurOvl->offset);
if (((uintptr_t)vram < (uintptr_t)ovl->vramStart) || ((uintptr_t)vram >= (uintptr_t)ovl->vramEnd)) {
return NULL;
}
return (void*)((uintptr_t)vram + ovl->offset);
}
+34 -31
View File
@@ -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);
}
}
+22 -32
View File
@@ -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;
ObjectEntry* entry = &objectCtx->slots[slot];
RomFile* objectFile = &gObjectTable[id];
size_t size;
void* nextPtr;
objectCtx->slots[slot].id = -id;
objectCtx->slots[slot].dmaReq.vromAddr = 0;
entry->id = -id;
entry->dmaReq.vromAddr = 0;
size = objectFile->vromEnd - objectFile->vromStart;
nextPtr = (void*)ALIGN16((uintptr_t)entry->segment + size);
fileTableEntry = &gObjectTable[id];
vromSize = fileTableEntry->vromEnd - fileTableEntry->vromStart;
// TODO: UB to cast void to u32
addr = ((u32)objectCtx->slots[slot].segment) + vromSize;
addr = ALIGN16(addr);
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;
}
}
}
@@ -199,7 +199,7 @@ void func_80ABC2E0(BgHakuginBombwall* this, PlayState* play) {
spBC.y = (Rand_ZeroOne() * 17.0f) + 7.0f;
spBC.z = ((Rand_ZeroOne() - 0.5f) * 10.0f) + (temp_f24 * 0.13333334f);
temp_s1 = (Rand_Next() & 3) + (i >> 2) + 4;
temp_s1 = (Rand_Next() % 4) + (i >> 2) + 4;
if ((Rand_Next() % 4) == 0) {
phi_v0 = 32;
@@ -344,10 +344,10 @@ void func_80A9B554(BgHakuginPost* this, PlayState* play, BgHakuginPostUnkStruct*
unkStruct2->unk_20.x = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_20.y = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_20.z = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_26 = (Rand_Next() & 0x3FFF) - 0x1FFF;
unkStruct2->unk_28 = (Rand_Next() & 0x1FFF) - 0xFFF;
unkStruct2->unk_2A = (Rand_Next() & 0x1FFF) - 0xFFF;
unkStruct2->unk_2C = (Rand_Next() & 0x1F) + 0x4B;
unkStruct2->unk_26 = (Rand_Next() % 0x4000) - 0x1FFF;
unkStruct2->unk_28 = (Rand_Next() % 0x2000) - 0xFFF;
unkStruct2->unk_2A = (Rand_Next() % 0x2000) - 0xFFF;
unkStruct2->unk_2C = (Rand_Next() % 0x20) + 0x4B;
unkStruct2->unk_2D = 2;
}
@@ -370,7 +370,7 @@ void func_80A9B554(BgHakuginPost* this, PlayState* play, BgHakuginPostUnkStruct*
for (i = 65, val = 0; i < ARRAY_COUNT(unkStruct->unk_02A4); i++, val += 0x4A7) {
unkStruct2 = &unkStruct->unk_02A4[i];
unkStruct2->unk_00 = Rand_ZeroOne() * 0.007f + 0.002f;
temp_s1_3 = (Rand_Next() & 0x7FF) + val;
temp_s1_3 = (Rand_Next() % 0x800) + val;
temp_f24 = Math_SinS(temp_s1_3);
temp_f28 = Math_CosS(temp_s1_3);
unkStruct2->unk_04.x = temp_f24 * 225.5f + spB8.x;
@@ -387,10 +387,10 @@ void func_80A9B554(BgHakuginPost* this, PlayState* play, BgHakuginPostUnkStruct*
unkStruct2->unk_20.x = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_20.y = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_20.z = (s32)Rand_Next() >> 0x10;
unkStruct2->unk_26 = (Rand_Next() & 0x1FFF) - 0xFFF;
unkStruct2->unk_28 = (Rand_Next() & 0x1FFF) - 0xFFF;
unkStruct2->unk_2A = (Rand_Next() & 0x1FFF) - 0xFFF;
unkStruct2->unk_2C = (Rand_Next() & 0x1F) + 0x41;
unkStruct2->unk_26 = (Rand_Next() % 0x2000) - 0xFFF;
unkStruct2->unk_28 = (Rand_Next() % 0x2000) - 0xFFF;
unkStruct2->unk_2A = (Rand_Next() % 0x2000) - 0xFFF;
unkStruct2->unk_2C = (Rand_Next() % 0x20) + 0x41;
unkStruct2->unk_2D = 0;
}
}
@@ -569,7 +569,7 @@ void func_80A9C228(BgHakuginPost* this, PlayState* play, BgHakuginPostUnkStruct*
if (unkStruct->unk_0000[i].unk_34 == 2) {
for (j = 0, val = 0; j < 3; j++, val += 0x5555) {
temp_f20 = Rand_ZeroOne() * 264.0f;
temp_s0 = (Rand_Next() & 0xFFF) + val;
temp_s0 = (Rand_Next() % 0x1000) + val;
spB8.x = Math_SinS(temp_s0) * temp_f20 + spC8->unk_14.x;
spB8.z = Math_CosS(temp_s0) * temp_f20 + spC8->unk_14.z;
@@ -595,7 +595,7 @@ void func_80A9C228(BgHakuginPost* this, PlayState* play, BgHakuginPostUnkStruct*
if ((unkStruct->unk_0000[i].unk_2F & 2) && (spC4 != NULL) && ((spC4->unk_34 == 3) || (spC4->unk_34 == 4))) {
for (j = 0, val = 0; j < 18; j++, val += 0xE38) {
temp_f20 = (Rand_ZeroOne() * 0.3f + 1.0f) * 220.0f;
temp_s0 = (Rand_Next() & 0xFFF) + val;
temp_s0 = (Rand_Next() % 0x1000) + val;
spB8.x = Math_SinS(temp_s0) * temp_f20;
spB8.z = Math_CosS(temp_s0) * temp_f20;
@@ -202,7 +202,7 @@ void func_80BD4A14(BgIkanaBombwall* this, PlayState* play) {
velocity.y = (Rand_ZeroOne() * 18.0f) + 4.0f;
velocity.z = ((Rand_ZeroOne() - 0.5f) * 3.0f * temp_fs1) + ((temp_fs1 * temp_fs3) * (1.0f / 30.0f));
scale = (Rand_Next() & 3) + (i >> 1) + 6;
scale = (Rand_Next() % 4) + (i >> 1) + 6;
if ((i & 3) == 0) {
phi_v0 = 32;
+2 -2
View File
@@ -465,7 +465,7 @@ void EnBal_SetupGroundIdle(EnBal* this) {
this->eyeTexIndex = TINGLE_EYETEX_OPEN;
this->idleAnimStage = TINGLE_IDLESTAGE_WAIT;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, TINGLE_ANIM_IDLE);
} else if (Rand_Next() & 1) {
} else if ((Rand_Next() % 2) != 0) {
this->idleAnimStage = TINGLE_IDLESTAGE_ACTIVITY;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, TINGLE_ANIM_TALK);
} else {
@@ -559,7 +559,7 @@ void EnBal_GroundIdle(EnBal* this, PlayState* play) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, TINGLE_ANIM_IDLE);
this->idleAnimStage++;
} else if (this->idleAnimStage == TINGLE_IDLESTAGE_WAIT) {
if (Rand_Next() & 1) {
if ((Rand_Next() % 2) != 0) {
this->forceEyesShut = false;
this->eyeTexIndex = TINGLE_EYETEX_OPEN;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, TINGLE_ANIM_TALK);
+2 -2
View File
@@ -301,8 +301,8 @@ void func_8091E070(EnFish* this) {
this->actor.gravity = 0.0f;
this->actor.terminalVelocity = 0.0f;
if ((Rand_Next() & 3) == 0) {
if (((Rand_Next() & 7) == 0) && (this->unk_278 != 0)) {
if ((Rand_Next() % 4) == 0) {
if (((Rand_Next() % 8) == 0) && (this->unk_278 != 0)) {
phi_a1 = 80;
} else {
phi_a1 = 45;
@@ -168,9 +168,9 @@ void func_80ACE680(EnFuMato* this) {
this->dyna.actor.velocity.y = 1.0f;
this->dyna.actor.velocity.x = 2.0f * Rand_Centered();
this->dyna.actor.velocity.z = 2.0f * Rand_Centered();
this->unk_2FC.x = Rand_Next() & 0xFFF;
this->unk_2FC.y = Rand_Next() & 0xFFF;
this->unk_2FC.z = Rand_Next() & 0xFFF;
this->unk_2FC.x = Rand_Next() % 0x1000;
this->unk_2FC.y = Rand_Next() % 0x1000;
this->unk_2FC.z = Rand_Next() % 0x1000;
this->unk_302 = 3;
Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_WOODPLATE_BOUND);
this->actionFunc = func_80ACE718;
@@ -440,8 +440,8 @@ void EnMaruta_SetupRecoilAfterCut(EnMaruta* this, PlayState* play) {
spinAxis = sRecoilSpinAxesForShapes[this->shape];
EnMaruta_RotateVector(&spinAxis, &this->recoilSpinAxis, Rand_Next() & 0xFFF, Rand_Next() & 0xFFF, 0);
this->recoilSpinRate = Rand_Next() & 0x7FF;
EnMaruta_RotateVector(&spinAxis, &this->recoilSpinAxis, Rand_Next() % 0x1000, Rand_Next() % 0x1000, 0);
this->recoilSpinRate = Rand_Next() % 0x800;
if (this->shape == ENMARUTA_SHAPE_HORIZONTAL_CUT_BOTTOM_HALF) {
this->recoilSpinRate |= 0x3F;
+1 -1
View File
@@ -549,7 +549,7 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) {
gSPDisplayList(&gfx[6], modelInfo->modelDL);
matrix->mf[3][0] = this->unk_160.x;
matrix->mf[3][1] = this->unk_160.y + 7.2250004f;
matrix->mf[3][1] = this->unk_160.y + 7225.0f * 0.001f;
matrix->mf[3][2] = this->unk_160.z;
Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY);
@@ -919,7 +919,7 @@ void func_80A6A824(EnMushi2* this, PlayState* play) {
}
void func_80A6A984(EnMushi2* this) {
if (Rand_Next() & 1) {
if ((Rand_Next() % 2) != 0) {
this->unk_370 = 0x800;
} else {
this->unk_370 = -0x800;
@@ -1035,7 +1035,7 @@ void func_80A6AE7C(EnMushi2* this, PlayState* play) {
temp_f2 = this->actor.scale.x - (1.0f / 20000.0f);
Actor_SetScale(&this->actor, CLAMP_MIN(temp_f2, 0.001f));
if ((this->actor.flags & ACTOR_FLAG_INSIDE_CULLING_VOLUME) && (this->actor.depthInWater > 5.0f) &&
(this->actor.depthInWater < 30.0f) && ((s32)(Rand_Next() & 0x1FF) < this->unk_368)) {
(this->actor.depthInWater < 30.0f) && ((s32)(Rand_Next() % 0x200) < this->unk_368)) {
EffectSsBubble_Spawn(play, &this->actor.world.pos, -5.0f, 5.0f, 5.0f,
((Rand_ZeroOne() * 4.0f) + 2.0f) * this->actor.scale.x);
}
@@ -871,7 +871,7 @@ void func_80B72430(EnRailSkb* this, PlayState* play, s32 arg2) {
sp50.y += Rand_Centered() * 4.0f;
EffectSsHahen_Spawn(play, &sp5C, &sp50, &sp44, 0, (Rand_Next() & 7) + 10, HAHEN_OBJECT_DEFAULT, 10, NULL);
EffectSsHahen_Spawn(play, &sp5C, &sp50, &sp44, 0, (Rand_Next() % 8) + 10, HAHEN_OBJECT_DEFAULT, 10, NULL);
func_800BBFB0(play, &sp5C, 10.0f, 1, 150, 0, 1);
}
}
@@ -675,7 +675,7 @@ void EnRailgibud_SpawnEffectsForSinkingIntoTheGround(EnRailgibud* this, PlayStat
rockFragmentAccel.z = Rand_Centered();
rockFragmentVelocity.y += Rand_Centered() * 4.0f;
EffectSsHahen_Spawn(play, &rockFragmentPos, &rockFragmentVelocity, &rockFragmentAccel, 0,
(Rand_Next() & 7) + 10, HAHEN_OBJECT_DEFAULT, 10, NULL);
(Rand_Next() % 8) + 10, HAHEN_OBJECT_DEFAULT, 10, NULL);
EnRailgibud_SpawnDust(play, &rockFragmentPos, 10.0f, 10, 150, 0);
}
}