diff --git a/include/functions.h b/include/functions.h index b361c9f65..586e8e29e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1503,7 +1503,7 @@ void Interface_Update(PlayState* play); void Interface_Destroy(PlayState* play); void Interface_Init(PlayState* play); -Path* Path_GetByIndex(PlayState* play, s16 index, s16 max); +Path* Path_GetByIndex(PlayState* play, s16 index, s16 indexNone); f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw); void Path_CopyLastPoint(Path* path, Vec3f* dest); diff --git a/include/variables.h b/include/variables.h index 24030fd99..e264a7d9b 100644 --- a/include/variables.h +++ b/include/variables.h @@ -459,30 +459,6 @@ extern u8 D_801BDBC8; // extern UNK_TYPE1 D_801BE92C; // extern UNK_TYPE1 D_801BE944; // extern actor_init_var_func sInitChainHandlers[11]; -// extern UNK_TYPE2 sHeartsPrimColors; -// extern UNK_TYPE2 D_801BE992; -// extern UNK_TYPE2 D_801BE994; -// extern UNK_TYPE2 sHeartsEnvColors; -// extern UNK_TYPE2 D_801BE9A6; -// extern UNK_TYPE2 D_801BE9A8; -// extern UNK_TYPE2 sHeartsPrimFactors; -// extern UNK_TYPE2 sHeartsEnvFactors; -// extern UNK_TYPE2 sHeartsDDPrimColors; -// extern UNK_TYPE2 D_801BE9E2; -// extern UNK_TYPE2 D_801BE9E4; -// extern UNK_TYPE2 sHeartsDDEnvColors; -// extern UNK_TYPE2 D_801BE9F6; -// extern UNK_TYPE2 D_801BE9F8; -// extern UNK_TYPE2 sHeartsDDPrimFactors; -// extern UNK_TYPE2 D_801BEA0A; -// extern UNK_TYPE2 D_801BEA0C; -// extern UNK_TYPE2 sHeartsDDEnvFactors; -// extern UNK_TYPE2 D_801BEA1E; -// extern UNK_TYPE2 D_801BEA20; -// extern UNK_TYPE1 HeartTextures; -// extern UNK_TYPE1 HeartDDTextures; -//extern LightsPosBindFunc posBindFuncs[3]; -//extern LightsBindFunc dirBindFuncs[3]; // extern UNK_TYPE4 D_801BEAD4; // extern UNK_TYPE4 D_801BEAD8; // extern UNK_TYPE1 D_801BEAE0; diff --git a/include/z64scene.h b/include/z64scene.h index 387d584f5..7f48d8740 100644 --- a/include/z64scene.h +++ b/include/z64scene.h @@ -469,10 +469,13 @@ typedef struct { /* 0x00C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX]; } ObjectContext; // size = 0x958 +#define PATH_INDEX_NONE -1 +#define ADDITIONAL_PATH_INDEX_NONE (u8)-1 + typedef struct { - /* 0x0 */ u8 count; // number of points in the path - /* 0x1 */ u8 unk1; - /* 0x2 */ s16 unk2; + /* 0x0 */ u8 count; // Number of points in the path + /* 0x1 */ u8 additionalPathIndex; + /* 0x2 */ s16 customValue; // Path specific to help distinguish different paths /* 0x4 */ Vec3s* points; // Segment Address to the array of points } Path; // size = 0x8 diff --git a/include/z64subs.h b/include/z64subs.h index ad2b7044f..768f81079 100644 --- a/include/z64subs.h +++ b/include/z64subs.h @@ -108,7 +108,7 @@ s32 SubS_ChangeAnimationByInfoS(SkelAnime* skelAnime, AnimationInfoS* animationI s32 SubS_HasReachedPoint(Actor* actor, Path* path, s32 pointIndex); -Path* SubS_GetDayDependentPath(struct PlayState* play, u8 pathIndex, u8 max, s32* startPointIndex); +Path* SubS_GetDayDependentPath(struct PlayState* play, u8 pathIndex, u8 pathIndexNone, s32* startPointIndex); s32 SubS_WeightPathing_ComputePoint(Path* path, s32 waypoint, Vec3f* point, f32 progress, s32 direction); s32 SubS_WeightPathing_Move(Actor* actor, Path* path, s32* waypoint, f32* progress, s32 direction, s32 returnStart); @@ -126,7 +126,7 @@ s32 SubS_TrackPoint(Vec3f* target, Vec3f* focusPos, Vec3s* shapeRot, Vec3s* trac s32 SubS_AngleDiffLessEqual(s16 angleA, s16 threshold, s16 angleB); -Path* SubS_GetPathByIndex(struct PlayState* play, s16 pathIndex, s16 max); +Path* SubS_GetPathByIndex(struct PlayState* play, s16 pathIndex, s16 pathIndexNone); s32 SubS_CopyPointFromPath(Path* path, s32 pointIndex, Vec3f* dst); s16 SubS_GetDistSqAndOrientPoints(Vec3f* vecA, Vec3f* vecB, f32* distSq); s32 SubS_MoveActorToPoint(Actor* actor, Vec3f* point, s16 rotStep); diff --git a/spec b/spec index 12fce05ce..601a46f40 100644 --- a/spec +++ b/spec @@ -4602,8 +4602,7 @@ beginseg name "ovl_Eff_Stk" compress include "build/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.o" - include "build/data/ovl_Eff_Stk/ovl_Eff_Stk.data.o" - include "build/data/ovl_Eff_Stk/ovl_Eff_Stk.reloc.o" + include "build/src/overlays/actors/ovl_Eff_Stk/ovl_Eff_Stk_reloc.o" endseg beginseg diff --git a/src/audio/code_8019AF00.c b/src/audio/code_8019AF00.c index 287149c91..e88135b8d 100644 --- a/src/audio/code_8019AF00.c +++ b/src/audio/code_8019AF00.c @@ -2543,8 +2543,8 @@ void AudioOcarina_CheckSongsWithoutMusicStaff(void) { if ((u32)sOcarinaAvailableSongFlags & (1 << songIndex)) { // Loops through all possible starting indices? // Loops through the notes of the song? - for (j = 0, k = 0; j < gOcarinaSongButtons[songIndex].numButtons && k == 0 && - sOcarinaWithoutMusicStaffPos >= gOcarinaSongButtons[songIndex].numButtons;) { + for (j = 0, k = 0; (j < gOcarinaSongButtons[songIndex].numButtons) && (k == 0) && + (sOcarinaWithoutMusicStaffPos >= gOcarinaSongButtons[songIndex].numButtons);) { pitch = sCurOcarinaSongWithoutMusicStaff[(sOcarinaWithoutMusicStaffPos - gOcarinaSongButtons[songIndex].numButtons) + @@ -2953,7 +2953,7 @@ void AudioOcarina_SetRecordingSong(u8 isRecordingComplete) { i = sRecordSongPos; pitch = OCARINA_PITCH_NONE; - while (i != 0 && pitch == OCARINA_PITCH_NONE) { + while ((i != 0) && (pitch == OCARINA_PITCH_NONE)) { i--; pitch = recordedSong[i].pitch; } diff --git a/src/audio/lib/effects.c b/src/audio/lib/effects.c index feddf73ca..6ef8added 100644 --- a/src/audio/lib/effects.c +++ b/src/audio/lib/effects.c @@ -26,7 +26,7 @@ void AudioEffects_SequenceChannelProcessSound(SequenceChannel* channel, s32 reca for (i = 0; i < ARRAY_COUNT(channel->layers); i++) { SequenceLayer* layer = channel->layers[i]; - if (layer != NULL && layer->enabled && layer->note != NULL) { + if ((layer != NULL) && layer->enabled && (layer->note != NULL)) { if (layer->notePropertiesNeedInit) { layer->noteFreqScale = layer->freqScale * chanFreqScale; layer->noteVelocity = layer->velocitySquare2 * channel->appliedVolume; diff --git a/src/audio/lib/heap.c b/src/audio/lib/heap.c index 0a64c0d1b..1ea26952b 100644 --- a/src/audio/lib/heap.c +++ b/src/audio/lib/heap.c @@ -1303,8 +1303,8 @@ void AudioHeap_DiscardSampleCacheEntry(SampleCacheEntry* entry) { sampleBankId1 = gAudioCtx.soundFontList[fontId].sampleBankId1; sampleBankId2 = gAudioCtx.soundFontList[fontId].sampleBankId2; if (((sampleBankId1 != 0xFF) && (entry->sampleBankId == sampleBankId1)) || - ((sampleBankId2 != 0xFF) && (entry->sampleBankId == sampleBankId2)) || entry->sampleBankId == 0 || - entry->sampleBankId == 0xFE) { + ((sampleBankId2 != 0xFF) && (entry->sampleBankId == sampleBankId2)) || (entry->sampleBankId == 0) || + (entry->sampleBankId == 0xFE)) { if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, fontId) != NULL) { if (1) {} if (AudioLoad_IsFontLoadComplete(fontId) != 0) { @@ -1369,7 +1369,7 @@ void AudioHeap_DiscardSampleCaches(void) { if ((sampleBankId1 == 0xFF) && (sampleBankId2 == 0xFF)) { continue; } - if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_PERMANENT, fontId) == NULL || + if ((AudioHeap_SearchCaches(FONT_TABLE, CACHE_PERMANENT, fontId) == NULL) || !AudioLoad_IsFontLoadComplete(fontId)) { continue; } @@ -1393,7 +1393,7 @@ typedef struct { } StorageChange; void AudioHeap_ChangeStorage(StorageChange* change, Sample* sample) { - if (sample != NULL && ((sample->medium == change->newMedium) || (D_801FD120 != 1)) && + if ((sample != NULL) && ((sample->medium == change->newMedium) || (D_801FD120 != 1)) && ((sample->medium == MEDIUM_RAM) || (D_801FD120 != 0))) { uintptr_t startAddr = change->oldAddr; uintptr_t endAddr = change->oldAddr + change->size; diff --git a/src/audio/lib/load.c b/src/audio/lib/load.c index 3a4f1c1e0..7df46952b 100644 --- a/src/audio/lib/load.c +++ b/src/audio/lib/load.c @@ -138,13 +138,13 @@ void* AudioLoad_DmaSampleData(uintptr_t devAddr, size_t size, s32 arg2, u8* dmaI s32 bufferPos; u32 i; - if (arg2 != 0 || *dmaIndexRef >= gAudioCtx.sampleDmaListSize1) { + if ((arg2 != 0) || (*dmaIndexRef >= gAudioCtx.sampleDmaListSize1)) { for (i = gAudioCtx.sampleDmaListSize1; i < gAudioCtx.sampleDmaCount; i++) { dma = &gAudioCtx.sampleDmas[i]; bufferPos = devAddr - dma->devAddr; - if (0 <= bufferPos && ((u32)bufferPos <= dma->size - size)) { + if ((0 <= bufferPos) && ((u32)bufferPos <= (dma->size - size))) { // We already have a DMA request for this memory range. - if (dma->ttl == 0 && gAudioCtx.sampleDmaReuseQueue2RdPos != gAudioCtx.sampleDmaReuseQueue2WrPos) { + if ((dma->ttl == 0) && (gAudioCtx.sampleDmaReuseQueue2RdPos != gAudioCtx.sampleDmaReuseQueue2WrPos)) { // Move the DMA out of the reuse queue, by swapping it with the // read pos, and then incrementing the read pos. if (dma->reuseIndex != gAudioCtx.sampleDmaReuseQueue2RdPos) { @@ -1905,7 +1905,7 @@ void AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, SoundFontData* fontData } gAudioCtx.numUsedSamples = 0; - if (gAudioCtx.preloadSampleStackTop != 0 && !preloadInProgress) { + if ((gAudioCtx.preloadSampleStackTop != 0) && !preloadInProgress) { topPreload = &gAudioCtx.preloadSampleStack[gAudioCtx.preloadSampleStackTop - 1]; sample = topPreload->sample; nChunks = (sample->size >> 12) + 1; @@ -2160,7 +2160,7 @@ void AudioLoad_PreloadSamplesForFont(s32 fontId, s32 async, SampleBankRelocInfo* } gAudioCtx.numUsedSamples = 0; - if (gAudioCtx.preloadSampleStackTop != 0 && !preloadInProgress) { + if ((gAudioCtx.preloadSampleStackTop != 0) && !preloadInProgress) { topPreload = &gAudioCtx.preloadSampleStack[gAudioCtx.preloadSampleStackTop - 1]; sample = topPreload->sample; nChunks = (sample->size >> 12) + 1; diff --git a/src/audio/lib/playback.c b/src/audio/lib/playback.c index deb6e82b9..678e01089 100644 --- a/src/audio/lib/playback.c +++ b/src/audio/lib/playback.c @@ -597,7 +597,7 @@ s32 AudioPlayback_BuildSyntheticWave(Note* note, SequenceLayer* layer, s32 waveI } freqScale = layer->freqScale; - if (layer->portamento.mode != 0 && 0.0f < layer->portamento.extent) { + if ((layer->portamento.mode != 0) && (0.0f < layer->portamento.extent)) { freqScale *= (layer->portamento.extent + 1.0f); } @@ -906,7 +906,7 @@ Note* AudioPlayback_AllocNoteFromActive(NotePool* pool, SequenceLayer* layer) { aPriority = aNote->playbackState.priority; } - if (rNote == NULL && aNote == NULL) { + if ((rNote == NULL) && (aNote == NULL)) { return NULL; } @@ -928,8 +928,8 @@ Note* AudioPlayback_AllocNote(SequenceLayer* layer) { if (policy & 1) { note = layer->note; - if (note != NULL && note->playbackState.prevParentLayer == layer && - note->playbackState.wantedParentLayer == NO_LAYER) { + if ((note != NULL) && (note->playbackState.prevParentLayer == layer) && + (note->playbackState.wantedParentLayer == NO_LAYER)) { AudioPlayback_NoteReleaseAndTakeOwnership(note, layer); AudioPlayback_AudioListRemove(¬e->listItem); AudioScript_AudioListPushBack(¬e->listItem.pool->releasing, ¬e->listItem); diff --git a/src/boot_O2/__osMalloc.c b/src/boot_O2/__osMalloc.c index 24fa6d39e..71a5a5ba3 100644 --- a/src/boot_O2/__osMalloc.c +++ b/src/boot_O2/__osMalloc.c @@ -275,7 +275,7 @@ void __osFree(Arena* arena, void* ptr) { node = (ArenaNode*)((uintptr_t)ptr - sizeof(ArenaNode)); - if (ptr != NULL && node->magic == NODE_MAGIC && !node->isFree) { + if ((ptr != NULL) && (node->magic == NODE_MAGIC) && !node->isFree) { next = node->next; prev = node->prev; node->isFree = true; @@ -297,7 +297,7 @@ void __osFree(Arena* arena, void* ptr) { // Checks if the previous node is contiguous to the current node and if it isn't currently allocated. Then merge // the two nodes into one. - if (prev != NULL && prev->isFree && (uintptr_t)node == (uintptr_t)prev + sizeof(ArenaNode) + prev->size) { + if ((prev != NULL) && prev->isFree && ((uintptr_t)node == (uintptr_t)prev + sizeof(ArenaNode) + prev->size)) { if (next != NULL) { next->prev = prev; } diff --git a/src/boot_O2/system_heap.c b/src/boot_O2/system_heap.c index 66e53dc12..365d94596 100644 --- a/src/boot_O2/system_heap.c +++ b/src/boot_O2/system_heap.c @@ -61,7 +61,7 @@ void* SystemHeap_RunBlockFunc8(void* blk, size_t nBlk, size_t blkSize, BlockFunc blk = SystemHeap_Malloc(nBlk * blkSize); } - if (blk != NULL && blockFunc != NULL) { + if ((blk != NULL) && (blockFunc != NULL)) { uintptr_t pos = blk; for (; pos < (uintptr_t)blk + (nBlk * blkSize); pos += (blkSize & ~0)) { diff --git a/src/code/PreRender.c b/src/code/PreRender.c index 2d4651f64..26a7a16f0 100644 --- a/src/code/PreRender.c +++ b/src/code/PreRender.c @@ -403,7 +403,7 @@ void PreRender_ApplyAntiAliasingFilter(PreRender* this) { * Applies filters to the framebuffer prerender to make it look smoother */ void PreRender_ApplyFilters(PreRender* this) { - if (this->cvgSave == NULL || this->fbufSave == NULL) { + if ((this->cvgSave == NULL) || (this->fbufSave == NULL)) { this->unk_4D = 0; } else { this->unk_4D = 1; diff --git a/src/code/jpegutils.c b/src/code/jpegutils.c index 904643f46..fbf6c69c2 100644 --- a/src/code/jpegutils.c +++ b/src/code/jpegutils.c @@ -86,7 +86,7 @@ u32 JpegUtils_ProcessHuffmanTableImpl(u8* data, JpegHuffmanTable* ht, u8* codesL s32 temp; ret = count; - if (count == 0 || (isAc && count > 0x100) || (!isAc && count > 0x10)) { + if ((count == 0) || (isAc && (count > 0x100)) || (!isAc && (count > 0x10))) { return 0; } if (ret != JpegUtils_GetHuffmanCodes(codesLengths, codes)) { @@ -141,7 +141,7 @@ u32 JpegUtils_ProcessHuffmanTableImplOld(u8* dht, JpegHuffmanTableOld* ht, u8* c count2 = count = JpegUtils_ParseHuffmanCodesLengths(dht, codesLengths); - if (count == 0 || (isAc && count > 0x100) || (!isAc && count > 0x10)) { + if ((count == 0) || (isAc && (count > 0x100)) || (!isAc && (count > 0x10))) { return true; } diff --git a/src/code/sched.c b/src/code/sched.c index 9e2016833..c06eb41ba 100644 --- a/src/code/sched.c +++ b/src/code/sched.c @@ -25,7 +25,7 @@ void Sched_SwapFramebuffer(CfbInfo* cfbInfo) { osViSwapBuffer(cfbInfo->swapBuffer); cfbInfo->updateRate2 = cfbInfo->updateRate; - if (SREG(62) == 0 && cfbInfo->viMode != NULL) { + if ((SREG(62) == 0) && (cfbInfo->viMode != NULL)) { D_80096B20 = one; osViSetMode(cfbInfo->viMode); osViSetSpecialFeatures(cfbInfo->features); @@ -68,7 +68,7 @@ void Sched_HandleAudioCancel(SchedContext* sched) { // AUDIO SP Cancel osSyncPrintf("AUDIO SP キャンセルします\n"); - if (sched->curRSPTask != NULL && sched->curRSPTask->list.t.type == M_AUDTASK) { + if ((sched->curRSPTask != NULL) && (sched->curRSPTask->list.t.type == M_AUDTASK)) { if (!(HW_REG(SP_STATUS_REG, u32) & SP_STATUS_HALT)) { // Attempts to stop AUDIO SP osSyncPrintf("AUDIO SP止めようとします\n"); @@ -130,7 +130,7 @@ void Sched_HandleGfxCancel(SchedContext* sched) { // GRAPH SP Cancel osSyncPrintf("GRAPH SP キャンセルします\n"); - if (sched->curRSPTask != NULL && sched->curRSPTask->list.t.type == M_GFXTASK) { + if ((sched->curRSPTask != NULL) && (sched->curRSPTask->list.t.type == M_GFXTASK)) { if (!(HW_REG(SP_STATUS_REG, u32) & SP_STATUS_HALT)) { // GRAPH SP tries to stop osSyncPrintf("GRAPH SP止めようとします\n"); @@ -227,7 +227,8 @@ s32 Sched_TaskCheckFramebuffers(SchedContext* sched, OSScTask* task) { void* nextFB = osViGetNextFramebuffer(); void* curFB = osViGetCurrentFramebuffer(); - if (task == NULL || sched->pendingSwapBuf1 != NULL || (curFB == TASK_FRAMEBUFFER(task)->fb1 && curFB != nextFB)) { + if ((task == NULL) || (sched->pendingSwapBuf1 != NULL) || + ((curFB == TASK_FRAMEBUFFER(task)->fb1) && (curFB != nextFB))) { return 0; } return 1; @@ -241,7 +242,7 @@ s32 Sched_Schedule(SchedContext* sched, OSScTask** spTask, OSScTask** dpTask, s3 OSScTask* gfxTask = sched->gfxListHead; OSScTask* audioTask = sched->audioListHead; - if ((ret & OS_SC_SP) && sched->audioListHead != NULL) { + if ((ret & OS_SC_SP) && (sched->audioListHead != NULL)) { *spTask = audioTask; ret &= ~OS_SC_SP; sched->audioListHead = sched->audioListHead->next; @@ -249,7 +250,7 @@ s32 Sched_Schedule(SchedContext* sched, OSScTask** spTask, OSScTask** dpTask, s3 sched->audioListTail = NULL; } } else if (gfxTask != NULL) { - if (gfxTask->state & OS_SC_YIELDED || !(gfxTask->flags & OS_SC_NEEDS_RDP)) { + if ((gfxTask->state & OS_SC_YIELDED) || !(gfxTask->flags & OS_SC_NEEDS_RDP)) { if (ret & OS_SC_SP) { *spTask = gfxTask; ret &= ~OS_SC_SP; @@ -259,7 +260,7 @@ s32 Sched_Schedule(SchedContext* sched, OSScTask** spTask, OSScTask** dpTask, s3 } } } else if (ret == (OS_SC_SP | OS_SC_DP)) { - if (TASK_FRAMEBUFFER(gfxTask) == NULL || Sched_TaskCheckFramebuffers(sched, gfxTask)) { + if ((TASK_FRAMEBUFFER(gfxTask) == NULL) || Sched_TaskCheckFramebuffers(sched, gfxTask)) { *spTask = *dpTask = gfxTask; ret &= ~(OS_SC_SP | OS_SC_DP); sched->gfxListHead = sched->gfxListHead->next; @@ -275,7 +276,7 @@ s32 Sched_Schedule(SchedContext* sched, OSScTask** spTask, OSScTask** dpTask, s3 void Sched_TaskUpdateFramebuffer(SchedContext* sched, OSScTask* task) { sched->pendingSwapBuf1 = TASK_FRAMEBUFFER(task); - if (sched->curBuf != NULL && sched->curBuf->updateRate2 > 0) { + if ((sched->curBuf != NULL) && (sched->curBuf->updateRate2 > 0)) { return; } Sched_RetraceUpdateFramebuffer(sched, sched->pendingSwapBuf1); @@ -314,7 +315,7 @@ void Sched_RunTask(SchedContext* sched, OSScTask* spTask, OSScTask* dpTask) { return; } // Write back the data cache to ensure imminent SP DMA does not miss anything - if (spTask->list.t.type != M_AUDTASK && !(spTask->state & OS_SC_YIELDED)) { + if ((spTask->list.t.type != M_AUDTASK) && !(spTask->state & OS_SC_YIELDED)) { osWritebackDCacheAll(); } spTask->state &= ~(OS_SC_YIELD | OS_SC_YIELDED); @@ -327,9 +328,11 @@ void Sched_RunTask(SchedContext* sched, OSScTask* spTask, OSScTask* dpTask) { case M_AUDTASK: sRSPAudioStartTime = time; break; + case M_GFXTASK: sRSPGFXStartTime = time; break; + default: if (1) {} sRSPOtherStartTime = time; @@ -366,7 +369,7 @@ void Sched_HandleEntry(SchedContext* sched) { Sched_QueueTask(sched, msg); } // If there is an audio task pending and an RSP task is running, yield the current task. - if (sched->audioListHead != NULL && sched->curRSPTask != NULL) { + if ((sched->audioListHead != NULL) && (sched->curRSPTask != NULL)) { Sched_Yield(sched); return; } @@ -421,9 +424,11 @@ void Sched_HandleRSPDone(SchedContext* sched) { case M_AUDTASK: gRSPAudioTotalTime += time - sRSPAudioStartTime; break; + case M_GFXTASK: sRSPGFXTotalTime += time - sRSPGFXStartTime; break; + default: if (1) {} sRSPOtherTotalTime += time - sRSPOtherStartTime; @@ -555,15 +560,19 @@ void Sched_ThreadEntry(void* arg) { case RDP_AUDIO_CANCEL_MSG: Sched_HandleAudioCancel(sched); continue; + case RSP_GFX_CANCEL_MSG: Sched_HandleGfxCancel(sched); continue; + case ENTRY_MSG: Sched_HandleEntry(sched); continue; + case RSP_DONE_MSG: Sched_HandleRSPDone(sched); continue; + case RDP_DONE_MSG: Sched_HandleRDPDone(sched); continue; @@ -573,9 +582,11 @@ void Sched_ThreadEntry(void* arg) { case OS_SC_RETRACE_MSG: Sched_HandleRetrace(sched); continue; + case OS_SC_PRE_NMI_MSG: Sched_HandleReset(sched); continue; + case OS_SC_NMI_MSG: Sched_HandleStop(sched); continue; diff --git a/src/code/z_DLF.c b/src/code/z_DLF.c index 020edcf27..aa5c0325d 100644 --- a/src/code/z_DLF.c +++ b/src/code/z_DLF.c @@ -46,7 +46,7 @@ void Overlay_FreeGameState(GameStateOverlay* overlayEntry) { s32 var_v0; if (overlayEntry->loadedRamAddr != NULL) { - var_v0 = overlayEntry->unk_28 != 0 ? -1 : 0; + var_v0 = (overlayEntry->unk_28 != 0) ? -1 : 0; if (var_v0 == 0) { overlayEntry->unk_14 = (uintptr_t)( (overlayEntry->unk_14 != NULL) diff --git a/src/code/z_actor.c b/src/code/z_actor.c index c7e2c4574..82ff8ddd9 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -476,6 +476,7 @@ void Actor_DrawZTarget(TargetContext* targetCtx, PlayState* play) { Actor* actor = targetCtx->targetedActor; OPEN_DISPS(play->state.gfxCtx); + if (targetCtx->unk48 != 0) { TargetContextEntry* entry; s16 alpha = 255; @@ -598,10 +599,10 @@ void func_800B5814(TargetContext* targetCtx, Player* player, Actor* actor, GameS targetCtx->unk_94 = sp68; } - if (targetCtx->unk8C != 0) { + if (targetCtx->unk8C != NULL) { sp68 = targetCtx->unk8C; targetCtx->unk8C = NULL; - } else if (actor != 0) { + } else if (actor != NULL) { sp68 = actor; } @@ -640,7 +641,7 @@ void func_800B5814(TargetContext* targetCtx, Player* player, Actor* actor, GameS Target_SetColors(targetCtx, sp68, category, play); } - if (actor != NULL && targetCtx->unk4B == 0) { + if ((actor != NULL) && (targetCtx->unk4B == 0)) { Actor_GetProjectedPos(play, &actor->focus.pos, &projectedPos, &invW); if ((projectedPos.z <= 0.0f) || (fabsf(projectedPos.x * invW) >= 1.0f) || (fabsf(projectedPos.y * invW) >= 1.0f)) { @@ -2028,10 +2029,10 @@ s32 Actor_OfferGetItem(Actor* actor, PlayState* play, GetItemId getItemId, f32 x PLAYER_STATE1_80000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000)) && (Player_GetExplosiveHeld(player) <= PLAYER_EXPLOSIVE_NONE)) { if ((actor->xzDistToPlayer <= xzRange) && (fabsf(actor->playerHeightRel) <= fabsf(yRange))) { - if ((getItemId == GI_MASK_CIRCUS_LEADER || getItemId == GI_PENDANT_OF_MEMORIES || - getItemId == GI_DEED_LAND || - ((player->heldActor != NULL || actor == player->talkActor) && - (getItemId > GI_NONE && getItemId < GI_MAX))) || + if (((getItemId == GI_MASK_CIRCUS_LEADER) || (getItemId == GI_PENDANT_OF_MEMORIES) || + (getItemId == GI_DEED_LAND) || + (((player->heldActor != NULL) || (actor == player->talkActor)) && + ((getItemId > GI_NONE) && (getItemId < GI_MAX)))) || !(player->stateFlags1 & (PLAYER_STATE1_800 | PLAYER_STATE1_20000000))) { s16 yawDiff = actor->yawTowardsPlayer - player->actor.shape.rot.y; s32 absYawDiff = ABS_ALT(yawDiff); @@ -2386,12 +2387,12 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) { } else { if (!Object_IsLoaded(&play->objectCtx, actor->objBankIndex)) { Actor_Kill(actor); - } else if (((params->requiredActorFlag) && !(actor->flags & params->requiredActorFlag)) || - ((((!params->requiredActorFlag) != 0)) && + } else if ((params->requiredActorFlag && !(actor->flags & params->requiredActorFlag)) || + (((!params->requiredActorFlag) != 0) && (!(actor->flags & ACTOR_FLAG_100000) || ((actor->category == ACTORCAT_EXPLOSIVES) && (params->player->stateFlags1 & PLAYER_STATE1_200))) && - params->canFreezeCategory && (actor != params->talkActor) && - ((actor != params->player->heldActor)) && (actor->parent != ¶ms->player->actor))) { + params->canFreezeCategory && (actor != params->talkActor) && (actor != params->player->heldActor) && + (actor->parent != ¶ms->player->actor))) { CollisionCheck_ResetDamage(&actor->colChkInfo); } else { Math_Vec3f_Copy(&actor->prevPos, &actor->world.pos); @@ -3195,7 +3196,7 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1 } overlayEntry = &gActorOverlayTable[index]; - if (overlayEntry->vramStart != 0) { + if (overlayEntry->vramStart != NULL) { overlayEntry->numLoaded++; } diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 7fac2a2b2..bd23308c3 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -7790,7 +7790,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 forceChange) { break; case CAM_MODE_FOLLOWTARGET: - if (camera->target != NULL && camera->target->id != ACTOR_EN_BOOM) { + if ((camera->target != NULL) && (camera->target->id != ACTOR_EN_BOOM)) { sModeChangeFlags = CAM_CHANGE_MODE_FOLLOW_TARGET; } break; @@ -7807,6 +7807,9 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 forceChange) { case CAM_MODE_HANG: sModeChangeFlags = CAM_CHANGE_MODE_4; break; + + default: + break; } // Process Current Camera Mode diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 8bcd244bd..b7f07d14d 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -92,7 +92,8 @@ f32 CollisionCheck_ApplyBumperDefense(f32 damage, ColliderInfo* ac) { * factors such as the ac collider's defense. */ s32 CollisionCheck_GetToucherDamage(Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo) { - if (at->actor != NULL && at->actor->id == ACTOR_EN_BOM && ac->actor != NULL && ac->actor->id == ACTOR_PLAYER) { + if ((at->actor != NULL) && (at->actor->id == ACTOR_EN_BOM) && (ac->actor != NULL) && + (ac->actor->id == ACTOR_PLAYER)) { return 8; } return atInfo->toucher.damage; @@ -1153,7 +1154,7 @@ s32 CollisionCheck_SetAT(PlayState* play, CollisionCheckContext* colCtxt, Collid } sATResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->colATCount >= ARRAY_COUNT(colCtxt->colAT)) { @@ -1179,7 +1180,7 @@ s32 CollisionCheck_SetAT_SAC(PlayState* play, CollisionCheckContext* colCtxt, Co } sATResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->sacFlags & SAC_ON) { @@ -1213,7 +1214,7 @@ s32 CollisionCheck_SetAC(PlayState* play, CollisionCheckContext* colCtxt, Collid } sACResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->colACCount >= ARRAY_COUNT(colCtxt->colAC)) { @@ -1239,7 +1240,7 @@ s32 CollisionCheck_SetAC_SAC(PlayState* play, CollisionCheckContext* colCtxt, Co } sACResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->sacFlags & SAC_ON) { @@ -1273,7 +1274,7 @@ s32 CollisionCheck_SetOC(PlayState* play, CollisionCheckContext* colCtxt, Collid } sOCResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->colOCCount >= ARRAY_COUNT(colCtxt->colOC)) { @@ -1299,7 +1300,7 @@ s32 CollisionCheck_SetOC_SAC(PlayState* play, CollisionCheckContext* colCtxt, Co } sOCResetFuncs[collider->shape](play, collider); - if (collider->actor != NULL && collider->actor->update == NULL) { + if ((collider->actor != NULL) && (collider->actor->update == NULL)) { return -1; } if (colCtxt->sacFlags & SAC_ON) { @@ -1523,7 +1524,7 @@ void CollisionCheck_RedBloodUnused(PlayState* play, Collider* collider, Vec3f* v void CollisionCheck_HitSolid(PlayState* play, ColliderInfo* info, Collider* collider, Vec3f* hitPos) { s32 flags = info->toucherFlags & TOUCH_SFX_NONE; - if (flags == TOUCH_SFX_NORMAL && collider->colType != COLTYPE_METAL) { + if ((flags == TOUCH_SFX_NORMAL) && (collider->colType != COLTYPE_METAL)) { EffectSsHitmark_SpawnFixedScale(play, 0, hitPos); if (collider->actor == NULL) { play_sound(NA_SE_IT_SHIELD_BOUND); @@ -1558,7 +1559,7 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderInfo* info, Collider* coll * Plays a hit sound effect for AT colliders attached to Player based on the AC element's elemType. */ s32 CollisionCheck_SwordHitAudio(Collider* at, ColliderInfo* acInfo) { - if (at->actor != NULL && at->actor->category == ACTORCAT_PLAYER) { + if ((at->actor != NULL) && (at->actor->category == ACTORCAT_PLAYER)) { if (acInfo->elemType == ELEMTYPE_UNK0) { Audio_PlaySfxAtPos(&at->actor->projectedPos, NA_SE_IT_SWORD_STRIKE); } else if (acInfo->elemType == ELEMTYPE_UNK1) { @@ -1652,7 +1653,7 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* at, ColliderInfo* atInfo return 0; } } - if ((ac->acFlags & AC_HARD) && at->actor != NULL && ac->actor != NULL) { + if ((ac->acFlags & AC_HARD) && (at->actor != NULL) && (ac->actor != NULL)) { CollisionCheck_SetBounce(at, ac); } if (!(acInfo->bumperFlags & BUMP_NO_AT_INFO)) { @@ -1683,8 +1684,8 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* at, ColliderInfo* atInfo acInfo->bumper.hitPos.y = hitPos->y; acInfo->bumper.hitPos.z = hitPos->z; } - if (!(atInfo->toucherFlags & TOUCH_AT_HITMARK) && ac->colType != COLTYPE_METAL && ac->colType != COLTYPE_WOOD && - ac->colType != COLTYPE_HARD) { + if (!(atInfo->toucherFlags & TOUCH_AT_HITMARK) && (ac->colType != COLTYPE_METAL) && (ac->colType != COLTYPE_WOOD) && + (ac->colType != COLTYPE_HARD)) { acInfo->bumperFlags |= BUMP_DRAW_HITMARK; } else { CollisionCheck_HitEffects(play, at, atInfo, ac, acInfo, hitPos); @@ -1719,7 +1720,7 @@ void CollisionCheck_AC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co f32 overlapSize; f32 centerDist; - if (at->count > 0 && at->elements != NULL && ac->count > 0 && ac->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL) && (ac->count > 0) && (ac->elements != NULL)) { for (atElem = at->elements; atElem < &at->elements[at->count]; atElem++) { if (CollisionCheck_SkipTouch(&atElem->info)) { continue; @@ -1773,7 +1774,7 @@ void CollisionCheck_AC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCt f32 overlapSize; f32 centerDist; - if (at->count > 0 && at->elements != NULL && ac->dim.radius > 0 && ac->dim.height > 0) { + if ((at->count > 0) && (at->elements != NULL) && (ac->dim.radius > 0) && (ac->dim.height > 0)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -1822,7 +1823,7 @@ void CollisionCheck_AC_JntSphVsTris(PlayState* play, CollisionCheckContext* colC ColliderTrisElement* acElem; Vec3f hitPos; - if (at->count > 0 && at->elements != NULL && ac->count > 0 && ac->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL) && (ac->count > 0) && (ac->elements != NULL)) { for (atElem = at->elements; atElem < &at->elements[at->count]; atElem++) { if (CollisionCheck_SkipTouch(&atElem->info)) { continue; @@ -1858,7 +1859,7 @@ void CollisionCheck_AC_JntSphVsQuad(PlayState* play, CollisionCheckContext* colC Vec3f hitPos; ColliderJntSphElement* sphElem; - if (at->count > 0 && at->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -1898,7 +1899,7 @@ void CollisionCheck_AC_JntSphVsSphere(PlayState* play, CollisionCheckContext* co f32 overlapSize; f32 centerDist; - if (at->count > 0 && at->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -1943,7 +1944,7 @@ void CollisionCheck_AC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCt f32 centerDist; ColliderJntSphElement* sphElem; - if (ac->count > 0 && ac->elements != NULL && at->dim.radius > 0 && at->dim.height > 0) { + if ((ac->count > 0) && (ac->elements != NULL) && (at->dim.radius > 0) && (at->dim.height > 0)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -1994,7 +1995,7 @@ void CollisionCheck_AC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt, f32 overlapSize; f32 centerDist; - if (at->dim.radius > 0 && at->dim.height > 0 && ac->dim.radius > 0 && ac->dim.height > 0) { + if ((at->dim.radius > 0) && (at->dim.height > 0) && (ac->dim.radius > 0) && (ac->dim.height > 0)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -2046,7 +2047,7 @@ void CollisionCheck_AC_CylVsTris(PlayState* play, CollisionCheckContext* colCtxt ColliderTrisElement* acElem; Vec3f hitPos; - if (at->dim.radius > 0 && at->dim.height > 0 && ac->count > 0 && ac->elements != NULL) { + if ((at->dim.radius > 0) && (at->dim.height > 0) && (ac->count > 0) && (ac->elements != NULL)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2079,7 +2080,7 @@ void CollisionCheck_AC_CylVsQuad(PlayState* play, CollisionCheckContext* colCtxt ColliderCylinder* at = (ColliderCylinder*)colAT; ColliderQuad* ac = (ColliderQuad*)colAC; - if (at->dim.height > 0 && at->dim.radius > 0) { + if ((at->dim.height > 0) && (at->dim.radius > 0)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2119,7 +2120,7 @@ void CollisionCheck_AC_CylVsSphere(PlayState* play, CollisionCheckContext* colCt f32 overlapSize; f32 centerDist; - if (at->dim.radius > 0 && at->dim.height > 0) { + if ((at->dim.radius > 0) && (at->dim.height > 0)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2166,7 +2167,7 @@ void CollisionCheck_AC_TrisVsJntSph(PlayState* play, CollisionCheckContext* colC ColliderTrisElement* atElem; Vec3f hitPos; - if (ac->count > 0 && ac->elements != NULL && at->count > 0 && at->elements != NULL) { + if ((ac->count > 0) && (ac->elements != NULL) && (at->count > 0) && (at->elements != NULL)) { for (acElem = ac->elements; acElem < &ac->elements[ac->count]; acElem++) { if (CollisionCheck_SkipBump(&acElem->info)) { continue; @@ -2204,7 +2205,7 @@ void CollisionCheck_AC_TrisVsCyl(PlayState* play, CollisionCheckContext* colCtxt ColliderCylinder* ac = (ColliderCylinder*)colAC; ColliderTrisElement* atElem; - if (ac->dim.radius > 0 && ac->dim.height > 0 && at->count > 0 && at->elements != NULL) { + if ((ac->dim.radius > 0) && (ac->dim.height > 0) && (at->count > 0) && (at->elements != NULL)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -2238,7 +2239,7 @@ void CollisionCheck_AC_TrisVsTris(PlayState* play, CollisionCheckContext* colCtx ColliderTris* ac = (ColliderTris*)colAC; ColliderTrisElement* acElem; - if (ac->count > 0 && ac->elements != NULL && at->count > 0 && at->elements != NULL) { + if ((ac->count > 0) && (ac->elements != NULL) && (at->count > 0) && (at->elements != NULL)) { for (acElem = ac->elements; acElem < &ac->elements[ac->count]; acElem++) { if (CollisionCheck_SkipBump(&acElem->info)) { continue; @@ -2273,7 +2274,7 @@ void CollisionCheck_AC_TrisVsQuad(PlayState* play, CollisionCheckContext* colCtx ColliderQuad* ac = (ColliderQuad*)colAC; ColliderTrisElement* atElem; - if (at->count > 0 && at->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -2312,7 +2313,7 @@ void CollisionCheck_AC_TrisVsSphere(PlayState* play, CollisionCheckContext* colC ColliderSphere* ac = (ColliderSphere*)colAC; Vec3f hitPos; - if (at->count > 0 && at->elements != NULL) { + if ((at->count > 0) && (at->elements != NULL)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -2344,7 +2345,7 @@ void CollisionCheck_AC_QuadVsJntSph(PlayState* play, CollisionCheckContext* colC ColliderQuad* at = (ColliderQuad*)colAT; ColliderJntSph* ac = (ColliderJntSph*)colAC; - if (ac->count > 0 && ac->elements != NULL) { + if ((ac->count > 0) && (ac->elements != NULL)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2385,7 +2386,7 @@ void CollisionCheck_AC_QuadVsCyl(PlayState* play, CollisionCheckContext* colCtxt ColliderQuad* at = (ColliderQuad*)colAT; ColliderCylinder* ac = (ColliderCylinder*)colAC; - if (ac->dim.height > 0 && ac->dim.radius > 0) { + if ((ac->dim.height > 0) && (ac->dim.radius > 0)) { if (CollisionCheck_SkipBump(&ac->info)) { return; } @@ -2431,7 +2432,7 @@ void CollisionCheck_AC_QuadVsTris(PlayState* play, CollisionCheckContext* colCtx ColliderTris* ac = (ColliderTris*)colAC; ColliderTrisElement* acElem; - if (ac->count > 0 && ac->elements != NULL) { + if ((ac->count > 0) && (ac->elements != NULL)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2546,7 +2547,7 @@ void CollisionCheck_AC_SphereVsJntSph(PlayState* play, CollisionCheckContext* co f32 overlapSize; f32 centerDist; - if (ac->count > 0 && ac->elements != NULL) { + if ((ac->count > 0) && (ac->elements != NULL)) { if (CollisionCheck_SkipTouch(&at->info)) { return; } @@ -2739,7 +2740,7 @@ void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colCt ColliderJntSphElement* element; for (element = jntSph->elements; element < &jntSph->elements[jntSph->count]; element++) { - if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && element->info.acHitInfo != NULL && + if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && (element->info.acHitInfo != NULL) && !(element->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { Vec3f hitPos; @@ -2758,7 +2759,7 @@ void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colCt void CollisionCheck_SetCylHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider) { ColliderCylinder* cylinder = (ColliderCylinder*)collider; - if ((cylinder->info.bumperFlags & BUMP_DRAW_HITMARK) && cylinder->info.acHitInfo != NULL && + if ((cylinder->info.bumperFlags & BUMP_DRAW_HITMARK) && (cylinder->info.acHitInfo != NULL) && !(cylinder->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { Vec3f hitPos; @@ -2777,7 +2778,7 @@ void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colCtxt ColliderTrisElement* element; for (element = tris->elements; element < &tris->elements[tris->count]; element++) { - if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && element->info.acHitInfo != NULL && + if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && (element->info.acHitInfo != NULL) && !(element->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { Vec3f hitPos; @@ -2796,7 +2797,7 @@ void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colCtxt void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider) { ColliderQuad* quad = (ColliderQuad*)collider; - if ((quad->info.bumperFlags & BUMP_DRAW_HITMARK) && quad->info.acHitInfo != NULL && + if ((quad->info.bumperFlags & BUMP_DRAW_HITMARK) && (quad->info.acHitInfo != NULL) && !(quad->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { Vec3f hitPos; @@ -2812,7 +2813,7 @@ void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colCtxt void CollisionCheck_SetSphereHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider) { ColliderSphere* sphere = (ColliderSphere*)collider; - if ((sphere->info.bumperFlags & BUMP_DRAW_HITMARK) && sphere->info.acHitInfo != NULL && + if ((sphere->info.bumperFlags & BUMP_DRAW_HITMARK) && (sphere->info.acHitInfo != NULL) && !(sphere->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { Vec3f hitPos; @@ -2837,8 +2838,8 @@ void CollisionCheck_SetHitEffects(PlayState* play, CollisionCheckContext* colCtx for (col = &colCtxt->colAC[0]; col < &colCtxt->colAC[colCtxt->colACCount]; col++) { Collider* colAC = *col; - if (colAC != NULL && (colAC->acFlags & AC_ON)) { - if (colAC->actor != NULL && colAC->actor->update == NULL) { + if ((colAC != NULL) && (colAC->acFlags & AC_ON)) { + if ((colAC->actor != NULL) && (colAC->actor->update == NULL)) { continue; } sColChkApplyFuncs[colAC->shape](play, colCtxt, colAC); @@ -2868,12 +2869,12 @@ void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colCtxt, Collider for (col = &colCtxt->colAC[0]; col < &colCtxt->colAC[colCtxt->colACCount]; col++) { Collider* colAC = *col; - if (colAC != NULL && (colAC->acFlags & AC_ON)) { - if (colAC->actor != NULL && colAC->actor->update == NULL) { + if ((colAC != NULL) && (colAC->acFlags & AC_ON)) { + if ((colAC->actor != NULL) && (colAC->actor->update == NULL)) { continue; } - if ((colAC->acFlags & colAT->atFlags & AC_TYPE_ALL) && colAT != colAC) { - if (!(colAT->atFlags & AT_SELF) && colAT->actor != NULL && colAC->actor == colAT->actor) { + if ((colAC->acFlags & colAT->atFlags & AC_TYPE_ALL) && (colAT != colAC)) { + if (!(colAT->atFlags & AT_SELF) && (colAT->actor != NULL) && (colAC->actor == colAT->actor)) { continue; } sACVsFuncs[colAT->shape][colAC->shape](play, colCtxt, colAT, colAC); @@ -2891,15 +2892,15 @@ void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colCtxt, Collider void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colCtxt) { Collider** col; - if (colCtxt->colATCount == 0 || colCtxt->colACCount == 0) { + if ((colCtxt->colATCount == 0) || (colCtxt->colACCount == 0)) { return; } for (col = &colCtxt->colAT[0]; col < &colCtxt->colAT[colCtxt->colATCount]; col++) { Collider* colAC = *col; - if (colAC != NULL && (colAC->atFlags & AT_ON)) { - if (colAC->actor != NULL && colAC->actor->update == NULL) { + if ((colAC != NULL) && (colAC->atFlags & AT_ON)) { + if ((colAC->actor != NULL) && (colAC->actor->update == NULL)) { continue; } CollisionCheck_AC(play, colCtxt, colAC); @@ -2958,7 +2959,8 @@ void CollisionCheck_SetOCvsOC(PlayState* play, Collider* left, ColliderInfo* lef right->ocFlags2 |= OC2_HIT_PLAYER; } - if (leftActor == NULL || rightActor == NULL || (left->ocFlags1 & OC1_NO_PUSH) || (right->ocFlags1 & OC1_NO_PUSH)) { + if ((leftActor == NULL) || (rightActor == NULL) || (left->ocFlags1 & OC1_NO_PUSH) || + (right->ocFlags1 & OC1_NO_PUSH)) { return; } @@ -3032,7 +3034,7 @@ void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co ColliderJntSphElement* rightElem; f32 overlap; - if (left->count > 0 && left->elements != NULL && right->count > 0 && right->elements != NULL && + if ((left->count > 0) && (left->elements != NULL) && (right->count > 0) && (right->elements != NULL) && (left->base.ocFlags1 & OCELEM_ON) && (right->base.ocFlags1 & OCELEM_ON)) { for (leftElem = left->elements; leftElem < &left->elements[left->count]; leftElem++) { @@ -3067,7 +3069,7 @@ void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCt ColliderJntSphElement* leftElem; f32 overlap; - if (left->count > 0 && left->elements != NULL && (left->base.ocFlags1 & OCELEM_ON) && + if ((left->count > 0) && (left->elements != NULL) && (left->base.ocFlags1 & OCELEM_ON) && (right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) { for (leftElem = left->elements; leftElem < &left->elements[left->count]; leftElem++) { @@ -3096,7 +3098,7 @@ void CollisionCheck_OC_JntSphVsSphere(PlayState* play, CollisionCheckContext* co ColliderJntSphElement* leftElem; f32 overlap; - if (left->count > 0 && left->elements != NULL && (left->base.ocFlags1 & OCELEM_ON) && + if ((left->count > 0) && (left->elements != NULL) && (left->base.ocFlags1 & OCELEM_ON) && (right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) { for (leftElem = left->elements; leftElem < &left->elements[left->count]; leftElem++) { @@ -3252,11 +3254,11 @@ void CollisionCheck_OC(PlayState* play, CollisionCheckContext* colCtxt) { ColChkVsFunc vsFunc; for (left = colCtxt->colOC; left < colCtxt->colOC + colCtxt->colOCCount; left++) { - if (*left == NULL || CollisionCheck_SkipOC(*left)) { + if ((*left == NULL) || CollisionCheck_SkipOC(*left)) { continue; } for (right = left + 1; right < colCtxt->colOC + colCtxt->colOCCount; right++) { - if (*right == NULL || CollisionCheck_SkipOC(*right) || CollisionCheck_Incompatible(*left, *right)) { + if ((*right == NULL) || CollisionCheck_SkipOC(*right) || CollisionCheck_Incompatible(*left, *right)) { continue; } vsFunc = sOCVsFuncs[(*left)->shape][(*right)->shape]; @@ -3353,7 +3355,7 @@ void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colCtxt, at = info->acHit; atInfo = info->acHitInfo; - if (at != NULL && atInfo != NULL && collider != NULL && info != NULL) { + if ((at != NULL) && (atInfo != NULL) && (collider != NULL) && (info != NULL)) { damage = CollisionCheck_GetDamageAndEffectOnBumper(at, atInfo, collider, info, &effect); if (CollisionCheck_GetToucherDamage(at, atInfo, collider, info) != 0) { @@ -3373,7 +3375,7 @@ void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colCtxt, collider->actor->colChkInfo.damageEffect = effect; } if (!(collider->acFlags & AC_HARD) || - ((collider->acFlags & AC_HARD) && atInfo->toucher.dmgFlags == 0x20000000)) { + ((collider->acFlags & AC_HARD) && (atInfo->toucher.dmgFlags == 0x20000000))) { if (collider->actor->colChkInfo.damage < finalDamage) { collider->actor->colChkInfo.damage = finalDamage; } @@ -3388,7 +3390,7 @@ void CollisionCheck_ApplyDamageJntSph(PlayState* play, CollisionCheckContext* co ColliderJntSph* jntSph = (ColliderJntSph*)collider; s32 i; - if (jntSph->count > 0 && jntSph->elements != NULL) { + if ((jntSph->count > 0) && (jntSph->elements != NULL)) { for (i = 0; i < jntSph->count; i++) { CollisionCheck_ApplyDamage(play, colCtxt, &jntSph->base, &jntSph->elements[i].info); } @@ -3965,7 +3967,7 @@ s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* a if (SQ(actorDotItemXZ) < (4.0f * SQXZ(itemStep) * radSqDiff)) { return 0; } - if (SQ(actorDotItemXZ) - (4.0f * SQXZ(itemStep) * radSqDiff) > zero) { + if ((SQ(actorDotItemXZ) - (4.0f * SQXZ(itemStep) * radSqDiff)) > zero) { intersect1 = intersect2 = 1; } else { intersect1 = 1; @@ -4005,12 +4007,12 @@ s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* a } if (intersect2 == 0) { - if (frac1 < 0.0f || 1.0f < frac1) { + if ((frac1 < 0.0f) || (1.0f < frac1)) { return 0; } } else { - test1 = (frac1 < 0.0f || 1.0f < frac1); - test2 = (frac2 < 0.0f || 1.0f < frac2); + test1 = (frac1 < 0.0f) || (1.0f < frac1); + test2 = (frac2 < 0.0f) || (1.0f < frac2); if (test1 && test2) { return 0; @@ -4024,14 +4026,14 @@ s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* a } if ((intersect1 != 0) && - ((frac1 * itemStep.y + actorToItem.y < 0.0f) || (height < frac1 * itemStep.y + actorToItem.y))) { + (((frac1 * itemStep.y + actorToItem.y) < 0.0f) || (height < (frac1 * itemStep.y + actorToItem.y)))) { intersect1 = 0; } if ((intersect2 != 0) && - ((frac2 * itemStep.y + actorToItem.y < 0.0f) || (height < frac2 * itemStep.y + actorToItem.y))) { + (((frac2 * itemStep.y + actorToItem.y) < 0.0f) || (height < (frac2 * itemStep.y + actorToItem.y)))) { intersect2 = 0; } - if (intersect1 == 0 && intersect2 == 0) { + if ((intersect1 == 0) && (intersect2 == 0)) { return 0; } else if ((intersect1 != 0) && (intersect2 != 0)) { out1->x = frac1 * itemStep.x + actorToItem.x + actorPos->x; diff --git a/src/code/z_fireobj.c b/src/code/z_fireobj.c index 5e93e1187..5565bc876 100644 --- a/src/code/z_fireobj.c +++ b/src/code/z_fireobj.c @@ -142,6 +142,7 @@ void FireObj_Draw(PlayState* play, FireObj* fire) { Vec3s vec; OPEN_DISPS(play->state.gfxCtx); + Gfx_SetupDL25_Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, (fire->timer * -20) % 512U, 32, 128)); diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c index c6c1501ba..c9bea1669 100644 --- a/src/code/z_lifemeter.c +++ b/src/code/z_lifemeter.c @@ -16,14 +16,14 @@ s16 sBeatingHeartsDDEnv[3]; s16 sHeartsDDPrim[2][3]; s16 sHeartsDDEnv[2][3]; -TexturePtr HeartTextures[] = { +TexturePtr sHeartTextures[] = { gHeartFullTex, gHeartQuarterTex, gHeartQuarterTex, gHeartQuarterTex, gHeartQuarterTex, gHeartQuarterTex, gHeartHalfTex, gHeartHalfTex, gHeartHalfTex, gHeartHalfTex, gHeartHalfTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, }; -TexturePtr HeartDDTextures[] = { +TexturePtr sHeartDDTextures[] = { gDefenseHeartFullTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartHalfTex, gDefenseHeartHalfTex, gDefenseHeartHalfTex, @@ -283,7 +283,7 @@ void LifeMeter_Draw(PlayState* play) { if (i < fullHeartCount) { heartTex = gHeartFullTex; } else if (i == fullHeartCount) { - heartTex = HeartTextures[fractionHeartCount]; + heartTex = sHeartTextures[fractionHeartCount]; } else { heartTex = gHeartEmptyTex; } @@ -323,7 +323,7 @@ void LifeMeter_Draw(PlayState* play) { if (i < fullHeartCount) { heartTex = gDefenseHeartFullTex; } else if (i == fullHeartCount) { - heartTex = HeartDDTextures[fractionHeartCount]; + heartTex = sHeartDDTextures[fractionHeartCount]; } else { heartTex = gDefenseHeartEmptyTex; } diff --git a/src/code/z_lights.c b/src/code/z_lights.c index 534ec6dfc..e82c3a9b2 100644 --- a/src/code/z_lights.c +++ b/src/code/z_lights.c @@ -190,12 +190,12 @@ void Lights_BindDirectional(Lights* lights, LightParams* params, void* unused) { * available in the Lights group. This is at most 7 slots for a new group, but could be less. */ void Lights_BindAll(Lights* lights, LightNode* listHead, Vec3f* refPos, PlayState* play) { - static LightsPosBindFunc posBindFuncs[] = { + static LightsPosBindFunc sPosBindFuncs[] = { Lights_BindPoint, (LightsPosBindFunc)Lights_BindDirectional, Lights_BindPoint, }; - static LightsBindFunc dirBindFuncs[] = { + static LightsBindFunc sDirBindFuncs[] = { Lights_BindPointWithReference, (LightsBindFunc)Lights_BindDirectional, Lights_BindPointWithReference, @@ -204,12 +204,12 @@ void Lights_BindAll(Lights* lights, LightNode* listHead, Vec3f* refPos, PlayStat if (listHead != NULL) { if ((refPos == NULL) && (lights->enablePosLights == 1)) { do { - posBindFuncs[listHead->info->type](lights, &listHead->info->params, play); + sPosBindFuncs[listHead->info->type](lights, &listHead->info->params, play); listHead = listHead->next; } while (listHead != NULL); } else { do { - dirBindFuncs[listHead->info->type](lights, &listHead->info->params, refPos); + sDirBindFuncs[listHead->info->type](lights, &listHead->info->params, refPos); listHead = listHead->next; } while (listHead != NULL); } @@ -338,7 +338,7 @@ Lights* Lights_NewAndDraw(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 lights->l.a.l.col[0] = lights->l.a.l.colc[0] = ambientR; lights->l.a.l.col[1] = lights->l.a.l.colc[1] = ambientG; lights->l.a.l.col[2] = lights->l.a.l.colc[2] = ambientB; - lights->enablePosLights = 0; + lights->enablePosLights = false; lights->numLights = numLights; for (i = 0; i < numLights; i++) { @@ -363,7 +363,7 @@ Lights* Lights_New(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambient lights->l.a.l.col[0] = lights->l.a.l.colc[0] = ambientR; lights->l.a.l.col[1] = lights->l.a.l.colc[1] = ambientG; lights->l.a.l.col[2] = lights->l.a.l.colc[2] = ambientB; - lights->enablePosLights = 0; + lights->enablePosLights = false; lights->numLights = 0; return lights; diff --git a/src/code/z_path.c b/src/code/z_path.c index 3c446d49a..76d7ce144 100644 --- a/src/code/z_path.c +++ b/src/code/z_path.c @@ -1,9 +1,9 @@ #include "global.h" -Path* Path_GetByIndex(PlayState* play, s16 index, s16 max) { +Path* Path_GetByIndex(PlayState* play, s16 index, s16 indexNone) { Path* path; - if (index != max) { + if (index != indexNone) { path = &play->setupPathList[index]; } else { path = NULL; diff --git a/src/code/z_play.c b/src/code/z_play.c index dd06a461e..dade44cf6 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -1508,7 +1508,7 @@ void Play_Main(GameState* thisx) { } s32 Play_InCsMode(PlayState* this) { - return (this->csCtx.state != 0) || Player_InCsMode(this); + return (this->csCtx.state != CS_STATE_IDLE) || Player_InCsMode(this); } f32 Play_GetFloorSurfaceImpl(PlayState* this, MtxF* mtx, CollisionPoly** poly, s32* bgId, Vec3f* pos) { diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 59f76b1d8..ced41e15d 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -257,7 +257,7 @@ void func_80122C20(PlayState* play, struct_80122D44_arg1* arg1) { for (i = 0; i < ARRAY_COUNT(arg1->unk_04); i++, temp_v1++) { // Can't be `temp_v1->alpha != 0` if (temp_v1->alpha) { - phi_a1 = temp_v1->unk_00 == 3 ? (255 / 3) : (255 / 5); + phi_a1 = (temp_v1->unk_00 == 3) ? (255 / 3) : (255 / 5); if (phi_a1 >= temp_v1->alpha) { temp_v1->alpha = 0; } else { @@ -369,13 +369,13 @@ void func_80122F28(Player* player) { s32 func_80122F9C(PlayState* play) { Player* player = GET_PLAYER(play); - return (player->stateFlags2 & PLAYER_STATE2_80000) && player->unk_AE7 == 2; + return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->unk_AE7 == 2); } s32 func_80122FCC(PlayState* play) { Player* player = GET_PLAYER(play); - return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->unk_AE7 == 1 || player->unk_AE7 == 3); + return (player->stateFlags2 & PLAYER_STATE2_80000) && ((player->unk_AE7 == 1) || (player->unk_AE7 == 3)); } void func_8012300C(PlayState* play, s32 arg1) { @@ -1363,12 +1363,12 @@ s32 Player_SetBButtonAmmo(PlayState* play, s32 ammo) { } s32 Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 yRange) { - Player* this = GET_PLAYER(play); + Player* player = GET_PLAYER(play); Vec3f diff; s32 pad; - if ((this->heldItemAction == PLAYER_IA_STICK) && (this->unk_B28 != 0)) { - Math_Vec3f_Diff(&this->meleeWeaponInfo[0].tip, pos, &diff); + if ((player->heldItemAction == PLAYER_IA_STICK) && (player->unk_B28 != 0)) { + Math_Vec3f_Diff(&player->meleeWeaponInfo[0].tip, pos, &diff); return (SQXZ(diff) <= SQ(xzRange)) && (0.0f <= diff.y) && (diff.y <= yRange); } diff --git a/src/code/z_room.c b/src/code/z_room.c index 89cf47935..9bc6e12ee 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -99,7 +99,7 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) { gSPMatrix(POLY_XLU_DISP++, &gIdentityMtx, G_MTX_MODELVIEW | G_MTX_LOAD); } - if ((room->enablePosLights != 0) || (MREG(93) != 0)) { + if (room->enablePosLights || (MREG(93) != 0)) { gSPSetGeometryMode(POLY_OPA_DISP++, G_LIGHTING_POSITIONAL); gSPSetGeometryMode(POLY_XLU_DISP++, G_LIGHTING_POSITIONAL); } diff --git a/src/code/z_sub_s.c b/src/code/z_sub_s.c index 09897fbb9..35886da18 100644 --- a/src/code/z_sub_s.c +++ b/src/code/z_sub_s.c @@ -128,7 +128,7 @@ Gfx* SubS_DrawTransformFlex(PlayState* play, void** skeleton, Vec3s* jointTable, newDlist = rootLimb->dList; limbDList = rootLimb->dList; - if (overrideLimbDraw == NULL || !overrideLimbDraw(play, 1, &newDlist, &pos, &rot, actor, &gfx)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDlist, &pos, &rot, actor, &gfx)) { Matrix_TranslateRotateZYX(&pos, &rot); Matrix_Push(); @@ -489,9 +489,9 @@ Path* SubS_GetAdditionalPath(PlayState* play, u8 pathIndex, s32 limit) { if (i >= limit) { break; } - pathIndex = path->unk1; + pathIndex = path->additionalPathIndex; i++; - } while (pathIndex != 0xFF); + } while (pathIndex != ADDITIONAL_PATH_INDEX_NONE); return path; } @@ -585,7 +585,7 @@ s32 SubS_HasReachedPoint(Actor* actor, Path* path, s32 pointIndex) { return reached; } -Path* SubS_GetDayDependentPath(PlayState* play, u8 pathIndex, u8 max, s32* startPointIndex) { +Path* SubS_GetDayDependentPath(PlayState* play, u8 pathIndex, u8 pathIndexNone, s32* startPointIndex) { Path* path = NULL; s32 found = false; s32 time = (((s16)TIME_TO_MINUTES_F(gSaveContext.save.time) % 60) + @@ -593,17 +593,17 @@ Path* SubS_GetDayDependentPath(PlayState* play, u8 pathIndex, u8 max, s32* start 30; s32 day = CURRENT_DAY; - if (pathIndex == max) { + if (pathIndex == pathIndexNone) { return NULL; } - while (pathIndex != 0xFF) { + while (pathIndex != ADDITIONAL_PATH_INDEX_NONE) { path = &play->setupPathList[pathIndex]; - if (sPathDayFlags[day] & path->unk2) { + if (path->customValue & sPathDayFlags[day]) { found = true; break; } - pathIndex = path->unk1; + pathIndex = path->additionalPathIndex; } if (found == true) { @@ -1098,8 +1098,8 @@ s32 SubS_AngleDiffLessEqual(s16 angleA, s16 threshold, s16 angleB) { return (ABS_ALT(BINANG_SUB(angleB, angleA)) <= threshold) ? true : false; } -Path* SubS_GetPathByIndex(PlayState* play, s16 pathIndex, s16 max) { - return (pathIndex != max) ? &play->setupPathList[pathIndex] : NULL; +Path* SubS_GetPathByIndex(PlayState* play, s16 pathIndex, s16 pathIndexNone) { + return (pathIndex != pathIndexNone) ? &play->setupPathList[pathIndex] : NULL; } s32 SubS_CopyPointFromPath(Path* path, s32 pointIndex, Vec3f* dst) { @@ -1179,7 +1179,7 @@ Actor* SubS_FindActor(PlayState* play, Actor* actorListStart, u8 actorCategory, actor = play->actorCtx.actorLists[actorCategory].first; } - while (actor != NULL && actorId != actor->id) { + while ((actor != NULL) && (actorId != actor->id)) { actor = actor->next; } @@ -1503,10 +1503,10 @@ Actor* SubS_FindActorCustom(PlayState* play, Actor* actor, Actor* actorListStart actorIter = play->actorCtx.actorLists[actorCategory].first; } - while (actorIter != NULL && - (actorId != actorIter->id || - (actorId == actorIter->id && - (verifyActor == NULL || (verifyActor != NULL && !verifyActor(play, actor, actorIter, verifyData)))))) { + while ((actorIter != NULL) && + ((actorId != actorIter->id) || + ((actorId == actorIter->id) && + ((verifyActor == NULL) || ((verifyActor != NULL) && !verifyActor(play, actor, actorIter, verifyData)))))) { actorIter = actorIter->next; } diff --git a/src/libultra/io/pfsfilestate.c b/src/libultra/io/pfsfilestate.c index a555199fc..f06c8d937 100644 --- a/src/libultra/io/pfsfilestate.c +++ b/src/libultra/io/pfsfilestate.c @@ -34,7 +34,7 @@ s32 osPfsFileState(OSPfs* pfs, s32 fileNo, OSPfsState* state) { return ret; } - if (dir.company_code == 0 || dir.game_code == 0) { + if ((dir.company_code == 0) || (dir.game_code == 0)) { return PFS_ERR_INVALID; } diff --git a/src/libultra/os/seteventmesg.c b/src/libultra/os/seteventmesg.c index 8be2ff9e2..26e837fcf 100644 --- a/src/libultra/os/seteventmesg.c +++ b/src/libultra/os/seteventmesg.c @@ -16,7 +16,7 @@ void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg m) { es->message = m; if (e == 14) { - if (__osShutdown != 0 && D_80097F10 == 0) { + if ((__osShutdown != 0) && (D_80097F10 == 0)) { osSendMesg(mq, m, OS_MESG_NOBLOCK); } D_80097F10 = 1; diff --git a/src/libultra/rmon/xldtob.c b/src/libultra/rmon/xldtob.c index e943e51e2..66c058396 100644 --- a/src/libultra/rmon/xldtob.c +++ b/src/libultra/rmon/xldtob.c @@ -61,7 +61,7 @@ void _Ldtob(_Pft* args, u8 type) { if (args->prec < 0) { args->prec = 6; - } else if (args->prec == 0 && (type == 'g' || type == 'G')) { + } else if ((args->prec == 0) && ((type == 'g') || (type == 'G'))) { args->prec = 1; } err = _Ldunscale(&exp, (_Pft*)args); @@ -101,7 +101,7 @@ void _Ldtob(_Pft* args, u8 type) { gen = 0x13; } *ptr++ = '0'; - while (gen > 0 && 0 < val) { + while ((gen > 0) && (0 < val)) { lo = val; if ((gen -= 8) > 0) { val = (val - lo) * 1.0e8; @@ -124,12 +124,12 @@ void _Ldtob(_Pft* args, u8 type) { --gen, --exp; } - nsig = ((type == 'f') ? exp + 1 : ((type == 'e' || type == 'E') ? 1 : 0)) + args->prec; + nsig = ((type == 'f') ? exp + 1 : (((type == 'e') || (type == 'E')) ? 1 : 0)) + args->prec; if (gen < nsig) { nsig = gen; } if (nsig > 0) { - if (nsig < gen && ptr[nsig] > '4') { + if ((nsig < gen) && (ptr[nsig] > '4')) { drop = '9'; } else { drop = '0'; @@ -178,7 +178,7 @@ void _Genld(_Pft* px, u8 code, u8* p, s16 nsig, s16 xexp) { p = (u8*)"0"; } - if (code == 'f' || ((code == 'g' || code == 'G') && (-4 <= xexp) && (xexp < px->prec))) { /* 'f' format */ + if ((code == 'f') || (((code == 'g') || (code == 'G')) && (-4 <= xexp) && (xexp < px->prec))) { /* 'f' format */ ++xexp; /* change to leading digit count */ if (code != 'f') { /* fixup for 'g' */ if (!(px->flags & FLAGS_HASH) && nsig < px->prec) { @@ -225,8 +225,8 @@ void _Genld(_Pft* px, u8 code, u8* p, s16 nsig, s16 xexp) { px->n1 += nsig; px->nz1 = px->prec - nsig; } - } else { /* 'e' format */ - if (code == 'g' || code == 'G') { /* fixup for 'g' */ + } else { /* 'e' format */ + if ((code == 'g') || (code == 'G')) { /* fixup for 'g' */ if (nsig < px->prec) { px->prec = nsig; } diff --git a/src/libultra/rmon/xlitob.c b/src/libultra/rmon/xlitob.c index f200e01a4..6c53ee094 100644 --- a/src/libultra/rmon/xlitob.c +++ b/src/libultra/rmon/xlitob.c @@ -27,13 +27,13 @@ void _Litob(_Pft* args, u8 type) { num = -num; } - if (num != 0 || args->prec != 0) { + if ((num != 0) || (args->prec != 0)) { buff[--idx] = numMap[num % base]; } args->v.ll = num / base; - while (args->v.ll > 0 && idx > 0) { + while ((args->v.ll > 0) && (idx > 0)) { quotrem = lldiv(args->v.ll, base); args->v.ll = quotrem.quot; buff[--idx] = numMap[quotrem.rem]; @@ -47,7 +47,7 @@ void _Litob(_Pft* args, u8 type) { args->nz0 = args->prec - args->n1; } - if (args->prec < 0 && (args->flags & (FLAGS_ZERO | FLAGS_MINUS)) == FLAGS_ZERO) { + if ((args->prec < 0) && (args->flags & (FLAGS_ZERO | FLAGS_MINUS)) == FLAGS_ZERO) { idx = args->width - args->n0 - args->nz0 - args->n1; if (idx > 0) { args->nz0 += idx; diff --git a/src/libultra/rmon/xprintf.c b/src/libultra/rmon/xprintf.c index 813520f01..6caac436f 100644 --- a/src/libultra/rmon/xprintf.c +++ b/src/libultra/rmon/xprintf.c @@ -42,7 +42,7 @@ int _Printf(PrintCallback pfn, void* arg, const char* fmt, va_list ap) { unsigned char ac[0x20]; s = fmt; - while ((c = *s) != 0 && c != '%') { + while (((c = *s) != 0) && (c != '%')) { s++; } _PROUT((char*)fmt, s - fmt); diff --git a/src/libultra/voice/voicegetstatus.c b/src/libultra/voice/voicegetstatus.c index a3608277f..3840ec62b 100644 --- a/src/libultra/voice/voicegetstatus.c +++ b/src/libultra/voice/voicegetstatus.c @@ -37,7 +37,7 @@ s32 __osVoiceGetStatus(OSMesgQueue* mq, s32 port, u8* status) { *status = header.status; if (ret == 0) { - if (header.typeh == 0 && header.typel == 1) { + if ((header.typeh == 0) && (header.typel == 1)) { if (header.status & 4) { ret = CONT_ERR_CONTRFAIL; } diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index e06d51313..c7bff97f2 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -129,7 +129,7 @@ void ArmsHook_AttachHookToActor(ArmsHook* this, Actor* actor) { void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((this->actor.parent == NULL) || (!Player_IsHoldingHookshot(player))) { + if ((this->actor.parent == NULL) || !Player_IsHoldingHookshot(player)) { ArmsHook_DetachHookFromActor(this); Actor_Kill(&this->actor); return; @@ -138,7 +138,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { func_800B8F98(&player->actor, NA_SE_IT_HOOKSHOT_CHAIN - SFX_FLAG); ArmsHook_CheckForCancel(this); - if (this->timer != 0 && (this->collider.base.atFlags & AT_HIT) && + if ((this->timer != 0) && (this->collider.base.atFlags & AT_HIT) && (this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) { Actor* touchedActor = this->collider.base.at; @@ -191,12 +191,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { } else { if (this->actor.child != NULL) { velocity = 30.0f; + } else if (grabbed != NULL) { + velocity = 50.0f; } else { - if (grabbed != NULL) { - velocity = 50.0f; - } else { - velocity = 200.0f; - } + velocity = 200.0f; } phi_f16 = bodyDistDiff - velocity; if (bodyDistDiff <= velocity) { @@ -245,7 +243,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { sp60.z = this->unk1EC.z - (this->unk1E0.z - this->unk1EC.z); if (BgCheck_EntityLineTest1(&play->colCtx, &sp60, &this->unk1E0, &posResult, &poly, true, true, true, true, &bgId) && - (func_800B90AC(play, &this->actor, poly, bgId, &posResult) == 0 || + (!func_800B90AC(play, &this->actor, poly, bgId, &posResult) || BgCheck_ProjectileLineTest(&play->colCtx, &sp60, &this->unk1E0, &posResult, &poly, true, true, true, true, &bgId))) { f32 nx = COLPOLY_GET_NORMAL(poly->normal.x); diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 7af684201..efa7f04c4 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -249,6 +249,7 @@ void ArrowFire_Draw(Actor* thisx, PlayState* play) { Actor* transform = (arrow->unk_261 & 2) ? &this->actor : &arrow->actor; OPEN_DISPS(play->state.gfxCtx); + Matrix_Translate(transform->world.pos.x, transform->world.pos.y, transform->world.pos.z, MTXMODE_NEW); Matrix_RotateYS(transform->shape.rot.y, MTXMODE_APPLY); Matrix_RotateXS(transform->shape.rot.x, MTXMODE_APPLY); diff --git a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c index 18e2eb5d0..0391925ae 100644 --- a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c @@ -202,24 +202,28 @@ void BgAstrBombwall_Draw(Actor* thixs, PlayState* play) { Gfx* opa; OPEN_DISPS(play->state.gfxCtx); + opa = POLY_OPA_DISP; gSPDisplayList(&opa[0], gSetupDLs[SETUPDL_25]); gSPMatrix(&opa[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSetGeometryMode(&opa[2], G_LIGHTING_POSITIONAL); gSPDisplayList(&opa[3], object_astr_obj_DL_002380); POLY_OPA_DISP = &opa[4]; + CLOSE_DISPS(play->state.gfxCtx); } { Gfx* xlu; OPEN_DISPS(play->state.gfxCtx); + xlu = POLY_XLU_DISP; gSPDisplayList(&xlu[0], gSetupDLs[SETUPDL_25]); gSPMatrix(&xlu[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSetGeometryMode(&xlu[2], G_LIGHTING_POSITIONAL); gSPDisplayList(&xlu[3], object_astr_obj_DL_0022E0); POLY_XLU_DISP = &xlu[4]; + CLOSE_DISPS(play->state.gfxCtx); } } diff --git a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c index 22998a34e..d8c39a098 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c +++ b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c @@ -191,11 +191,13 @@ void BgCtowerGear_Draw(Actor* thisx, PlayState* play) { void BgCtowerGear_DrawOrgan(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx); + Gfx_SetupDL25_Opa(play->state.gfxCtx); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gClockTowerOrganDL); Gfx_SetupDL25_Xlu(play->state.gfxCtx); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gClockTowerOrganPipesDL); + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c index 134e7227a..97ccc907a 100644 --- a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c +++ b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c @@ -56,8 +56,8 @@ s32 func_80BC3980(BgF40Block* this, PlayState* play) { this->unk_160 = 0; this->unk_164 = 0; - if (BGF40BLOCK_GET_PATH(&this->dyna.actor) != 0x3F) { - this->path = &play->setupPathList[BGF40BLOCK_GET_PATH(&this->dyna.actor)]; + if (BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor) != BGF40BLOCK_PATH_INDEX_NONE) { + this->path = &play->setupPathList[BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor)]; if (this->path != NULL) { points = Lib_SegmentedToVirtual(this->path->points); @@ -78,8 +78,8 @@ s32 func_80BC3A2C(BgF40Block* this, PlayState* play) { this->unk_160 = this->path->count - 1; this->unk_164 = this->path->count - 1; - if (BGF40BLOCK_GET_PATH(&this->dyna.actor) != 0x3F) { - this->path = &play->setupPathList[BGF40BLOCK_GET_PATH(&this->dyna.actor)]; + if (BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor) != BGF40BLOCK_PATH_INDEX_NONE) { + this->path = &play->setupPathList[BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor)]; if (this->path != NULL) { points = Lib_SegmentedToVirtual(this->path->points); points += this->unk_164; @@ -231,8 +231,8 @@ void BgF40Block_Init(Actor* thisx, PlayState* play) { DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS); DynaPolyActor_LoadMesh(play, &this->dyna, &gStoneTowerBlockCol); - if (BGF40BLOCK_GET_PATH(&this->dyna.actor) != 0x3F) { - this->path = &play->setupPathList[BGF40BLOCK_GET_PATH(&this->dyna.actor)]; + if (BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor) != BGF40BLOCK_PATH_INDEX_NONE) { + this->path = &play->setupPathList[BGF40BLOCK_GET_PATH_INDEX(&this->dyna.actor)]; } else { this->path = NULL; } diff --git a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h index 37a5c360e..228fb6bfd 100644 --- a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h +++ b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h @@ -7,9 +7,11 @@ struct BgF40Block; typedef void (*BgF40BlockActionFunc)(struct BgF40Block*, PlayState*); -#define BGF40BLOCK_GET_PATH(thisx) (((thisx)->params & 0x1FC) >> 2) +#define BGF40BLOCK_GET_PATH_INDEX(thisx) (((thisx)->params & 0x1FC) >> 2) #define BGF40BLOCK_GET_SWITCHFLAG(thisx) (((thisx)->params & 0xFE00) >> 9) +#define BGF40BLOCK_PATH_INDEX_NONE 0x3F + typedef struct BgF40Block { /* 0x000 */ DynaPolyActor dyna; /* 0x15C */ Path* path; diff --git a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c index 67703f0cd..be3c9cb47 100644 --- a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c +++ b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c @@ -53,21 +53,20 @@ void BgF40Switch_CheckAll(BgF40Switch* this, PlayState* play) { u32 inCsMode = Player_InCsMode(play); for (actor = play->actorCtx.actorLists[ACTORCAT_SWITCH].first; actor != NULL; actor = actor->next) { - if (actor->id == ACTOR_BG_F40_SWITCH && actor->room == this->dyna.actor.room && actor->update != NULL) { + if ((actor->id == ACTOR_BG_F40_SWITCH) && (actor->room == this->dyna.actor.room) && + (actor->update != NULL)) { actorAsSwitch = (BgF40Switch*)actor; actorAsSwitch->wasPressed = actorAsSwitch->isPressed; isPressed = DynaPolyActor_IsSwitchPressed(&actorAsSwitch->dyna); - if (actorAsSwitch->isPressed && actorAsSwitch->actionFunc == BgF40Switch_IdlePressed) { + if (actorAsSwitch->isPressed && (actorAsSwitch->actionFunc == BgF40Switch_IdlePressed)) { // Switch is fully pressed - if there's nothing keeping it pressed, wait a short time before // reverting to unpressed state. if (isPressed || inCsMode) { actorAsSwitch->switchReleaseDelay = 6; + } else if (actorAsSwitch->switchReleaseDelay > 0) { + actorAsSwitch->switchReleaseDelay--; } else { - if (actorAsSwitch->switchReleaseDelay > 0) { - actorAsSwitch->switchReleaseDelay--; - } else { - actorAsSwitch->isPressed = isPressed; - } + actorAsSwitch->isPressed = isPressed; } } else { // No delay when pressing switch, or releasing from a not-fully-pressed state. @@ -75,9 +74,9 @@ void BgF40Switch_CheckAll(BgF40Switch* this, PlayState* play) { } if (actorAsSwitch->isPressed) { switchFlag = BGF40SWITCH_GET_SWITCHFLAG(&actorAsSwitch->dyna.actor); - if (switchFlag >= 0 && switchFlag < 0x80) { + if ((switchFlag >= 0) && (switchFlag < 0x80)) { pressedSwitchFlags[(switchFlag & ~0x1F) >> 5] |= 1 << (switchFlag & 0x1F); - if (!actorAsSwitch->wasPressed && actorAsSwitch->actionFunc == BgF40Switch_IdleUnpressed && + if (!actorAsSwitch->wasPressed && (actorAsSwitch->actionFunc == BgF40Switch_IdleUnpressed) && !Flags_GetSwitch(play, switchFlag)) { actorAsSwitch->isInitiator = true; } @@ -86,9 +85,10 @@ void BgF40Switch_CheckAll(BgF40Switch* this, PlayState* play) { } } for (actor = play->actorCtx.actorLists[ACTORCAT_SWITCH].first; actor != NULL; actor = actor->next) { - if (actor->id == ACTOR_BG_F40_SWITCH && actor->room == this->dyna.actor.room && actor->update != 0) { + if ((actor->id == ACTOR_BG_F40_SWITCH) && (actor->room == this->dyna.actor.room) && + (actor->update != NULL)) { switchFlag = BGF40SWITCH_GET_SWITCHFLAG(actor); - if (switchFlag >= 0 && switchFlag < 0x80 && Flags_GetSwitch(play, switchFlag) && + if ((switchFlag >= 0) && (switchFlag < 0x80) && Flags_GetSwitch(play, switchFlag) && !(pressedSwitchFlags[(switchFlag & ~0x1F) >> 5] & (1 << (switchFlag & 0x1F)))) { Flags_UnsetSwitch(play, switchFlag); } diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c index 7bddd548f..942a544ff 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c +++ b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c @@ -1019,7 +1019,7 @@ void func_80A9D61C(Actor* thisx, PlayState* play) { for (i = 0; i < D_80A9E028.count; i++) { unkStruct1 = &D_80A9E028.unk_0000[i]; - if (unkStruct1->unk_34 != 5 && unkStruct1->unk_34 != 4) { + if ((unkStruct1->unk_34 != 5) && (unkStruct1->unk_34 != 4)) { sp68.x = unkStruct1->unk_14.x + this->dyna.actor.home.pos.x; sp68.y = unkStruct1->unk_14.y + this->unk_16C; sp68.z = unkStruct1->unk_14.z + this->dyna.actor.home.pos.z; diff --git a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c index 27e5d2fee..15a677c29 100644 --- a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c +++ b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c @@ -121,7 +121,7 @@ void func_80AC4C34(BgIcefloe* this, PlayState* play) { WaterBox* water; this->timer--; - if (this->timer == 0 || + if ((this->timer == 0) || !WaterBox_GetSurface1_2(play, &play->colCtx, this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.z, &this->dyna.actor.home.pos.y, &water)) { func_80AC4CF0(this); diff --git a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c index f853fdfc5..4646b8d45 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c @@ -151,7 +151,7 @@ void BgIkanaDharma_WaitForHit(BgIkanaDharma* this, PlayState* play) { this->collider.base.acFlags &= ~AC_HIT; } - if (wasHit && sFirstHitBgIkanaDharma == NULL) { + if (wasHit && (sFirstHitBgIkanaDharma == NULL)) { sFirstHitBgIkanaDharma = this2; Flags_SetSwitch(play, BGIKANADHARMA_GET_SWITCHFLAG(&this->dyna.actor)); tempAngle1 = BINANG_ADD(this->dyna.actor.yawTowardsPlayer, 0x8000); @@ -160,8 +160,8 @@ void BgIkanaDharma_WaitForHit(BgIkanaDharma* this, PlayState* play) { this->dyna.actor.speed = 20.0f; Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_DARUMA_VANISH); BgIkanaDharma_SetupStartCutscene(this); - } else if ((this->dyna.actor.flags & ACTOR_FLAG_40) == ACTOR_FLAG_40 && sFirstHitBgIkanaDharma == NULL && - this->dyna.actor.xzDistToPlayer < 420.0f) { + } else if (CHECK_FLAG_ALL(this->dyna.actor.flags, ACTOR_FLAG_40) && (sFirstHitBgIkanaDharma == NULL) && + (this->dyna.actor.xzDistToPlayer < 420.0f)) { tempAngle1 = BINANG_SUB(this->dyna.actor.yawTowardsPlayer, player->actor.shape.rot.y); tempAngle1 = ABS_ALT(tempAngle1); diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c index 2fa47169b..86086adf8 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -190,7 +190,7 @@ void func_80953F9C(BgIngate* this, PlayState* play) { if (this->unk160 & 2) { - if (this->timePath->unk1 != 0xFF) { + if (this->timePath->additionalPathIndex != ADDITIONAL_PATH_INDEX_NONE) { func_80953E38(play); func_800B7298(play, &this->dyna.actor, PLAYER_CSMODE_WAIT); this->dyna.actor.textId = 0x9E4; @@ -262,7 +262,7 @@ void func_80954340(BgIngate* this, PlayState* play) { if (DECR(this->unk16A) == 0) { if (this->timePath != NULL) { func_800B7298(play, &this->dyna.actor, PLAYER_CSMODE_END); - this->timePath = &play->setupPathList[this->timePath->unk1]; + this->timePath = &play->setupPathList[this->timePath->additionalPathIndex]; func_80953F14(this, play); Environment_StopTime(); } @@ -287,7 +287,7 @@ void func_809543D4(BgIngate* this, PlayState* play) { func_8019F208(); } else { if (this->timePath != NULL) { - this->timePath = &play->setupPathList[this->timePath->unk1]; + this->timePath = &play->setupPathList[this->timePath->additionalPathIndex]; } func_80953F14(this, play); CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40); @@ -328,7 +328,7 @@ void BgIngate_Init(Actor* thisx, PlayState* play2) { this->unk160 |= 0x8; this->unk160 |= 0x10; Actor_SetScale(&this->dyna.actor, 1.0f); - this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_FF(&this->dyna.actor), 0); + this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_PATH_INDEX(&this->dyna.actor), 0); this->dyna.actor.room = -1; if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_WOODFALL_TEMPLE)) { CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40); @@ -350,7 +350,7 @@ void BgIngate_Init(Actor* thisx, PlayState* play2) { this->actionFunc = func_80953F8C; } } - this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_FF(&this->dyna.actor), phi_a2); + this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_PATH_INDEX(&this->dyna.actor), phi_a2); if (this->timePath != NULL) { sp38 = Lib_SegmentedToVirtual(this->timePath->points); Math_Vec3s_ToVec3f(&sp2C, &sp38[0]); @@ -361,7 +361,7 @@ void BgIngate_Init(Actor* thisx, PlayState* play2) { this->dyna.actor.world.pos.y = -15.0f; this->dyna.actor.world.pos.z = sp2C.z; } - this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_FF(&this->dyna.actor), 0); + this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_PATH_INDEX(&this->dyna.actor), 0); } else { Actor_Kill(&this->dyna.actor); } diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h index 6046fc31e..bf272f342 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h @@ -7,7 +7,7 @@ struct BgIngate; typedef void (*BgIngateActionFunc)(struct BgIngate*, PlayState*); -#define BGINGATE_GET_FF(thisx) ((thisx)->params & 0xFF) +#define BGINGATE_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) typedef struct BgIngate { /* 0x000 */ DynaPolyActor dyna; diff --git a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c index ffb260bf3..b5eb3130a 100644 --- a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c +++ b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c @@ -64,6 +64,7 @@ void BgOpenSpot_Draw(Actor* thisx, PlayState* play) { BgOpenSpot* this = (BgOpenSpot*)thisx; AnimatedMat_Draw(play, this->texScrolls); + OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL25_Xlu(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c index 721d1de60..ddd012426 100644 --- a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c +++ b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c @@ -113,7 +113,7 @@ Actor* func_80C1D78C(PlayState* play) { } tempActor = foundActor->next; - if (tempActor == NULL || false) { + if ((tempActor == NULL) || false) { foundActor = NULL; break; } diff --git a/src/overlays/actors/ovl_Dm_An/z_dm_an.c b/src/overlays/actors/ovl_Dm_An/z_dm_an.c index 2d8175bda..86d57660f 100644 --- a/src/overlays/actors/ovl_Dm_An/z_dm_an.c +++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.c @@ -160,7 +160,7 @@ Actor* func_80C1C8E8(PlayState* play) { } tempActor = foundActor->next; - if (tempActor == NULL || false) { + if ((tempActor == NULL) || false) { foundActor = NULL; break; } @@ -229,6 +229,9 @@ void func_80C1CAB0(DmAn* this, PlayState* play) { } } break; + + default: + break; } Cutscene_ActorTranslateAndYaw(&this->actor, play, cueChannel); } diff --git a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c index aa3a8b0e6..e348d145a 100644 --- a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c +++ b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c @@ -163,7 +163,7 @@ void DmChar03_Draw(Actor* thisx, PlayState* play) { DmChar03* this = THIS; if (!this->unk_18E) { - if ((Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_136)) && + if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_136) && (play->csCtx.actorCues[Cutscene_GetCueChannel(play, CS_CMD_ACTOR_CUE_136)]->id != 1)) { Gfx_SetupDL25_Opa(play->state.gfxCtx); SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, diff --git a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c index 0f53193d1..587ca059d 100644 --- a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c +++ b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c @@ -129,7 +129,7 @@ void func_80AB2268(DmChar09* this, PlayState* play) { s32 i; s32 cueChannel; s32 max = 0; - s32 pathnum; + s32 pathIndex; u8 temp = false; if (!DMCHAR09_GET_F(&this->actor)) { @@ -160,12 +160,12 @@ void func_80AB2268(DmChar09* this, PlayState* play) { } if (play->csCtx.actorCues[cueChannel]->id >= 2) { - pathnum = DMCHAR09_GET_PATH(&this->actor); - path = &play->setupPathList[pathnum]; + pathIndex = DMCHAR09_GET_PATH_INDEX(&this->actor); + path = &play->setupPathList[pathIndex]; for (i = 0; i < max; i++) { - pathnum = path->unk1; - path = &play->setupPathList[pathnum]; + pathIndex = path->additionalPathIndex; + path = &play->setupPathList[pathIndex]; } this->unk_224 = Lib_SegmentedToVirtual(path->points); @@ -175,7 +175,7 @@ void func_80AB2268(DmChar09* this, PlayState* play) { this->unk_220 = 1; this->unk_22E = true; - this->speed = (u16)play->csCtx.actorCues[cueChannel]->rot.z * 0.00390625f; + this->speed = (u16)play->csCtx.actorCues[cueChannel]->rot.z * (1.0f / 256.0f); this->actionFunc = func_80AB1FDC; } else { this->unk_22E = false; diff --git a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h index cfb3523e6..cca08d079 100644 --- a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h +++ b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h @@ -4,7 +4,7 @@ #include "global.h" #include "objects/object_bee/object_bee.h" -#define DMCHAR09_GET_PATH(thisx) (((thisx)->params >> 4) & 0xF) +#define DMCHAR09_GET_PATH_INDEX(thisx) (((thisx)->params >> 4) & 0xF) #define DMCHAR09_GET_100(thisx) ((thisx)->params & 0x100) #define DMCHAR09_GET_F(thisx) ((thisx)->params & 0xF) diff --git a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c index 9f8cd237f..139d80bc3 100644 --- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c +++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c @@ -160,7 +160,7 @@ Actor* func_80C24838(PlayState* play) { } tempActor = foundActor->next; - if (tempActor == NULL || false) { + if ((tempActor == NULL) || false) { foundActor = NULL; break; } @@ -229,6 +229,9 @@ void func_80C24A00(DmGm* this, PlayState* play) { } } break; + + default: + break; } Cutscene_ActorTranslateAndYaw(&this->actor, play, cueChannel); } diff --git a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c index 0cf8d76d1..ef73ef2dd 100644 --- a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c +++ b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c @@ -63,6 +63,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->dz = 1.0f; this->scalingFactor = 0.2f; break; + case EFF_DUST_TYPE_1: this->actionFunc = func_80918FE4; this->actor.draw = func_80919768; @@ -71,6 +72,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->dz = 0.8f; this->scalingFactor = 0.5f; break; + case EFF_DUST_TYPE_SPIN_ATTACK_CHARGE: case EFF_DUST_TYPE_3: this->actionFunc = func_80919230; @@ -79,6 +81,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->dx = 0.5f; this->scalingFactor = 15.0f; break; + case EFF_DUST_TYPE_4: this->actionFunc = func_80919230; this->actor.draw = func_809199FC; @@ -86,6 +89,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->dx = 0.5f; this->scalingFactor = 10.0f; break; + case EFF_DUST_TYPE_5: this->actionFunc = func_80919230; this->actor.draw = func_809199FC; @@ -93,6 +97,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->dx = 0.5f; this->scalingFactor = 20.0f; break; + default: SystemArena_Free(this); break; @@ -171,7 +176,7 @@ void func_80919230(EffDust* this, PlayState* play) { s32 i; s32 j; - if (parent == NULL || parent->update == NULL || !(player->stateFlags1 & PLAYER_STATE1_1000)) { + if ((parent == NULL) || (parent->update == NULL) || !(player->stateFlags1 & PLAYER_STATE1_1000)) { if (this->life != 0) { this->life--; } else { @@ -235,6 +240,9 @@ void func_80919230(EffDust* this, PlayState* play) { this->initialPositions[i].z = 4000.0f * Math_CosS(theta); } break; + + default: + break; } this->distanceTraveled[i] = 0.0f; @@ -319,6 +327,7 @@ void func_809199FC(Actor* thisx, PlayState* play2) { Player* player = GET_PLAYER(play); OPEN_DISPS(gfxCtx); + Gfx_SetupDL25_Opa(gfxCtx); gDPPipeSync(POLY_XLU_DISP++); diff --git a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c index 4d66cc827..88c604c5e 100644 --- a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c +++ b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c @@ -5,6 +5,7 @@ */ #include "z_eff_stk.h" +#include "objects/object_stk2/object_stk2.h" #define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20) @@ -15,7 +16,8 @@ void EffStk_Destroy(Actor* thisx, PlayState* play); void EffStk_Update(Actor* thisx, PlayState* play); void EffStk_Draw(Actor* thisx, PlayState* play); -#if 0 +void func_80BF0DE0(EffStk* this, PlayState* play); + ActorInit Eff_Stk_InitVars = { ACTOR_EFF_STK, ACTORCAT_ITEMACTION, @@ -28,16 +30,75 @@ ActorInit Eff_Stk_InitVars = { (ActorFunc)EffStk_Draw, }; -#endif +void EffStk_Init(Actor* thisx, PlayState* play) { + EffStk* this = THIS; -extern UNK_TYPE D_06009F60; + Actor_SetScale(&this->actor, 0.2f); + this->actionFunc = func_80BF0DE0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Init.s") +void EffStk_Destroy(Actor* thisx, PlayState* play) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Destroy.s") +void func_80BF0DE0(EffStk* this, PlayState* play) { + if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_512)) { + switch (play->csCtx.actorCues[Cutscene_GetCueChannel(play, CS_CMD_ACTOR_CUE_512)]->id) { + case 2: + this->actor.draw = EffStk_Draw; + if (this->unk146 < 0x3C00) { + this->unk146 += 0x400; + this->unk148 = Math_SinS(this->unk146) * -630.0f; + } + this->unk144++; + break; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/func_80BF0DE0.s") + case 3: + this->actor.draw = EffStk_Draw; + if (this->unk146 < 0x3C00) { + this->unk146 += 0x400; + this->unk148 = Math_SinS(this->unk146) * -630.0f; + } + this->unk144--; + break; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Update.s") + default: + this->actor.draw = NULL; + this->unk146 = 0; + this->unk148 = 0.0f; + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Draw.s") +void EffStk_Update(Actor* thisx, PlayState* play) { + EffStk* this = THIS; + + this->actionFunc(this, play); +} + +void EffStk_Draw(Actor* thisx, PlayState* play) { + EffStk* this = THIS; + s32 pad; + Camera* activeCam = GET_ACTIVE_CAM(play); + Vec3f eye = activeCam->eye; + Vec3f quakeOffset; + + Camera_GetQuakeOffset(&quakeOffset, activeCam); + + OPEN_DISPS(play->state.gfxCtx); + + Gfx_SetupDL25_Xlu(play->state.gfxCtx); + Matrix_Translate(eye.x + quakeOffset.x, eye.y + quakeOffset.y, eye.z + quakeOffset.z, MTXMODE_NEW); + Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); + Matrix_ReplaceRotation(&play->billboardMtxF); + Matrix_Translate(0.0f, 0.0f, this->unk148, MTXMODE_APPLY); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + AnimatedMat_DrawAlphaStep(play, Lib_SegmentedToVirtual(object_stk2_Matanimheader_009F60), 1.0f, this->unk144); + gDPSetColorDither(POLY_XLU_DISP++, G_CD_NOISE); + gDPSetAlphaDither(POLY_XLU_DISP++, G_AD_NOISE); + gSPDisplayList(POLY_XLU_DISP++, object_stk2_DL_008920); + gSPDisplayList(POLY_XLU_DISP++, object_stk2_DL_008A38); + + CLOSE_DISPS(play->state.gfxCtx); +} diff --git a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h index 4b2b84783..03b6660d2 100644 --- a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h +++ b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h @@ -9,7 +9,9 @@ typedef void (*EffStkActionFunc)(struct EffStk*, PlayState*); typedef struct EffStk { /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x144 */ s16 unk144; + /* 0x146 */ s16 unk146; + /* 0x148 */ f32 unk148; /* 0x14C */ EffStkActionFunc actionFunc; } EffStk; // size = 0x150 diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c index 839022d2c..5fcf75fdf 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c @@ -232,8 +232,10 @@ s32 func_80BECFBC(EnAkindonuts* this) { case 3: Inventory_DeleteItem(ITEM_DEED_OCEAN, SLOT(ITEM_DEED_OCEAN)); return GI_RUPEE_HUGE; + + default: + return GI_NONE; } - return GI_NONE; } s32 func_80BED034(EnAkindonuts* this) { @@ -249,8 +251,10 @@ s32 func_80BED034(EnAkindonuts* this) { case 3: return GI_POTION_BLUE; + + default: + return GI_NONE; } - return GI_NONE; } void func_80BED090(PlayState* play) { @@ -1606,7 +1610,7 @@ void EnAkindonuts_Init(Actor* thisx, PlayState* play) { this->actor.gravity = -1.0f; if (!ENAKINDONUTS_GET_4(&this->actor)) { - this->path = SubS_GetPathByIndex(play, ENAKINDONUTS_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENAKINDONUTS_GET_PATH_INDEX(&this->actor), ENAKINDONUTS_PATH_INDEX_NONE); if (this->path == NULL) { Actor_Kill(&this->actor); return; diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h index 180d73ed4..4c8a4eb77 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h @@ -10,7 +10,9 @@ typedef void (*EnAkindonutsUnkFunc)(struct EnAkindonuts*, PlayState*); #define ENAKINDONUTS_GET_3(thisx) ((thisx)->params & 3) #define ENAKINDONUTS_GET_4(thisx) (((thisx)->params & 4) >> 2) -#define ENAKINDONUTS_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENAKINDONUTS_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENAKINDONUTS_PATH_INDEX_NONE 0x3F enum { /* 1 */ ENAKINDONUTS_3_1 = 1, diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c index 64adaa49b..8d3c6b23b 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c @@ -134,12 +134,12 @@ void EnAob01_InitializeDogPaths(EnAob01* this, PlayState* play) { s32 pathIndex = ENAOB01_GET_STARTING_DOG_PATH_INDEX(&this->actor); s16 i = 0; - if (pathIndex != 0x3F) { + if (pathIndex != ENAOB01_PATH_INDEX_NONE) { do { - this->dogPaths[i] = SubS_GetPathByIndex(play, pathIndex, 0x3F); - pathIndex = this->dogPaths[i]->unk1; + this->dogPaths[i] = SubS_GetPathByIndex(play, pathIndex, ENAOB01_PATH_INDEX_NONE); + pathIndex = this->dogPaths[i]->additionalPathIndex; i++; - } while (pathIndex != 0xFF); + } while (pathIndex != ADDITIONAL_PATH_INDEX_NONE); } } @@ -153,7 +153,7 @@ void EnAob01_SpawnDogs(EnAob01* this, PlayState* play) { EnAob01_InitializeDogPaths(this, play); for (i = 0; i < RACEDOG_COUNT; i++) { - enDgParams = ENDG_PARAMS(this->dogPaths[sDogInfo[i].pathIndex]->unk1, i); + enDgParams = ENDG_PARAMS(this->dogPaths[sDogInfo[i].pathIndex]->additionalPathIndex, i); this->dogs[i] = Actor_SpawnAsChildAndCutscene( &play->actorCtx, play, ACTOR_EN_DG, sDogInfo[i].pos.x, sDogInfo[i].pos.y, sDogInfo[i].pos.z, 0, diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h index a550fd0d3..5f7775368 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h @@ -29,6 +29,8 @@ typedef void (*EnAob01ActionFunc)(struct EnAob01*, PlayState*); #define ENAOB01_FLAG_SURPRISE (1 << 7) #define ENAOB01_FLAG_PLAYER_CAN_TALK (1 << 8) +#define ENAOB01_PATH_INDEX_NONE 0x3F + typedef struct EnAob01 { /* 0x000 */ Actor actor; /* 0x144 */ EnAob01ActionFunc actionFunc; diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c index e4a83a6d0..5f0ef2edf 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c @@ -468,6 +468,7 @@ void func_8088ACE0(EnArrow* this, PlayState* play) { if ((this->unk_262 = BgCheck_ProjectileLineTest(&play->colCtx, &this->actor.prevPos, &this->actor.world.pos, &sp9C, &this->actor.wallPoly, true, true, true, true, &spA8))) { + // `func_800B90AC` only returns a boolean, and does not process any code func_800B90AC(play, &this->actor, this->actor.wallPoly, spA8, &sp9C); Math_Vec3f_Copy(&this->actor.world.pos, &sp9C); this->actor.wallBgId = spA8; diff --git a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c index 5eb0d0351..8c2b4eb4b 100644 --- a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c +++ b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c @@ -68,7 +68,7 @@ void EnAttackNiw_Destroy(Actor* thisx, PlayState* play) { EnAttackNiw* this = THIS; EnNiw* parent = (EnNiw*)this->actor.parent; - if (this->actor.parent != NULL && this->actor.parent->update != NULL) { + if ((this->actor.parent != NULL) && (this->actor.parent->update != NULL)) { if (parent->attackNiwCount > 0) { parent->attackNiwCount--; } @@ -78,11 +78,11 @@ void EnAttackNiw_Destroy(Actor* thisx, PlayState* play) { /** * Summary: instead of using SkelAnime animations AttackNiw modifies head+wings directly to create animations * - * EnNiw has its own version of this function, probably copy paste since AttackNiw only uses two animationState (2/5) + * EnNiw has its own version of this function, probably copy paste since AttackNiw only uses two animIndex (2/5) */ -void EnAttackNiw_AnimateWingHead(EnAttackNiw* this, PlayState* play, s16 animationState) { +void EnAttackNiw_AnimateWingHead(EnAttackNiw* this, PlayState* play, s16 animIndex) { if (this->unkTimer24C == 0) { - if (animationState == 0) { + if (animIndex == 0) { this->targetBodyRotY = 0.0f; } else { this->targetBodyRotY = -10000.0f; @@ -92,7 +92,7 @@ void EnAttackNiw_AnimateWingHead(EnAttackNiw* this, PlayState* play, s16 animati this->unkTimer24C = 3; if ((this->clearRotYToggleTimer % 2) == 0) { this->targetBodyRotY = 0.0f; - if (animationState == 0) { + if (animIndex == 0) { this->unkTimer24C = Rand_ZeroFloat(30.0f); } } @@ -102,7 +102,7 @@ void EnAttackNiw_AnimateWingHead(EnAttackNiw* this, PlayState* play, s16 animati this->unkToggle28A++; this->unkToggle28A &= 1; - switch (animationState) { // only case 2 and 5 are ever called in AttackNiw + switch (animIndex) { // only case 2 and 5 are ever called in AttackNiw case NIW_ANIM_STILL: this->targetLeftWingRotZ = 0.0f; this->targetRightWingRotZ = 0.0f; @@ -156,6 +156,9 @@ void EnAttackNiw_AnimateWingHead(EnAttackNiw* this, PlayState* play, s16 animati this->targetLeftWingRotY = 10000.0f; } break; + + default: + break; } } diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c index 96a4fed1c..b6c5df58d 100644 --- a/src/overlays/actors/ovl_En_Az/z_en_az.c +++ b/src/overlays/actors/ovl_En_Az/z_en_az.c @@ -1794,13 +1794,16 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) { func_80A98DA4, func_80A98E48, &this->actor); } else { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sYoungerBrotherEyeTextures[this->unk_37E])); gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sYoungerBrotherBeltTextures[this->unk_380])); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, func_80A98DA4, func_80A98E48, &this->actor); + CLOSE_DISPS(play->state.gfxCtx); } OPEN_DISPS(play->state.gfxCtx); + if ((this->actor.depthInWater >= 28.0f) && (this->actor.speed > 0.5f)) { Matrix_Translate(this->unk_3B4.x, this->unk_3B4.y, this->unk_3B4.z, MTXMODE_NEW); Matrix_RotateYS(this->actor.shape.rot.y, MTXMODE_APPLY); @@ -1855,6 +1858,7 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) { gSPDisplayList(POLY_XLU_DISP++, gBeaverYoungerBrotherTailSplashDL); } } + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.c b/src/overlays/actors/ovl_En_Baba/z_en_baba.c index e303fe1c5..f41dcbd31 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.c +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.c @@ -511,7 +511,7 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) { } else if (play->sceneId == SCENE_BACKTOWN) { if ((BOMB_SHOP_LADY_GET_TYPE(&this->actor) == BOMB_SHOP_LADY_TYPE_FOLLOW_SCHEDULE) && (gSaveContext.save.entrance != ENTRANCE(NORTH_CLOCK_TOWN, 7)) && - (BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != 0x3F)) { + (BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != BOMB_SHOP_LADY_PATH_INDEX_NONE)) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_40) || (gSaveContext.save.time >= CLOCK_TIME(0, 20) && (gSaveContext.save.time < CLOCK_TIME(6, 0)))) { Actor_Kill(&this->actor); @@ -550,7 +550,7 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) { this->animIndex = BOMB_SHOP_LADY_ANIM_SWAY; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); this->actionFunc = EnBaba_DoNothing; - } else if (BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != 0x3F) { + } else if (BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != BOMB_SHOP_LADY_PATH_INDEX_NONE) { this->animIndex = BOMB_SHOP_LADY_ANIM_WALKING_HOLDING_BAG; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); this->actionFunc = EnBaba_Walk; @@ -728,7 +728,7 @@ void EnBaba_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); - this->path = SubS_GetPathByIndex(play, BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor), BOMB_SHOP_LADY_PATH_INDEX_NONE); Actor_SetScale(&this->actor, 0.01f); diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.h b/src/overlays/actors/ovl_En_Baba/z_en_baba.h index 7da0ed054..9618dd3a2 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.h +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.h @@ -12,6 +12,8 @@ typedef void (*EnBabaActionFunc)(struct EnBaba*, PlayState*); #define BOMB_SHOP_LADY_GET_PATH_INDEX(thisx) (((thisx)->params & 0x3F00) >> 8) #define BOMB_SHOP_LADY_GET_TYPE(thisx) (((thisx)->params & 0xC000) >> 0xE) +#define BOMB_SHOP_LADY_PATH_INDEX_NONE 0x3F + // Types BOMB_SHOP_LADY_TYPE_FOLLOW_SCHEDULE and BOMB_SHOP_LADY_TYPE_IDLE can only be used in SCENE_BACKTOWN // Type BOMB_SHOP_LADY_TYPE_SWAY can be used anywhere except SCENE_BACKTOWN and SCENE_BOMYA typedef enum { diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c index 2653fb685..d124f0b77 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c @@ -162,7 +162,7 @@ void EnBba01_FinishInit(EnHy* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_1; this->actor.draw = EnBba01_Draw; this->waitingOnInit = false; - if (ENBBA01_GET_PATH(&this->actor) == 0x3F) { + if (ENBBA01_GET_PATH_INDEX(&this->actor) == ENBBA01_PATH_INDEX_NONE) { this->actionFunc = EnBba01_FaceFoward; } else { this->actionFunc = EnBba01_Walk; @@ -227,7 +227,7 @@ void EnBba01_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->enHy.collider, &this->enHy.actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->enHy.actor.colChkInfo, &sDamageTable, &sColChkInfoInit); this->enHy.actor.flags &= ~ACTOR_FLAG_1; - this->enHy.path = SubS_GetPathByIndex(play, ENBBA01_GET_PATH(&this->enHy.actor), 0x3F); + this->enHy.path = SubS_GetPathByIndex(play, ENBBA01_GET_PATH_INDEX(&this->enHy.actor), ENBBA01_PATH_INDEX_NONE); this->enHy.waitingOnInit = true; Actor_SetScale(&this->enHy.actor, 0.01f); this->enHy.actionFunc = EnBba01_FinishInit; @@ -261,11 +261,14 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment); gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment); gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment); + CLOSE_DISPS(play->state.gfxCtx); } + if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) { Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateXS(this->enHy.headRot.y, MTXMODE_APPLY); @@ -297,8 +300,10 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro if (limbIndex == BBA_LIMB_HEAD) { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment); gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment); + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h index 7160594d8..0cc158f2a 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h @@ -7,7 +7,9 @@ struct EnBba01; typedef void (*EnBba01ActionFunc)(struct EnBba01*, PlayState*); -#define ENBBA01_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) +#define ENBBA01_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) + +#define ENBBA01_PATH_INDEX_NONE 0x3F typedef struct EnBba01 { /* 0x000 */ EnHy enHy; diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c index 887fb68d5..713410f23 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -657,6 +657,7 @@ void EnBigokuta_Draw(Actor* thisx, PlayState* play) { Gfx* gfx; OPEN_DISPS(play->state.gfxCtx); + if ((this->actionFunc != EnBigokuta_PlayDeathEffects) || (this->timer != 0)) { Scene_SetRenderModeXlu(play, 0, 1); gfx = POLY_OPA_DISP; diff --git a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c index 06bcd3b84..7c82b50b0 100644 --- a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c +++ b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c @@ -375,7 +375,6 @@ void EnBigpo_SpawnCutsceneStage4(EnBigpo* this, PlayState* play) { this->actor.shape.rot.y += this->rotVelocity; EnBigpo_RotateSpawnCutsceneFires(this); - if (1) {} for (i = 0; i < ARRAY_COUNT(this->fires); i++) { this->fires[i].pos.y += this->actor.velocity.y; } @@ -861,7 +860,7 @@ void EnBigpo_SelectRandomFireLocations(EnBigpo* this, PlayState* play) { // count the number of possible fires we can find (4 in vanilla) for (enemyPtr = GET_FIRST_ENEMY(play); enemyPtr != NULL; enemyPtr = enemyPtr->next) { - if (enemyPtr->id == ACTOR_EN_BIGPO && enemyPtr->params == ENBIGPO_POSSIBLEFIRE) { + if ((enemyPtr->id == ACTOR_EN_BIGPO) && (enemyPtr->params == ENBIGPO_POSSIBLEFIRE)) { fireCount++; } } @@ -882,7 +881,7 @@ void EnBigpo_SelectRandomFireLocations(EnBigpo* this, PlayState* play) { randomIndex = ((s32)Rand_ZeroFloat(fireCount)) % fireCount; while (enemyPtr != NULL) { - if (enemyPtr->id == ACTOR_EN_BIGPO && enemyPtr->params == ENBIGPO_POSSIBLEFIRE) { + if ((enemyPtr->id == ACTOR_EN_BIGPO) && (enemyPtr->params == ENBIGPO_POSSIBLEFIRE)) { if (randomIndex == 0) { randomFirePo = (EnBigpo*)enemyPtr; randomFirePo->actor.params = ENBIGPO_CHOSENFIRE; @@ -1225,8 +1224,8 @@ s32 EnBigpo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Gfx** gfx) { EnBigpo* this = THIS; // not fully invisible - if (!(this->mainColor.a != 0 && limbIndex != 7) || - (this->actionFunc == EnBigpo_BurnAwayDeath && this->idleTimer >= 2)) { + if ((this->mainColor.a == 0) || (limbIndex == 7) || + ((this->actionFunc == EnBigpo_BurnAwayDeath) && (this->idleTimer >= 2))) { *dList = NULL; } return false; @@ -1416,6 +1415,7 @@ void EnBigpo_DrawCircleFlames(Actor* thisx, PlayState* play) { s32 i; mtfxPtr = Matrix_GetCurrent(); + OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL25_Xlu(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index 8d104842a..834d5f7f7 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -93,8 +93,8 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play) { return; } - this->unk_29A = ENBOMBOWLMAN_GET_FF00(&this->actor); - this->path = SubS_GetPathByIndex(play, this->unk_29A, 0x3F); + this->pathIndex = ENBOMBOWLMAN_GET_PATH_INDEX(&this->actor); + this->path = SubS_GetPathByIndex(play, this->pathIndex, ENBOMBOWLMAN_PATH_INDEX_NONE); this->unk_2C8 = 80.0f; if ((gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2)) && CHECK_WEEKEVENTREG(WEEKEVENTREG_73_80) && @@ -156,7 +156,7 @@ void func_809C4B50(EnBomBowlMan* this) { } void func_809C4B6C(EnBomBowlMan* this) { - if ((this->unk_29A != ENBOMBOWLMAN_FF00_MINUS1) && (this->path != NULL)) { + if ((this->pathIndex != PATH_INDEX_NONE) && (this->path != NULL)) { if (!SubS_CopyPointFromPath(this->path, this->unk_298, &this->unk_2A0)) { Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h index e958b84a1..df515ef4f 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h @@ -9,13 +9,13 @@ typedef void (*EnBomBowlManActionFunc)(struct EnBomBowlMan*, PlayState*); #define ENBOMBOWLMAN_GET_F(thisx) ((thisx)->params & 0xF) #define ENBOMBOWLMAN_GET_F0(thisx) (((thisx)->params >> 4) & 0xF) -#define ENBOMBOWLMAN_GET_FF00(thisx) (((thisx)->params >> 8) & 0xFF) +#define ENBOMBOWLMAN_GET_PATH_INDEX(thisx) (((thisx)->params >> 8) & 0xFF) + +#define ENBOMBOWLMAN_PATH_INDEX_NONE 0x3F #define ENBOMBOWLMAN_F0_0 0 #define ENBOMBOWLMAN_F0_2 2 -#define ENBOMBOWLMAN_FF00_MINUS1 -1 - typedef struct EnBomBowlMan { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; @@ -30,7 +30,7 @@ typedef struct EnBomBowlMan { /* 0x292 */ UNK_TYPE1 unk292[2]; /* 0x294 */ Path* path; /* 0x298 */ s16 unk_298; - /* 0x29A */ s16 unk_29A; + /* 0x29A */ s16 pathIndex; /* 0x29C */ s16 unk_29C; /* 0x29E */ s16 unk_29E; /* 0x2A0 */ Vec3f unk_2A0; diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c index a32f2f410..b65b2c63d 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -122,6 +122,7 @@ void func_80867C8C(struct_80867BDC_a0* arg0, PlayState* play) { if (temp_s6 > 0) { OPEN_DISPS(play->state.gfxCtx); + Matrix_Push(); for (i = 0; i < temp_s6; i++) { f32 temp_f0 = (f32)i / temp_s6; @@ -150,6 +151,7 @@ void func_80867C8C(struct_80867BDC_a0* arg0, PlayState* play) { } Matrix_Pop(); gSPMatrix(POLY_XLU_DISP++, &gIdentityMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISPS(play->state.gfxCtx); } } @@ -694,6 +696,7 @@ void EnBox_Draw(Actor* thisx, PlayState* play) { EnBox* this = THIS; OPEN_DISPS(play->state.gfxCtx); + if (this->unk_1F4.unk_10 != NULL) { this->unk_1F4.unk_10(&this->unk_1F4, play); } @@ -719,5 +722,6 @@ void EnBox_Draw(Actor* thisx, PlayState* play) { POLY_XLU_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnBox_PostLimbDraw, &this->dyna.actor, POLY_XLU_DISP); } + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c index 8d841fdd2..8eb9eb839 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c @@ -152,7 +152,7 @@ void EnCne01_FinishInit(EnHy* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_1; this->actor.draw = EnCne01_Draw; this->waitingOnInit = false; - if (ENCNE01_GET_PATH(&this->actor) == 0x3F) { + if (ENCNE01_GET_PATH_INDEX(&this->actor) == ENCNE01_PATH_INDEX_NONE) { this->actionFunc = EnCne01_FaceForward; } else { this->actionFunc = EnCne01_Walk; @@ -217,7 +217,7 @@ void EnCne01_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->enHy.collider, &this->enHy.actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->enHy.actor.colChkInfo, &sDamageTable, &sColChkInfoInit); this->enHy.actor.flags &= ~ACTOR_FLAG_1; - this->enHy.path = SubS_GetPathByIndex(play, ENCNE01_GET_PATH(&this->enHy.actor), 0x3F); + this->enHy.path = SubS_GetPathByIndex(play, ENCNE01_GET_PATH_INDEX(&this->enHy.actor), ENCNE01_PATH_INDEX_NONE); this->enHy.waitingOnInit = true; Actor_SetScale(&this->enHy.actor, 0.01f); this->enHy.actionFunc = EnCne01_FinishInit; @@ -251,10 +251,12 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* if (limbIndex == CNE_LIMB_HEAD) { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment); gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment); *dList = gCneHeadBrownHairDL; gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment); + CLOSE_DISPS(play->state.gfxCtx); } if (limbIndex == CNE_LIMB_HEAD) { @@ -289,8 +291,10 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro if (limbIndex == CNE_LIMB_RIGHT_FOOT) { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment); gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment); + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h index 253025760..feee462a9 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h @@ -7,7 +7,9 @@ struct EnCne01; typedef void (*EnCne01ActionFunc)(struct EnCne01*, PlayState*); -#define ENCNE01_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) +#define ENCNE01_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) + +#define ENCNE01_PATH_INDEX_NONE 0x3F typedef struct EnCne01 { /* 0x000 */ EnHy enHy; diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c index 8a8770371..2900f4d34 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -77,8 +77,8 @@ void EnDaiku_Init(Actor* thisx, PlayState* play) { Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit); this->unk_278 = ENDAIKU_GET_FF(&this->actor); if (this->unk_278 == ENDAIKU_PARAMS_FF_3) { - this->unk_288 = ENDAIKU_GET_FF00(&this->actor); - this->unk_258 = SubS_GetPathByIndex(play, this->unk_288, 0x3F); + this->pathIndex = ENDAIKU_GET_PATH_INDEX(&this->actor); + this->path = SubS_GetPathByIndex(play, this->pathIndex, ENDAIKU_PATH_INDEX_NONE); } else if (this->unk_278 == ENDAIKU_PARAMS_FF_2) { this->unk_264 = -2000; } @@ -134,8 +134,8 @@ void func_8094373C(EnDaiku* this, s32 arg1) { } void func_809437C8(EnDaiku* this) { - if ((this->unk_288 != -1) && (this->unk_258 != 0)) { - if (!SubS_CopyPointFromPath(this->unk_258, this->unk_25C, &this->unk_26C)) { + if ((this->pathIndex != PATH_INDEX_NONE) && (this->path != NULL)) { + if (!SubS_CopyPointFromPath(this->path, this->unk_25C, &this->unk_26C)) { Actor_Kill(&this->actor); } } @@ -208,9 +208,9 @@ void func_809438F8(EnDaiku* this, PlayState* play) { xzDist = sqrtf(SQ(this->actor.world.pos.x - this->unk_26C.x) + SQ(this->actor.world.pos.z - this->unk_26C.z)); yawDiff = fabsf(this->actor.world.rot.y - this->unk_282); - if ((xzDist < 4.0f) && (this->unk_258 != NULL) && (yawDiff < 10.0f)) { + if ((xzDist < 4.0f) && (this->path != NULL) && (yawDiff < 10.0f)) { this->unk_25C++; - if (this->unk_25C >= this->unk_258->count) { + if (this->unk_25C >= this->path->count) { this->unk_25C = 0; } @@ -221,6 +221,7 @@ void func_809438F8(EnDaiku* this, PlayState* play) { if (this->unk_278 != ENDAIKU_PARAMS_FF_0) { s16 angle = ABS_ALT(BINANG_SUB(this->actor.yawTowardsPlayer, this->actor.world.rot.y)); + this->unk_280 = this->actor.yawTowardsPlayer; if ((this->unk_278 == ENDAIKU_PARAMS_FF_1) || (this->unk_278 == ENDAIKU_PARAMS_FF_2) || (angle <= 0x2890)) { func_800B8614(&this->actor, play, 100.0f); diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h index 4a3c9b444..c75afec6e 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h @@ -8,7 +8,9 @@ struct EnDaiku; typedef void (*EnDaikuActionFunc)(struct EnDaiku*, PlayState*); #define ENDAIKU_GET_FF(thisx) ((thisx)->params & 0xFF) -#define ENDAIKU_GET_FF00(thisx) (((thisx)->params >> 8) & 0xFF) +#define ENDAIKU_GET_PATH_INDEX(thisx) (((thisx)->params >> 8) & 0xFF) + +#define ENDAIKU_PATH_INDEX_NONE 0x3F enum { /* 0x0 */ ENDAIKU_PARAMS_FF_0, @@ -23,7 +25,7 @@ typedef struct EnDaiku { /* 0x188 */ Vec3s jointTable[17]; /* 0x1EE */ Vec3s morphTable[17]; /* 0x254 */ EnDaikuActionFunc actionFunc; - /* 0x258 */ Path* unk_258; + /* 0x258 */ Path* path; /* 0x25C */ s16 unk_25C; /* 0x25E */ s16 unk_25E; /* 0x260 */ s16 unk_260; @@ -38,7 +40,7 @@ typedef struct EnDaiku { /* 0x280 */ s16 unk_280; /* 0x282 */ s16 unk_282; /* 0x284 */ f32 unk_284; - /* 0x288 */ s16 unk_288; + /* 0x288 */ s16 pathIndex; /* 0x28A */ s16 unk_28A; /* 0x28C */ s16 unk_28C; /* 0x28E */ UNK_TYPE1 unk_28E[0xE]; diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c index be45cfac6..eaf1839c6 100644 --- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c +++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c @@ -69,8 +69,8 @@ static ColliderCylinderInit sCylinderInit = { }; void func_80BE61D0(EnDaiku2* this) { - if ((this->unk_27A != -1) && (this->unk_258 != 0)) { - if (!SubS_CopyPointFromPath(this->unk_258, this->unk_25C, &this->unk_268)) { + if ((this->pathIndex != PATH_INDEX_NONE) && (this->path != NULL)) { + if (!SubS_CopyPointFromPath(this->path, this->unk_25C, &this->unk_268)) { Actor_Kill(&this->actor); } } @@ -87,8 +87,8 @@ void EnDaiku2_Init(Actor* thisx, PlayState* play) { this->actor.targetMode = 0; Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit); this->unk_278 = ENDAIKU2_GET_7F(&this->actor); - this->unk_27A = ENDAIKU2_GET_1F80(&this->actor); - this->unk_258 = SubS_GetPathByIndex(play, this->unk_27A, 0x3F); + this->pathIndex = ENDAIKU2_GET_PATH_INDEX(&this->actor); + this->path = SubS_GetPathByIndex(play, this->pathIndex, ENDAIKU2_PATH_INDEX_NONE); this->unk_280 = ENDAIKU2_GET_8000(&this->actor); Actor_SetScale(&this->actor, 0.01f); if (!this->unk_280) { @@ -100,7 +100,7 @@ void EnDaiku2_Init(Actor* thisx, PlayState* play) { if (this->unk_278 == ENDAIKU2_GET_7F_127) { this->unk_278 = ENDAIKU2_GET_7F_MINUS1; } else if (Flags_GetSwitch(play, this->unk_278)) { - this->unk_25C = this->unk_258->count - 1; + this->unk_25C = this->path->count - 1; func_80BE61D0(this); Math_Vec3f_Copy(&this->actor.world.pos, &this->unk_268); } @@ -342,9 +342,9 @@ void func_80BE6D40(EnDaiku2* this, PlayState* play) { Math_ApproachF(&this->actor.world.pos.z, this->unk_268.z, 0.5f, fabsf(Math_CosS(this->actor.world.rot.y) * 6.0f)); if ((sqrtf(SQ(this->actor.world.pos.x - this->unk_268.x) + SQ(this->actor.world.pos.z - this->unk_268.z)) < 4.0f) && - (this->unk_258 != 0)) { + (this->path != NULL)) { this->unk_25C++; - if (this->unk_25C >= this->unk_258->count) { + if (this->unk_25C >= this->path->count) { func_80BE6EB0(this); return; } @@ -385,7 +385,7 @@ void func_80BE6EF0(EnDaiku2* this, PlayState* play) { fabsf(Math_CosS(this->actor.world.rot.y) * 4.0f)); if ((sqrtf(SQ(this->actor.world.pos.x - this->unk_268.x) + SQ(this->actor.world.pos.z - this->unk_268.z)) < 4.0f) && - (this->unk_258 != 0)) { + (this->path != NULL)) { if (!func_80BE64C0(this, play)) { if (this->unk_276 != 3) { func_80BE6408(this, 3); @@ -412,7 +412,7 @@ void func_80BE6EF0(EnDaiku2* this, PlayState* play) { Math_Vec3f_Copy(&sp40, &this->unk_268); var = this->unk_25C; this->unk_25C++; - if (this->unk_25C < this->unk_258->count) { + if (this->unk_25C < this->path->count) { func_80BE61D0(this); func_80BE6CFC(this); return; diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h index 130a06a23..775b2453f 100644 --- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h +++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h @@ -8,9 +8,11 @@ struct EnDaiku2; typedef void (*EnDaiku2ActionFunc)(struct EnDaiku2*, PlayState*); #define ENDAIKU2_GET_7F(thisx) ((thisx)->params & 0x7F) -#define ENDAIKU2_GET_1F80(thisx) (((thisx)->params >> 7) & 0x3F) +#define ENDAIKU2_GET_PATH_INDEX(thisx) (((thisx)->params >> 7) & 0x3F) #define ENDAIKU2_GET_8000(thisx) (((thisx)->params >> 15) & 0x1) +#define ENDAIKU2_PATH_INDEX_NONE 0x3F + enum { /* -1 */ ENDAIKU2_GET_7F_MINUS1 = -1, /* 0 */ ENDAIKU2_GET_7F_0, @@ -35,7 +37,7 @@ typedef struct EnDaiku2 { /* 0x188 */ Vec3s jointTable[17]; /* 0x1EE */ Vec3s morphTable[17]; /* 0x254 */ EnDaiku2ActionFunc actionFunc; - /* 0x258 */ Path* unk_258; + /* 0x258 */ Path* path; /* 0x25C */ s16 unk_25C; /* 0x260 */ f32 unk_260; /* 0x264 */ f32 unk_264; @@ -43,7 +45,7 @@ typedef struct EnDaiku2 { /* 0x274 */ s16 unk_274; /* 0x276 */ s16 unk_276; /* 0x278 */ s16 unk_278; - /* 0x27A */ s16 unk_27A; + /* 0x27A */ s16 pathIndex; /* 0x27C */ UNK_TYPE1 unk_27C[0x4]; /* 0x280 */ s32 unk_280; /* 0x284 */ f32 unk_284; diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.c b/src/overlays/actors/ovl_En_Dg/z_en_dg.c index 0c84f91bc..849ae3378 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.c +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.c @@ -1302,7 +1302,7 @@ void EnDg_Init(Actor* thisx, PlayState* play) { CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); Actor_ProcessInitChain(&this->actor, sInitChain); - this->path = SubS_GetPathByIndex(play, ENDG_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENDG_GET_PATH_INDEX(&this->actor), ENDG_PATH_INDEX_NONE); Actor_SetScale(&this->actor, 0.0075f); this->actor.targetMode = 1; this->actor.gravity = -3.0f; diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.h b/src/overlays/actors/ovl_En_Dg/z_en_dg.h index 62c01a011..9f8203987 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.h +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.h @@ -19,9 +19,11 @@ struct EnDg; typedef void (*EnDgActionFunc)(struct EnDg*, PlayState*); #define ENDG_GET_INDEX(thisx) (((thisx)->params & 0x3E0) >> 5) -#define ENDG_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 10) +#define ENDG_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 10) #define ENDG_PARAMS(path, index) ((path << 10) | (index << 5)) +#define ENDG_PATH_INDEX_NONE 0x3F + typedef enum { /* 0 */ ENDG_INDEX_RACETRACK_0, /* 1 */ ENDG_INDEX_RACETRACK_1, diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c index 132680094..91d243464 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -658,6 +658,7 @@ void EnDoor_Draw(Actor* thisx, PlayState* play) { if (this->knobDoor.dyna.actor.objBankIndex == this->knobDoor.requiredObjBankIndex) { OPEN_DISPS(play->state.gfxCtx); + if ((this->doorType == ENDOOR_TYPE_7) && (this->switchFlag == 0)) { Gfx_DrawDListOpa(play, gameplay_keep_DL_0221B8); } else { @@ -675,6 +676,7 @@ void EnDoor_Draw(Actor* thisx, PlayState* play) { if (this->unk_1A6) { Actor_DrawDoorLock(play, this->unk_1A6, 0); } + CLOSE_DISPS(play->state.gfxCtx); } } diff --git a/src/overlays/actors/ovl_En_Drs/z_en_drs.c b/src/overlays/actors/ovl_En_Drs/z_en_drs.c index d5dc8d250..9fc28c952 100644 --- a/src/overlays/actors/ovl_En_Drs/z_en_drs.c +++ b/src/overlays/actors/ovl_En_Drs/z_en_drs.c @@ -110,9 +110,11 @@ void EnDrs_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* rot // after that it will no longer be rendered. if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_87_02) && (limbIndex == WEDDING_DRESS_MANNEQUIN_LIMB_MASK)) { OPEN_DISPS(play->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp].segment); gSPDisplayList(POLY_OPA_DISP++, &gMoonMaskDL); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp2].segment); + CLOSE_DISPS(play->state.gfxCtx); } } diff --git a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c index 50e9303d7..06b4308a0 100644 --- a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c +++ b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c @@ -55,7 +55,7 @@ void func_80A61334(EnDyExtra* this, PlayState* play) { this->actor.velocity.y = 0.0f; } - if (this->unk14C == 0 && this->unk14A != 0) { + if ((this->unk14C == 0) && (this->unk14A != 0)) { this->unk14C = 0x32; this->actionFunc = func_80A613C8; } @@ -64,7 +64,7 @@ void func_80A61334(EnDyExtra* this, PlayState* play) { void func_80A613C8(EnDyExtra* this, PlayState* play) { Math_ApproachF(&this->actor.gravity, 0.0f, 0.1f, 0.005f); - if (this->unk14C == 0 || this->unk150 < 0.02f) { + if ((this->unk14C == 0) || (this->unk150 < 0.02f)) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Egol/z_en_egol.c b/src/overlays/actors/ovl_En_Egol/z_en_egol.c index 2d03fccf2..bcb7c6fa2 100644 --- a/src/overlays/actors/ovl_En_Egol/z_en_egol.c +++ b/src/overlays/actors/ovl_En_Egol/z_en_egol.c @@ -394,7 +394,7 @@ void EnEgol_DestroyBlocks(EnEgol* this, PlayState* play, Vec3f pos1, Vec3f pos2) } void EnEgol_GetWaypoint(EnEgol* this) { - if ((this->pathIndex != -1) && (this->path != NULL) && + if ((this->pathIndex != PATH_INDEX_NONE) && (this->path != NULL) && !SubS_CopyPointFromPath(this->path, this->waypoint, &this->waypointPos)) { Actor_Kill(&this->actor); } @@ -426,9 +426,9 @@ void EnEgol_Init(Actor* thisx, PlayState* play) { Collider_InitAndSetJntSph(play, &this->eyeCollider, &this->actor, &sEyeJntSphInit, this->eyeElements); Collider_InitAndSetQuad(play, &this->laserCollider, &this->actor, &sLaserQuadInit); - this->pathIndex = EYEGORE_GET_PATH(&this->actor); - if (this->pathIndex == 0x3F) { - this->pathIndex = -1; + this->pathIndex = EYEGORE_GET_PATH_INDEX(&this->actor); + if (this->pathIndex == EYEGORE_PATH_INDEX_NONE) { + this->pathIndex = PATH_INDEX_NONE; Actor_Kill(&this->actor); return; } @@ -445,7 +445,7 @@ void EnEgol_Init(Actor* thisx, PlayState* play) { this->minLaserRange = 200.0f; } - this->path = SubS_GetPathByIndex(play, this->pathIndex, 0x3F); + this->path = SubS_GetPathByIndex(play, this->pathIndex, EYEGORE_PATH_INDEX_NONE); EYEGORE_SET_SPH_DIM(this->eyeCollider.elements[0], 500, 0, 0, 26, 1.0f); diff --git a/src/overlays/actors/ovl_En_Egol/z_en_egol.h b/src/overlays/actors/ovl_En_Egol/z_en_egol.h index cec69e5a1..e85e4b98a 100644 --- a/src/overlays/actors/ovl_En_Egol/z_en_egol.h +++ b/src/overlays/actors/ovl_En_Egol/z_en_egol.h @@ -8,10 +8,12 @@ struct EnEgol; typedef void (*EnEgolActionFunc)(struct EnEgol*, PlayState*); -#define EYEGORE_GET_PATH(thisx) ((thisx)->params & 0x3F) +#define EYEGORE_GET_PATH_INDEX(thisx) ((thisx)->params & 0x3F) #define EYEGORE_GET_SWITCH(thisx) (((thisx)->params >> 6) & 0x7F) -#define EYEGORE_PARAMS(switch, path) ((((switch) & 0x7F) << 6) | ((path) & 0x3F)) +#define EYEGORE_PATH_INDEX_NONE 0x3F + +#define EYEGORE_PARAMS(switch, pathIndex) ((((switch) & 0x7F) << 6) | ((pathIndex) & 0x3F)) #define EYEGORE_EFFECT_COUNT 100 diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index 8ee28ad7d..2bb7b6d0d 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -638,9 +638,9 @@ s32 func_8088DCA4(EnElf* this) { } void func_8088DD34(EnElf* this, PlayState* play) { - Player* refActor = GET_PLAYER(play); + Actor* playerActor = &GET_PLAYER(play)->actor; s32 pad; - Player* player2 = GET_PLAYER(play); + Player* player = GET_PLAYER(play); f32 heightDiff; SkelAnime_Update(&this->skelAnime); @@ -652,7 +652,7 @@ void func_8088DD34(EnElf* this, PlayState* play) { func_8088CBAC(this, play); if (this->fairyFlags & 0x800) { - this->unk_224.y = player2->bodyPartsPos[0].y; + this->unk_224.y = player->bodyPartsPos[0].y; } func_8088D8D0(this, &this->unk_224); @@ -672,17 +672,17 @@ void func_8088DD34(EnElf* this, PlayState* play) { return; } - heightDiff = this->actor.world.pos.y - refActor->actor.world.pos.y; + heightDiff = this->actor.world.pos.y - playerActor->world.pos.y; if ((this->fairyFlags & 0x1000) && (heightDiff > 0.0f) && (heightDiff < 60.0f) && - !func_8088C804(&this->actor.world.pos, &refActor->actor.world.pos, 10.0f)) { + !func_8088C804(&this->actor.world.pos, &playerActor->world.pos, 10.0f)) { Health_ChangeBy(play, 0x80); if (this->fairyFlags & 0x200) { Magic_Add(play, MAGIC_FILL_TO_CAPACITY); } gSaveContext.jinxTimer = 0; this->unk_254 = 50.0f; - this->unk_248 = refActor->actor.shape.rot.y; + this->unk_248 = playerActor->shape.rot.y; this->unk_24C = -0x1000; this->unk_224.y = 30.0f; this->unk_250 = 0.0f; diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c index e19e8d522..05351cd3f 100644 --- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c +++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c @@ -93,18 +93,18 @@ void EnElforg_Init(Actor* thisx, PlayState* play) { } break; + case STRAY_FAIRY_TYPE_FAIRY_FOUNTAIN: + case STRAY_FAIRY_TYPE_BUBBLE: + case STRAY_FAIRY_TYPE_CHEST: + case STRAY_FAIRY_TYPE_TURN_IN_TO_FAIRY_FOUNTAIN: + break; + default: if (Flags_GetSwitch(play, STRAY_FAIRY_FLAG(thisx))) { Actor_Kill(thisx); return; } break; - - case STRAY_FAIRY_TYPE_FAIRY_FOUNTAIN: - case STRAY_FAIRY_TYPE_BUBBLE: - case STRAY_FAIRY_TYPE_CHEST: - case STRAY_FAIRY_TYPE_TURN_IN_TO_FAIRY_FOUNTAIN: - break; } if (Map_IsInDungeonOrBossArea(play)) { @@ -561,7 +561,7 @@ void EnElforg_TrappedByEnemy(EnElforg* this, PlayState* play) { void EnElforg_SetupTrappedByEnemy(EnElforg* this, PlayState* play) { Actor* enemy = EnElforg_GetHoldingEnemy(this, play); - if (enemy != NULL && enemy->update != NULL) { + if ((enemy != NULL) && (enemy->update != NULL)) { this->actionFunc = EnElforg_TrappedByEnemy; this->enemy = enemy; } @@ -587,7 +587,7 @@ void EnElforg_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); - if (this->timer == 0 && this->secondaryTimer > 0) { + if ((this->timer == 0) && (this->secondaryTimer > 0)) { this->secondaryTimer--; } else { this->timer++; diff --git a/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.c b/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.c index 03eb40786..dd656f903 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.c +++ b/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.c @@ -94,18 +94,25 @@ void EnEndingHero5_Draw(Actor* thisx, PlayState* play) { case 0: gDPSetEnvColor(POLY_OPA_DISP++, 170, 10, 70, 255); break; + case 1: gDPSetEnvColor(POLY_OPA_DISP++, 170, 200, 255, 255); break; + case 2: gDPSetEnvColor(POLY_OPA_DISP++, 0, 230, 70, 255); break; + case 3: gDPSetEnvColor(POLY_OPA_DISP++, 200, 0, 150, 255); break; + case 4: gDPSetEnvColor(POLY_OPA_DISP++, 245, 155, 0, 255); break; + + default: + break; } SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.c b/src/overlays/actors/ovl_En_Fall/z_en_fall.c index d21b30b60..8c975dbad 100644 --- a/src/overlays/actors/ovl_En_Fall/z_en_fall.c +++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.c @@ -890,6 +890,7 @@ void EnFall_FireRing_Draw(Actor* thisx, PlayState* play) { if (this->fireRingAlpha > 1.0f) { this->fireRingAlpha = 1.0f; } + OPEN_DISPS(play->state.gfxCtx); AnimatedMat_DrawXlu(play, Lib_SegmentedToVirtual(gMoonFireRingTexAnim)); diff --git a/src/overlays/actors/ovl_En_Famos/z_en_famos.c b/src/overlays/actors/ovl_En_Famos/z_en_famos.c index 645a757a0..97d1ec357 100644 --- a/src/overlays/actors/ovl_En_Famos/z_en_famos.c +++ b/src/overlays/actors/ovl_En_Famos/z_en_famos.c @@ -166,13 +166,13 @@ void EnFamos_Init(Actor* thisx, PlayState* play) { s32 i; Actor_ProcessInitChain(&this->actor, sInitChain); - if (FAMOS_GET_PATH(thisx) != 0xFF) { - path = &play->setupPathList[this->actor.params]; + if (FAMOS_GET_PATH_INDEX(&this->actor) != FAMOS_PATH_INDEX_NONE) { + path = &play->setupPathList[FAMOS_GET_PATH_INDEX(&this->actor)]; this->pathPoints = Lib_SegmentedToVirtual(path->points); - this->pathNodeCount = path->count; - if (this->pathNodeCount == 1) { + this->pathCount = path->count; + if (this->pathCount == 1) { this->pathPoints = NULL; - this->pathNodeCount = 0; + this->pathCount = 0; } } @@ -365,15 +365,15 @@ void EnFamos_StillIdle(EnFamos* this, PlayState* play) { */ void EnFamos_SetupPathingIdle(EnFamos* this) { if (this->isCalm) { - this->currentPathNode++; - if (this->currentPathNode == this->pathNodeCount) { - this->currentPathNode = 0; + this->waypointIndex++; + if (this->waypointIndex == this->pathCount) { + this->waypointIndex = 0; } } else { this->isCalm = true; } - Math_Vec3s_ToVec3f(&this->targetDest, &this->pathPoints[this->currentPathNode]); + Math_Vec3s_ToVec3f(&this->targetDest, &this->pathPoints[this->waypointIndex]); this->targetYaw = Actor_WorldYawTowardPoint(&this->actor, &this->targetDest); this->actionFunc = EnFamos_PathingIdle; this->actor.speed = 0.0f; diff --git a/src/overlays/actors/ovl_En_Famos/z_en_famos.h b/src/overlays/actors/ovl_En_Famos/z_en_famos.h index 874da9034..468356376 100644 --- a/src/overlays/actors/ovl_En_Famos/z_en_famos.h +++ b/src/overlays/actors/ovl_En_Famos/z_en_famos.h @@ -15,9 +15,11 @@ typedef struct EnFamosRock { /* 0x20 */ f32 scale; } EnFamosRock; // size = 0x24 -#define FAMOS_GET_PATH(thisx) ((thisx)->params) +#define FAMOS_GET_PATH_INDEX(thisx) ((thisx)->params) #define FAMOS_GET_AGGRO_DISTANCE(thisx) ((thisx)->shape.rot.x) +#define FAMOS_PATH_INDEX_NONE 0xFF + // stateTimer gets reused: // after spotting player, counts frames until first attack (8) // after lost aggro, measures frames looking around before returning to home (60) @@ -33,8 +35,8 @@ typedef struct EnFamos { /* 0x1D0 */ EnFamosActionFunc actionFunc; /* 0x1D4 */ u8 animatedMaterialIndex; /* 0x1D5 */ u8 hasFinishedRotating; // stable up or down - /* 0x1D6 */ u8 pathNodeCount; - /* 0x1D7 */ u8 currentPathNode; + /* 0x1D6 */ u8 pathCount; + /* 0x1D7 */ u8 waypointIndex; /* 0x1D8 */ u8 isCalm; // is NOT aware of player /* 0x1DA */ s16 hoverTimer; // start 30, decr to 0, repeat: for trig height adjustment when hovering /* 0x1DC */ s16 stateTimer; // reused for different actionFunc diff --git a/src/overlays/actors/ovl_En_Fg/z_en_fg.c b/src/overlays/actors/ovl_En_Fg/z_en_fg.c index 0f9b7594e..491d3c499 100644 --- a/src/overlays/actors/ovl_En_Fg/z_en_fg.c +++ b/src/overlays/actors/ovl_En_Fg/z_en_fg.c @@ -387,11 +387,13 @@ void EnFg_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, if ((limbIndex == 7) || (limbIndex == 8)) { OPEN_DISPS(play->state.gfxCtx); + Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); + CLOSE_DISPS(play->state.gfxCtx); } @@ -468,6 +470,7 @@ void EnFg_DrawDust(PlayState* play, EnFgEffectDust* dustEffect) { s16 firstDone = false; OPEN_DISPS(play->state.gfxCtx); + Gfx_SetupDL25_Xlu(play->state.gfxCtx); for (i = 0; i < 10; i++, dustEffect++) { diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 6fe9bf291..bfc157fcb 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -171,7 +171,7 @@ void func_809619D0(EnFu* this, PlayState* play) { } for (i = 0; i < this->unk_542; i++) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } this->unk_520 = path->count; diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c index 99a2808f5..0a8aea2fd 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -191,8 +191,8 @@ void EnGe1_SetupPath(EnGe1* this, PlayState* play) { this->curPointIndex = 0; - if (GERUDO_WHITE_GET_PATH(&this->picto.actor) != 0x3F) { - this->path = &play->setupPathList[GERUDO_WHITE_GET_PATH(&this->picto.actor)]; + if (GERUDO_WHITE_GET_PATH_INDEX(&this->picto.actor) != GERUDO_WHITE_PATH_INDEX_NONE) { + this->path = &play->setupPathList[GERUDO_WHITE_GET_PATH_INDEX(&this->picto.actor)]; if (this->path != NULL) { point = Lib_SegmentedToVirtual(this->path->points); Math_Vec3s_ToVec3f(&this->picto.actor.world.pos, point); @@ -441,6 +441,9 @@ void EnGe1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, gSPDisplayList(POLY_OPA_DISP++, sHairstyleDLs[this->hairstyle]); Matrix_MultVec3f(&sInitialFocusPos, &this->picto.actor.focus.pos); break; + + default: + break; } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h index 63a2a3c7f..f1684315b 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h @@ -6,7 +6,9 @@ #include "objects/object_ge1/object_ge1.h" #define GERUDO_WHITE_GET_TYPE(thisx) (((thisx)->params) & 0xF) -#define GERUDO_WHITE_GET_PATH(thisx) ((((thisx)->params) & 0xFC00) >> 10) +#define GERUDO_WHITE_GET_PATH_INDEX(thisx) ((((thisx)->params) & 0xFC00) >> 10) + +#define GERUDO_WHITE_PATH_INDEX_NONE 0x3F //! Only the first type is used typedef enum { diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c index 15c151789..facc4def2 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -200,8 +200,8 @@ s32 EnGe2_LookForPlayer(PlayState* play, Actor* actor, Vec3f* pos, s16 yaw, s16 * @return true if path is set up in reverse */ s32 EnGe2_SetupPath(EnGe2* this, PlayState* play) { - if (GERUDO_PURPLE_GET_PATH(&this->picto.actor) != GERUDO_PURPLE_PATH_NONE) { - this->path = &play->setupPathList[GERUDO_PURPLE_GET_PATH(&this->picto.actor)]; + if (GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor) != GERUDO_PRUPLE_PATH_INDEX_NONE) { + this->path = &play->setupPathList[GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor)]; if (this->path != NULL) { Path* path = this->path; Vec3s* points = Lib_SegmentedToVirtual(path->points); @@ -228,14 +228,14 @@ void EnGe2_GetNextPath(EnGe2* this, PlayState* play) { Path* curPath; Path* nextPath; Vec3s* points; - u8 unk1; + u8 nextPathIndex; this->curPointIndex = 0; - if (GERUDO_PURPLE_GET_PATH(&this->picto.actor) != GERUDO_PURPLE_PATH_NONE) { - curPath = &play->setupPathList[GERUDO_PURPLE_GET_PATH(&this->picto.actor)]; - unk1 = curPath->unk1; - nextPath = &play->setupPathList[unk1]; + if (GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor) != GERUDO_PRUPLE_PATH_INDEX_NONE) { + curPath = &play->setupPathList[GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor)]; + nextPathIndex = curPath->additionalPathIndex; + nextPath = &play->setupPathList[nextPathIndex]; this->path = nextPath; points = Lib_SegmentedToVirtual(nextPath->points); this->picto.actor.world.pos.x = points[0].x; @@ -252,8 +252,8 @@ void EnGe2_SetupBlownAwayPath(EnGe2* this, PlayState* play) { this->curPointIndex = 0; - if (GERUDO_PURPLE_GET_PATH(&this->picto.actor) != GERUDO_PURPLE_PATH_NONE) { - this->path = &play->setupPathList[GERUDO_PURPLE_GET_PATH(&this->picto.actor)]; + if (GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor) != GERUDO_PRUPLE_PATH_INDEX_NONE) { + this->path = &play->setupPathList[GERUDO_PURPLE_GET_PATH_INDEX(&this->picto.actor)]; if (this->path != NULL) { points = Lib_SegmentedToVirtual(this->path->points); Math_Vec3s_ToVec3f(&this->picto.actor.world.pos, points); diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h index 0a85e3bfe..ee0d99d00 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h @@ -11,12 +11,12 @@ typedef void (*EnGe2ActionFunc)(struct EnGe2*, PlayState*); #define GERUDO_PURPLE_GET_EXIT(thisx) (((thisx)->params) & 0x1F) //!< Exit to send Player to when caught #define GERUDO_PURPLE_GET_TYPE(thisx) (((thisx)->params & 0xE0) >> 5) -#define GERUDO_PURPLE_GET_PATH(thisx) ((((thisx)->params) & 0xFC00) >> 10) +#define GERUDO_PURPLE_GET_PATH_INDEX(thisx) ((((thisx)->params) & 0xFC00) >> 10) -#define GERUDO_PURPLE_PARAMS(path, type, exit) (((path) & 0x1F) | (((type) & 7) << 5) | (((exit) & 0x3F) << 10)) +#define GERUDO_PURPLE_PARAMS(exit, type, pathIndex) (((exit) & 0x1F) | (((type) & 7) << 5) | (((pathIndex) & 0x3F) << 10)) #define GERUDO_PURPLE_EXIT_NONE 0x1F -#define GERUDO_PURPLE_PATH_NONE 0x3F +#define GERUDO_PRUPLE_PATH_INDEX_NONE 0x3F typedef enum { /* 0 */ GERUDO_PURPLE_TYPE_CUTSCENE, diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c index 76e3d69da..e05945680 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c @@ -183,14 +183,14 @@ void func_80B3B0A0(EnGg2* this, PlayState* play) { void func_80B3B120(EnGg2* this, PlayState* play) { Vec3s sp30; - if (this->unk_1D8 != NULL) { - func_80B3B7E4(this->unk_1D8, this->unk_1DC, &this->actor.world.pos, &sp30); + if (this->path != NULL) { + func_80B3B7E4(this->path, this->unk_1DC, &this->actor.world.pos, &sp30); Math_SmoothStepToS(&this->actor.world.rot.y, sp30.y, 4, 0x3E8, 1); this->actor.shape.rot.y = this->actor.world.rot.y; Math_SmoothStepToS(&this->actor.shape.rot.x, sp30.x, 4, 0x3E8, 1); this->actor.world.rot.x = -this->actor.shape.rot.x; - if (func_80B3B648(this, this->unk_1D8, this->unk_1DC) != 0) { - if (this->unk_1DC >= (this->unk_1D8->count - 2)) { + if (func_80B3B648(this, this->path, this->unk_1DC) != 0) { + if (this->unk_1DC >= (this->path->count - 2)) { this->actionFunc = func_80B3AE60; this->actor.speed = 0.0f; } else { @@ -227,15 +227,15 @@ void func_80B3B294(EnGg2* this, PlayState* play) { SET_WEEKEVENTREG(WEEKEVENTREG_20_10); } - if (this->unk_1D8 != NULL) { - func_80B3B7E4(this->unk_1D8, this->unk_1DC, &this->actor.world.pos, &sp30); + if (this->path != NULL) { + func_80B3B7E4(this->path, this->unk_1DC, &this->actor.world.pos, &sp30); Math_SmoothStepToS(&this->actor.world.rot.y, sp30.y, 4, 0x3E8, 1); this->actor.shape.rot.y = this->actor.world.rot.y; Math_SmoothStepToS(&this->actor.shape.rot.x, sp30.x, 4, 0x3E8, 1); this->actor.world.rot.x = -this->actor.shape.rot.x; - if (func_80B3B648(this, this->unk_1D8, this->unk_1DC)) { - if (this->unk_1DC < (this->unk_1D8->count - 1)) { + if (func_80B3B648(this, this->path, this->unk_1DC)) { + if (this->unk_1DC < (this->path->count - 1)) { this->unk_1DC++; } else { this->unk_2F1 = 1; @@ -369,7 +369,7 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) { this->actor.bgCheckFlags |= BGCHECKFLAG_PLAYER_400; SkelAnime_InitFlex(play, &this->skelAnime, &object_gg_Skel_00F6C0, &object_gg_Anim_00F578, this->jointTable, this->morphTable, 20); - this->unk_1D8 = SubS_GetPathByIndex(play, ENGG2_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENGG2_GET_PATH_INDEX(&this->actor), ENGG2_PATH_INDEX_NONE); this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS; this->unk_2F0 = 0; this->unk_2F1 = 0; diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h index ff7aec4a6..83b4bad42 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h @@ -7,14 +7,16 @@ struct EnGg2; typedef void (*EnGg2ActionFunc)(struct EnGg2*, PlayState*); -#define ENGG2_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENGG2_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENGG2_PATH_INDEX_NONE 0x3F typedef struct EnGg2 { /* 0x000 */ Actor actor; /* 0x144 */ UNK_TYPE1 unk144[0x4C]; /* 0x190 */ SkelAnime skelAnime; /* 0x1D4 */ EnGg2ActionFunc actionFunc; - /* 0x1D8 */ Path* unk_1D8; + /* 0x1D8 */ Path* path; /* 0x1DC */ s32 unk_1DC; /* 0x1E0 */ Vec3s unk_1E0; /* 0x1E6 */ Vec3s unk_1E6; diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.c b/src/overlays/actors/ovl_En_Giant/z_en_giant.c index cc15fcbce..29f7059a5 100644 --- a/src/overlays/actors/ovl_En_Giant/z_en_giant.c +++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.c @@ -114,6 +114,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) { return true; } break; + case GIANT_TYPE_MOUNTAIN_TERMINA_FIELD: case GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_MOUNTAIN_GIANTS_CHAMBER_AND_ENDING: @@ -122,6 +123,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) { return true; } break; + case GIANT_TYPE_OCEAN_TERMINA_FIELD: case GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING: @@ -130,6 +132,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) { return true; } break; + case GIANT_TYPE_CANYON_TERMINA_FIELD: case GIANT_TYPE_CANYON_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_CANYON_GIANTS_CHAMBER_AND_ENDING: @@ -138,6 +141,9 @@ s32 EnGiant_IsImprisoned(EnGiant* this) { return true; } break; + + default: + break; } return false; @@ -229,11 +235,13 @@ void EnGiant_Init(Actor* thisx, PlayState* play) { case 10: this->sfxId = NA_SE_EV_KYOJIN_GRATITUDE2 - SFX_FLAG; break; + case 1: case 2: case 3: this->sfxId = NA_SE_EV_KYOJIN_GRATITUDE1 - SFX_FLAG; break; + default: this->sfxId = NA_SE_EV_KYOJIN_GRATITUDE0 - SFX_FLAG; break; @@ -361,47 +369,56 @@ void EnGiant_PlayAndUpdateAnimation(EnGiant* this) { case GIANT_CUE_ID_LOOKING_UP: EnGiant_ChangeToStartOrLoopAnimation(this, GIANT_ANIM_LOOK_UP_START); break; + case GIANT_CUE_ID_RAISING_ARMS: EnGiant_ChangeToStartOrLoopAnimation(this, GIANT_ANIM_RAISED_ARMS_START); break; + case GIANT_CUE_ID_STRUGGLING: EnGiant_ChangeToStartOrLoopAnimation(this, GIANT_ANIM_STRUGGLE_START); break; + case GIANT_CUE_ID_FALLING_OVER: // Unused EnGiant_ChangeToStartOrLoopAnimation(this, GIANT_ANIM_FALLING_OVER); break; + case GIANT_CUE_ID_TALKING: EnGiant_ChangeAnim(this, GIANT_ANIM_BIG_CALL_LOOP); break; + case GIANT_CUE_ID_DONE_TALKING: case GIANT_CUE_ID_PLAYER_LEARNED_OATH_TO_ORDER: EnGiant_ChangeAnim(this, GIANT_ANIM_IDLE_LOOP); break; + case GIANT_CUE_ID_TEACHING_OATH_TO_ORDER: EnGiant_ChangeAnim(this, GIANT_ANIM_SMALL_CALL_LOOP); break; + + default: + break; } SkelAnime_Update(&this->skelAnime); } } void EnGiant_PlaySound(EnGiant* this) { - if (this->actor.draw != NULL && this->alpha > 0) { - if (this->animIndex == GIANT_ANIM_WALKING_LOOP && + if ((this->actor.draw != NULL) && (this->alpha > 0)) { + if ((this->animIndex == GIANT_ANIM_WALKING_LOOP) && (Animation_OnFrame(&this->skelAnime, 40.0f) || Animation_OnFrame(&this->skelAnime, 100.0f))) { Actor_PlaySfx(&this->actor, NA_SE_EV_KYOJIN_WALK); } - if (this->animIndex == GIANT_ANIM_FALLING_OVER && Animation_OnFrame(&this->skelAnime, 40.0f)) { + if ((this->animIndex == GIANT_ANIM_FALLING_OVER) && Animation_OnFrame(&this->skelAnime, 40.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EV_KYOJIN_VOICE_FAIL); } - if (this->sfxId != 0xFFFF && - ((this->animIndex == GIANT_ANIM_BIG_CALL_START && this->skelAnime.curFrame >= 18.0f) || - this->animIndex == GIANT_ANIM_BIG_CALL_LOOP)) { + if ((this->sfxId != 0xFFFF) && + (((this->animIndex == GIANT_ANIM_BIG_CALL_START) && (this->skelAnime.curFrame >= 18.0f)) || + (this->animIndex == GIANT_ANIM_BIG_CALL_LOOP))) { func_800B9010(&this->actor, this->sfxId); } - if ((this->animIndex == GIANT_ANIM_SMALL_CALL_START && this->skelAnime.curFrame >= 18.0f) || - this->animIndex == GIANT_ANIM_SMALL_CALL_LOOP) { + if (((this->animIndex == GIANT_ANIM_SMALL_CALL_START) && (this->skelAnime.curFrame >= 18.0f)) || + (this->animIndex == GIANT_ANIM_SMALL_CALL_LOOP)) { func_800B9010(&this->actor, NA_SE_EV_KYOJIN_SIGN - SFX_FLAG); } } diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index 90e449be3..1859cf83f 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -234,7 +234,7 @@ s32 EnGirlA_CanBuyArrows(PlayState* play, EnGirlA* this) { } s32 EnGirlA_CanBuyNuts(PlayState* play, EnGirlA* this) { - if (CUR_CAPACITY(UPG_NUTS) != 0 && CUR_CAPACITY(UPG_NUTS) <= AMMO(ITEM_NUT)) { + if ((CUR_CAPACITY(UPG_NUTS) != 0) && (CUR_CAPACITY(UPG_NUTS) <= AMMO(ITEM_NUT))) { return CANBUY_RESULT_NO_ROOM; } if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.unk1206C) { @@ -257,7 +257,7 @@ s32 EnGirlA_CanBuyShieldHero(PlayState* play, EnGirlA* this) { } s32 EnGirlA_CanBuyStick(PlayState* play, EnGirlA* this) { - if (CUR_CAPACITY(UPG_STICKS) != 0 && AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS)) { + if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) { return CANBUY_RESULT_NO_ROOM; } if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.unk1206C) { @@ -385,18 +385,24 @@ void EnGirlA_BuyBottleItem(PlayState* play, EnGirlA* this) { case SI_POTION_RED_6: Item_Give(play, ITEM_POTION_RED); break; + case SI_POTION_GREEN_1: case SI_POTION_GREEN_2: case SI_POTION_GREEN_3: Item_Give(play, ITEM_POTION_GREEN); break; + case SI_POTION_BLUE: Item_Give(play, ITEM_POTION_BLUE); break; + case SI_FAIRY_1: case SI_FAIRY_2: Item_Give(play, ITEM_FAIRY); break; + + default: + break; } Rupees_ChangeBy(-play->msgCtx.unk1206C); } @@ -411,9 +417,13 @@ void EnGirlA_BuyNuts(PlayState* play, EnGirlA* this) { case 5: Item_Give(play, ITEM_NUTS_5); break; + case 10: Item_Give(play, ITEM_NUTS_10); break; + + default: + break; } Rupees_ChangeBy(-play->msgCtx.unk1206C); } @@ -439,12 +449,17 @@ void EnGirlA_BuyBombBag(PlayState* play, EnGirlA* this) { case 20: Item_Give(play, ITEM_BOMB_BAG_20); break; + case 21: Item_Give(play, ITEM_BOMB_BAG_30); break; + case 22: Item_Give(play, ITEM_BOMB_BAG_40); break; + + default: + break; } Rupees_ChangeBy(-play->msgCtx.unk1206C); } @@ -461,15 +476,21 @@ void EnGirlA_BuyBombs(PlayState* play, EnGirlA* this) { case 5: Item_Give(play, ITEM_BOMBS_5); break; + case 10: Item_Give(play, ITEM_BOMBS_10); break; + case 20: Item_Give(play, ITEM_BOMBS_20); break; + case 30: Item_Give(play, ITEM_BOMBS_30); break; + + default: + break; } Rupees_ChangeBy(-play->msgCtx.unk1206C); } @@ -484,15 +505,21 @@ void EnGirlA_BuySword(PlayState* play, EnGirlA* this) { case 1: Item_Give(play, ITEM_SWORD_KOKIRI); break; + case 2: Item_Give(play, ITEM_SWORD_RAZOR); break; + case 3: Item_Give(play, ITEM_SWORD_GILDED); break; + case 4: Item_Give(play, ITEM_SWORD_GREAT_FAIRY); break; + + default: + break; } Rupees_ChangeBy(-play->msgCtx.unk1206C); } diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.c b/src/overlays/actors/ovl_En_Gk/z_en_gk.c index 28d5c344d..8692f937c 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.c +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.c @@ -955,22 +955,22 @@ void func_80B52430(EnGk* this, PlayState* play) { } void func_80B5253C(EnGk* this, PlayState* play) { - s32 sp24; + s32 getItemId; if (CHECK_WEEKEVENTREG(WEEKEVENTREG_41_08)) { - sp24 = 0x93; + getItemId = GI_GOLD_DUST_2; } else { - sp24 = 0x6A; + getItemId = GI_GOLD_DUST; } if (Actor_HasParent(&this->actor, play)) { this->actor.parent = NULL; - if (sp24 == 0x6A) { + if (getItemId == GI_GOLD_DUST) { SET_WEEKEVENTREG(WEEKEVENTREG_41_08); } this->actionFunc = func_80B525E0; } else { - Actor_OfferGetItem(&this->actor, play, sp24, 300.0f, 300.0f); + Actor_OfferGetItem(&this->actor, play, getItemId, 300.0f, 300.0f); } } @@ -1025,7 +1025,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) { Actor_Kill(&this->actor); } else { this->csId = this->actor.csId; - this->path = SubS_GetPathByIndex(play, ENGK_GET_F0(&this->actor), 0xF); + this->path = SubS_GetPathByIndex(play, ENGK_GET_PATH_INDEX(&this->actor), ENGK_PATH_INDEX_NONE); this->actionFunc = func_80B51760; } } else if (play->sceneId == SCENE_GORONRACE) { diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.h b/src/overlays/actors/ovl_En_Gk/z_en_gk.h index 0f74c1d65..fd724cc7c 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.h +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.h @@ -8,9 +8,11 @@ struct EnGk; typedef void (*EnGkActionFunc)(struct EnGk*, PlayState*); #define ENGK_GET_F(thisx) ((thisx)->params & 0xF) -#define ENGK_GET_F0(thisx) (((thisx)->params & 0xF0) >> 4) +#define ENGK_GET_PATH_INDEX(thisx) (((thisx)->params & 0xF0) >> 4) #define ENGK_GET_3F00(thisx) (((thisx)->params & 0x3F00) >> 8) +#define ENGK_PATH_INDEX_NONE 0xF + enum { /* 0 */ ENGK_F_0, /* 1 */ ENGK_F_1, diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index 4c4aa474b..bcdb20431 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -973,7 +973,7 @@ s32 func_8094F53C(EnGm* this, PlayState* play) { } s32 func_8094F7D0(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput, u8 arg3, s16 arg4) { - u8 sp4F = ENGM_GET_FF(&this->actor); + u8 pathIndex = ENGM_GET_PATH_INDEX(&this->actor); Vec3s* sp48; Vec3f sp3C; Vec3f sp30; @@ -985,7 +985,7 @@ s32 func_8094F7D0(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput, u actor = func_8094DEE0(this, play, arg3, arg4); if (D_80951A0C[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80951A0C[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80951A0C[scheduleOutput->result]); } if ((actor != NULL) && (actor->update != NULL)) { @@ -1004,7 +1004,7 @@ s32 func_8094F7D0(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput, u s32 func_8094F904(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp56 = SCHEDULE_TIME_NOW; - u8 sp55 = ENGM_GET_FF(&this->actor); + u8 pathIndex = ENGM_GET_PATH_INDEX(&this->actor); EnDoor* door; Vec3s* sp4C; Vec3f sp40; @@ -1016,7 +1016,7 @@ s32 func_8094F904(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { door = func_8094DF90(play, scheduleOutput->result); if (D_80951A0C[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp55, D_80951A0C[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80951A0C[scheduleOutput->result]); } if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) { @@ -1051,14 +1051,14 @@ s32 func_8094F904(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_8094FAC4(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp2E = SCHEDULE_TIME_NOW; u16 phi_v1; - u8 sp2B = ENGM_GET_FF(&this->actor); + u8 pathIndex = ENGM_GET_PATH_INDEX(&this->actor); u16 tmp; s16 pad; s32 ret = false; this->timePath = NULL; if (D_80951A0C[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp2B, D_80951A0C[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80951A0C[scheduleOutput->result]); } if ((this->timePath != NULL) && (this->timePath->count < 3)) { @@ -1152,7 +1152,7 @@ s32 func_8094FE10(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_8094FF04(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { static Vec3f D_80951D9C = { 64.0f, 0.0f, -122.0f }; - u8 sp4F = ENGM_GET_FF(&this->actor); + u8 pathIndex = ENGM_GET_PATH_INDEX(&this->actor); Vec3s* sp48; Vec3f sp3C; Vec3f sp30; @@ -1162,7 +1162,7 @@ s32 func_8094FF04(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; if (D_80951A0C[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80951A0C[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80951A0C[scheduleOutput->result]); } if (this->timePath != NULL) { diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.h b/src/overlays/actors/ovl_En_Gm/z_en_gm.h index 6eede0744..760c9d91c 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.h +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.h @@ -9,7 +9,7 @@ typedef void (*EnGmActionFunc)(struct EnGm*, PlayState*); typedef s32 (*EnGmUnkFunc)(struct EnGm*, PlayState*); typedef void (*EnGmUnkFunc2)(struct EnGm*, PlayState*); -#define ENGM_GET_FF(thisx) ((thisx)->params & 0xFF) +#define ENGM_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) typedef struct EnGm { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c index f70628930..216d5c301 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -1883,7 +1883,8 @@ void EnGo_SetupSpectator(EnGo* this, PlayState* play) { */ void EnGo_SetupGatekeeper(EnGo* this, PlayState* play) { if (gSaveContext.save.day >= 2) { - this->gatekeeperPath = SubS_GetDayDependentPath(play, ENGO_GET_PATH(&this->actor), 0xFF, &this->indexPathPoint); + this->gatekeeperPath = SubS_GetDayDependentPath(play, ENGO_GET_PATH_INDEX(&this->actor), ENGO_PATH_INDEX_NONE, + &this->indexPathPoint); if (this->gatekeeperPath != NULL) { this->indexPathPoint = 1; } diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.h b/src/overlays/actors/ovl_En_Go/z_en_go.h index a1c96214b..23c02a9c4 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.h +++ b/src/overlays/actors/ovl_En_Go/z_en_go.h @@ -11,8 +11,9 @@ typedef s32 (*MsgEventFunc)(Actor*, PlayState*); #define ENGO_GET_TYPE(thisx) (((thisx)->params & 0xF) & 0xFF) #define ENGO_GET_SUBTYPE(thisx) ((((thisx)->params & 0x70) >> 4) & 0xFF) +#define ENGO_GET_PATH_INDEX(thisx) ((((thisx)->params & 0x7F80) >> 7) & 0xFF) -#define ENGO_GET_PATH(thisx) ((((thisx)->params & 0x7F80) >> 7) & 0xFF) +#define ENGO_PATH_INDEX_NONE 0xFF #define ENGO_SNOW_EFFECT_COUNT 16 #define ENGO_OTHER_EFFECT_COUNT 16 diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c index 30a6709a2..d8004bef8 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -458,25 +458,25 @@ void func_8099874C(EnGs* this, PlayState* play) { } if (phi_v0 != 0) { - this->unk_20C = -1; + this->getItemId = -1; switch (this->unk_194) { case 1: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_08)) { - this->unk_20C = 6; + this->getItemId = GI_RUPEE_SILVER; SET_WEEKEVENTREG(WEEKEVENTREG_77_08); } break; case 3: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_10)) { - this->unk_20C = 6; + this->getItemId = GI_RUPEE_SILVER; SET_WEEKEVENTREG(WEEKEVENTREG_77_10); } break; case 2: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_20)) { - this->unk_20C = 6; + this->getItemId = GI_RUPEE_SILVER; SET_WEEKEVENTREG(WEEKEVENTREG_77_20); } break; @@ -484,10 +484,10 @@ void func_8099874C(EnGs* this, PlayState* play) { if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_90_10)) { SET_WEEKEVENTREG(WEEKEVENTREG_90_10); - this->unk_20C = 12; + this->getItemId = GI_HEART_PIECE; } - if (this->unk_20C > 0) { + if (this->getItemId > GI_NONE) { func_809989B4(this, play); } else { func_80997D14(this, play); @@ -502,7 +502,7 @@ void func_8099874C(EnGs* this, PlayState* play) { } void func_809989B4(EnGs* this, PlayState* play) { - Actor_OfferGetItem(&this->actor, play, this->unk_20C, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + Actor_OfferGetItem(&this->actor, play, this->getItemId, this->actor.xzDistToPlayer, this->actor.playerHeightRel); this->actionFunc = func_809989F4; } @@ -511,7 +511,8 @@ void func_809989F4(EnGs* this, PlayState* play) { this->actor.parent = NULL; func_80997D14(this, play); } else { - Actor_OfferGetItem(&this->actor, play, this->unk_20C, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + Actor_OfferGetItem(&this->actor, play, this->getItemId, this->actor.xzDistToPlayer, + this->actor.playerHeightRel); } } diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.h b/src/overlays/actors/ovl_En_Gs/z_en_gs.h index abb4a5b86..42efabb61 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.h +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.h @@ -47,7 +47,7 @@ typedef struct EnGs { /* 0x200 */ f32 unk_200; /* 0x204 */ s32 unk_204; /* 0x208 */ s32 unk_208; - /* 0x20C */ s32 unk_20C; + /* 0x20C */ s32 getItemId; /* 0x210 */ u16 unk_210; /* 0x212 */ s16 csIdList[2]; /* 0x216 */ s16 unk_216; diff --git a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c index 78a2aa4d1..bdc4637d1 100644 --- a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c +++ b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c @@ -131,7 +131,7 @@ void func_80BC6E10(EnGuruguru* this) { this->headZRotTarget = 0; this->unk268 = 1; this->actor.textId = textIDs[this->textIdIndex]; - if ((this->textIdIndex == 0 || this->textIdIndex == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_77_04)) { + if (((this->textIdIndex == 0) || (this->textIdIndex == 1)) && CHECK_WEEKEVENTREG(WEEKEVENTREG_77_04)) { if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_88_04)) { this->actor.textId = 0x295F; } else { @@ -175,7 +175,7 @@ void func_80BC701C(EnGuruguru* this, PlayState* play) { Player* player = GET_PLAYER(play); if ((this->unk268 != 0) && - (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_DEKU)) { + ((player->transformation == PLAYER_FORM_HUMAN) || (player->transformation == PLAYER_FORM_DEKU))) { this->headZRotTarget = 5000; } @@ -324,7 +324,7 @@ void EnGuruguru_Update(Actor* thisx, PlayState* play) { Actor_Kill(&this->actor); return; } - } else if (this->actor.params == 0 || this->actor.params == 2) { + } else if ((this->actor.params == 0) || (this->actor.params == 2)) { Actor_Kill(&this->actor); return; } @@ -352,10 +352,10 @@ void EnGuruguru_Update(Actor* thisx, PlayState* play) { this->headXRotTarget = 0; if (yaw < 0x2AF8) { this->headXRotTarget = this->actor.yawTowardsPlayer - this->actor.world.rot.y; - if (this->headXRotTarget > 5000) { - this->headXRotTarget = 5000; - } else if (this->headXRotTarget < -5000) { - this->headXRotTarget = -5000; + if (this->headXRotTarget > 0x1388) { + this->headXRotTarget = 0x1388; + } else if (this->headXRotTarget < -0x1388) { + this->headXRotTarget = -0x1388; } } Actor_SetScale(&this->actor, 0.01f); diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c index 630ae405f..e0f9301ce 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c @@ -87,7 +87,7 @@ void EnHiddenNuts_Init(Actor* thisx, PlayState* play) { Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit); - this->unk_21E = ENHIDDENNUTS_GET_F80(&this->actor); + this->pathIndex = ENHIDDENNUTS_GET_PATH_INDEX(&this->actor); this->switchFlag = ENHIDDENNUTS_GET_SWITCHFLAG(&this->actor); if (this->switchFlag == 0x7F) { @@ -99,12 +99,12 @@ void EnHiddenNuts_Init(Actor* thisx, PlayState* play) { return; } - if (this->unk_21E == 0x1F) { + if (this->pathIndex == ENHIDDENNUTS_PATH_INDEX_NONE) { Actor_Kill(&this->actor); return; } - this->path = SubS_GetPathByIndex(play, this->unk_21E, 0x3F); + this->path = SubS_GetPathByIndex(play, this->pathIndex, ENHIDDENNUTS_PATH_INDEX_NONE_ALT); this->csId = this->actor.csId; func_801A5080(2); func_80BDB268(this); @@ -156,7 +156,7 @@ void func_80BDB2B8(EnHiddenNuts* this, PlayState* play) { this->unk_20A = 0; } - if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) { + if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { func_80BDB580(this); return; } diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h index 435e4662c..03a0a52b7 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h @@ -8,7 +8,10 @@ struct EnHiddenNuts; typedef void (*EnHiddenNutsActionFunc)(struct EnHiddenNuts*, PlayState*); #define ENHIDDENNUTS_GET_SWITCHFLAG(thisx) ((thisx)->params & 0x7F) -#define ENHIDDENNUTS_GET_F80(thisx) (((thisx)->params >> 7) & 0x1F) +#define ENHIDDENNUTS_GET_PATH_INDEX(thisx) (((thisx)->params >> 7) & 0x1F) + +#define ENHIDDENNUTS_PATH_INDEX_NONE 0x1F +#define ENHIDDENNUTS_PATH_INDEX_NONE_ALT 0x3F typedef struct EnHiddenNuts { /* 0x000 */ Actor actor; @@ -23,7 +26,7 @@ typedef struct EnHiddenNuts { /* 0x218 */ s16 unk_218; /* 0x21A */ s16 unk_21A; /* 0x21C */ s16 switchFlag; - /* 0x21E */ s16 unk_21E; + /* 0x21E */ s16 pathIndex; /* 0x220 */ s32 unk_220; /* 0x224 */ s16 unk_224; /* 0x226 */ s16 csId; diff --git a/src/overlays/actors/ovl_En_Ig/z_en_ig.c b/src/overlays/actors/ovl_En_Ig/z_en_ig.c index 86d6309b6..d4ccc8fd6 100644 --- a/src/overlays/actors/ovl_En_Ig/z_en_ig.c +++ b/src/overlays/actors/ovl_En_Ig/z_en_ig.c @@ -497,7 +497,7 @@ s32 func_80BF1B40(EnIg* this, PlayState* play) { } s32 func_80BF1C44(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput, s32 arg3, s32 arg4) { - u8 sp4F = ENIG_GET_FF(&this->actor); + u8 pathIndex = ENIG_GET_PATH_INDEX(&this->actor); Vec3s* sp48; Vec3f sp3C; Vec3f sp30; @@ -509,7 +509,7 @@ s32 func_80BF1C44(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput, s this->timePath = NULL; if (D_80BF3318[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80BF3318[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80BF3318[scheduleOutput->result]); } if ((sp2C != NULL) && (sp2C->update != NULL)) { @@ -541,7 +541,7 @@ s32 func_80BF1D78(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_80BF1DF4(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp56 = SCHEDULE_TIME_NOW; - u8 sp55 = ENIG_GET_FF(&this->actor); + u8 pathIndex = ENIG_GET_PATH_INDEX(&this->actor); EnDoor* door; Vec3s* sp4C; Vec3f sp40; @@ -553,7 +553,7 @@ s32 func_80BF1DF4(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { door = func_80BF1200(play, scheduleOutput->result); if (D_80BF3318[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp55, D_80BF3318[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80BF3318[scheduleOutput->result]); } if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) { @@ -587,7 +587,7 @@ s32 func_80BF1DF4(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_80BF1FA8(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp2E = SCHEDULE_TIME_NOW; u16 phi_v1; - u8 sp2B = ENIG_GET_FF(&this->actor); + u8 pathIndex = ENIG_GET_PATH_INDEX(&this->actor); u16 tmp; s16 pad; s32 ret = false; @@ -595,7 +595,7 @@ s32 func_80BF1FA8(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; if (D_80BF3318[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp2B, D_80BF3318[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80BF3318[scheduleOutput->result]); } if ((this->timePath != NULL) && (this->timePath->count < 3)) { @@ -635,7 +635,7 @@ s32 func_80BF1FA8(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { } s32 func_80BF219C(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { - u8 sp4F = ENIG_GET_FF(&this->actor); + u8 pathIndex = ENIG_GET_PATH_INDEX(&this->actor); Vec3f sp40; Vec3f sp34; Vec3s* sp30; @@ -645,7 +645,7 @@ s32 func_80BF219C(EnIg* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; if (D_80BF3318[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80BF3318[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80BF3318[scheduleOutput->result]); } if ((this->timePath != 0) && (this->timePath->count >= 2)) { diff --git a/src/overlays/actors/ovl_En_Ig/z_en_ig.h b/src/overlays/actors/ovl_En_Ig/z_en_ig.h index c3fd0c3fb..274338a11 100644 --- a/src/overlays/actors/ovl_En_Ig/z_en_ig.h +++ b/src/overlays/actors/ovl_En_Ig/z_en_ig.h @@ -9,7 +9,7 @@ typedef void (*EnIgActionFunc)(struct EnIg*, PlayState*); typedef s32 (*EnIgUnkFunc)(struct EnIg*, PlayState*); typedef void (*EnIgUnkFunc2)(struct EnIg*, PlayState*); -#define ENIG_GET_FF(thisx) ((thisx)->params & 0xFF) +#define ENIG_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) typedef struct EnIg { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c index 8cff778fd..71b338121 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -1033,6 +1033,7 @@ void EnIk_UpdateArmorDraw(EnIk* this, PlayState* play) { sp54 = 0; OPEN_DISPS(play->state.gfxCtx); + gfxOpa = POLY_OPA_DISP; gfxXlu = POLY_XLU_DISP; diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index cbdc2ba19..514074a8f 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -274,10 +274,10 @@ void EnIn_DoNothing(EnIn* this, PlayState* play) { } void func_808F3618(EnIn* this, PlayState* play) { - if (ENIN_GET_PATH(&this->actor) != 0x3F) { + if (ENIN_GET_PATH_INDEX(&this->actor) != ENIN_PATH_INDEX_NONE) { EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_9); } - if (ENIN_GET_PATH(&this->actor) != 0x3F) { + if (ENIN_GET_PATH_INDEX(&this->actor) != ENIN_PATH_INDEX_NONE) { this->actionFunc = func_808F3690; } else { this->actionFunc = EnIn_DoNothing; @@ -329,7 +329,7 @@ void func_808F38F8(EnIn* this, PlayState* play) { while (true) { //! @bug: Infinite loop if there is only one ACTOR_EN_IN this->unk4A4 = (EnIn*)SubS_FindActor(play, &this->unk4A4->actor, ACTORCAT_NPC, ACTOR_EN_IN); - if (this->unk4A4 != NULL && this->unk4A4 != this) { + if ((this->unk4A4 != NULL) && (this->unk4A4 != this)) { break; } this->unk4A4 = (EnIn*)this->unk4A4->actor.next; @@ -357,9 +357,13 @@ void func_808F39DC(EnIn* this, PlayState* play) { case WEEKEVENTREG_HORSE_RACE_STATE_2: textId = 0x347A; break; + case WEEKEVENTREG_HORSE_RACE_STATE_3: textId = 0x3476; break; + + default: + break; } SET_WEEKEVENTREG_HORSE_RACE_STATE(WEEKEVENTREG_HORSE_RACE_STATE_END); } else { @@ -367,9 +371,13 @@ void func_808F39DC(EnIn* this, PlayState* play) { case WEEKEVENTREG_HORSE_RACE_STATE_2: textId = 0x349D; break; + case WEEKEVENTREG_HORSE_RACE_STATE_3: textId = 0x3499; break; + + default: + break; } SET_WEEKEVENTREG_HORSE_RACE_STATE(WEEKEVENTREG_HORSE_RACE_STATE_END); } @@ -482,6 +490,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { textId = 0x345B; } break; + case 1: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_15_10)) { textId = 0x3463; @@ -489,11 +498,12 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { textId = 0x346B; } break; + case 3: if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) { textId = 0x3485; - } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA || - gSaveContext.save.playerForm == PLAYER_FORM_GORON) { + } else if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) || + (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) { textId = 0x3484; } else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_04)) { textId = 0x346D; @@ -501,8 +511,10 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { textId = 0x3482; } break; + case 4: - if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA || gSaveContext.save.playerForm == PLAYER_FORM_GORON) { + if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) || + (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) { textId = 0x348A; } else if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) { textId = 0x348B; @@ -512,6 +524,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { textId = 0x3489; } break; + case 5: if (func_808F33B8()) { textId = 0x34B3; @@ -521,17 +534,22 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { textId = 0x3493; } break; + case 7: if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) { textId = 0x34A8; - } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA || - gSaveContext.save.playerForm == PLAYER_FORM_GORON) { + } else if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) || + (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) { textId = 0x34A7; } else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_04)) { textId = 0x3495; } else { textId = 0x34A5; } + break; + + default: + break; } if (textId == 0) { textId = 1; @@ -540,10 +558,9 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) { } void func_808F4054(PlayState* play, EnIn* this, s32 arg2, u16 textId) { - s32 unused; + s32 pad; - if (textId == 0x34AE || textId == 0x34B0 || textId == 0x34B2) { - unused = textId; + if ((textId == 0x34AE) || (textId == 0x34B0) || (textId == 0x34B2)) { func_80151BB4(play, 0x11); } switch (arg2) { @@ -554,12 +571,15 @@ void func_808F4054(PlayState* play, EnIn* this, s32 arg2, u16 textId) { func_808F35D8(this, play); } break; + case 2: if (textId == 0x3473) { func_808F35D8(this, play); } break; + case 0: + default: break; } } @@ -599,7 +619,7 @@ s32 func_808F4150(PlayState* play, EnIn* this, s32 arg2, MessageContext* msgCtx) s32 func_808F4270(PlayState* play, EnIn* this, s32 arg2, MessageContext* msgCtx, s32 arg4) { s32 pad; - s32 fee = play->msgCtx.unk1206C != 0xFFFF ? play->msgCtx.unk1206C : 10; + s32 fee = (play->msgCtx.unk1206C != 0xFFFF) ? play->msgCtx.unk1206C : 10; if (msgCtx->choiceIndex == 0) { func_8019F208(); @@ -651,31 +671,38 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { Actor_ContinueText(play, &this->actor, 0x34B0); ret = false; break; + case 0x34A9: func_808F4108(this, play, 0x34AA); SET_WEEKEVENTREG(WEEKEVENTREG_63_40); ret = false; break; + case 0x34AA: func_808F4108(this, play, 0x34AB); ret = false; break; + case 0x34AB: func_808F4108(this, play, 0x34AC); ret = false; break; + case 0x34AC: func_808F4108(this, play, 0x34AD); ret = false; break; + case 0x34AD: Actor_ContinueText(play, &this->actor, 0x34AE); ret = false; break; + case 0x34B1: Actor_ContinueText(play, &this->actor, 0x34B2); ret = false; break; + default: break; } @@ -688,48 +715,62 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { Actor_ContinueText(play, &this->actor, 0x3459); ret = false; break; + case 0x3459: Actor_ContinueText(play, &this->actor, 0x345A); ret = false; break; + case 0x345A: func_80151BB4(play, 0x11); ret = true; break; + case 0x345B: func_80151BB4(play, 0x11); ret = true; break; + case 0x345C: Actor_ContinueText(play, &this->actor, 0x345D); ret = false; break; + case 0x345D: Actor_ContinueText(play, &this->actor, 0x345E); ret = false; break; + case 0x345E: Actor_ContinueText(play, &this->actor, 0x345F); ret = false; break; + case 0x345F: func_80151BB4(play, 0x11); ret = true; break; + case 0x3460: Actor_ContinueText(play, &this->actor, 0x3461); ret = false; break; + case 0x3461: Actor_ContinueText(play, &this->actor, 0x3462); ret = false; break; + case 0x3462: func_80151BB4(play, 0x11); ret = true; break; + + default: + break; } break; + case 1: switch (textId) { case 0x3463: @@ -737,14 +778,17 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { Actor_ContinueText(play, &this->actor, 0x3464); ret = false; break; + case 0x3464: Actor_ContinueText(play, &this->actor, 0x3465); ret = false; break; + case 0x3465: Actor_ContinueText(play, &this->actor, 0x3466); ret = false; break; + case 0x3466: if (msgCtx->choiceIndex == 0) { func_8019F208(); @@ -769,54 +813,65 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x3467: case 0x3468: case 0x3469: func_80151BB4(play, 0x11); ret = true; break; + case 0x346B: Actor_ContinueText(play, &this->actor, 0x346C); ret = false; break; + case 0x346C: Actor_ContinueText(play, &this->actor, 0x3466); ret = false; break; + case 0x346A: this->actionFunc = func_808F5A94; func_80151BB4(play, 0x11); break; } break; + case 2: switch (textId) { case 0x346E: func_808F4108(this, play, 0x346F); ret = false; break; + case 0x3470: Actor_ContinueText(play, &this->actor, 0x3471); ret = false; break; + case 0x3483: Actor_ContinueText(play, &this->actor, 0x3471); ret = false; break; + case 0x3471: func_808F4150(play, this, arg2, msgCtx); ret = false; break; + case 0x3472: func_808F43E0(this); CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); func_80151BB4(play, 0x11); ret = true; break; + case 0x3473: CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); func_80151BB4(play, 0x11); break; + case 0x3475: SET_WEEKEVENTREG_HORSE_RACE_STATE(WEEKEVENTREG_HORSE_RACE_STATE_START); func_800FD750(NA_BGM_HORSE); @@ -825,6 +880,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { play->transitionTrigger = TRANS_TRIGGER_START; SET_WEEKEVENTREG(WEEKEVENTREG_57_01); break; + case 0x3478: if (msgCtx->choiceIndex == 0) { func_808F4150(play, this, arg2, msgCtx); @@ -836,13 +892,18 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x347B: func_808F4108(this, play, 0x347C); CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + + default: + break; } break; + case 3: switch (textId) { case 0x346D: @@ -851,36 +912,44 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { SET_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + case 0x346F: func_808F4108(this, play, 0x3470); ret = false; break; + case 0x3482: func_808F4108(this, play, 0x3483); SET_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + case 0x3484: func_80151BB4(play, 0x11); break; + case 0x3485: func_80151BB4(play, 0x11); break; + case 0x3474: func_808F4108(this, play, 0x3475); ret = false; break; + case 0x3476: Actor_ContinueText(play, &this->actor, 0x3477); EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_1); EnIn_ChangeAnim(&this->unk4A4->skelAnime, ENIN_ANIM_7); ret = false; break; + case 0x3477: SET_WEEKEVENTREG(WEEKEVENTREG_56_08); func_808F4108(this, play, 0x3478); ret = false; break; + case 0x347A: EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_1); EnIn_ChangeAnim(&this->unk4A4->skelAnime, ENIN_ANIM_7); @@ -904,33 +973,39 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x347F: Actor_ContinueText(play, &this->actor, 0x3480); ret = false; break; + case 0x3480: func_808F43E0(this); func_80151BB4(play, 0x11); ret = true; break; + case 0x3479: func_808F43E0(this); func_808F35D8(this, play); func_80151BB4(play, 0x11); ret = true; break; + case 0x347C: this->actionFunc = func_808F3D40; Actor_OfferGetItem(&this->actor, play, GI_MASK_GARO, 500.0f, 100.0f); func_808F35D8(this, play); ret = true; break; + case 0x3481: this->actionFunc = func_808F5A34; func_808F43E0(this); func_80151BB4(play, 0x11); ret = true; break; + case 0x347D: this->actionFunc = func_808F5A34; func_808F43E0(this); @@ -938,8 +1013,12 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { func_80151BB4(play, 0x2F); ret = true; break; + + default: + break; } break; + case 4: switch (textId) { case 0x3486: @@ -947,34 +1026,45 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { SET_WEEKEVENTREG(WEEKEVENTREG_16_01); ret = false; break; + case 0x3487: Actor_ContinueText(play, &this->actor, 0x3488); ret = false; break; + case 0x3488: func_80151BB4(play, 0x11); ret = true; break; + case 0x3489: func_80151BB4(play, 0x11); break; + case 0x348A: func_80151BB4(play, 0x11); break; + case 0x348B: Actor_ContinueText(play, &this->actor, 0x348C); ret = false; break; + case 0x348C: Actor_ContinueText(play, &this->actor, 0x348D); ret = false; break; + case 0x348D: func_80151BB4(play, 0x11); ret = true; break; + + default: + break; } break; + case 5: switch (textId) { case 0x3468: @@ -982,21 +1072,25 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { case 0x3491: func_80151BB4(play, 0x11); break; + case 0x348E: case 0x34B3: Actor_ContinueText(play, &this->actor, 0x348F); SET_WEEKEVENTREG(WEEKEVENTREG_16_02); ret = false; break; + case 0x3493: Actor_ContinueText(play, &this->actor, 0x3494); ret = false; break; + case 0x348F: case 0x3494: Actor_ContinueText(play, &this->actor, 0x3490); ret = false; break; + case 0x3490: if (msgCtx->choiceIndex == 0) { func_8019F208(); @@ -1021,49 +1115,59 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x3492: this->actionFunc = func_808F5A94; func_80151BB4(play, 0x11); break; } break; + case 7: switch (textId) { case 0x34A8: func_80151BB4(play, 0x11); break; + case 0x34A7: func_80151BB4(play, 0x11); break; + case 0x3495: func_808F4108(this, play, 0x3496); SET_WEEKEVENTREG(WEEKEVENTREG_16_04); SET_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + case 0x3497: func_808F4108(this, play, 0x3498); ret = false; break; + case 0x34A4: this->actionFunc = func_808F5A34; func_808F43E0(this); func_80151BB4(play, 0x11); ret = true; break; + case 0x34A5: func_808F4108(this, play, 0x34A6); SET_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + case 0x3473: CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); func_80151BB4(play, 0x11); break; + case 0x3474: Actor_ContinueText(play, &this->actor, 0x3475); ret = false; break; + case 0x3475: SET_WEEKEVENTREG_HORSE_RACE_STATE(WEEKEVENTREG_HORSE_RACE_STATE_START); func_800FD750(NA_BGM_HORSE); @@ -1072,6 +1176,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { play->transitionTrigger = TRANS_TRIGGER_START; SET_WEEKEVENTREG(WEEKEVENTREG_57_01); break; + case 0x349D: EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_1); EnIn_ChangeAnim(&this->unk4A4->skelAnime, ENIN_ANIM_7); @@ -1084,12 +1189,14 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x349F: this->actionFunc = func_808F3D40; Actor_OfferGetItem(&this->actor, play, GI_MASK_GARO, 500.0f, 100.0f); func_808F35D8(this, play); ret = true; break; + case 0x34A0: this->actionFunc = func_808F5A34; func_80151BB4(play, 0x11); @@ -1097,6 +1204,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { func_808F43E0(this); ret = true; break; + case 0x34A1: func_808F35D8(this, play); if (Inventory_HasEmptyBottle()) { @@ -1108,25 +1216,30 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x34A2: Actor_ContinueText(play, &this->actor, 0x34A3); ret = false; break; + case 0x34A3: func_808F43E0(this); func_80151BB4(play, 0x11); ret = true; break; + case 0x3499: Actor_ContinueText(play, &this->actor, 0x349A); EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_1); EnIn_ChangeAnim(&this->unk4A4->skelAnime, ENIN_ANIM_7); ret = false; break; + case 0x349A: Actor_ContinueText(play, &this->actor, 0x349B); ret = false; break; + case 0x349B: if (msgCtx->choiceIndex == 0) { func_808F4270(play, this, arg2, msgCtx, 1); @@ -1137,42 +1250,57 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) { ret = false; } break; + case 0x349C: func_808F43E0(this); func_808F35D8(this, play); func_80151BB4(play, 0x11); ret = true; break; + + default: + break; } break; + case 6: switch (textId) { case 0x3496: func_808F4108(this, play, 0x3497); ret = false; break; + case 0x3498: case 0x34A6: Actor_ContinueText(play, &this->actor, 0x3471); ret = false; break; + case 0x3471: func_808F4270(play, this, arg2, msgCtx, 0); ret = false; break; + case 0x3472: func_808F43E0(this); CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); func_80151BB4(play, 0x11); ret = true; break; + case 0x349E: func_808F4108(this, play, 0x349F); CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); ret = false; break; + + default: + break; } break; + + default: + break; } return ret; } @@ -1186,6 +1314,7 @@ s32 func_808F5674(PlayState* play, EnIn* this, s32 arg2) { func_808F4054(play, this, arg2, this->actor.textId); ret = true; break; + case TEXT_STATE_CHOICE: case TEXT_STATE_5: if (Message_ShouldAdvance(play) && func_808F4414(play, this, arg2)) { @@ -1193,6 +1322,9 @@ s32 func_808F5674(PlayState* play, EnIn* this, s32 arg2) { ret = true; } break; + + default: + break; } return ret; } @@ -1368,10 +1500,10 @@ void EnIn_Init(Actor* thisx, PlayState* play) { this->unk4AC = 0; type = ENIN_GET_TYPE(thisx); this->unk4B0 = GET_WEEKEVENTREG_HORSE_RACE_STATE; - if (type == ENIN_HORSE_RIDER_BLUE_SHIRT || type == ENIN_BLUE_SHIRT) { + if ((type == ENIN_HORSE_RIDER_BLUE_SHIRT) || (type == ENIN_BLUE_SHIRT)) { this->unk4AC |= 8; } - if (type == ENIN_HORSE_RIDER_YELLOW_SHIRT || type == ENIN_HORSE_RIDER_BLUE_SHIRT) { + if ((type == ENIN_HORSE_RIDER_YELLOW_SHIRT) || (type == ENIN_HORSE_RIDER_BLUE_SHIRT)) { ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f); this->unk488 = 1; Animation_Change(&this->skelAnime, &object_in_Anim_016A60, 1.0f, 0.0f, @@ -1385,9 +1517,9 @@ void EnIn_Init(Actor* thisx, PlayState* play) { Collider_SetJntSph(play, &this->colliderJntSph, &this->actor, &sJntSphInit, &this->colliderJntSphElement); Actor_SetScale(&this->actor, 0.01f); this->actor.gravity = -4.0f; - this->path = SubS_GetPathByIndex(play, ENIN_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENIN_GET_PATH_INDEX(&this->actor), ENIN_PATH_INDEX_NONE); this->unk23D = 0; - if (type == ENIN_YELLOW_SHIRT || type == ENIN_BLUE_SHIRT) { + if ((type == ENIN_YELLOW_SHIRT) || (type == ENIN_BLUE_SHIRT)) { if ((GET_WEEKEVENTREG_HORSE_RACE_STATE == WEEKEVENTREG_HORSE_RACE_STATE_2) || (GET_WEEKEVENTREG_HORSE_RACE_STATE == WEEKEVENTREG_HORSE_RACE_STATE_3)) { CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08); @@ -1478,15 +1610,15 @@ void func_808F6334(EnIn* this, PlayState* play) { Player* player = GET_PLAYER(play); s32 talkState = Message_GetState(&play->msgCtx); - this->unk4C4 += this->unk4C0 != 0.0f ? 40.0f : -40.0f; + this->unk4C4 += (this->unk4C0 != 0.0f) ? 40.0f : -40.0f; this->unk4C4 = CLAMP(this->unk4C4, 0.0f, 80.0f); Matrix_Translate(this->unk4C4, 0.0f, 0.0f, MTXMODE_APPLY); if ((&this->actor == player->talkActor) && - !((play->msgCtx.currentTextId >= 0xFF) && (play->msgCtx.currentTextId <= 0x200)) && - (talkState == TEXT_STATE_3) && (this->prevTalkState == TEXT_STATE_3)) { + ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && (talkState == TEXT_STATE_3) && + (this->prevTalkState == TEXT_STATE_3)) { if (!(play->state.frames & 1)) { - this->unk4C0 = this->unk4C0 != 0.0f ? 0.0f : 1.0f; + this->unk4C0 = (this->unk4C0 != 0.0f) ? 0.0f : 1.0f; } } else { this->unk4C0 = 0.0f; @@ -1520,16 +1652,17 @@ s32 EnIn_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po object_in_DL_013440, }; - if (this->unk23C != 0 && limbIndex != 16) { + if ((this->unk23C != 0) && (limbIndex != 16)) { if (sp50[limbIndex] != NULL) { *dList = sp50[limbIndex]; } } - if (this->unk4AC & 4 && limbIndex == 16) { + if ((this->unk4AC & 4) && (limbIndex == 16)) { *dList = object_in_DL_01C528; } OPEN_DISPS(play->state.gfxCtx); + if (limbIndex == 16) { TexturePtr sp38[] = { object_in_Tex_0035E0, object_in_Tex_004820, object_in_Tex_004C20, object_in_Tex_0043E0 }; @@ -1538,6 +1671,7 @@ s32 EnIn_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po } else { AnimatedMat_DrawStep(play, Lib_SegmentedToVirtual(object_in_Matanimheader_001C30), this->unk4AC & 8 ? 1 : 0); } + CLOSE_DISPS(play->state.gfxCtx); if (limbIndex == 16) { @@ -1551,7 +1685,7 @@ s32 EnIn_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po Matrix_RotateYS(this->torsoRot.y, MTXMODE_APPLY); Matrix_RotateXS(this->torsoRot.x, MTXMODE_APPLY); } - if (limbIndex == 9 || limbIndex == 10 || limbIndex == 13) { + if ((limbIndex == 9) || (limbIndex == 10) || (limbIndex == 13)) { rot->y += (s16)(Math_SinS(this->unk376[limbIndex]) * 200.0f); rot->z += (s16)(Math_CosS(this->unk39E[limbIndex]) * 200.0f); } @@ -1593,21 +1727,25 @@ void EnIn_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, if (this->unk23C == 0) { if (!(this->unk4AC & 8)) { OPEN_DISPS(play->state.gfxCtx); + if (limbIndex == 12) { gSPDisplayList(POLY_OPA_DISP++, object_in_DL_007A70); } if (limbIndex == 15) { gSPDisplayList(POLY_OPA_DISP++, object_in_DL_007C48); } + CLOSE_DISPS(play->state.gfxCtx); } } } if (this->unk4AC & 0x20) { OPEN_DISPS(play->state.gfxCtx); + if (limbIndex == 12) { gSPDisplayList(POLY_OPA_DISP++, object_in_DL_007C48); } + CLOSE_DISPS(play->state.gfxCtx); } } diff --git a/src/overlays/actors/ovl_En_In/z_en_in.h b/src/overlays/actors/ovl_En_In/z_en_in.h index dd32ac9c6..c5d7500b6 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.h +++ b/src/overlays/actors/ovl_En_In/z_en_in.h @@ -37,7 +37,9 @@ typedef enum { } EnInAnimation; #define ENIN_GET_TYPE(thisx) ((thisx)->params & 0x1FF) -#define ENIN_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) // Only used with ENIN_UNK_TYPE +#define ENIN_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) // Only used with ENIN_UNK_TYPE + +#define ENIN_PATH_INDEX_NONE 0x3F typedef struct EnIn { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.c b/src/overlays/actors/ovl_En_Jg/z_en_jg.c index 451b9e553..7479a6208 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.c +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.c @@ -957,7 +957,7 @@ void EnJg_Init(Actor* thisx, PlayState* play) { this->actionFunc = EnJg_LullabyIntroCutsceneAction; } else { // This is the elder that appears in Mountain Village or the Path to Goron Village in winter. - this->path = SubS_GetPathByIndex(play, EN_JG_GET_PATH(thisx), 0x3F); + this->path = SubS_GetPathByIndex(play, EN_JG_GET_PATH_INDEX(thisx), EN_JG_PATH_INDEX_NONE); this->animIndex = EN_JG_ANIM_SURPRISE_START; this->action = EN_JG_ACTION_SPAWNING; this->freezeTimer = 1000; diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.h b/src/overlays/actors/ovl_En_Jg/z_en_jg.h index ad8eee0a8..b63f34dce 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.h +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.h @@ -5,7 +5,9 @@ #include "objects/object_jg/object_jg.h" #define EN_JG_IS_IN_GORON_SHRINE(thisx) ((thisx)->params & 0x1) -#define EN_JG_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 10) +#define EN_JG_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 10) + +#define EN_JG_PATH_INDEX_NONE 0x3F struct EnJg; diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c index 25fe13064..b023bf688 100644 --- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c +++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c @@ -119,7 +119,7 @@ void func_80C13A2C(EnJgameTsn* this, PlayState* play) { this->unk_1D8[i].points = Lib_SegmentedToVirtual(path->points); this->unk_1D8[i].count = path->count; - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; if (path == NULL) { Actor_Kill(&this->actor); } @@ -128,7 +128,7 @@ void func_80C13A2C(EnJgameTsn* this, PlayState* play) { this->unk_1F8.points = Lib_SegmentedToVirtual(path->points); this->unk_1F8.count = path->count; - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; if (path == NULL) { Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c index abf5e9eb4..350f4ae82 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -194,7 +194,7 @@ s32 func_80968B8C(EnJs* this, PlayState* play) { f32 sp18 = 0.0f; Vec3s* points; - if (pathIndex != 0x3F) { + if (pathIndex != ENJS_PATH_INDEX_NONE) { this->path = &play->setupPathList[pathIndex]; if (this->path != NULL) { path = this->path; diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.h b/src/overlays/actors/ovl_En_Js/z_en_js.h index c4dd3e3a2..f673a97d6 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.h +++ b/src/overlays/actors/ovl_En_Js/z_en_js.h @@ -8,6 +8,8 @@ #define ENJS_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 10) #define ENJS_GET_EXIT_INDEX(thisx) (((thisx)->params & 0x3F0) >> 4) +#define ENJS_PATH_INDEX_NONE 0x3F + struct EnJs; typedef void (*EnJsActionFunc)(struct EnJs*, PlayState*); diff --git a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c index ee6e28de2..a1da5941b 100644 --- a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c +++ b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c @@ -321,15 +321,15 @@ s32 func_80B85858(EnKaizoku* this, PlayState* play) { for (itemAction = play->actorCtx.actorLists[ACTORCAT_ITEMACTION].first; itemAction != NULL; itemAction = itemAction->next) { - //! FAKE: - if (1) {} - if (((itemAction->id == ACTOR_ARMS_HOOK) || (itemAction->id == ACTOR_EN_ARROW)) && (player->unk_D57)) { - if (((itemAction->id != ACTOR_ARMS_HOOK) || (this->action != KAIZOKU_ACTION_13)) && - (this->action != KAIZOKU_ACTION_6)) { - func_80B87C7C(this); - } - break; + if (((itemAction->id != ACTOR_ARMS_HOOK) && (itemAction->id != ACTOR_EN_ARROW)) || (player->unk_D57 == 0)) { + continue; } + + if (((itemAction->id != ACTOR_ARMS_HOOK) || (this->action != KAIZOKU_ACTION_13)) && + (this->action != KAIZOKU_ACTION_6)) { + func_80B87C7C(this); + } + break; } if (prevAction != this->action) { @@ -423,8 +423,8 @@ s32 func_80B85A00(EnKaizoku* this, PlayState* play, s16 arg2) { func_80B87900(this); } else { sp2A = player->actor.shape.rot.y - this->picto.actor.shape.rot.y; - if (this->picto.actor.xzDistToPlayer <= 65.0f && !Actor_OtherIsTargeted(play, &this->picto.actor) && - ABS_ALT(sp2A) < 0x5000) { + if ((this->picto.actor.xzDistToPlayer <= 65.0f) && !Actor_OtherIsTargeted(play, &this->picto.actor) && + (ABS_ALT(sp2A) < 0x5000)) { if (this->action != KAIZOKU_ACTION_9) { func_80B87F70(this); return 1; @@ -508,7 +508,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { this->unk_598 = 0; Audio_SetMainBgmVolume(0, 0xA); this->unk_59C++; - + // fallthrough case 1: player->actor.shape.rot.y = player->actor.world.rot.y = Math_Vec3f_Yaw(&player->actor.world.pos, &this->picto.actor.world.pos); @@ -611,7 +611,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { func_800B7298(play, &this->picto.actor, 6); CutsceneManager_Stop(this->csId); this->unk_59C = 0; - this->subCamId = 0; + this->subCamId = SUB_CAM_ID_DONE; this->picto.actor.flags &= ~ACTOR_FLAG_100000; this->picto.actor.flags &= ~ACTOR_FLAG_CANT_LOCK_ON; this->picto.actor.flags |= ACTOR_FLAG_1; @@ -657,7 +657,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { Math_Vec3f_Copy(&this->subCamAt, &this->unk_5D4); } - if (this->subCamId != 0) { + if (this->subCamId != SUB_CAM_ID_DONE) { this->subCamUp.y = 1.0f; this->subCamUp.z = 0.0f; Play_SetCameraAtEyeUp(play, this->subCamId, &this->subCamAt, &this->subCamEye, &this->subCamUp); @@ -665,7 +665,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { } void func_80B86804(EnKaizoku* this, PlayState* play) { - if (this->subCamId == 0) { + if (this->subCamId == SUB_CAM_ID_DONE) { if (!CutsceneManager_IsNext(this->csId)) { CutsceneManager_Queue(this->csId); return; @@ -725,7 +725,7 @@ void func_80B868B8(EnKaizoku* this, PlayState* play) { Message_CloseTextbox(play); func_800B7298(play, &this->picto.actor, 6); CutsceneManager_Stop(this->csId); - this->subCamId = 0; + this->subCamId = SUB_CAM_ID_DONE; play->nextEntrance = play->setupExitList[this->exitIndex]; gSaveContext.nextCutsceneIndex = 0; Scene_SetExitFade(play); @@ -733,11 +733,13 @@ void func_80B868B8(EnKaizoku* this, PlayState* play) { this->unk_59C++; this->action = KAIZOKU_ACTION_16; } + break; + default: break; } - if (this->subCamId != 0) { + if (this->subCamId != SUB_CAM_ID_DONE) { this->subCamUp.x = 0.0f; this->subCamUp.y = 1.0f; this->subCamUp.z = 0.0f; @@ -861,7 +863,7 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) { play->envCtx.screenFillColor[3] = 0; play->envCtx.fillScreen = false; this->unk_59C = 0; - this->subCamId = 0; + this->subCamId = SUB_CAM_ID_DONE; func_800B7298(play, &this->picto.actor, 6); CutsceneManager_Stop(this->csId); if (this->switchFlag >= 0) { @@ -871,6 +873,9 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) { } } break; + + default: + break; } Math_ApproachF(&this->subCamEye.x, this->unk_5C8.x, 0.5f, this->unk_5E0); Math_ApproachF(&this->subCamEye.y, this->unk_5C8.y, 0.5f, this->unk_5E0); @@ -880,7 +885,7 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) { Math_ApproachF(&this->subCamAt.z, this->unk_5D4.z, 0.5f, this->unk_5E0); Math_ApproachF(&this->unk_5E0, 10.0f, 0.5f, 100.0f); - if (this->subCamId != 0) { + if (this->subCamId != SUB_CAM_ID_DONE) { this->subCamUp.x = 0.0f; this->subCamUp.z = 0.0f; this->subCamUp.y = 1.0f; @@ -990,7 +995,8 @@ void func_80B8760C(EnKaizoku* this, PlayState* play) { this->skelAnime.playSpeed = 1.0f; temp_ft0 = this->skelAnime.curFrame - this->skelAnime.playSpeed; temp_ft1 = this->skelAnime.curFrame + this->skelAnime.playSpeed; - if (this->skelAnime.curFrame != 0.0f && ((temp_ft0 < 0 && temp_ft1 > 0) || (temp_ft0 < 5 && temp_ft1 >= 6))) { + if ((this->skelAnime.curFrame != 0.0f) && + (((temp_ft0 < 0) && (temp_ft1 > 0)) || ((temp_ft0 < 5) && (temp_ft1 >= 6)))) { Actor_PlaySfx(&this->picto.actor, NA_SE_EN_GERUDOFT_WALK); } @@ -1007,12 +1013,10 @@ void func_80B8760C(EnKaizoku* this, PlayState* play) { func_80B87E28(this); } } + } else if (this->picto.actor.speed >= 0.0f) { + this->picto.actor.shape.rot.y += 0x4000; } else { - if (this->picto.actor.speed >= 0.0f) { - this->picto.actor.shape.rot.y += 0x4000; - } else { - this->picto.actor.shape.rot.y -= 0x4000; - } + this->picto.actor.shape.rot.y -= 0x4000; } } @@ -1042,8 +1046,8 @@ void func_80B8798C(EnKaizoku* this, PlayState* play) { if (this->lookTimer == 0) { this->unk_2D8 = 0; temp_v0 = this->picto.actor.yawTowardsPlayer - this->picto.actor.shape.rot.y; - if (ABS_ALT(temp_v0) <= 0x4000 && this->picto.actor.xzDistToPlayer < 40.0f && - fabsf(this->picto.actor.playerHeightRel) < 50.0f) { + if ((ABS_ALT(temp_v0) <= 0x4000) && (this->picto.actor.xzDistToPlayer < 40.0f) && + (fabsf(this->picto.actor.playerHeightRel) < 50.0f)) { if (func_800BE184(play, &this->picto.actor, 100.0f, 10000, 0x4000, this->picto.actor.shape.rot.y)) { if (player->meleeWeaponAnimation == PLAYER_MWA_JUMPSLASH_START) { this->bodyCollider.base.acFlags &= ~AC_HARD; @@ -1068,7 +1072,7 @@ void func_80B8798C(EnKaizoku* this, PlayState* play) { this->bodyCollider.base.acFlags &= ~AC_HARD; func_80B88CD8(this); } - } else if (this->unk_2B2 == 0 && + } else if ((this->unk_2B2 == 0) && func_800BE184(play, &this->picto.actor, 100.0f, 10000, 0x4000, this->picto.actor.shape.rot.y)) { if (player->meleeWeaponAnimation == PLAYER_MWA_JUMPSLASH_START) { this->bodyCollider.base.acFlags &= ~AC_HARD; @@ -1314,7 +1318,7 @@ void func_80B88378(EnKaizoku* this, PlayState* play) { } if (!func_80B85A00(this, play, false)) { - if (this->picto.actor.xzDistToPlayer < 210.0f && this->picto.actor.xzDistToPlayer > 150.0f && + if ((this->picto.actor.xzDistToPlayer < 210.0f) && (this->picto.actor.xzDistToPlayer > 150.0f) && Actor_IsFacingPlayer(&this->picto.actor, 0x1388)) { if (Actor_IsTargeted(play, &this->picto.actor)) { if (Rand_ZeroOne() > 0.5f) { @@ -1332,7 +1336,7 @@ void func_80B88378(EnKaizoku* this, PlayState* play) { Actor_PlaySfx(&this->picto.actor, NA_SE_EN_PIRATE_BREATH); } - if ((this->skelAnime.curFrame != 0.0f) && ((sp30 < 0 && sp2C > 0) || (sp30 < 4 && sp2C >= 5))) { + if ((this->skelAnime.curFrame != 0.0f) && (((sp30 < 0) && (sp2C > 0)) || ((sp30 < 4) && (sp2C >= 5)))) { Actor_PlaySfx(&this->picto.actor, NA_SE_EN_GERUDOFT_WALK); } } @@ -1414,7 +1418,7 @@ void func_80B88964(EnKaizoku* this, PlayState* play) { } this->unk_2D8 = 0; - if (this->frameCount <= curFrame && this->unk_2D0 < 2) { + if ((this->frameCount <= curFrame) && (this->unk_2D0 < 2)) { if (!Actor_IsFacingPlayer(&this->picto.actor, 0x1554)) { func_80B872A4(this); this->unk_2B2 = Rand_ZeroOne() * 5.0f + 5.0f; @@ -1584,7 +1588,7 @@ void func_80B891B8(EnKaizoku* this) { // EnKaizoku_Stunned void func_80B89280(EnKaizoku* this, PlayState* play) { if (this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_SFX) { - if (this->unk_2B8 != 0 && this->unk_2B8 < 60) { + if ((this->unk_2B8 != 0) && (this->unk_2B8 < 60)) { this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX; } } @@ -1604,8 +1608,8 @@ void func_80B89280(EnKaizoku* this, PlayState* play) { this->unk_2D8 = 0; func_80B85A00(this, play, true); - if (this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_SFX || - this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX) { + if ((this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_SFX) || + (this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX)) { Actor_SpawnIceEffects(play, &this->picto.actor, this->bodyPartsPos, ARRAY_COUNT(this->bodyPartsPos), 2, 0.7f, 0.4f); this->unk_2B8 = 0; @@ -1655,7 +1659,7 @@ void func_80B894C0(EnKaizoku* this, PlayState* play) { } } - if (this->picto.actor.xzDistToPlayer <= 65.0f && ((play->gameplayFrames % 8) != 0)) { + if ((this->picto.actor.xzDistToPlayer <= 65.0f) && ((play->gameplayFrames % 8) != 0)) { this->swordCollider.info.elemType = ELEMTYPE_UNK2; func_80B87F70(this); } else { @@ -1717,7 +1721,7 @@ void func_80B8971C(EnKaizoku* this, PlayState* play) { if (curFrame >= 25.0f) { player = GET_PLAYER(play); - if (this->subCamId == 0) { + if (this->subCamId == SUB_CAM_ID_DONE) { if (!CutsceneManager_IsNext(this->csId)) { CutsceneManager_Queue(this->csId); return; @@ -1743,7 +1747,7 @@ void func_80B8971C(EnKaizoku* this, PlayState* play) { player->actor.shape.rot.y = player->actor.world.rot.y = Math_Vec3f_Yaw(&player->actor.world.pos, &this->picto.actor.world.pos); - if (this->subCamId != 0) { + if (this->subCamId != SUB_CAM_ID_DONE) { this->subCamUp.x = 0.0f; this->subCamUp.y = 1.0f; this->subCamUp.z = 0.0f; @@ -1775,7 +1779,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) { if (!(this->swordCollider.base.atFlags & AT_BOUNCED) && (this->swordCollider.base.atFlags & AT_HIT)) { if ((gSaveContext.save.saveInfo.playerData.health <= 0x10) && (this->action != KAIZOKU_ACTION_16)) { this->unk_2D0 = 2; - this->subCamId = 0; + this->subCamId = SUB_CAM_ID_DONE; this->picto.actor.flags |= ACTOR_FLAG_100000; if (!CutsceneManager_IsNext(this->csId)) { @@ -1793,7 +1797,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) { if ((gSaveContext.save.saveInfo.playerData.health <= 0x10) && (this->action != KAIZOKU_ACTION_16)) { Health_ChangeBy(play, 0x10); this->unk_2D0 = 2; - this->subCamId = 0; + this->subCamId = SUB_CAM_ID_DONE; this->picto.actor.flags |= ACTOR_FLAG_100000; if (!CutsceneManager_IsNext(this->csId)) { @@ -1833,7 +1837,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) { this->unk_2B8 = 40; this->drawDmgEffType = ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_MEDIUM; } - /* fallthrough */ + // fallthrough case KAIZOKU_DMGEFF_1: if (((this->drawDmgEffType != ACTOR_DRAW_DMGEFF_FROZEN_SFX) && (this->drawDmgEffType != ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX)) || @@ -1908,6 +1912,9 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) { sp64 = 1; } break; + + default: + break; } if (sp64) { @@ -2104,11 +2111,11 @@ void EnKaizoku_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* Matrix_MultVec3f(&sFootOffset, &this->rightFootPos); } - if (limbIndex == KAIZOKU_LIMB_02 || limbIndex == KAIZOKU_LIMB_06 || limbIndex == KAIZOKU_LIMB_07 || - limbIndex == KAIZOKU_LIMB_08 || limbIndex == KAIZOKU_LIMB_0A || limbIndex == KAIZOKU_LIMB_0C || - limbIndex == KAIZOKU_LIMB_0D || limbIndex == KAIZOKU_LIMB_0F || limbIndex == KAIZOKU_LIMB_11 || - limbIndex == KAIZOKU_LIMB_12 || limbIndex == KAIZOKU_LIMB_L_FOOT || limbIndex == KAIZOKU_LIMB_14 || - limbIndex == KAIZOKU_LIMB_15 || limbIndex == KAIZOKU_LIMB_R_FOOT || limbIndex == KAIZOKU_LIMB_17) { + if ((limbIndex == KAIZOKU_LIMB_02) || (limbIndex == KAIZOKU_LIMB_06) || (limbIndex == KAIZOKU_LIMB_07) || + (limbIndex == KAIZOKU_LIMB_08) || (limbIndex == KAIZOKU_LIMB_0A) || (limbIndex == KAIZOKU_LIMB_0C) || + (limbIndex == KAIZOKU_LIMB_0D) || (limbIndex == KAIZOKU_LIMB_0F) || (limbIndex == KAIZOKU_LIMB_11) || + (limbIndex == KAIZOKU_LIMB_12) || (limbIndex == KAIZOKU_LIMB_L_FOOT) || (limbIndex == KAIZOKU_LIMB_14) || + (limbIndex == KAIZOKU_LIMB_15) || (limbIndex == KAIZOKU_LIMB_R_FOOT) || (limbIndex == KAIZOKU_LIMB_17)) { Matrix_MultZero(&this->bodyPartsPos[this->bodyPartsPosIndex]); this->bodyPartsPosIndex++; diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 73de78707..86d74f69a 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -157,7 +157,7 @@ void EnKakasi_Init(Actor* thisx, PlayState* play) { this->unkHeight = (this->picto.actor.world.rot.z * 20.0f) + 60.0f; this->picto.actor.world.rot.z = 0; this->picto.actor.targetMode = 0; - if (this->picto.actor.world.rot.x > 0 && this->picto.actor.world.rot.x < 8) { + if ((this->picto.actor.world.rot.x > 0) && (this->picto.actor.world.rot.x < 8)) { this->picto.actor.targetMode = KAKASI_GET_TARGETMODE(thisx); } this->picto.actor.shape.rot.y = this->picto.actor.world.rot.y; @@ -208,12 +208,12 @@ s32 EnKakasi_ValidatePictograph(PlayState* play, Actor* thisx) { } void EnKakasi_CheckAnimationSfx(EnKakasi* this) { - if (this->animIndex == ENKAKASI_ANIM_SIDEWAYS_SHAKING || this->animIndex == ENKAKASI_ANIM_ARMS_CROSSED_STILL) { + if ((this->animIndex == ENKAKASI_ANIM_SIDEWAYS_SHAKING) || (this->animIndex == ENKAKASI_ANIM_ARMS_CROSSED_STILL)) { if (Animation_OnFrame(&this->skelanime, 1.0f) || Animation_OnFrame(&this->skelanime, 8.0f)) { Actor_PlaySfx(&this->picto.actor, NA_SE_EV_KAKASHI_SWING); } } - if (this->animIndex == ENKAKASI_ANIM_HOPPING_REGULAR || this->animIndex == ENKAKASI_ANIM_SLOWROLL) { + if ((this->animIndex == ENKAKASI_ANIM_HOPPING_REGULAR) || (this->animIndex == ENKAKASI_ANIM_SLOWROLL)) { if (Animation_OnFrame(&this->skelanime, 4.0f) || Animation_OnFrame(&this->skelanime, 8.0f)) { Actor_PlaySfx(&this->picto.actor, NA_SE_EV_KAKASHI_SWING); } @@ -225,7 +225,7 @@ void EnKakasi_CheckAnimationSfx(EnKakasi* this) { Actor_PlaySfx(&this->picto.actor, NA_SE_EV_KAKASHI_ROLL); } } - if (this->animIndex == ENKAKASI_ANIM_SPIN_REACH_OFFER || this->animIndex == ENKAKASI_ANIM_TWIRL) { + if ((this->animIndex == ENKAKASI_ANIM_SPIN_REACH_OFFER) || (this->animIndex == ENKAKASI_ANIM_TWIRL)) { if (Animation_OnFrame(&this->skelanime, 1.0f)) { Actor_PlaySfx(&this->picto.actor, NA_SE_EV_KAKASH_LONGI_ROLL); } @@ -274,12 +274,12 @@ void func_8096FAAC(EnKakasi* this, PlayState* play) { * goes off every frame of song teach, but... doing what? */ void func_8096FBB8(EnKakasi* this, PlayState* play) { - if (play->msgCtx.unk12048 == 0 || play->msgCtx.unk12048 == 1 || play->msgCtx.unk12048 == 2 || - play->msgCtx.unk12048 == 3 || play->msgCtx.unk12048 == 4) { + if ((play->msgCtx.unk12048 == 0) || (play->msgCtx.unk12048 == 1) || (play->msgCtx.unk12048 == 2) || + (play->msgCtx.unk12048 == 3) || (play->msgCtx.unk12048 == 4)) { // why not 0 < x < 4? fewer branches this->unk190++; } - if (this->unk190 != 0 && this->animIndex != ENKAKASI_ANIM_SIDEWAYS_SHAKING) { + if ((this->unk190 != 0) && (this->animIndex != ENKAKASI_ANIM_SIDEWAYS_SHAKING)) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); } if (this->unk190 > 8) { @@ -299,8 +299,8 @@ void EnKakasi_InitTimeSkipDialogue(EnKakasi* this) { void EnKakasi_TimeSkipDialogue(EnKakasi* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (gSaveContext.respawnFlag != -4 && gSaveContext.respawnFlag != -8) { - if (gSaveContext.save.time != CLOCK_TIME(6, 0) && gSaveContext.save.time != CLOCK_TIME(18, 0) && + if ((gSaveContext.respawnFlag != -4) && (gSaveContext.respawnFlag != -8)) { + if ((gSaveContext.save.time != CLOCK_TIME(6, 0)) && (gSaveContext.save.time != CLOCK_TIME(18, 0)) && !CHECK_EVENTINF(EVENTINF_17)) { if (this->picto.actor.textId == 0) { @@ -359,7 +359,7 @@ void EnKakasi_IdleStanding(EnKakasi* this, PlayState* play) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); this->skelanime.playSpeed = 2.0f; } - } else if (saveContextDay == 3 && gSaveContext.save.isNight) { + } else if ((saveContextDay == 3) && gSaveContext.save.isNight) { this->skelanime.playSpeed = 1.0f; if (this->animIndex != ENKAKASI_ANIM_SIDEWAYS_SHAKING) { EnKakasi_ChangeAnim(this, 1); @@ -391,16 +391,16 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { Math_SmoothStepToS(&this->picto.actor.shape.rot.y, this->picto.actor.yawTowardsPlayer, 5, 2000, 0); // if first dialogue - if (this->picto.actor.textId != 0x1644 && this->animeFrameCount <= currentAnimeFrame && - this->animIndex == ENKAKASI_ANIM_SLOWROLL) { + if ((this->picto.actor.textId != 0x1644) && (this->animeFrameCount <= currentAnimeFrame) && + (this->animIndex == ENKAKASI_ANIM_SLOWROLL)) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SPIN_REACH_OFFER); this->unkCounter1A4 = 0; } // if dialogue: oh sorry come back again - if (this->picto.actor.textId == 0x1651 || this->picto.actor.textId == 0x1659) { - if (this->animeFrameCount <= currentAnimeFrame && this->animIndex != ENKAKASI_ANIM_SPIN_REACH_OFFER) { + if ((this->picto.actor.textId == 0x1651) || (this->picto.actor.textId == 0x1659)) { + if ((this->animeFrameCount <= currentAnimeFrame) && (this->animIndex != ENKAKASI_ANIM_SPIN_REACH_OFFER)) { if (++this->unkCounter1A4 >= 2) { this->unkCounter1A4 = 0; EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SPIN_REACH_OFFER); @@ -408,7 +408,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { } } - if (this->unkState1A8 == 2 && this->unkState196 == 2) { + if ((this->unkState1A8 == 2) && (this->unkState196 == 2)) { func_800B7298(play, &this->picto.actor, PLAYER_CSMODE_73); this->unkState1A8 = 0; } @@ -417,7 +417,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { Message_CloseTextbox(play); if (this->talkState == TEXT_STATE_5) { // bad song input - if (this->unkState196 == 2 && this->picto.actor.textId == 0x1647) { + if ((this->unkState196 == 2) && (this->picto.actor.textId == 0x1647)) { func_800B7298(play, &this->picto.actor, PLAYER_CSMODE_END); } @@ -429,7 +429,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); } - if (saveContextDay2 == 3 && gSaveContext.save.isNight) { + if ((saveContextDay2 == 3) && gSaveContext.save.isNight) { // text: dangerous outside this->picto.actor.textId = 0x164F; } else if (gSaveContext.save.isNight) { @@ -443,8 +443,8 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { Message_ContinueTextbox(play, this->picto.actor.textId); return; - } else if (this->picto.actor.textId == 0x165D || this->picto.actor.textId == 0x165F || - this->picto.actor.textId == 0x1660 || this->picto.actor.textId == 0x1652) { + } else if ((this->picto.actor.textId == 0x165D) || (this->picto.actor.textId == 0x165F) || + (this->picto.actor.textId == 0x1660) || (this->picto.actor.textId == 0x1652)) { func_800B7298(play, &this->picto.actor, PLAYER_CSMODE_4); if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); @@ -462,7 +462,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { } return; - } else if (this->picto.actor.textId == 0x1645 || this->picto.actor.textId == 0x164E) { + } else if ((this->picto.actor.textId == 0x1645) || (this->picto.actor.textId == 0x164E)) { this->picto.actor.textId = 0x1650; // "Shall we dance? No Yes" if (this->animIndex != ENKAKASI_ANIM_SIDEWAYS_SHAKING) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); @@ -517,7 +517,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { this->picto.actor.textId = 0x1658; } else if (this->picto.actor.textId == 0x165C) { this->picto.actor.textId = 0x165E; - } else if (saveContextDay == 3 && gSaveContext.save.isNight) { + } else if ((saveContextDay == 3) && gSaveContext.save.isNight) { this->picto.actor.textId = 0x164F; } else { this->picto.actor.textId = 0x1652; @@ -642,11 +642,12 @@ void EnKakasi_TeachingSong(EnKakasi* this, PlayState* play) { void EnKakasi_PostSongLearnTwirl(EnKakasi* this, PlayState* play) { f32 animeFrame = this->skelanime.curFrame; - if (this->postTeachTimer == 0 && this->animIndex != ENKAKASI_ANIM_TWIRL) { + if ((this->postTeachTimer == 0) && (this->animIndex != ENKAKASI_ANIM_TWIRL)) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_TWIRL); this->skelanime.playSpeed = 2.0f; } - if (this->postTeachTimer == 0 && this->animIndex == ENKAKASI_ANIM_TWIRL && this->animeFrameCount <= animeFrame) { + if ((this->postTeachTimer == 0) && (this->animIndex == ENKAKASI_ANIM_TWIRL) && + (this->animeFrameCount <= animeFrame)) { EnKakasi_SetupPostSongLearnDialogue(this, play); } } @@ -682,16 +683,16 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) { this->unk190 = 1; } - if (this->picto.actor.textId == 0x1648 && this->animIndex == ENKAKASI_ANIM_HOPPING_REGULAR && - this->animeFrameCount <= tempAnimFrame) { + if ((this->picto.actor.textId == 0x1648) && (this->animIndex == ENKAKASI_ANIM_HOPPING_REGULAR) && + (this->animeFrameCount <= tempAnimFrame)) { this->unkCounter1A4++; if (this->unkCounter1A4 >= 2) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_ARMS_CROSSED_ROCKING); } } - if (this->picto.actor.textId == 0x164B && this->animIndex == ENKAKASI_ANIM_ARMS_CROSSED_ROCKING && - this->animeFrameCount <= tempAnimFrame) { + if ((this->picto.actor.textId == 0x164B) && (this->animIndex == ENKAKASI_ANIM_ARMS_CROSSED_ROCKING) && + (this->animeFrameCount <= tempAnimFrame)) { this->unkCounter1A4++; if (this->unkCounter1A4 >= 2) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SPIN_REACH_OFFER); @@ -762,7 +763,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_TWIRL); } else { - if (this->picto.actor.textId == 0x164C || this->picto.actor.textId == 0x1661) { + if ((this->picto.actor.textId == 0x164C) || (this->picto.actor.textId == 0x1661)) { EnKakasi_SetupDigAway(this); return; } @@ -797,7 +798,7 @@ void EnKakasi_DancingRemark(EnKakasi* this, PlayState* play) { } else { CutsceneManager_StartWithPlayerCs(this->csIdList[0], &this->picto.actor); this->subCamId = CutsceneManager_GetCurrentSubCamId(this->picto.actor.csId); - if (currentDay == 3 && gSaveContext.save.isNight) { + if ((currentDay == 3) && gSaveContext.save.isNight) { EnKakasi_SetupDigAway(this); } else { Audio_PlaySubBgm(NA_BGM_SARIAS_SONG); @@ -833,15 +834,14 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { Math_Vec3f_Copy(&localVec3f, &this->subCamEyeNext); OLib_Vec3fAdd(&this->picto.actor.home, &localVec3f, &this->subCamEyeNext, OLIB_ADD_OFFSET); - if (1) {} this->subCamAtNext.x = D_80971EEC[this->unk190].x + this->unk22C.x; this->subCamAtNext.y = D_80971EEC[this->unk190].y + this->unk22C.y; this->subCamAtNext.z = D_80971EEC[this->unk190].z + this->unk22C.z; - if (this->unk190 != 6 && this->unk190 != 7) { + if ((this->unk190 != 6) && (this->unk190 != 7)) { Math_Vec3f_Copy(&this->subCamEye, &this->subCamEyeNext); Math_Vec3f_Copy(&this->subCamAt, &this->subCamAtNext); } - if (this->unk190 >= 7 && this->unk190 != 0xE) { + if ((this->unk190 >= 7) && (this->unk190 != 0xE)) { this->picto.actor.shape.rot.y += 0x800; } @@ -853,57 +853,64 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { // twirling this->unk204 = 0x28; this->unk190++; - return; + break; + case 1: // end of twirl, start shaking back and forth - if (this->unk204 == 0 && this->animeFrameCount <= currentFrame) { + if ((this->unk204 == 0) && (this->animeFrameCount <= currentFrame)) { this->unk204 = 0x14; this->unk190++; EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); } - return; + break; + case 2: // camera view on the left if (this->unk204 == 0) { this->unk204 = 0x14; this->unk190++; } - return; + break; + case 3: // camera view on the right if (this->unk204 == 0) { this->unk204 = 0x14; this->unk190++; } - return; + break; + case 4: // camera view close up front if (this->unk204 == 0) { this->unk204 = 0x14; this->unk190++; } - return; + break; + case 5: // camera view zoomed out front if (this->unk204 == 0) { this->unk204 = 0xF; this->unk190++; } - return; + break; + case 6: // zoom in and sweep down in from case 5 if (this->unk204 == 0) { this->unk204 = 0xF; this->unk190++; } - return; + break; + case 7: // zoom in close from case 6 if (this->unk204 == 0) { this->unk204 = 0xA; this->unk190++; } - return; + break; case 8: case 9: @@ -921,7 +928,8 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { this->unk204 = 0x14; } } - return; + break; + case 14: // goes off once for some camera changes, // otherwise it's the end when camera is back to normal and Player is confused @@ -933,10 +941,7 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { PLAYER_PARAMS(0xFF, PLAYER_INITMODE_B), &player->unk_3C0, player->unk_3CC); func_80169EFC(&play->state); - //! FAKE - if (1) {} - - if (gSaveContext.save.time > CLOCK_TIME(18, 0) || gSaveContext.save.time < CLOCK_TIME(6, 0)) { + if ((gSaveContext.save.time > CLOCK_TIME(18, 0)) || (gSaveContext.save.time < CLOCK_TIME(6, 0))) { gSaveContext.save.time = CLOCK_TIME(6, 0); gSaveContext.respawnFlag = -4; SET_EVENTINF(EVENTINF_27); @@ -948,6 +953,10 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) { this->unk190 = 0; this->actionFunc = EnKakasi_DoNothing; } + break; + + default: + break; } } @@ -1031,8 +1040,8 @@ void EnKakasi_SetupIdleUnderground(EnKakasi* this) { } void EnKakasi_IdleUnderground(EnKakasi* this, PlayState* play) { - if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_08) && this->picto.actor.xzDistToPlayer < this->songSummonDist && - (BREG(1) != 0 || play->msgCtx.ocarinaMode == 0xD)) { + if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_08) && (this->picto.actor.xzDistToPlayer < this->songSummonDist) && + ((BREG(1) != 0) || (play->msgCtx.ocarinaMode == 0xD))) { this->picto.actor.flags &= ~ACTOR_FLAG_CANT_LOCK_ON; play->msgCtx.ocarinaMode = 4; this->actionFunc = EnKakasi_SetupRiseOutOfGround; @@ -1119,7 +1128,7 @@ void EnKakasi_Update(Actor* thisx, PlayState* play) { DECR(this->unk204); if (this->unkState196 != 5) { - if (this->unk1BC.x != 0.0f || this->unk1BC.z != 0.0f) { + if ((this->unk1BC.x != 0.0f) || (this->unk1BC.z != 0.0f)) { Math_Vec3f_Copy(&this->picto.actor.focus.pos, &this->unk1BC); this->picto.actor.focus.pos.y += 10.0f; if (this->subCamId == SUB_CAM_ID_DONE) { diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c index ea7faef57..fbb8346e5 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c @@ -159,7 +159,7 @@ void func_80B2654C(EnKendoJs* this, PlayState* play) { s32 phi_v0; s32 sp30; - if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) { + if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { if (CURRENT_DAY != 0) { sp30 = CURRENT_DAY - 1; } else { diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c index dd26ba172..e80807b08 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c @@ -72,7 +72,7 @@ void EnKgy_Init(Actor* thisx, PlayState* play) { this->actionFunc = func_80B419B0; this->actor.textId = 0xC4E; this->unk_29C |= 1; - this->unk_2EA = 3; + this->getItemId = GI_RUPEE_10; } else { EnKgy_ChangeAnim(this, 4, ANIMMODE_LOOP, 0); this->actionFunc = func_80B42714; @@ -420,12 +420,12 @@ void func_80B4163C(EnKgy* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { if (this->unk_2D2 == 6) { - if (this->unk_2EA > 0) { + if (this->getItemId > GI_NONE) { EnKgy_ChangeAnim(this, 6, ANIMMODE_ONCE, 0.0f); - this->unk_2EA--; + this->getItemId--; } else { EnKgy_ChangeAnim(this, 9, ANIMMODE_ONCE, -5.0f); - this->unk_2EA = (s32)Rand_ZeroFloat(3.0f) + 2; + this->getItemId = (s32)Rand_ZeroFloat(GI_RUPEE_PURPLE - GI_RUPEE_BLUE) + GI_RUPEE_BLUE; } } else { EnKgy_ChangeAnim(this, 6, ANIMMODE_ONCE, -5.0f); @@ -598,7 +598,7 @@ void func_80B41D64(EnKgy* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_10000; func_800B8500(&this->actor, play, 1000.0f, 1000.0f, PLAYER_IA_MINUS1); } else { - Actor_OfferGetItem(&this->actor, play, this->unk_2EA, 2000.0f, 1000.0f); + Actor_OfferGetItem(&this->actor, play, this->getItemId, 2000.0f, 1000.0f); } func_80B40EE8(this, play); } @@ -790,16 +790,16 @@ void func_80B41E18(EnKgy* this, PlayState* play) { case 0xC50: if (func_80B40D8C(play)) { - this->unk_2EA = 57; + this->getItemId = GI_SWORD_GILDED; this->actor.textId = 0xC53; } else { - this->unk_2EA = 56; + this->getItemId = GI_SWORD_RAZOR; this->actor.textId = 0xC51; } Message_CloseTextbox(play); this->actionFunc = func_80B41D64; func_80B413C8(this); - Actor_OfferGetItem(&this->actor, play, this->unk_2EA, 2000.0f, 1000.0f); + Actor_OfferGetItem(&this->actor, play, this->getItemId, 2000.0f, 1000.0f); break; case 0xC51: diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h index 8207678fd..94f2aabd5 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h @@ -31,7 +31,7 @@ typedef struct EnKgy { /* 0x2E4 */ s16 unk_2E4; /* 0x2E6 */ s16 unk_2E6; /* 0x2E8 */ s16 unk_2E8; - /* 0x2EA */ s16 unk_2EA; + /* 0x2EA */ s16 getItemId; /* 0x2EC */ LightInfo lightInfo; /* 0x2FC */ LightNode* lightNode; /* 0x300 */ s16 unk_300; diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c index cc333b2ae..908bbf374 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c @@ -112,7 +112,7 @@ void EnLookNuts_Init(Actor* thisx, PlayState* play) { this->actor.targetMode = 1; Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit); this->actor.flags |= ACTOR_FLAG_CANT_LOCK_ON; - this->pathLocation = LOOKNUTS_GET_PATROL_LOCATION(&this->actor); + this->pathIndex = LOOKNUTS_GET_PATH_INDEX(&this->actor); this->switchFlag = LOOKNUTS_GET_SCENE_FLAG(&this->actor); this->spawnIndex = LOOKNUTS_GET_SPAWN_INDEX(&this->actor); @@ -123,7 +123,7 @@ void EnLookNuts_Init(Actor* thisx, PlayState* play) { Actor_Kill(&this->actor); return; } - if (this->pathLocation == 0x1F) { + if (this->pathIndex == LOOKNUTS_PATH_INDEX_NONE) { Actor_Kill(&this->actor); return; } @@ -165,17 +165,17 @@ void EnLookNuts_Patrol(EnLookNuts* this, PlayState* play) { return; } - this->path = SubS_GetPathByIndex(play, this->pathLocation, 0x1F); + this->path = SubS_GetPathByIndex(play, this->pathIndex, LOOKNUTS_PATH_INDEX_NONE); if (this->path != NULL) { - sp34 = SubS_GetDistSqAndOrientPath(this->path, this->currentPathIndex, &this->actor.world.pos, &sp30); + sp34 = SubS_GetDistSqAndOrientPath(this->path, this->waypointIndex, &this->actor.world.pos, &sp30); } //! @bug sp30 is uninitialised if path == NULL. Fix by enclosing everything in the path NULL check. if (sp30 < 10.0f) { if (this->path != NULL) { - this->currentPathIndex++; - if (this->currentPathIndex >= this->path->count) { - this->currentPathIndex = 0; + this->waypointIndex++; + if (this->waypointIndex >= this->path->count) { + this->waypointIndex = 0; } if (Rand_ZeroOne() < 0.6f) { EnLookNuts_SetupStandAndWait(this); diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h index b72215ce6..92c24cfbd 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h @@ -10,7 +10,9 @@ typedef void (*EnLookNutsActionFunc)(struct EnLookNuts*, PlayState*); #define LOOKNUTS_GET_SPAWN_INDEX(thisx) (((thisx)->params >> 0xC) & 0xF) #define LOOKNUTS_GET_SCENE_FLAG(thisx) ((thisx)->params & 0x7F) -#define LOOKNUTS_GET_PATROL_LOCATION(thisx) (((thisx)->params >> 0x7) & 0x1F) +#define LOOKNUTS_GET_PATH_INDEX(thisx) (((thisx)->params >> 0x7) & 0x1F) + +#define LOOKNUTS_PATH_INDEX_NONE 0x1F typedef struct EnLookNuts { /* 0x000 */ Actor actor; @@ -19,13 +21,13 @@ typedef struct EnLookNuts { /* 0x1CA */ Vec3s morphTable[DEKU_PALACE_GUARD_LIMB_MAX]; /* 0x20C */ EnLookNutsActionFunc actionFunc; /* 0x210 */ Path *path; - /* 0x214 */ s16 currentPathIndex; // Index for the point where the deku guard is in its path + /* 0x214 */ s16 waypointIndex; // Index for the point where the deku guard is in its path /* 0x216 */ s16 eyeState; /* 0x218 */ s16 blinkTimer; /* 0x21A */ s16 eventTimer; // Timer to trigger when another event within the actor will happen /* 0x21C */ s16 state; /* 0x21E */ s16 switchFlag; - /* 0x220 */ s16 pathLocation; // Determines path that a guard will patrol + /* 0x220 */ s16 pathIndex; // Determines path that a guard will patrol /* 0x222 */ s16 isPlayerDetected; /* 0x224 */ s16 waitTimer; // Timer for how long the deku guard will take a break for /* 0x226 */ s16 spawnIndex; diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c index 7fb2a13a3..d295b1c7f 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c @@ -163,9 +163,9 @@ void EnMa4_InitPath(EnMa4* this, PlayState* play) { Path* path; Vec3f nextPoint; - path = &play->setupPathList[(this->actor.params & 0xFF00) >> 8]; + path = &play->setupPathList[ENMA_GET_PATH_INDEX(&this->actor)]; this->pathPoints = Lib_SegmentedToVirtual(path->points); - this->pathIndex = 0; + this->waypointIndex = 0; this->pathPointsCount = path->count; this->actor.home.pos.x = this->pathPoints[0].x; @@ -252,7 +252,7 @@ void EnMa4_RunInCircles(EnMa4* this, PlayState* play) { s32 pad; s16 sp2E; - if (sAnimIndex != 9 && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { + if ((sAnimIndex != 9) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { if (sAnimIndex == 3) { if (D_80AC0250 < 3) { D_80AC0250++; @@ -268,13 +268,13 @@ void EnMa4_RunInCircles(EnMa4* this, PlayState* play) { } } - if (sAnimIndex == 13 && Animation_OnFrame(&this->skelAnime, 37.0f)) { + if ((sAnimIndex == 13) && Animation_OnFrame(&this->skelAnime, 37.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EV_ROMANI_BOW_FLICK); } - sp34.x = this->pathPoints[this->pathIndex].x; - sp34.y = this->pathPoints[this->pathIndex].y; - sp34.z = this->pathPoints[this->pathIndex].z; + sp34.x = this->pathPoints[this->waypointIndex].x; + sp34.y = this->pathPoints[this->waypointIndex].y; + sp34.z = this->pathPoints[this->waypointIndex].z; sp2E = Math_Vec3f_Yaw(&this->actor.world.pos, &sp34); if (Math_Vec3f_DistXZ(&this->actor.world.pos, &sp34) > 50.0f) { Math_SmoothStepToS(&this->actor.world.rot.y, sp2E, 10, 0x3000, 0x100); @@ -291,10 +291,10 @@ void EnMa4_RunInCircles(EnMa4* this, PlayState* play) { } } - if (this->pathIndex < this->pathPointsCount - 1) { - this->pathIndex++; + if (this->waypointIndex < (this->pathPointsCount - 1)) { + this->waypointIndex++; } else { - this->pathIndex = 0; + this->waypointIndex = 0; } } @@ -345,7 +345,7 @@ void EnMa4_Wait(EnMa4* this, PlayState* play) { } } - if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) { + if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { EnMa4_StartDialogue(this, play); EnMa4_SetupDialogueHandler(this); } else if (this->type != MA4_TYPE_ALIENS_WON || ABS_ALT(yaw) < 0x4000) { @@ -483,6 +483,9 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) { func_80151BB4(play, 5); } break; + + default: + break; } } } @@ -614,6 +617,9 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, PlayState* play) { this->textId = 0x3359; } break; + + default: + break; } } } @@ -629,9 +635,6 @@ void EnMa4_SetupDialogueHandler(EnMa4* this) { void EnMa4_DialogueHandler(EnMa4* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - default: - break; - case TEXT_STATE_CHOICE: // Player answered a question EnMa4_HandlePlayerChoice(this, play); break; @@ -652,6 +655,9 @@ void EnMa4_DialogueHandler(EnMa4* this, PlayState* play) { case TEXT_STATE_CLOSING: case TEXT_STATE_3: break; + + default: + break; } if (this->type != MA4_TYPE_ALIENS_WON) { @@ -818,12 +824,15 @@ void EnMa4_EponasSongCs(EnMa4* this, PlayState* play) { this->hasBow = false; EnMa4_ChangeAnim(this, 4); break; + + default: + break; } } } Cutscene_ActorTranslateAndYaw(&this->actor, play, cueChannel); - if (sCueId == 2 && this->animTimer == 0 && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { + if ((sCueId == 2) && (this->animTimer == 0) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { EnMa4_ChangeAnim(this, 7); } } else { @@ -845,7 +854,7 @@ void EnMa4_EndEponasSongCs(EnMa4* this, PlayState* play) { Player* player = GET_PLAYER(play); this->actor.flags |= ACTOR_FLAG_10000; - if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) { + if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { player->stateFlags1 &= ~PLAYER_STATE1_20; Message_StartTextbox(play, 0x334C, &this->actor); this->textId = 0x334C; @@ -1054,7 +1063,9 @@ void EnMa4_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, } else if (limbIndex == ROMANI_LIMB_LEFT_HAND) { if (this->hasBow == true) { OPEN_DISPS(play->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, gRomaniBowDL); + CLOSE_DISPS(play->state.gfxCtx); } } @@ -1064,6 +1075,7 @@ void EnMa4_Draw(Actor* thisx, PlayState* play) { EnMa4* this = THIS; OPEN_DISPS(play->state.gfxCtx); + if (this->type == MA4_TYPE_ALIENS_WON) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gRomaniWoodenBoxDL); diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h index 91876c938..dfedd3330 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h @@ -8,6 +8,8 @@ struct EnMa4; typedef void (*EnMa4ActionFunc)(struct EnMa4*, PlayState*); +#define ENMA_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF00) >> 8) + typedef struct EnMa4 { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; @@ -19,7 +21,7 @@ typedef struct EnMa4 { /* 0x28E */ UNK_TYPE1 unk28E[0x6]; /* 0x294 */ Vec3s morphTable[ROMANI_LIMB_MAX]; /* 0x31E */ UNK_TYPE1 unk31E[0x6]; - /* 0x324 */ s16 pathIndex; + /* 0x324 */ s16 waypointIndex; /* 0x326 */ s16 pathPointsCount; /* 0x328 */ UNK_TYPE1 unk_328[0x2]; /* 0x32A */ s16 blinkTimer; diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c index 89ee4aada..00281d6e4 100644 --- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c +++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c @@ -153,7 +153,7 @@ void EnMaYto_Init(Actor* thisx, PlayState* play) { this->unk320 = 0; this->eyeTexIndex = 0; - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { EnMaYto_SetFaceExpression(this, 0, 1); } else { EnMaYto_SetFaceExpression(this, 5, 2); @@ -186,13 +186,13 @@ void EnMaYto_Init(Actor* thisx, PlayState* play) { s32 EnMaYto_CheckValidSpawn(EnMaYto* this, PlayState* play) { switch (this->type) { case MA_YTO_TYPE_DEFAULT: - if (CURRENT_DAY == 3 && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 3) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { return false; } break; case MA_YTO_TYPE_DINNER: - if (CURRENT_DAY != 1 && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY != 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { return false; } break; @@ -205,7 +205,7 @@ s32 EnMaYto_CheckValidSpawn(EnMaYto* this, PlayState* play) { } else if (((this->actor.params & 0x0F00) >> 8) == 0) { return false; } - if (gSaveContext.save.time >= CLOCK_TIME(20, 0) && CURRENT_DAY == 3) { + if ((gSaveContext.save.time >= CLOCK_TIME(20, 0)) && (CURRENT_DAY == 3)) { return false; } break; @@ -218,6 +218,7 @@ s32 EnMaYto_CheckValidSpawn(EnMaYto* this, PlayState* play) { break; case MA_YTO_TYPE_4: + default: break; } @@ -304,8 +305,8 @@ s32 EnMaYto_SearchRomani(EnMaYto* this, PlayState* play) { EnMaYts* romani = (EnMaYts*)npcActor; s16 romaniType = EN_MA_YTS_GET_TYPE(&romani->actor); - if ((this->type == MA_YTO_TYPE_DINNER && romaniType == MA_YTS_TYPE_SITTING) || - (this->type == MA_YTO_TYPE_BARN && romaniType == MA_YTS_TYPE_BARN)) { + if (((this->type == MA_YTO_TYPE_DINNER) && (romaniType == MA_YTS_TYPE_SITTING)) || + ((this->type == MA_YTO_TYPE_BARN) && (romaniType == MA_YTS_TYPE_BARN))) { this->actor.child = &romani->actor; romani->actor.parent = &this->actor; return true; @@ -394,8 +395,8 @@ void EnMaYto_DefaultWait(EnMaYto* this, PlayState* play) { s16 direction; direction = rotY - this->actor.yawTowardsPlayer; - if (Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.home.rot.y, 5, 0x3000, 0x100) == 0 && - this->animIndex == 1) { + if (!Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.home.rot.y, 5, 0x3000, 0x100) && + (this->animIndex == 1)) { this->animIndex = 11; EnMaYto_ChangeAnim(this, 11); } @@ -439,7 +440,7 @@ void EnMaYto_DefaultDialogueHandler(EnMaYto* this, PlayState* play) { } Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 5, 0x3000, 0x100); - if (this->textId == 0x3395 && this->skelAnime.animation == &gCremiaSpreadArmsStartAnim && + if ((this->textId == 0x3395) && (this->skelAnime.animation == &gCremiaSpreadArmsStartAnim) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { EnMaYto_ChangeAnim(this, 4); } @@ -490,12 +491,15 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, PlayState* play) { this->textId = 0x3396; func_80151BB4(play, 6); break; + + default: + break; } } } void EnMaYto_SetupDinnerWait(EnMaYto* this) { - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { func_80B90E50(this, 0); this->unk31E = 0; } else { @@ -516,7 +520,7 @@ void EnMaYto_DinnerWait(EnMaYto* this, PlayState* play) { } else { Actor* child = this->actor.child; - if (child != NULL && Actor_ProcessTalkRequest(child, &play->state)) { + if ((child != NULL) && Actor_ProcessTalkRequest(child, &play->state)) { Actor_ChangeFocus(&this->actor, play, &this->actor); EnMaYto_DinnerStartDialogue(this, play); EnMaYto_SetupDinnerDialogueHandler(this); @@ -524,7 +528,7 @@ void EnMaYto_DinnerWait(EnMaYto* this, PlayState* play) { func_800B8614(&this->actor, play, 120.0f); child = this->actor.child; - if (child != NULL && CURRENT_DAY != 2) { + if ((child != NULL) && (CURRENT_DAY != 2)) { s16 childDirection = child->shape.rot.y - child->yawTowardsPlayer; if (ABS_ALT(childDirection) < 0x4000) { @@ -536,7 +540,7 @@ void EnMaYto_DinnerWait(EnMaYto* this, PlayState* play) { } void EnMaYto_SetupDinnerDialogueHandler(EnMaYto* this) { - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { func_80B90E50(this, 1); } else { func_80B90E50(this, 2); @@ -682,12 +686,15 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, PlayState* play) { this->textId = 0x33A8; func_80151BB4(play, 6); break; + + default: + break; } } } void EnMaYto_SetupBarnWait(EnMaYto* this) { - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { EnMaYto_ChangeAnim(this, 13); func_80B90E50(this, 0); this->unk31E = 0; @@ -711,11 +718,11 @@ void EnMaYto_BarnWait(EnMaYto* this, PlayState* play) { } else { Actor* child = this->actor.child; - if (child != NULL && Actor_ProcessTalkRequest(child, &play->state)) { + if ((child != NULL) && Actor_ProcessTalkRequest(child, &play->state)) { Actor_ChangeFocus(&this->actor, play, &this->actor); EnMaYto_BarnStartDialogue(this, play); EnMaYto_SetupBarnDialogueHandler(this); - } else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) || ABS_ALT(direction) < 0x2000) { + } else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) || (ABS_ALT(direction) < 0x2000)) { func_800B8614(&this->actor, play, 100.0f); child = this->actor.child; @@ -727,7 +734,7 @@ void EnMaYto_BarnWait(EnMaYto* this, PlayState* play) { } void EnMaYto_SetupBarnDialogueHandler(EnMaYto* this) { - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { func_80B90E50(this, 1); } else { func_80B90E50(this, 2); @@ -948,6 +955,9 @@ void EnMaYto_AfterMilkRunChooseNextDialogue(EnMaYto* this, PlayState* play) { EnMaYto_SetupPostMilkRunGiveReward(this); EnMaYto_PostMilkRunGiveReward(this, play); break; + + default: + break; } } } @@ -1047,12 +1057,15 @@ void EnMaYto_WarmFuzzyFeelingCs(EnMaYto* this, PlayState* play) { case 3: EnMaYto_ChangeAnim(this, 22); break; + + default: + break; } } } Cutscene_ActorTranslateAndYaw(&this->actor, play, cueChannel); - if (sCueId == 2 && this->skelAnime.animation == &gCremiaHugStartAnim && + if ((sCueId == 2) && (this->skelAnime.animation == &gCremiaHugStartAnim) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { EnMaYto_ChangeAnim(this, 20); } @@ -1066,14 +1079,14 @@ void EnMaYto_SetupPostMilkRunWaitDialogueEnd(EnMaYto* this) { } void EnMaYto_PostMilkRunWaitDialogueEnd(EnMaYto* this, PlayState* play) { - if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE || Message_GetState(&play->msgCtx) == TEXT_STATE_5) { - if (Message_ShouldAdvance(play) && Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) { + if (Message_ShouldAdvance(play) && (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) { func_800B7298(play, &this->actor, PLAYER_CSMODE_WAIT); Message_CloseTextbox(play); } } - if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE && play->msgCtx.unk120B1 == 0) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) && (play->msgCtx.unk120B1 == 0)) { EnMaYto_SetupPostMilkRunEnd(this); } } @@ -1096,7 +1109,7 @@ void EnMaYto_PostMilkRunEnd(EnMaYto* this, PlayState* play) { void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) { if (CURRENT_DAY == 1) { - if (Player_GetMask(play) != PLAYER_MASK_NONE && gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) { + if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) { switch (Player_GetMask(play)) { case PLAYER_MASK_ROMANI: Message_StartTextbox(play, 0x235D, &this->actor); @@ -1155,7 +1168,7 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) { void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) { switch (CURRENT_DAY) { case 1: - if (Player_GetMask(play) != PLAYER_MASK_NONE && gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) { + if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) { switch (Player_GetMask(play)) { case PLAYER_MASK_ROMANI: Message_StartTextbox(play, 0x235D, &this->actor); @@ -1217,6 +1230,9 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) { this->textId = 0x33A7; } break; + + default: + break; } } @@ -1324,7 +1340,7 @@ void EnMaYto_UpdateEyes(EnMaYto* this) { void func_80B90E50(EnMaYto* this, s16 arg1) { EnMaYts* romani = (EnMaYts*)this->actor.child; - if (romani != NULL && romani->actor.id == ACTOR_EN_MA_YTS) { + if ((romani != NULL) && (romani->actor.id == ACTOR_EN_MA_YTS)) { romani->unk_32C = arg1; } } @@ -1344,7 +1360,7 @@ void EnMaYto_SetFaceExpression(EnMaYto* this, s16 overrideEyeTexIndex, s16 mouth } void EnMaYto_InitFaceExpression(EnMaYto* this) { - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { EnMaYto_SetFaceExpression(this, 0, 1); EnMaYto_SetRomaniFaceExpression(this, 0, 0); } else { @@ -1372,27 +1388,33 @@ s32 EnMaYto_HasSpokenToPlayerToday(void) { return true; } break; + + default: + break; } return false; } s32 EnMaYto_HasSpokenToPlayer(void) { - // Please note no case here has a `break`. switch (CURRENT_DAY) { case 3: if (CHECK_WEEKEVENTREG(WEEKEVENTREG_13_10)) { return true; } - + // fallthrough case 2: if (CHECK_WEEKEVENTREG(WEEKEVENTREG_13_08)) { return true; } - + // fallthrough case 1: if (CHECK_WEEKEVENTREG(WEEKEVENTREG_13_04)) { return true; } + break; + + default: + break; } return false; } @@ -1410,6 +1432,9 @@ void EnMaYto_SetTalkedFlag(void) { case 3: SET_WEEKEVENTREG(WEEKEVENTREG_13_10); break; + + default: + break; } } @@ -1458,7 +1483,8 @@ void EnMaYto_Draw(Actor* thisx, PlayState* play) { s32 pad; OPEN_DISPS(play->state.gfxCtx); - if (this->type == MA_YTO_TYPE_BARN && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + + if ((this->type == MA_YTO_TYPE_BARN) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gCremiaWoodenBoxDL); } diff --git a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c index 8eacc7962..163f89fcd 100644 --- a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c +++ b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c @@ -123,7 +123,7 @@ void func_80B8D12C(EnMaYts* this, PlayState* play) { Player* player = GET_PLAYER(play); s16 trackingMode = (this->unk_32C == 2) ? NPC_TRACKING_NONE : NPC_TRACKING_PLAYER_AUTO_TURN; - if (this->unk_32C == 0 || this->actor.parent == NULL) { + if ((this->unk_32C == 0) || (this->actor.parent == NULL)) { this->interactInfo.trackPos = player->actor.world.pos; this->interactInfo.trackPos.y -= -10.0f; } else { @@ -144,7 +144,7 @@ void EnMaYts_InitAnimation(EnMaYts* this, PlayState* play) { case MA_YTS_TYPE_SITTING: this->actor.targetMode = 6; // Day 1 or "Winning" the alien invasion - if (CURRENT_DAY == 1 || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { EnMaYts_ChangeAnim(this, 14); } else { EnMaYts_ChangeAnim(this, 18); @@ -188,6 +188,9 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) { return false; } break; + + default: + break; } break; @@ -195,7 +198,7 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) { // Failing the alien invasion if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { return false; - } else if (gSaveContext.save.time >= CLOCK_TIME(20, 0) && CURRENT_DAY == 3) { + } else if ((gSaveContext.save.time >= CLOCK_TIME(20, 0)) && (CURRENT_DAY == 3)) { return false; } break; @@ -209,6 +212,9 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) { case MA_YTS_TYPE_ENDCREDITS: break; + + default: + break; } return true; @@ -266,7 +272,7 @@ void EnMaYts_Init(Actor* thisx, PlayState* play) { this->mouthTexIndex = 0; this->unk_32C = 2; EnMaYts_SetupEndCreditsHandler(this); - } else if (CURRENT_DAY == 2 && gSaveContext.save.isNight == 1 && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { + } else if ((CURRENT_DAY == 2) && (gSaveContext.save.isNight == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) { EnMaYts_SetupStartDialogue(this); } else { EnMaYts_SetupDoNothing(this); @@ -406,6 +412,9 @@ void EnMaYts_EndCreditsHandler(EnMaYts* this, PlayState* play) { this->hasBow = true; EnMaYts_ChangeAnim(this, 20); break; + + default: + break; } } } @@ -526,7 +535,9 @@ void EnMaYts_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro } else if (limbIndex == ROMANI_LIMB_LEFT_HAND) { if (this->hasBow == true) { OPEN_DISPS(play->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, gRomaniBowDL); + CLOSE_DISPS(play->state.gfxCtx); } } diff --git a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c index e7941a4d5..315bc1ffd 100644 --- a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c +++ b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c @@ -608,9 +608,11 @@ void EnMinifrog_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* if ((limbIndex == 7) || (limbIndex == 8)) { OPEN_DISPS(play->state.gfxCtx); + Matrix_ReplaceRotation(&play->billboardMtxF); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Muto/z_en_muto.c b/src/overlays/actors/ovl_En_Muto/z_en_muto.c index 441c27cdc..6eceb89d6 100644 --- a/src/overlays/actors/ovl_En_Muto/z_en_muto.c +++ b/src/overlays/actors/ovl_En_Muto/z_en_muto.c @@ -74,7 +74,7 @@ void EnMuto_Init(Actor* thisx, PlayState* play) { this->textIdIndex = 3; } - if (gSaveContext.save.day != 3 || !gSaveContext.save.isNight) { + if ((gSaveContext.save.day != 3) || !gSaveContext.save.isNight) { Actor_Kill(&this->actor); } } else { @@ -113,7 +113,7 @@ void EnMuto_SetHeadRotation(EnMuto* this) { s32 yawRotToTarget = ABS_ALT(BINANG_SUB(this->yawTowardsTarget, this->actor.world.rot.y)); this->headRotTarget.y = 0; - if (this->actor.xzDistToPlayer < 200.0f && yawRotToTarget < 0x4E20) { + if ((this->actor.xzDistToPlayer < 200.0f) && (yawRotToTarget < 0x4E20)) { this->headRotTarget.y = BINANG_SUB(this->yawTowardsTarget, this->actor.world.rot.y); if (this->headRotTarget.y > 0x2710) { this->headRotTarget.y = 0x2710; @@ -146,7 +146,7 @@ void EnMuto_Idle(EnMuto* this, PlayState* play) { if (1) {} // Needed to match - if (!this->isInMayorsRoom && Player_GetMask(play) == PLAYER_MASK_KAFEIS_MASK) { + if (!this->isInMayorsRoom && (Player_GetMask(play) == PLAYER_MASK_KAFEIS_MASK)) { this->actor.textId = 0x2363; } @@ -229,8 +229,8 @@ void EnMuto_InDialogue(EnMuto* this, PlayState* play) { } } - if (play->msgCtx.currentTextId == 0x2AC6 || play->msgCtx.currentTextId == 0x2AC7 || - play->msgCtx.currentTextId == 0x2AC8) { + if ((play->msgCtx.currentTextId == 0x2AC6) || (play->msgCtx.currentTextId == 0x2AC7) || + (play->msgCtx.currentTextId == 0x2AC8)) { this->skelAnime.playSpeed = 0.0f; this->yawTowardsTarget = this->actor.yawTowardsPlayer; this->skelAnime.curFrame = 30.0f; @@ -254,7 +254,7 @@ void EnMuto_Update(Actor* thisx, PlayState* play2) { EnMuto_SetHeadRotation(this); } - if (this->isInMayorsRoom && gSaveContext.save.day == 3 && gSaveContext.save.isNight) { + if (this->isInMayorsRoom && (gSaveContext.save.day == 3) && gSaveContext.save.isNight) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c index 9f364c2c6..03cdad42c 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -188,6 +188,7 @@ void EnNiw_AnimateWingHead(EnNiw* this, PlayState* play, s16 animationState) { this->targetLimbRots[2] = 0.0f; // both wingRotZ this->targetLimbRots[1] = 0.0f; break; + case NIW_ANIM_HEAD_PECKING: this->unkTimer24E = 3; this->targetLimbRots[2] = 7000.0f * tempOne; // both wingRotZ @@ -235,6 +236,9 @@ void EnNiw_AnimateWingHead(EnNiw* this, PlayState* play, s16 animationState) { this->targetLimbRots[7] = 10000.0f; } break; + + default: + break; } } @@ -271,7 +275,7 @@ void EnNiw_SpawnAttackNiw(EnNiw* this, PlayState* play) { Vec3f newNiwPos; Actor* attackNiw; - if (this->attackNiwSpawnTimer == 0 && this->attackNiwCount < 7) { + if ((this->attackNiwSpawnTimer == 0) && (this->attackNiwCount < 7)) { xView = play->view.at.x - play->view.eye.x; yView = play->view.at.y - play->view.eye.y; zView = play->view.at.z - play->view.eye.z; @@ -312,7 +316,7 @@ void EnNiw_UpdateRunning(EnNiw* this, PlayState* play, s32 isStormCucco) { runningDirection = -runningAngles[isStormCucco]; } - if (isStormCucco == true && (this->runAwayTimer == 0 || (this->actor.bgCheckFlags & BGCHECKFLAG_WALL))) { + if ((isStormCucco == true) && ((this->runAwayTimer == 0) || (this->actor.bgCheckFlags & BGCHECKFLAG_WALL))) { this->runAwayTimer = 150; if (this->yawTimer == 0) { this->yawTimer = 70; @@ -367,7 +371,7 @@ void EnNiw_Idle(EnNiw* this, PlayState* play) { Math_ApproachF(&this->targetLimbRots[9], sHeadRotations[this->headRotationToggle], 0.5f, 4000.0f); // head rot } - if (this->unkIdleTimer2 == 0 && this->unkIdleTimer == 0) { + if ((this->unkIdleTimer2 == 0) && (this->unkIdleTimer == 0)) { this->unk298++; if (this->unk298 > 7) { this->unkIdleTimer2 = Rand_ZeroFloat(30.0f); @@ -469,14 +473,14 @@ void EnNiw_Held(EnNiw* this, PlayState* play) { void EnNiw_Thrown(EnNiw* this, PlayState* play) { if (this->unk2EC == 0) { - if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) { - this->unk2EC = 1; - this->hoppingTimer = 80; // hop timer - this->actor.speed = 0.0f; - this->actor.velocity.y = 4.0f; - } else { - return; // wait until back on floor + if (!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) { + // wait until back on floor + return; } + this->unk2EC = 1; + this->hoppingTimer = 80; + this->actor.speed = 0.0f; + this->actor.velocity.y = 4.0f; } else { if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) { this->sfxTimer1 = 0; @@ -683,10 +687,10 @@ void EnNiw_LandBeforeIdle(EnNiw* this, PlayState* play) { } void EnNiw_CheckRage(EnNiw* this, PlayState* play) { - if (!this->isStormActive && this->iframeTimer == 0 && this->niwType == NIW_TYPE_REGULAR) { + if (!this->isStormActive && (this->iframeTimer == 0) && (this->niwType == NIW_TYPE_REGULAR)) { // is this used? this is before we even know if we've been hit - if (this->niwState != NIW_STATE_RUNNING && this->unk2BC.x != 90000.0f) { + if ((this->niwState != NIW_STATE_RUNNING) && (this->unk2BC.x != 90000.0f)) { this->iframeTimer = 10; this->sfxTimer1 = 30; this->unk29E = 1; @@ -703,7 +707,7 @@ void EnNiw_CheckRage(EnNiw* this, PlayState* play) { this->actor.colChkInfo.health--; } - if (!sCuccoStormActive && this->actor.colChkInfo.health == 0) { + if (!sCuccoStormActive && (this->actor.colChkInfo.health == 0)) { this->runAwayTimer = 100; // main cucco will run away after storm starts sCuccoStormActive = true; this->unk298 = 0; @@ -774,7 +778,7 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { pos.z = randPlusMinusPoint5Scaled(10.0f) + this->actor.world.pos.z; featherScale = Rand_ZeroFloat(6.0f) + 6.0f; - if (this->unk29E == 2 && this->unk308 != 0) { + if ((this->unk29E == 2) && (this->unk308 != 0)) { pos.y += 10.0f; } @@ -817,7 +821,7 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { UPDBGCHECKINFO_FLAG_8 | UPDBGCHECKINFO_FLAG_10); // if cucco is off the map - if (this->actor.floorHeight <= BGCHECK_Y_MIN || this->actor.floorHeight >= BGCHECK_Y_MAX) { + if ((this->actor.floorHeight <= BGCHECK_Y_MIN) || (this->actor.floorHeight >= BGCHECK_Y_MAX)) { Vec3f viewAtToEye; // Direction vector for the direction the camera is facing @@ -881,12 +885,12 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { return; } - if (this->isStormActive && (this->actor.xyzDistToPlayerSq < SQ(dist)) && player->invincibilityTimer == 0) { + if (this->isStormActive && (this->actor.xyzDistToPlayerSq < SQ(dist)) && (player->invincibilityTimer == 0)) { func_800B8D50(play, &this->actor, 2.0f, this->actor.world.rot.y, 0.0f, 0x10); } EnNiw_CheckRage(this, play); - if (this->flutterSfxTimer == 0 && this->niwState == NIW_STATE_HELD) { + if ((this->flutterSfxTimer == 0) && (this->niwState == NIW_STATE_HELD)) { this->flutterSfxTimer = 7; Actor_PlaySfx(&this->actor, NA_SE_EN_CHICKEN_FLUTTER); } @@ -901,13 +905,13 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { } } - if (!this->isStormActive && this->niwType == NIW_TYPE_REGULAR) { + if (!this->isStormActive && (this->niwType == NIW_TYPE_REGULAR)) { Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base); if (play) {} - if (this->niwState != NIW_STATE_HELD && this->niwState != NIW_STATE_FALLING) { + if ((this->niwState != NIW_STATE_HELD) && (this->niwState != NIW_STATE_FALLING)) { CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); } } diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c index afd6eea3e..ac1e9749a 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -164,7 +164,7 @@ s32 EnNwc_IsFound(EnNwc* this, PlayState* play) { return false; } - if ((player->stateFlags3 & PLAYER_STATE3_20000000) && this->actor.xzDistToPlayer < 100.0f) { + if ((player->stateFlags3 & PLAYER_STATE3_20000000) && (this->actor.xzDistToPlayer < 100.0f)) { return true; } @@ -178,26 +178,34 @@ void EnNwc_ChangeState(EnNwc* this, s16 newState) { this->stateTimer = 10; this->actionFunc = EnNwc_CheckForBreman; break; + case NWC_STATE_TURNING: this->stateTimer = Rand_ZeroFloat(20.0f) + 15.0f; this->actionFunc = EnNwc_Turn; - this->fallingRotY = (s16)(s32)randPlusMinusPoint5Scaled(65536.0f); + this->fallingRotY = (s16)(s32)randPlusMinusPoint5Scaled(0x10000); break; + case NWC_STATE_HOPPING_FORWARD: this->stateTimer = Rand_ZeroFloat(20.0f) + 15.0f; this->actionFunc = EnNwc_HopForward; break; + case NWC_STATE_FOLLOWING: this->actionFunc = EnNwc_Follow; this->transformTimer = 0; this->randomRot = (s16)(s32)randPlusMinusPoint5Scaled(10000.0f); break; + case NWC_STATE_RUNNING: - this->actor.world.rot.y = this->actor.home.rot.z * 0x3000 & 0xFFFF; // Fake Match?: & 0xFFFF + //! FAKE: & 0xFFFF + this->actor.world.rot.y = this->actor.home.rot.z * 0x3000 & 0xFFFF; this->actor.shape.rot.y = this->actor.world.rot.y; this->stateTimer = Rand_ZeroFloat(40.0f) + 120.0f; this->actionFunc = EnNwc_RunAway; break; + + default: + break; } this->state = newState; @@ -289,7 +297,7 @@ void EnNwc_Follow(EnNwc* this, PlayState* play) { Math_SmoothStepToS(&this->upperBodyRotY, targetUpperBodyRot, 2, 0x1B58, 0x3E8); } else { // NOT grown up - if ((this->stateTimer & 3) == 3 && this->stateTimer & 20) { + if (((this->stateTimer & 3) == 3) && ((this->stateTimer & 0x14) != 0)) { this->actor.velocity.y = 2.0f; // hop up and down } if ((this->stateTimer & 0x1B) == 24) { @@ -473,7 +481,7 @@ void EnNwc_Update(Actor* thisx, PlayState* play) { this->blinkTimer = Rand_S16Offset(0x3C, 0x3C); } - if (this->blinkTimer == 1 || this->blinkTimer == 3) { + if ((this->blinkTimer == 1) || (this->blinkTimer == 3)) { this->blinkState = true; } else { this->blinkState = false; @@ -508,7 +516,7 @@ s32 EnNwc_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p if (limbIndex == NIW_LIMB_UPPER_BODY) { rot->y += this->upperBodyRotY; } - if (limbIndex == NIW_LIMB_RIGHT_WING_ROOT || limbIndex == NIW_LIMB_LEFT_WING_ROOT) { + if ((limbIndex == NIW_LIMB_RIGHT_WING_ROOT) || (limbIndex == NIW_LIMB_LEFT_WING_ROOT)) { rot->y += this->footRotY; rot->z += this->footRotZ; } diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c index e64e09cbc..e47515c5d 100644 --- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c +++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c @@ -167,9 +167,9 @@ void EnPamera_Init(Actor* thisx, PlayState* play) { } func_80BD8700(this); } else { - this->pathIndex = this->pathPointsCount - 1; - Math_Vec3s_ToVec3f(&this->actor.world.pos, &this->pathPoints[this->pathIndex]); - Math_Vec3s_ToVec3f(&sp44, &this->pathPoints[this->pathIndex - 1]); + this->waypointIndex = this->pathCount - 1; + Math_Vec3s_ToVec3f(&this->actor.world.pos, &this->pathPoints[this->waypointIndex]); + Math_Vec3s_ToVec3f(&sp44, &this->pathPoints[this->waypointIndex - 1]); this->actor.world.rot.y = this->actor.shape.rot.y = Math_Vec3f_Yaw(&sp44, &this->actor.world.pos); func_80BD8CCC(this); } @@ -195,19 +195,19 @@ s32 func_80BD84F0(EnPamera* this, PlayState* play) { } void func_80BD8588(EnPamera* this, PlayState* play) { - Path* path = &play->setupPathList[((this->actor.params & 0xFF0) >> 4)]; + Path* path = &play->setupPathList[ENPAMERA_GET_PATH_INDEX(&this->actor)]; Vec3f sp28; if (path == NULL) { Actor_Kill(&this->actor); } if (CHECK_WEEKEVENTREG(WEEKEVENTREG_61_04)) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } this->pathPoints = Lib_SegmentedToVirtual(path->points); - this->pathIndex = 0; - this->pathPointsCount = path->count; - this->pathId = path->unk1; + this->waypointIndex = 0; + this->pathCount = path->count; + this->additionalPathIndex = path->additionalPathIndex; Math_Vec3s_ToVec3f(&sp28, this->pathPoints); this->actor.world.rot.y = this->actor.shape.rot.y = Math_Vec3f_Yaw(&this->actor.world.pos, &sp28); } @@ -323,15 +323,15 @@ void func_80BD8B70(EnPamera* this, PlayState* play) { Vec3f vec; s16 sp32; - vec.x = this->pathPoints[this->pathIndex].x; - vec.y = this->pathPoints[this->pathIndex].y; - vec.z = this->pathPoints[this->pathIndex].z; + vec.x = this->pathPoints[this->waypointIndex].x; + vec.y = this->pathPoints[this->waypointIndex].y; + vec.z = this->pathPoints[this->waypointIndex].z; sp32 = Math_Vec3f_Yaw(&this->actor.world.pos, &vec); if (Math_Vec3f_StepToXZ(&this->actor.world.pos, &vec, this->actor.speed) > 10.0f) { Math_SmoothStepToS(&this->actor.shape.rot.y, sp32, 0xA, 0x3000, 0x100); this->actor.world.rot.y = this->actor.shape.rot.y; - } else if (this->pathIndex < (this->pathPointsCount - 1)) { - this->pathIndex++; + } else if (this->waypointIndex < (this->pathCount - 1)) { + this->waypointIndex++; } else { func_80BD8CCC(this); } @@ -356,8 +356,8 @@ void func_80BD8D1C(EnPamera* this, PlayState* play) { } void func_80BD8D80(EnPamera* this) { - if (this->pathIndex > 0) { - this->pathIndex--; + if (this->waypointIndex > 0) { + this->waypointIndex--; } this->actor.gravity = -2.0f; this->actionFunc = func_80BD8DB0; @@ -367,15 +367,15 @@ void func_80BD8DB0(EnPamera* this, PlayState* play) { Vec3f vec; s16 sp32; - vec.x = this->pathPoints[this->pathIndex].x; - vec.y = this->pathPoints[this->pathIndex].y; - vec.z = this->pathPoints[this->pathIndex].z; + vec.x = this->pathPoints[this->waypointIndex].x; + vec.y = this->pathPoints[this->waypointIndex].y; + vec.z = this->pathPoints[this->waypointIndex].z; sp32 = Math_Vec3f_Yaw(&this->actor.world.pos, &vec); if (Math_Vec3f_StepToXZ(&this->actor.world.pos, &vec, this->actor.speed) > 10.0f) { Math_SmoothStepToS(&this->actor.shape.rot.y, sp32, 0xA, 0x3000, 0x100); this->actor.world.rot.y = this->actor.shape.rot.y; - } else if (this->pathIndex > 0) { - this->pathIndex--; + } else if (this->waypointIndex > 0) { + this->waypointIndex--; } else { func_80BD9338(this, play); func_80BD8A38(this); @@ -404,9 +404,9 @@ void func_80BD8FF0(EnPamera* this) { Vec3f pameraPos; s16 pameraYaw; - this->pathIndex = this->pathPointsCount - 1; - Math_Vec3s_ToVec3f(&this->actor.world.pos, &this->pathPoints[this->pathPointsCount - 1]); - Math_Vec3s_ToVec3f(&pameraPos, &this->pathPoints[this->pathPointsCount - 2]); + this->waypointIndex = this->pathCount - 1; + Math_Vec3s_ToVec3f(&this->actor.world.pos, &this->pathPoints[this->pathCount - 1]); + Math_Vec3s_ToVec3f(&pameraPos, &this->pathPoints[this->pathCount - 2]); pameraYaw = Math_Vec3f_Yaw(&pameraPos, &this->actor.world.pos); this->actor.shape.rot.y = pameraYaw; this->actor.world.rot.y = pameraYaw; @@ -422,7 +422,7 @@ void func_80BD90AC(EnPamera* this, PlayState* play) { if (Player_GetMask(play) != PLAYER_MASK_STONE && (this->actionFunc != func_80BD8758) && (this->actionFunc != func_80BD8964) && (this->actionFunc != func_80BD8A7C) && - (this->actionFunc != func_80BD8F60) && ((this->actionFunc != func_80BD8B70) || (this->pathIndex != 0)) && + (this->actionFunc != func_80BD8F60) && ((this->actionFunc != func_80BD8B70) || (this->waypointIndex != 0)) && ((this->actionFunc != func_80BD8DB0) || (this->actor.speed != 3.0f)) && ((this->actor.xzDistToPlayer < 150.0f) || ((this->actionFunc == func_80BD909C) && @@ -456,14 +456,14 @@ s32 func_80BD9234(EnPamera* this, PlayState* play) { void func_80BD92D0(EnPamera* this, PlayState* play) { Path* path; - s32 pathId = this->pathId; + s32 pathIndex = this->additionalPathIndex; - path = &play->setupPathList[pathId]; - if (pathId >= 0) { + path = &play->setupPathList[pathIndex]; + if (pathIndex >= 0) { this->pathPoints = Lib_SegmentedToVirtual(path->points); - this->pathIndex = 0; - this->pathPointsCount = path->count; - this->pathId = path->unk1; + this->waypointIndex = 0; + this->pathCount = path->count; + this->additionalPathIndex = path->additionalPathIndex; } } diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h index 59bf40e09..4fa3e4f5f 100644 --- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h +++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h @@ -9,6 +9,8 @@ struct EnPamera; typedef void (*EnPameraActionFunc)(struct EnPamera*, PlayState*); typedef void (*EnPameraSetupFunc)(struct EnPamera*, PlayState*); +#define ENPAMERA_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF0) >> 4) + typedef struct EnPamera { /* 0x000 */ Actor actor; /* 0x144 */ ColliderCylinder collider; @@ -16,9 +18,9 @@ typedef struct EnPamera { /* 0x1D4 */ EnPameraActionFunc actionFunc; /* 0x1D8 */ EnPameraSetupFunc setupFunc; /* 0x1DC */ Vec3s* pathPoints; - /* 0x1E0 */ s32 pathIndex; - /* 0x1E4 */ s32 pathPointsCount; - /* 0x1E8 */ s32 pathId; + /* 0x1E0 */ s32 waypointIndex; + /* 0x1E4 */ s32 pathCount; + /* 0x1E8 */ s32 additionalPathIndex; /* 0x1EC */ s32 unk_1EC; /* 0x1F0 */ Vec3s jointTable[PAMELA_LIMB_MAX]; /* 0x27A */ Vec3s morphTable[PAMELA_LIMB_MAX]; diff --git a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c index 045da7fa1..d4996d74f 100644 --- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c +++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c @@ -901,6 +901,7 @@ void EnPeehat_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* Matrix_MultVecX(-400.0f, vec2); OPEN_DISPS(play->state.gfxCtx); + gfx = POLY_OPA_DISP; Matrix_Translate(-1000.0f, 0.0f, 0.0f, MTXMODE_APPLY); diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.c b/src/overlays/actors/ovl_En_Pm/z_en_pm.c index 99e301250..0627ddbf8 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.c +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.c @@ -1197,7 +1197,7 @@ s32 func_80AF8DD4(EnPm* this, PlayState* play) { } s32 func_80AF8ED4(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput, u8 actorCat, s16 actorId) { - u8 sp4F = this->actor.params & 0xFF; + u8 pathIndex = ENPM_GET_PATH_INDEX(&this->actor); Vec3s* sp48; Vec3f sp3C; Vec3f sp30; @@ -1208,7 +1208,7 @@ s32 func_80AF8ED4(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput, u this->timePath = NULL; sp2C = func_80AF7CB0(this, play, actorCat, actorId); if (D_80AFB430[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80AFB430[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80AFB430[scheduleOutput->result]); } if ((sp2C != NULL) && (sp2C->update != NULL)) { @@ -1228,7 +1228,7 @@ s32 func_80AF8ED4(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput, u s32 func_80AF9008(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp56 = SCHEDULE_TIME_NOW; - u8 sp55 = this->actor.params & 0xFF; + u8 pathIndex = ENPM_GET_PATH_INDEX(&this->actor); EnDoor* door; Vec3s* sp4C; Vec3f sp40; @@ -1239,7 +1239,7 @@ s32 func_80AF9008(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; door = func_80AF7D60(play, scheduleOutput->result); if (D_80AFB430[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp55, D_80AFB430[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80AFB430[scheduleOutput->result]); } if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) { @@ -1277,7 +1277,7 @@ s32 func_80AF9008(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_80AF91E8(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp2E = SCHEDULE_TIME_NOW; u16 phi_v1; - u8 sp2B = this->actor.params & 0xFF; + u8 pathIndex = ENPM_GET_PATH_INDEX(&this->actor); u16 tmp; s16 pad; s32 ret = false; @@ -1285,7 +1285,7 @@ s32 func_80AF91E8(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; if (D_80AFB430[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp2B, D_80AFB430[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80AFB430[scheduleOutput->result]); } if ((this->timePath != NULL) && (this->timePath->count < 3)) { @@ -1357,7 +1357,7 @@ s32 func_80AF91E8(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { } s32 func_80AF94AC(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { - u8 sp4F = this->actor.params & 0xFF; + u8 pathIndex = ENPM_GET_PATH_INDEX(&this->actor); Vec3f sp40; Vec3f sp34; Vec3s* sp30; @@ -1366,7 +1366,7 @@ s32 func_80AF94AC(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; if (D_80AFB430[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, D_80AFB430[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80AFB430[scheduleOutput->result]); } if ((this->timePath != 0) && (this->timePath->count >= 2)) { @@ -1390,7 +1390,7 @@ s32 func_80AF94AC(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { } s32 func_80AF95E8(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { - u8 sp4F = this->actor.params & 0xFF; + u8 pathIndex = ENPM_GET_PATH_INDEX(&this->actor); Vec3f sp40; Vec3f sp34; Vec3s* sp30; @@ -1419,7 +1419,7 @@ s32 func_80AF95E8(EnPm* this, PlayState* play, ScheduleOutput* scheduleOutput) { this->timePath = NULL; phi_a3 = D_80AFB430[scheduleOutput->result]; if (phi_a3 >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp4F, phi_a3); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, phi_a3); } if ((this->timePath != 0) && (this->timePath->count >= 2)) { diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.h b/src/overlays/actors/ovl_En_Pm/z_en_pm.h index c7bf76e37..bf7bbe859 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.h +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.h @@ -9,6 +9,8 @@ typedef void (*EnPmActionFunc)(struct EnPm*, PlayState*); typedef s32 (*EnPmFunc)(struct EnPm*, PlayState*); typedef s32 (*EnPmFunc2)(struct EnPm*, PlayState*); +#define ENPM_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) + typedef struct EnPm { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c index 56d0f5326..a1ea97199 100644 --- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c +++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c @@ -242,9 +242,9 @@ void EnPoSisters_MatchPlayerXZ(EnPoSisters* this, PlayState* play) { Player* player = GET_PLAYER(play); f32 dist; - if (this->megCloneId == POE_SISTERS_MEG_REAL || this->actionFunc != EnPoSisters_DamageFlinch) { - if ((player->meleeWeaponState == PLAYER_MELEE_WEAPON_STATE_0 || - player->meleeWeaponAnimation >= PLAYER_MWA_SPIN_ATTACK_1H) && + if ((this->megCloneId == POE_SISTERS_MEG_REAL) || (this->actionFunc != EnPoSisters_DamageFlinch)) { + if (((player->meleeWeaponState == PLAYER_MELEE_WEAPON_STATE_0) || + (player->meleeWeaponAnimation >= PLAYER_MWA_SPIN_ATTACK_1H)) && ((player->actor.world.pos.y - player->actor.floorHeight) < 1.0f)) { Math_StepToF(&this->megDistToPlayer, 110.0f, 3.0f); } else { @@ -277,7 +277,8 @@ void EnPoSisters_MatchPlayerY(EnPoSisters* this, PlayState* play) { this->actor.world.pos.y += (2.0f + (0.5f * Rand_ZeroOne())) * Math_SinS(this->floatingBobbingTimer * 0x800); // fully opaque - if (this->color.a == 255 && this->actionFunc != EnPoSisters_SpinAttack && this->actionFunc != EnPoSisters_SpinUp) { + if ((this->color.a == 255) && (this->actionFunc != EnPoSisters_SpinAttack) && + (this->actionFunc != EnPoSisters_SpinUp)) { if (this->actionFunc == EnPoSisters_Flee) { func_800B9010(&this->actor, NA_SE_EN_PO_AWAY - SFX_FLAG); } else { @@ -579,7 +580,7 @@ void EnPoSisters_Flee(EnPoSisters* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; this->poSisterFlags |= POE_SISTERS_FLAG_UPDATE_SHAPE_ROT; EnPoSisters_SetupSpinToInvis(this); - } else if (this->fleeTimer == 0 && this->actor.xzDistToPlayer > 480.0f) { + } else if ((this->fleeTimer == 0) && (this->actor.xzDistToPlayer > 480.0f)) { this->actor.world.rot.y = this->actor.shape.rot.y; EnPoSisters_SetupAimlessIdleFlying(this); } @@ -818,7 +819,7 @@ void EnPoSisters_MegSurroundPlayer(EnPoSisters* this, PlayState* play) { DECR(this->megSurroundTimer); - if (this->megClonesRemaining > 0 && this->megSurroundTimer >= 16) { + if ((this->megClonesRemaining > 0) && (this->megSurroundTimer >= 16)) { SkelAnime_Update(&this->skelAnime); if (this->megCloneId == POE_SISTERS_MEG_REAL) { if (ABS_ALT(16 - this->floatingBobbingTimer) < 14) { @@ -1092,7 +1093,7 @@ s32 EnPoSisters_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Ve }; EnPoSisters* this = THIS; - if (limbIndex == POE_SISTERS_LIMB_ROOT && (this->poSisterFlags & POE_SISTERS_FLAG_REAL_MEG_ROTATION)) { + if ((limbIndex == POE_SISTERS_LIMB_ROOT) && (this->poSisterFlags & POE_SISTERS_FLAG_REAL_MEG_ROTATION)) { if (this->megSurroundTimer >= 284) { rot->x += (this->megSurroundTimer - 284) * 0x1000; } else { @@ -1153,8 +1154,8 @@ void EnPoSisters_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s Matrix_MultVecX(3000.0f, &this->limbPos[7]); } - if (this->actionFunc == EnPoSisters_DeathStage1 && this->deathTimer >= 8 && - limbIndex == POE_SISTERS_LIMB_MAIN_BODY) { + if ((this->actionFunc == EnPoSisters_DeathStage1) && (this->deathTimer >= 8) && + (limbIndex == POE_SISTERS_LIMB_MAIN_BODY)) { gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfx)++, gPoeSistersBurnBodyDL); } diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c index 7fe6e3d26..f4747b4c6 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c @@ -151,8 +151,8 @@ void EnPr2_Init(Actor* thisx, PlayState* play) { Actor* parent = this->actor.parent; if (parent->update != NULL) { - this->unk_1C8 = ((EnEncount1*)parent)->pathIndex; - this->path = SubS_GetPathByIndex(play, this->unk_1C8, 0x3F); + this->pathIndex = ((EnEncount1*)parent)->pathIndex; + this->path = SubS_GetPathByIndex(play, this->pathIndex, ENPR2_PATH_INDEX_NONE); this->unk_208 = parent->world.rot.z * 20.0f; if (this->unk_208 < 20.0f) { this->unk_208 = 20.0f; @@ -272,7 +272,7 @@ void func_80A745FC(EnPr2* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EN_PIRANHA_EXIST - SFX_FLAG); Math_ApproachF(&this->unk_204, 0.02f, 0.1f, 0.005f); - if (this->path->unk2 < this->unk_1D0) { + if (this->path->customValue < this->unk_1D0) { Math_ApproachF(&this->actor.speed, 5.0f, 0.3f, 1.0f); } else { Math_ApproachF(&this->actor.speed, 10.0f, 0.3f, 1.0f); diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h index bbcd28afd..94fb7e033 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h @@ -10,6 +10,7 @@ typedef void (*EnPr2ActionFunc)(struct EnPr2*, PlayState*); #define ENPR2_GET_F(thisx) ((thisx)->params & 0xF) #define ENPR2_GET_FF0(thisx) (((thisx)->params >> 4) & 0xFF) +#define ENPR2_PATH_INDEX_NONE 0x3F #define ENPR2_PARAMS(paramF, paramFF0) (((paramF) & 0xF) | (((paramFF0) << 4) & 0xFF0)) typedef struct EnPr2 { @@ -18,7 +19,7 @@ typedef struct EnPr2 { /* 0x188 */ Vec3s jointTable[5]; /* 0x1A6 */ Vec3s morphtable[5]; /* 0x1C4 */ EnPr2ActionFunc actionFunc; - /* 0x1C8 */ s16 unk_1C8; + /* 0x1C8 */ s16 pathIndex; /* 0x1CC */ Path* path; /* 0x1D0 */ s32 unk_1D0; /* 0x1D4 */ s16 unk_1D4; diff --git a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c index 80986adf4..d08110e43 100644 --- a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c +++ b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c @@ -313,7 +313,7 @@ void EnRacedog_Init(Actor* thisx, PlayState* play) { CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); Actor_ProcessInitChain(&this->actor, sInitChain); - this->path = SubS_GetPathByIndex(play, ENRACEDOG_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENRACEDOG_GET_PATH_INDEX(&this->actor), ENRACEDOG_PATH_INDEX_NONE); Actor_SetScale(&this->actor, 0.0075f); this->actor.gravity = -3.0f; if (ENRACEDOG_GET_INDEX(&this->actor) < RACEDOG_COUNT) { diff --git a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h index a8cf2a9f9..a3d9afee5 100644 --- a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h +++ b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h @@ -5,7 +5,10 @@ #include "objects/object_dog/object_dog.h" #define ENRACEDOG_GET_INDEX(thisx) (((thisx)->params & 0x3E0) >> 5) -#define ENRACEDOG_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 10) +#define ENRACEDOG_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 10) + +#define ENRACEDOG_PATH_INDEX_NONE 0x3F + #define ENRACEDOG_PARAMS(index, path) ((index << 5) | (path)) /** diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index 893062fbd..9766fe694 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -196,7 +196,7 @@ void EnRailgibud_SpawnOtherGibdosAndSetPositionAndRotation(EnRailgibud* this, Pl static s32 currentGibdoIndex = 0; s32 nextPoint; Vec3f targetPos; - Path* path = &play->setupPathList[ENRAILGIBUD_GET_PATH(&this->actor)]; + Path* path = &play->setupPathList[ENRAILGIBUD_GET_PATH_INDEX(&this->actor)]; this->points = Lib_SegmentedToVirtual(path->points); this->currentPoint = currentGibdoIndex; diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h index 95a2bbd7b..f9d3922c8 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h @@ -10,7 +10,7 @@ typedef void (*EnRailgibudActionFunc)(struct EnRailgibud*, PlayState*); #define ENRAILGIBUD_GET_CUTSCENE_TYPE(thisx) ((thisx)->params & 0x7F) #define ENRAILGIBUD_IS_CUTSCENE_TYPE(thisx) ((thisx)->params & 0x80) -#define ENRAILGIBUD_GET_PATH(thisx) (((thisx)->params & 0xFF00) >> 8) +#define ENRAILGIBUD_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF00) >> 8) typedef struct EnRailgibud { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.c b/src/overlays/actors/ovl_En_Rg/z_en_rg.c index a3a026f2b..b6407d24b 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.c +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.c @@ -373,11 +373,11 @@ s32 func_80BF43FC(EnRg* this) { f32 sp88; f32 sp84; f32 phi_f20 = 0.0f; - s32 temp_s7 = ENRG_GET_7F80(&this->actor); + s32 pathIndex = ENRG_GET_PATH_INDEX(&this->actor); s32 phi_s4 = -1; s32 temp_s5 = this->unk_344; s16 phi_s6 = 0; - s32 phi_s0 = D_80BF57E4[this->unk_344][temp_s7]; + s32 phi_s0 = D_80BF57E4[this->unk_344][pathIndex]; do { SubS_CopyPointFromPathCheckBounds(this->path, phi_s0 - 1, &sp9C); @@ -390,7 +390,7 @@ s32 func_80BF43FC(EnRg* this) { phi_s4 = phi_s0; } phi_s0++; - } while ((temp_s5 != 18) && (phi_s0 < D_80BF57E4[temp_s5 + 1][temp_s7])); + } while ((temp_s5 != 18) && (phi_s0 < D_80BF57E4[temp_s5 + 1][pathIndex])); return phi_s4; } @@ -741,7 +741,8 @@ void EnRg_Init(Actor* thisx, PlayState* play) { Effect_Add(play, &this->unk_340, EFFECT_TIRE_MARK, 0, 0, &D_80BF59F0); - this->path = SubS_GetDayDependentPath(play, ENRG_GET_7F80(&this->actor), 255, &this->unk_33C); + this->path = + SubS_GetDayDependentPath(play, ENRG_GET_PATH_INDEX(&this->actor), ENRG_PATH_INDEX_NONE, &this->unk_33C); if (this->path != NULL) { this->unk_33C = 1; } diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.h b/src/overlays/actors/ovl_En_Rg/z_en_rg.h index 4db0b58e0..14f8e3882 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.h +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.h @@ -7,7 +7,9 @@ struct EnRg; typedef void (*EnRgActionFunc)(struct EnRg*, PlayState*); -#define ENRG_GET_7F80(thisx) ((((thisx)->params & 0x7F80) >> 7) & 0xFF) +#define ENRG_GET_PATH_INDEX(thisx) ((((thisx)->params & 0x7F80) >> 7) & 0xFF) + +#define ENRG_PATH_INDEX_NONE 0xFF typedef struct { /* 0x00 */ u8 unk_00; diff --git a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c index ae7da7d1b..6ea51586a 100644 --- a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c +++ b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c @@ -35,7 +35,7 @@ void EnRiverSound_Init(Actor* thisx, PlayState* play) { this->playSound = false; pathIndex = RS_GET_PATH_INDEX(&this->actor); this->actor.params = RS_GET_TYPE(&this->actor); - if (pathIndex == 0xFF) { + if (pathIndex == RS_PATH_INDEX_NONE) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h index eff4fbb47..ceef56fbe 100644 --- a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h +++ b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h @@ -8,6 +8,8 @@ struct EnRiverSound; #define RS_GET_TYPE(thisx) ((thisx)->params & 0xFF); #define RS_GET_PATH_INDEX(thisx) (((thisx)->params >> 8) & 0xFF); +#define RS_PATH_INDEX_NONE 0xFF + // Any param not as one of these values will result in UB typedef enum { /* 0x00 */ RS_RIVER_STREAM, diff --git a/src/overlays/actors/ovl_En_Ru/z_en_ru.c b/src/overlays/actors/ovl_En_Ru/z_en_ru.c index b67ca2141..3a4d30516 100644 --- a/src/overlays/actors/ovl_En_Ru/z_en_ru.c +++ b/src/overlays/actors/ovl_En_Ru/z_en_ru.c @@ -235,7 +235,7 @@ void EnRu_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); - this->path = SubS_GetPathByIndex(play, RU_GET_PATH(thisx), 0x3F); + this->path = SubS_GetPathByIndex(play, RU_GET_PATH_INDEX(thisx), RU_PATH_INDEX_NONE); Actor_SetScale(&this->actor, 0.01f); this->actionFunc = EnRu_DoNothing; this->actor.gravity = -4.0f; diff --git a/src/overlays/actors/ovl_En_Ru/z_en_ru.h b/src/overlays/actors/ovl_En_Ru/z_en_ru.h index 081f3bbd8..7aeaea044 100644 --- a/src/overlays/actors/ovl_En_Ru/z_en_ru.h +++ b/src/overlays/actors/ovl_En_Ru/z_en_ru.h @@ -4,7 +4,9 @@ #include "global.h" #include "objects/object_ru2/object_ru2.h" -#define RU_GET_PATH(thisx) ((thisx->params & 0x7E00) >> 9) +#define RU_GET_PATH_INDEX(thisx) ((thisx->params & 0x7E00) >> 9) + +#define RU_PATH_INDEX_NONE 0x3F struct EnRu; diff --git a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c index d95337728..69ad52a2d 100644 --- a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c +++ b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c @@ -153,14 +153,12 @@ s32 EnRuppecrow_ReachedPointClockwise(EnRuppecrow* this, Path* path, s32 pointIn if (currentPoint == 0) { diffX = points[1].x - points[0].x; diffZ = points[1].z - points[0].z; + } else if (currentPoint == (pathCount - 1)) { + diffX = points[pathCount - 1].x - points[pathCount - 2].x; + diffZ = points[pathCount - 1].z - points[pathCount - 2].z; } else { - if (currentPoint == (pathCount - 1)) { - diffX = points[pathCount - 1].x - points[pathCount - 2].x; - diffZ = points[pathCount - 1].z - points[pathCount - 2].z; - } else { - diffX = points[currentPoint + 1].x - points[currentPoint - 1].x; - diffZ = points[currentPoint + 1].z - points[currentPoint - 1].z; - } + diffX = points[currentPoint + 1].x - points[currentPoint - 1].x; + diffZ = points[currentPoint + 1].z - points[currentPoint - 1].z; } func_8017B7F8(&point, RAD_TO_BINANG(func_80086B30(diffX, diffZ)), &px, &pz, &d); @@ -188,14 +186,12 @@ s32 EnRuppecrow_ReachedPointCounterClockwise(EnRuppecrow* this, Path* path, s32 if (currentPoint == 0) { diffX = points[0].x - points[1].x; diffZ = points[0].z - points[1].z; + } else if (currentPoint == (pathCount - 1)) { + diffX = points[pathCount - 2].x - points[pathCount - 1].x; + diffZ = points[pathCount - 2].z - points[pathCount - 1].z; } else { - if (currentPoint == (pathCount - 1)) { - diffX = points[pathCount - 2].x - points[pathCount - 1].x; - diffZ = points[pathCount - 2].z - points[pathCount - 1].z; - } else { - diffX = points[currentPoint - 1].x - points[currentPoint + 1].x; - diffZ = points[currentPoint - 1].z - points[currentPoint + 1].z; - } + diffX = points[currentPoint - 1].x - points[currentPoint + 1].x; + diffZ = points[currentPoint - 1].z - points[currentPoint + 1].z; } func_8017B7F8(&point, RAD_TO_BINANG(func_80086B30(diffX, diffZ)), &px, &pz, &d); @@ -236,19 +232,23 @@ s32 EnRuppecrow_CanSpawnBlueRupees(PlayState* play) { switch (player->transformation) { case PLAYER_FORM_DEKU: return false; + case PLAYER_FORM_GORON: return true; + case PLAYER_FORM_ZORA: return false; + case PLAYER_FORM_HUMAN: if (player->stateFlags1 & PLAYER_STATE1_800000) { return true; } else { return false; } - } - return false; + default: + return false; + } } void EnRuppecrow_UpdateRupees(EnRuppecrow* this) { @@ -257,7 +257,7 @@ void EnRuppecrow_UpdateRupees(EnRuppecrow* this) { for (rupeeIndex = 0; rupeeIndex < ENRUPPECROW_RUPEE_COUNT; rupeeIndex++) { rupee = this->rupees[rupeeIndex]; - if (rupee != NULL && rupee->unk152 == 0) { + if ((rupee != NULL) && (rupee->unk152 == 0)) { Actor_Kill(&rupee->actor); } } @@ -375,16 +375,19 @@ s32 EnRuppecrow_CheckPlayedMatchingSong(PlayState* play) { return true; } break; + case PLAYER_FORM_GORON: if (play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY) { return true; } break; + case PLAYER_FORM_ZORA: if (play->msgCtx.lastPlayedSong == OCARINA_SONG_NEW_WAVE) { return true; } break; + case PLAYER_FORM_HUMAN: if (play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA) { return true; @@ -394,6 +397,9 @@ s32 EnRuppecrow_CheckPlayedMatchingSong(PlayState* play) { return true; } break; + + default: + break; } } @@ -407,6 +413,7 @@ void EnRuppecrow_UpdateSpeed(EnRuppecrow* this, PlayState* play) { case PLAYER_FORM_DEKU: this->speedModifier = 7.0f; break; + case PLAYER_FORM_GORON: if (player->stateFlags3 & PLAYER_STATE3_1000) { // Goron Link is curled this->speedModifier = 19.0f; @@ -414,9 +421,11 @@ void EnRuppecrow_UpdateSpeed(EnRuppecrow* this, PlayState* play) { this->speedModifier = 7.0f; } break; + case PLAYER_FORM_ZORA: this->speedModifier = 7.0f; break; + case PLAYER_FORM_HUMAN: if (player->stateFlags1 & PLAYER_STATE1_800000) { this->speedModifier = 16.0f; @@ -424,6 +433,9 @@ void EnRuppecrow_UpdateSpeed(EnRuppecrow* this, PlayState* play) { this->speedModifier = 7.0f; } break; + + default: + break; } this->skelAnime.playSpeed = this->speedModifier / 6.0f; @@ -640,7 +652,7 @@ void EnRuppecrow_Init(Actor* thisx, PlayState* play2) { Actor_SetScale(&this->actor, 0.01f); this->actor.flags |= ACTOR_FLAG_2000000; - this->path = SubS_GetPathByIndex(play, ENRUPPECROW_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENRUPPECROW_GET_PATH_INDEX(&this->actor), ENRUPPECROW_PATH_INDEX_NONE); if (this->path != NULL) { this->actionFunc = EnRuppecrow_HandleSong; } else { diff --git a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h index 887cd8c6b..5d591258b 100644 --- a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h +++ b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h @@ -4,7 +4,9 @@ #include "global.h" #include "objects/object_crow/object_crow.h" -#define ENRUPPECROW_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENRUPPECROW_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENRUPPECROW_PATH_INDEX_NONE 0x3F #define ENRUPPECROW_RUPEE_COUNT 20 #define ENRUPPECROW_LIMB_POS_COUNT 4 diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.c b/src/overlays/actors/ovl_En_Rz/z_en_rz.c index e7eaaed99..1a43768fc 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.c +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.c @@ -247,8 +247,8 @@ void func_80BFBA1C(PlayState* play, EnRz* this, s16 animIndex) { } s32 EnRz_SetupPath(EnRz* this, PlayState* play) { - if (EN_RZ_GET_PATH(&this->actor) != 0x3F) { - this->path = &play->setupPathList[EN_RZ_GET_PATH(&this->actor)]; + if (EN_RZ_GET_PATH_INDEX(&this->actor) != EN_RZ_PATH_INDEX_NONE) { + this->path = &play->setupPathList[EN_RZ_GET_PATH_INDEX(&this->actor)]; if (this->path != NULL) { Path* path = this->path; Vec3s* points = (Vec3s*)Lib_SegmentedToVirtual(path->points); diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.h b/src/overlays/actors/ovl_En_Rz/z_en_rz.h index c6d8fe3c8..a29f6d5c2 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.h +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.h @@ -6,7 +6,9 @@ #define EN_RZ_GET_SISTER(thisx) ((thisx)->params & 0x8000) #define EN_RZ_GET_TYPE(thisx) ((thisx)->params & 0xF) -#define EN_RZ_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) +#define EN_RZ_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) + +#define EN_RZ_PATH_INDEX_NONE 0x3F typedef enum { /* 0 */ EN_RZ_JUDO, // in red diff --git a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c index 525696ead..9779de80c 100644 --- a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c +++ b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c @@ -276,7 +276,7 @@ void EnScopecrow_Init(Actor* thisx, PlayState* play) { } if (func_80BCD09C(this->unk_260)) { - this->path = SubS_GetPathByIndex(play, ENSCOPECROW_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENSCOPECROW_GET_PATH_INDEX(&this->actor), ENSCOPECROW_PATH_INDEX_NONE); this->unk_262 = ENSCOPECROW_GET_3E0(&this->actor); if (this->path != NULL) { @@ -316,7 +316,7 @@ void EnScopecrow_Init(Actor* thisx, PlayState* play) { this->collider.elements->dim.worldSphere.radius = sJntSphInit.elements[0].dim.modelSphere.radius; Actor_SetScale(&this->actor, 0.03f); - this->path = SubS_GetPathByIndex(play, ENSCOPECROW_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENSCOPECROW_GET_PATH_INDEX(&this->actor), ENSCOPECROW_PATH_INDEX_NONE); this->unk_262 = ENSCOPECROW_GET_3E0(&this->actor); if (this->path != NULL) { diff --git a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h index 30f002fb5..523d28804 100644 --- a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h +++ b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h @@ -10,7 +10,9 @@ typedef void (*EnScopecrowActionFunc)(struct EnScopecrow*, PlayState*); #define ENSCOPECROW_GET_1F(thisx) ((thisx)->params & 0x1F) #define ENSCOPECROW_GET_3E0(thisx) (((thisx)->params & 0x3E0) >> 5) -#define ENSCOPECROW_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENSCOPECROW_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENSCOPECROW_PATH_INDEX_NONE 0x3F typedef struct EnScopecrow { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c index 46add654a..08b4b2817 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c @@ -708,7 +708,8 @@ void EnScopenuts_Init(Actor* thisx, PlayState* play) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_40)) { Actor_Kill(&this->actor); } else if (play->actorCtx.flags & ACTORCTX_FLAG_1) { - this->path = SubS_GetPathByIndex(play, ENSCOPENUTS_GET_FC00(&this->actor), 0x3F); + this->path = + SubS_GetPathByIndex(play, ENSCOPENUTS_GET_PATH_INDEX(&this->actor), ENSCOPENUTS_PATH_INDEX_NONE); this->actor.draw = NULL; this->actionFunc = func_80BCAFA8; this->actor.gravity = 0.0f; @@ -717,7 +718,8 @@ void EnScopenuts_Init(Actor* thisx, PlayState* play) { } } else if (ENSCOPENUTS_GET_3E0(&this->actor) == ENSCOPENUTS_3E0_1) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_40)) { - this->path = SubS_GetPathByIndex(play, ENSCOPENUTS_GET_FC00(&this->actor), 0x3F); + this->path = + SubS_GetPathByIndex(play, ENSCOPENUTS_GET_PATH_INDEX(&this->actor), ENSCOPENUTS_PATH_INDEX_NONE); if (this->path == NULL) { Actor_Kill(&this->actor); } else { diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h index ef2ea74d8..3f1b8b84e 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h @@ -8,7 +8,9 @@ struct EnScopenuts; typedef void (*EnScopenutsActionFunc)(struct EnScopenuts*, PlayState*); #define ENSCOPENUTS_GET_3E0(thisx) (((thisx)->params & 0x3E0) >> 5) -#define ENSCOPENUTS_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENSCOPENUTS_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENSCOPENUTS_PATH_INDEX_NONE 0x3F #define ENSCOPENUTS_3E0_0 0 #define ENSCOPENUTS_3E0_1 1 diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c index 5dcdeaa8e..e22791c82 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c @@ -958,7 +958,7 @@ void EnSellnuts_Init(Actor* thisx, PlayState* play) { Collider_InitCylinder(play, &this->collider); Collider_SetCylinderType1(play, &this->collider, &this->actor, &sCylinderInit); ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f); - this->path = SubS_GetPathByIndex(play, ENSELLNUTS_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENSELLNUTS_GET_PATH_INDEX(&this->actor), ENSELLNUTS_PATH_INDEX_NONE); this->csId = this->actor.csId; Actor_SetScale(&this->actor, 0.01f); this->actor.colChkInfo.cylRadius = 0; diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h index 3acf7a3e0..d56c04f9e 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h @@ -8,7 +8,9 @@ struct EnSellnuts; typedef void (*EnSellnutsActionFunc)(struct EnSellnuts*, PlayState*); #define ENSELLNUTS_GET_1(thisx) ((thisx)->params & 1) -#define ENSELLNUTS_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENSELLNUTS_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENSELLNUTS_PATH_INDEX_NONE 0x3F typedef struct EnSellnuts { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c index ac97532a3..113b375bb 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -176,7 +176,7 @@ void EnSob1_SetupAction(EnSob1* this, EnSob1ActionFunc action) { s32 EnSob1_TestItemSelected(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; - if (msgCtx->unk12020 == 0x10 || msgCtx->unk12020 == 0x11) { + if ((msgCtx->unk12020 == 0x10) || (msgCtx->unk12020 == 0x11)) { return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A); } return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || @@ -188,7 +188,7 @@ u16 EnSob1_GetTalkOption(EnSob1* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->shopType == BOMB_SHOP) { - if (gSaveContext.save.day == 1 && gSaveContext.save.time >= CLOCK_TIME(6, 00)) { + if ((gSaveContext.save.day == 1) && (gSaveContext.save.time >= CLOCK_TIME(6, 00))) { return 0x648; } else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) { return 0x649; @@ -199,10 +199,13 @@ u16 EnSob1_GetTalkOption(EnSob1* this, PlayState* play) { switch (player->transformation) { case PLAYER_FORM_DEKU: return 0x12D8; + case PLAYER_FORM_GORON: return 0x12D9; + case PLAYER_FORM_ZORA: return 0x12DA; + default: return 0x12D7; } @@ -405,6 +408,7 @@ void EnSob1_Init(Actor* thisx, PlayState* play) { case ZORA_SHOP: this->shopType = ZORA_SHOP; break; + case GORON_SHOP: if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_SNOWHEAD_TEMPLE)) { this->shopType = GORON_SHOP_SPRING; @@ -412,9 +416,11 @@ void EnSob1_Init(Actor* thisx, PlayState* play) { this->shopType = GORON_SHOP; } break; + case BOMB_SHOP: this->shopType = BOMB_SHOP; break; + default: Actor_Kill(&this->actor); return; @@ -579,10 +585,10 @@ void EnSob1_UpdateJoystickInputState(PlayState* play, EnSob1* this) { s8 stickY = CONTROLLER1(&play->state)->rel.stick_y; if (this->stickAccumX == 0) { - if (stickX > 30 || stickX < -30) { + if ((stickX > 30) || (stickX < -30)) { this->stickAccumX = stickX; } - } else if (stickX <= 30 && stickX >= -30) { + } else if ((stickX <= 30) && (stickX >= -30)) { this->stickAccumX = 0; } else if ((this->stickAccumX * stickX) < 0) { // Stick has swapped directions this->stickAccumX = stickX; @@ -595,10 +601,10 @@ void EnSob1_UpdateJoystickInputState(PlayState* play, EnSob1* this) { } } if (this->stickAccumY == 0) { - if (stickY > 30 || stickY < -30) { + if ((stickY > 30) || (stickY < -30)) { this->stickAccumY = stickY; } - } else if (stickY <= 30 && stickY >= -30) { + } else if ((stickY <= 30) && (stickY >= -30)) { this->stickAccumY = 0; } else if ((this->stickAccumY * stickY) < 0) { // Stick has swapped directions this->stickAccumY = stickY; @@ -646,6 +652,7 @@ s32 EnSob1_FacingShopkeeperDialogResult(EnSob1* this, PlayState* play) { func_8019F208(); EnSob1_TalkToShopkeeper(play, this); return true; + case 1: func_8019F230(); if (this->shopType == BOMB_SHOP) { @@ -986,6 +993,7 @@ void EnSob1_HandleCanBuyItem(PlayState* play, EnSob1* this) { this->shopItemSelectedTween = 0.0f; item->boughtFunc(play, item); break; + case CANBUY_RESULT_SUCCESS_2: func_8019F208(); item->buyFunc(play, item); @@ -1002,38 +1010,49 @@ void EnSob1_HandleCanBuyItem(PlayState* play, EnSob1* this) { this->shopItemSelectedTween = 0.0f; item->boughtFunc(play, item); break; + case CANBUY_RESULT_NO_ROOM: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sNoRoomTextIds[this->shopType]); break; + case CANBUY_RESULT_NEED_EMPTY_BOTTLE: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sNeedEmptyBottleTextIds[this->shopType]); break; + case CANBUY_RESULT_NEED_RUPEES: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sNeedRupeesTextIds[this->shopType]); break; + case CANBUY_RESULT_CANNOT_GET_NOW: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sCannotGetNowTextIds[this->shopType]); break; + case CANBUY_RESULT_CANNOT_GET_NOW_2: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sCannotGetNow2TextIds[this->shopType]); break; + case CANBUY_RESULT_NO_ROOM_2: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, sNoRoom2TextIds[this->shopType]); break; + case CANBUY_RESULT_ALREADY_HAVE: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, 0x658); break; + case CANBUY_RESULT_HAVE_BETTER: play_sound(NA_SE_SY_ERROR); EnSob1_SetupCannotBuy(play, this, 0x659); break; + + default: + break; } } @@ -1047,6 +1066,7 @@ void EnSob1_SelectItem(EnSob1* this, PlayState* play) { case 0: EnSob1_HandleCanBuyItem(play, this); break; + case 1: func_8019F230(); this->actionFunc = this->prevActionFunc; @@ -1179,11 +1199,11 @@ void EnSob1_UpdateItemSelectedProperty(EnSob1* this) { for (i = 0; i < ARRAY_COUNT(this->items); i++, items++) { item = *items; if (item != NULL) { - if (this->actionFunc != EnSob1_SelectItem && this->actionFunc != EnSob1_CannotBuy && - this->drawCursor == 0) { + if ((this->actionFunc != EnSob1_SelectItem) && (this->actionFunc != EnSob1_CannotBuy) && + (this->drawCursor == 0)) { item->isSelected = false; } else { - item->isSelected = this->cursorIndex == i ? true : false; + item->isSelected = (this->cursorIndex == i) ? true : false; } } } @@ -1330,10 +1350,10 @@ void EnSob1_ChangeObject(EnSob1* this, PlayState* play) { s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) { if (Object_IsLoaded(&play->objectCtx, this->mainObjIndex)) { - if (this->unusedObjIndex >= 0 && !Object_IsLoaded(&play->objectCtx, this->unusedObjIndex)) { + if ((this->unusedObjIndex >= 0) && !Object_IsLoaded(&play->objectCtx, this->unusedObjIndex)) { return false; } - if (this->shopkeeperAnimObjIndex >= 0 && !Object_IsLoaded(&play->objectCtx, this->shopkeeperAnimObjIndex)) { + if ((this->shopkeeperAnimObjIndex >= 0) && !Object_IsLoaded(&play->objectCtx, this->shopkeeperAnimObjIndex)) { return false; } return true; @@ -1396,7 +1416,7 @@ void EnSob1_InitShop(EnSob1* this, PlayState* play) { this->waypoint = 0; if (this->shopType == BOMB_SHOP) { - this->path = SubS_GetPathByIndex(play, ENSOB1_GET_PATH(&this->actor), 0x1F); + this->path = SubS_GetPathByIndex(play, ENSOB1_GET_PATH_INDEX(&this->actor), ENSOB1_PATH_INDEX_NONE); } if (this->shopType == BOMB_SHOP) { EnSob1_SetupAction(this, EnSob1_SetupWalk); diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h index 1509868ee..12c14301b 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h @@ -15,7 +15,9 @@ typedef void (*EnSob1ActionFunc)(struct EnSob1*, PlayState*); typedef void (*EnSob1BlinkFunc)(struct EnSob1*); #define ENSOB1_GET_SHOPTYPE(thisx) ((thisx)->params & 0x1F) -#define ENSOB1_GET_PATH(thisx) (((thisx)->params & 0x3E0) >> 5) +#define ENSOB1_GET_PATH_INDEX(thisx) (((thisx)->params & 0x3E0) >> 5) + +#define ENSOB1_PATH_INDEX_NONE 0x1F typedef struct EnSob1XZRange { /* 0x0 */ f32 xMin; diff --git a/src/overlays/actors/ovl_En_St/z_en_st.c b/src/overlays/actors/ovl_En_St/z_en_st.c index e8b67451c..f4cc458cb 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -546,7 +546,7 @@ void func_808A650C(EnSt* this) { } s32 func_808A6580(EnSt* this, PlayState* play) { - Player* sp3C = GET_PLAYER(play); + Player* player = GET_PLAYER(play); s32 ret = false; s32 i; @@ -666,7 +666,7 @@ s32 func_808A6580(EnSt* this, PlayState* play) { if ((this->unk_316 == 0) && (this->unk_314 == 0) && (this->unk_312 == 0) && !(this->collider1.base.atFlags & AT_BOUNCED) && (this->actor.colChkInfo.health != 0)) { play->damagePlayer(play, -8); - Actor_PlaySfx(&sp3C->actor, NA_SE_PL_BODY_HIT); + Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT); func_800B8D98(play, &this->actor, 4.0f, this->actor.yawTowardsPlayer, 6.0f); this->unk_316 = 10; this->unk_18C |= 1; diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c index 877a400d5..e86d1e1bd 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c @@ -267,6 +267,7 @@ void func_80BAA9B4(EnSuttari* this) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); } break; + default: if ((this->animIndex != 1) && (curFrame == frameCount)) { this->animIndex = 1; @@ -281,23 +282,31 @@ void func_80BAAA94(EnSuttari* this) { this->animIndex = 1; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); break; + case 0x29E9: this->enFsn->flags |= ENFSN_ANGRY; break; + case 0x29EA: this->enFsn->flags |= ENFSN_CALM_DOWN; break; + case 0x29EB: this->enFsn->flags |= ENFSN_OFFER_FINAL_PRICE; break; + case 0x29EC: this->animIndex = 7; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); break; + case 0x29ED: this->animIndex = 1; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); break; + + default: + break; } } @@ -309,52 +318,64 @@ void func_80BAAB78(EnSuttari* this, PlayState* play) { this->csIdIndex = 0; this->textId = 0x29E5; break; + case 0x29E5: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 1; this->textId = 0x29E6; break; + case 0x29E6: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 0; this->textId = 0x29E7; break; + case 0x29E7: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 1; this->textId = 0x29E8; break; + case 0x29E8: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 0; this->textId = 0x29E9; break; + case 0x29E9: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 1; this->textId = 0x29EA; break; + case 0x29EA: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 0; this->textId = 0x29EB; break; + case 0x29EB: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 1; this->textId = 0x29EC; break; + case 0x29EC: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->csIdIndex = 0; this->textId = 0x29ED; break; + case 0x29ED: CutsceneManager_Stop(this->csIdList[this->csIdIndex]); this->flags1 |= 0x400; this->csIdIndex = 1; this->textId = 0x29EE; break; + + default: + break; } if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); @@ -372,9 +393,11 @@ void func_80BAAB78(EnSuttari* this, PlayState* play) { this->textId = 0x1450; } break; + case 0x1450: this->textId = 0x1451; break; + case 0x1451: if (this->flags1 & 0x800) { this->flags1 &= ~0x800; @@ -385,6 +408,7 @@ void func_80BAAB78(EnSuttari* this, PlayState* play) { SET_WEEKEVENTREG(WEEKEVENTREG_81_01); } break; + case 0x1453: this->flags1 |= 0x400; SET_WEEKEVENTREG(WEEKEVENTREG_81_01); @@ -392,25 +416,34 @@ void func_80BAAB78(EnSuttari* this, PlayState* play) { this->flags2 |= 1; this->textId = 0x1454; break; + case 0x1455: this->textId = 0x1456; break; + case 0x1456: this->textId = 0x1457; break; + case 0x1457: this->textId = 0x1458; break; + case 0x1458: this->textId = 0x1459; break; + case 0x1459: this->textId = 0x145A; break; + case 0x145A: this->flags1 |= 0x400; this->textId = 0x145B; break; + + default: + break; } } Message_StartTextbox(play, this->textId, &this->actor); @@ -516,8 +549,9 @@ void func_80BAB434(EnSuttari* this) { } void EnSuttari_GetPaths(EnSuttari* this, PlayState* play) { - this->paths[0] = SubS_GetPathByIndex(play, ENSUTTARI_GET_PATH(&this->actor), 0x3F); - this->paths[1] = SubS_GetPathByIndex(play, this->paths[0]->unk1, 0x3F); + this->paths[0] = SubS_GetPathByIndex(play, ENSUTTARI_GET_PATH_INDEX(&this->actor), ENSUTTARI_PATH_INDEX_NONE); + //! @bug: the additional path shouldn't use `ENSUTTARI_PATH_INDEX_NONE`, but `ADDITIONAL_PATH_INDEX_NONE` + this->paths[1] = SubS_GetPathByIndex(play, this->paths[0]->additionalPathIndex, ENSUTTARI_PATH_INDEX_NONE); } void func_80BAB4F0(EnSuttari* this, PlayState* play) { @@ -679,16 +713,16 @@ void func_80BABB90(EnSuttari* this, s32 arg1) { s32 func_80BABC48(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp26 = SCHEDULE_TIME_NOW; u16 phi_a0; - u8 sp23 = ENSUTTARI_GET_PATH(&this->actor); + u8 pathIndex = ENSUTTARI_GET_PATH_INDEX(&this->actor); u16 tmp; if (D_80BAE8F8[scheduleOutput->result] >= 0) { - this->timePath = SubS_GetAdditionalPath(play, sp23, D_80BAE8F8[scheduleOutput->result]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80BAE8F8[scheduleOutput->result]); } if (this->timePath == NULL) { return 0; } - if ((this->unk428 != 0 && this->unk428 < 0xC) && (this->timePathTimeSpeed >= 0)) { + if ((this->unk428 != 0) && (this->unk428 < 0xC) && (this->timePathTimeSpeed >= 0)) { phi_a0 = sp26; } else { phi_a0 = scheduleOutput->time0; @@ -710,37 +744,37 @@ s32 func_80BABC48(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutp s32 func_80BABDD8(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 pad; EnDoor* sp48; - u8 sp47 = ENSUTTARI_GET_PATH(&this->actor); + u8 pathIndex = ENSUTTARI_GET_PATH_INDEX(&this->actor); u16 sp44 = SCHEDULE_TIME_NOW; Vec3f sp38; Vec3f sp2C; Vec3s* sp28; s32 sp24; - if (this->unk428 == 10 || this->unk428 == 11 || this->unk428 == 2) { - return 0; + if ((this->unk428 == 10) || (this->unk428 == 11) || (this->unk428 == 2)) { + return false; } sp48 = (EnDoor*)SubS_FindNearestActor(&this->actor, play, ACTORCAT_DOOR, ACTOR_EN_DOOR); sp24 = D_80BAE8F8[scheduleOutput->result]; if ((sp48 != NULL) && (sp24 >= 0)) { - this->timePath = SubS_GetAdditionalPath(play, sp47, sp24); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, sp24); } if ((sp48 == NULL) || (this->timePath == NULL)) { - return 0; + return false; } sp28 = Lib_SegmentedToVirtual(this->timePath->points); Math_Vec3s_ToVec3f(&sp38, &sp28[0]); Math_Vec3s_ToVec3f(&sp2C, &sp28[1]); this->unk434 = sp44 - scheduleOutput->time0; this->unk436 = scheduleOutput->time1 - scheduleOutput->time0; - if (scheduleOutput->result != 10 && scheduleOutput->result != 11) { + if ((scheduleOutput->result != 10) && (scheduleOutput->result != 11)) { sp48->unk_1A7 = 0x4B; } Math_Vec3f_Copy(&this->unk438, &sp38); Math_Vec3f_Copy(&this->unk444, &sp2C); this->actor.world.rot.y = Math_Vec3f_Yaw(&sp38, &sp2C); this->actor.world.pos = sp38; - return 1; + return true; } s32 func_80BABF64(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutput) { @@ -753,6 +787,7 @@ s32 func_80BABF64(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutp case 12: ret = func_80BABC48(this, play, scheduleOutput); break; + case 11: case 10: case 9: @@ -761,15 +796,17 @@ s32 func_80BABF64(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutp case 6: ret = func_80BABDD8(this, play, scheduleOutput); break; + case 5: case 4: case 3: case 2: case 1: - ret = 1; + ret = true; break; + default: - ret = 0; + ret = false; break; } return ret; @@ -853,6 +890,7 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { this->flags1 |= 0x80; func_80BABFD4(this, play); break; + case 15: if ((this->animIndex == 1) && (curFrame == frameCount)) { this->animIndex = 2; @@ -873,15 +911,18 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { } func_80BABFD4(this, play); break; + case 6: case 8: this->flags1 |= 0x80; func_80BAC220(this, play); break; + case 10: this->flags1 |= 0x80; func_80BAC220(this, play); break; + case 9: case 11: this->flags1 |= 0x80; @@ -893,19 +934,23 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { } func_80BAC220(this, play); break; + case 7: this->flags1 |= 0x20; this->flags1 |= 0x80; func_80BAC220(this, play); break; + case 14: this->flags1 |= 0x20; this->flags1 |= 0x80; func_80BABFD4(this, play); break; + case 1: Actor_Kill(&this->actor); break; + case 2: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_81_04)) { this->flags1 |= 0x80; @@ -916,9 +961,10 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { this->actionFunc = func_80BADA08; } break; + case 4: if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) { - if (this->animIndex == 2 || this->animIndex == 1) { + if ((this->animIndex == 2) || (this->animIndex == 1)) { this->animIndex = 5; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); } @@ -935,6 +981,9 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { this->actionFunc = func_80BAD2B4; } break; + + default: + break; } Math_ApproachS(&this->actor.shape.rot.y, this->actor.world.rot.y, 4, 0x1554); } @@ -947,7 +996,7 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_1; if (play->sceneId == SCENE_IKANA) { this->flags1 |= 1; - if (gSaveContext.save.day == 1 || gSaveContext.save.day == 2) { + if ((gSaveContext.save.day == 1) || (gSaveContext.save.day == 2)) { this->animIndex = 2; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); this->flags1 |= 0x80; @@ -962,7 +1011,7 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) { return; } } else if (play->sceneId == SCENE_BACKTOWN) { - if (gSaveContext.save.time >= CLOCK_TIME(0, 20) && gSaveContext.save.time < CLOCK_TIME(6, 00)) { + if ((gSaveContext.save.time >= CLOCK_TIME(0, 20)) && (gSaveContext.save.time < CLOCK_TIME(6, 00))) { Actor_Kill(&this->actor); } @@ -1011,14 +1060,14 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) { void func_80BACA14(EnSuttari* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (this->animIndex == 1 || this->animIndex == 8) { + if ((this->animIndex == 1) || (this->animIndex == 8)) { this->animIndex = 2; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); } func_80BABA90(this, 0, 0); func_80BAB434(this); - if (player->transformation == PLAYER_FORM_GORON || player->transformation == PLAYER_FORM_ZORA) { - if (this->actor.playerHeightRel < 60.0f && this->actor.xzDistToPlayer < 500.0f) { + if ((player->transformation == PLAYER_FORM_GORON) || (player->transformation == PLAYER_FORM_ZORA)) { + if ((this->actor.playerHeightRel < 60.0f) && (this->actor.xzDistToPlayer < 500.0f)) { this->unk3F2 = this->headRot.y; this->actionFunc = func_80BACBB0; } @@ -1041,7 +1090,7 @@ void func_80BACBB0(EnSuttari* this, PlayState* play) { s16 target; this->unk3F2 = this->headRot.y; - if (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_DEKU) { + if ((player->transformation == PLAYER_FORM_HUMAN) || (player->transformation == PLAYER_FORM_DEKU)) { this->actionFunc = func_80BACA14; } if ((this->actor.playerHeightRel < 60.0f) && (this->actor.xzDistToPlayer < 500.0f)) { @@ -1071,7 +1120,7 @@ void func_80BACD2C(EnSuttari* this, PlayState* play) { Player* player = GET_PLAYER(play); this->unk3F2 = this->headRot.y; - if (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_DEKU) { + if ((player->transformation == PLAYER_FORM_HUMAN) || (player->transformation == PLAYER_FORM_DEKU)) { this->actionFunc = func_80BACA14; } if ((this->actor.playerHeightRel < 60.0f) && (this->actor.xzDistToPlayer < 500.0f)) { @@ -1265,7 +1314,7 @@ void func_80BAD5F8(EnSuttari* this, PlayState* play) { } this->unk428 = scheduleOutput.result; func_80BAC2FC(this, play); - if ((this->unk430 == 1) && (this->timePath->unk1 == 0xFF)) { + if ((this->unk430 == 1) && (this->timePath->additionalPathIndex == ADDITIONAL_PATH_INDEX_NONE)) { Actor_Kill(&this->actor); return; } @@ -1303,7 +1352,7 @@ void func_80BAD7F8(EnSuttari* this, PlayState* play) { } this->unk428 = scheduleOutput.result; func_80BAC2FC(this, play); - if ((this->unk430 == 1) && (this->timePath->unk1 == 0xFF)) { + if ((this->unk430 == 1) && (this->timePath->additionalPathIndex == ADDITIONAL_PATH_INDEX_NONE)) { Actor_Kill(&this->actor); return; } @@ -1372,10 +1421,14 @@ void func_80BADA9C(EnSuttari* this, PlayState* play) { this->flags1 |= 0x800; func_80BAAB78(this, play); break; + case 1: func_8019F230(); func_80BAAB78(this, play); break; + + default: + break; } } if (!(this->flags1 & 4)) { @@ -1486,11 +1539,11 @@ void EnSuttari_Update(Actor* thisx, PlayState* play) { EnSuttari_AdvanceTime(); } if (this->unk428 != 0) { - if (this->animIndex == 2 || this->animIndex == 6) { + if ((this->animIndex == 2) || (this->animIndex == 6)) { if (Animation_OnFrame(&this->skelAnime, 8.0f) || Animation_OnFrame(&this->skelAnime, 16.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EV_PAMERA_WALK); } - } else if (this->animIndex == 0 || this->animIndex == 5) { + } else if ((this->animIndex == 0) || (this->animIndex == 5)) { if (Animation_OnFrame(&this->skelAnime, 8.0f) || Animation_OnFrame(&this->skelAnime, 17.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EV_PAMERA_WALK); } @@ -1514,7 +1567,7 @@ s32 EnSuttari_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3 Matrix_RotateXS(-this->torsoRot.y, MTXMODE_APPLY); Matrix_RotateZS(-this->torsoRot.x, MTXMODE_APPLY); } - if (limbIndex == 8 || limbIndex == 9 || limbIndex == 0xC) { + if ((limbIndex == 8) || (limbIndex == 9) || (limbIndex == 0xC)) { rot->y += (s16)(Math_SinS(this->unk2FA[limbIndex]) * 200.0f); rot->z += (s16)(Math_CosS(this->unk31A[limbIndex]) * 200.0f); } diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h index 071000763..8da01b67e 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h @@ -8,7 +8,9 @@ struct EnSuttari; typedef void (*EnSuttariActionFunc)(struct EnSuttari*, PlayState*); -#define ENSUTTARI_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) +#define ENSUTTARI_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) + +#define ENSUTTARI_PATH_INDEX_NONE 0x3F typedef struct EnSuttari { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.c b/src/overlays/actors/ovl_En_Sw/z_en_sw.c index 3f32564bb..a705a8546 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c @@ -901,13 +901,13 @@ void func_808DA89C(EnSw* this, PlayState* play) { } void func_808DAA60(EnSw* this, PlayState* play) { - Vec3s* sp44; + Vec3s* points; s16 temp_v0; s16 sp40; Vec3f sp34; f32 temp_f16; - sp44 = Lib_SegmentedToVirtual(this->unk_1E4->points); + points = Lib_SegmentedToVirtual(this->path->points); sp40 = 0; if (DECR(this->unk_454) == 0) { @@ -915,13 +915,13 @@ void func_808DAA60(EnSw* this, PlayState* play) { temp_f16 = this->skelAnime.endFrame - this->skelAnime.curFrame; sp40 = 80.0f * temp_f16; if (this->unk_45E == 0) { - Math_Vec3s_ToVec3f(&sp34, &sp44[this->unk_4A0]); + Math_Vec3s_ToVec3f(&sp34, &points[this->unk_4A0]); func_808D9894(this, &sp34); temp_v0 = Math_Atan2S_XY(sp34.z, sp34.x); if (ABS_ALT(temp_v0) < sp40) { this->skelAnime.curFrame = 0.0f; Actor_PlaySfx(&this->actor, NA_SE_EN_STALWALL_DASH); - Math_Vec3s_ToVec3f(&this->unk_374, &sp44[this->unk_4A0]); + Math_Vec3s_ToVec3f(&this->unk_374, &points[this->unk_4A0]); this->actionFunc = func_808DACF4; this->unk_414 = 0.0f; sp40 = ABS_ALT(temp_v0); @@ -981,7 +981,7 @@ void func_808DACF4(EnSw* this, PlayState* play) { if (((s32)this->unk_414 != 0) && ((s32)this->unk_414 < (s32)sp4C)) { Math_Vec3f_Copy(&this->actor.world.pos, &this->unk_374); this->unk_4A0 += this->unk_49C; - if ((this->unk_4A0 >= this->unk_1E4->count) || (this->unk_4A0 < 0)) { + if ((this->unk_4A0 >= this->path->count) || (this->unk_4A0 < 0)) { this->unk_49C = -this->unk_49C; this->unk_4A0 += this->unk_49C * 2; } @@ -1154,8 +1154,9 @@ void EnSw_Init(Actor* thisx, PlayState* play) { this->collider.info.toucher.damage = 16; } - this->unk_1E4 = SubS_GetDayDependentPath(play, ENSW_GET_FF00(&this->actor), 255, &this->unk_4A0); - if (this->unk_1E4 != NULL) { + this->path = + SubS_GetDayDependentPath(play, ENSW_GET_PATH_INDEX(&this->actor), ENSW_PATH_INDEX_NONE, &this->unk_4A0); + if (this->path != NULL) { this->unk_4A0 = 1; } @@ -1201,7 +1202,7 @@ void EnSw_Init(Actor* thisx, PlayState* play) { } func_808D9F78(this, play, 1); - if (this->unk_1E4 != NULL) { + if (this->path != NULL) { this->unk_49C = 1; func_808D9F08(this); this->actionFunc = func_808DAA60; diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.h b/src/overlays/actors/ovl_En_Sw/z_en_sw.h index 4544346a0..f77d12267 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.h +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.h @@ -11,14 +11,16 @@ typedef void (*EnSwActionFunc)(struct EnSw*, PlayState*); #define ENSW_GET_3(thisx) (ENSW_GETS_3((thisx)->params)) #define ENSW_GETS_3FC(params) (((params & 0x3FC) >> 2) & 0xFF) #define ENSW_GET_3FC(thisx) (ENSW_GETS_3FC((thisx)->params)) -#define ENSW_GET_FF00(thisx) ((((thisx)->params & 0xFF00) >> 8) & 0xFF) +#define ENSW_GET_PATH_INDEX(thisx) ((((thisx)->params & 0xFF00) >> 8) & 0xFF) + +#define ENSW_PATH_INDEX_NONE 0xFF typedef struct EnSw { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; /* 0x188 */ EnSwActionFunc actionFunc; /* 0x18C */ ColliderSphere collider; - /* 0x1E4 */ Path* unk_1E4; + /* 0x1E4 */ Path* path; /* 0x1E8 */ Vec3s jointTable[30]; /* 0x29C */ Vec3s morphTable[30]; /* 0x350 */ Vec3f unk_350; diff --git a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c index ae4716172..5f5194523 100644 --- a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c +++ b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c @@ -79,12 +79,12 @@ void EnSyatekiCrow_Init(Actor* thisx, PlayState* play2) { s32 i; path = syatekiMan->path; - while (path->unk2 != 0) { - path = &play->setupPathList[path->unk1]; + while (path->customValue != SG_PATH_TYPE_CROW) { + path = &play->setupPathList[path->additionalPathIndex]; } for (i = 0; i < EN_SYATEKI_CROW_GET_INDEX(&this->actor); i++) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } Actor_ProcessInitChain(&this->actor, sInitChain); diff --git a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c index 6fefd906a..b8c5eda14 100644 --- a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c +++ b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c @@ -103,7 +103,7 @@ void EnSyatekiDekunuts_Init(Actor* thisx, PlayState* play2) { static s32 sDrawFlowers = true; // This makes it so only one EnSyatekiDekunuts draws all the flowers. EnSyatekiDekunuts* this = THIS; PlayState* play = play2; - s32 unkPathComparison; + s32 pathType; Path* path; EnSyatekiMan* syatekiMan = (EnSyatekiMan*)this->actor.parent; s32 i; @@ -115,18 +115,18 @@ void EnSyatekiDekunuts_Init(Actor* thisx, PlayState* play2) { if (EN_SYATEKI_DEKUNUTS_GET_TYPE(&this->actor) == EN_SYATEKI_DEKUNUTS_TYPE_BONUS) { Actor_SetScale(&this->actor, 0.01f); this->collider.dim = sBonusDekuScrubColliderDimensions[0]; - unkPathComparison = 3; + pathType = SG_PATH_TYPE_SCRUB_BONUS; } else { Actor_SetScale(&this->actor, 0.02f); - unkPathComparison = 1; + pathType = SG_PATH_TYPE_SCRUB_NORMAL; } - while (path->unk2 != unkPathComparison) { - path = &play->setupPathList[path->unk1]; + while (path->customValue != pathType) { + path = &play->setupPathList[path->additionalPathIndex]; } for (i = 0; i < EN_SYATEKI_DEKUNUTS_GET_PARAM_FF00(&this->actor); i++) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } if (sDrawFlowers == true) { diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index 526c7a666..9cae4219c 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -183,7 +183,7 @@ void EnSyatekiMan_Swamp_SpawnTargetActors(EnSyatekiMan* this, PlayState* play2, void EnSyatekiMan_Init(Actor* thisx, PlayState* play) { EnSyatekiMan* this = THIS; s32 pad; - Path* path = &play->setupPathList[EN_SYATEKI_MAN_GET_PATH(&this->actor)]; + Path* path = &play->setupPathList[EN_SYATEKI_MAN_GET_PATH_INDEX(&this->actor)]; s32 actorListLength = sSwampTargetActorListLengths[this->swampTargetActorListIndex]; this->actor.targetMode = 1; diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h index 0b637fecf..468cb981c 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h @@ -8,7 +8,7 @@ struct EnSyatekiMan; typedef void (*EnSyatekiManActionFunc)(struct EnSyatekiMan*, PlayState*); -#define EN_SYATEKI_MAN_GET_PATH(thisx) (((thisx)->params & 0xFF00) >> 8) +#define EN_SYATEKI_MAN_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF00) >> 8) typedef enum { /* 0 */ SG_GAME_STATE_NONE, // None of the states below apply. @@ -18,22 +18,29 @@ typedef enum { /* 4 */ SG_GAME_STATE_ONE_MORE_GAME, // The player failed to get a new high score (Town) and/or perfect score (Swamp and Town). /* 5 */ SG_GAME_STATE_GIVING_BONUS, // The player gets bonus points at the end of the Swamp game if they get a perfect score. /* 6 */ SG_GAME_STATE_ENDED, // The player got a new high score and/or perfect score (Town), or the game is over (Swamp). - /* 7 */ SG_GAME_STATE_MOVING_PLAYER, // The player is automatically moving towards the spot to play the game. + /* 7 */ SG_GAME_STATE_MOVING_PLAYER // The player is automatically moving towards the spot to play the game. } ShootingGalleryGameState; typedef enum { /* 0 */ SG_OCTO_STATE_SPAWNING, /* 1 */ SG_OCTO_STATE_SPAWNED, /* 70 */ SG_OCTO_STATE_INITIAL = 70, - /* 80 */ SG_OCTO_STATE_HIDING = 80, + /* 80 */ SG_OCTO_STATE_HIDING = 80 } ShootingGalleryOctorokState; typedef enum { /* 0 */ SG_OCTO_HIT_TYPE_NONE, /* 1 */ SG_OCTO_HIT_TYPE_RED, - /* 2 */ SG_OCTO_HIT_TYPE_BLUE, + /* 2 */ SG_OCTO_HIT_TYPE_BLUE } ShootingGalleryoctorokHitType; +typedef enum { + /* 0 */ SG_PATH_TYPE_CROW, + /* 1 */ SG_PATH_TYPE_SCRUB_NORMAL, + /* 2 */ SG_PATH_TYPE_WOLFOS, + /* 3 */ SG_PATH_TYPE_SCRUB_BONUS +} ShootingGalleryPathType; + typedef struct EnSyatekiMan { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c index f582063b7..7b885c5e8 100644 --- a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c +++ b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c @@ -146,12 +146,12 @@ void EnSyatekiWf_Init(Actor* thisx, PlayState* play) { s32 i; path = syatekiMan->path; - while (path->unk2 != 2) { - path = &play->setupPathList[path->unk1]; + while (path->customValue != SG_PATH_TYPE_WOLFOS) { + path = &play->setupPathList[path->additionalPathIndex]; } for (i = 0; i < EN_SYATEKI_WF_GET_INDEX(&this->actor); i++) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } if (path == NULL) { diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index d64053b5a..ee3b9af58 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -268,7 +268,7 @@ void EnTalkGibud_Init(Actor* thisx, PlayState* play) { this->switchFlag = -1; } - if (this->switchFlag != -1 && Flags_GetSwitch(play, this->switchFlag)) { + if ((this->switchFlag != -1) && Flags_GetSwitch(play, this->switchFlag)) { Actor_Kill(&this->actor); } @@ -291,7 +291,7 @@ void EnTalkGibud_SetupIdle(EnTalkGibud* this) { * Gibdo will attack the player if they get too close. */ void EnTalkGibud_Idle(EnTalkGibud* this, PlayState* play) { - if (this->actor.xzDistToPlayer <= 150.0f && func_800B715C(play)) { + if ((this->actor.xzDistToPlayer <= 150.0f) && func_800B715C(play)) { EnTalkGibud_SetupAttemptPlayerFreeze(this); } @@ -345,7 +345,8 @@ void EnTalkGibud_WalkToPlayer(EnTalkGibud* this, PlayState* play) { if (EnTalkGibud_PlayerInRangeWithCorrectState(this, play) && Actor_IsFacingPlayer(&this->actor, 0x38E3)) { if ((this->grabWaitTimer == 0) && (this->actor.xzDistToPlayer <= 45.0f)) { player->actor.freezeTimer = 0; - if (gSaveContext.save.playerForm == PLAYER_FORM_GORON || gSaveContext.save.playerForm == PLAYER_FORM_DEKU) { + if ((gSaveContext.save.playerForm == PLAYER_FORM_GORON) || + (gSaveContext.save.playerForm == PLAYER_FORM_DEKU)) { // If the Gibdo/Redead tries to grab Goron or Deku Link, it will fail to // do so. It will appear to take damage and shake its head side-to-side. EnTalkGibud_SetupGrabFail(this); @@ -442,6 +443,9 @@ void EnTalkGibud_Grab(EnTalkGibud* this, PlayState* play) { Math_SmoothStepToF(&this->actor.shape.yOffset, 0.0f, 1.0f, 400.0f, 0.0f); } break; + + default: + break; } } @@ -512,7 +516,7 @@ void EnTalkGibud_WalkToHome(EnTalkGibud* this, PlayState* play) { this->actor.world.rot = this->actor.shape.rot; } if (EnTalkGibud_PlayerInRangeWithCorrectState(this, play)) { - if (gSaveContext.save.playerForm != PLAYER_FORM_GORON && gSaveContext.save.playerForm != PLAYER_FORM_DEKU && + if ((gSaveContext.save.playerForm != PLAYER_FORM_GORON) && (gSaveContext.save.playerForm != PLAYER_FORM_DEKU) && Actor_IsFacingPlayer(&this->actor, 0x38E3)) { EnTalkGibud_SetupWalkToPlayer(this); } @@ -676,6 +680,9 @@ void EnTalkGibud_GetTextIdForRequestedItem(EnTalkGibud* this, PlayState* play) { Message_StartTextbox(play, 0x1395, &this->actor); this->textId = 0x1395; break; + + default: + break; } } @@ -700,6 +707,9 @@ void EnTalkGibud_GetNextTextBoxId(EnTalkGibud* this, PlayState* play) { Message_StartTextbox(play, 0xFF, &this->actor); this->textId = 0xFF; break; + + default: + break; } } } @@ -1063,8 +1073,8 @@ void EnTalkGibud_UpdateDamage(EnTalkGibud* this, PlayState* play) { break; case EN_TALK_GIBUD_DMGEFF_ZORA_MAGIC: - if (this->actionFunc != EnTalkGibud_Grab && - (this->actionFunc != EnTalkGibud_Stunned || this->stunTimer == 0)) { + if ((this->actionFunc != EnTalkGibud_Grab) && + ((this->actionFunc != EnTalkGibud_Stunned) || (this->stunTimer == 0))) { this->drawDmgEffAlpha = 1.0f; this->drawDmgEffTimer = 40; this->drawDmgEffType = ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_SMALL; @@ -1073,10 +1083,13 @@ void EnTalkGibud_UpdateDamage(EnTalkGibud* this, PlayState* play) { break; case EN_TALK_GIBUD_DMGEFF_STUN: - if ((this->actionFunc != EnTalkGibud_Stunned) || this->stunTimer == 0) { + if ((this->actionFunc != EnTalkGibud_Stunned) || (this->stunTimer == 0)) { EnTalkGibud_SetupStunned(this); } break; + + default: + break; } } } @@ -1114,7 +1127,7 @@ void EnTalkGibud_MoveGrabbedPlayerAwayFromWall(EnTalkGibud* this, PlayState* pla Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 20.0f, 35.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_8 | UPDBGCHECKINFO_FLAG_10); - if (this->actionFunc == EnTalkGibud_Grab && this->grabState == EN_TALK_GIBUD_GRAB_START && + if ((this->actionFunc == EnTalkGibud_Grab) && (this->grabState == EN_TALK_GIBUD_GRAB_START) && (this->actor.bgCheckFlags & BGCHECKFLAG_WALL)) { targetPos = player->actor.world.pos; targetPos.x += 10.0f * Math_SinS(this->actor.wallYaw); diff --git a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c index 483edd145..b86b9c714 100644 --- a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c +++ b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c @@ -180,10 +180,10 @@ void EnTanron3_Live(EnTanron3* this, PlayState* play) { Player* player = GET_PLAYER(play); this->skelAnime.curFrame = 4.0f; - if ((player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && player->actor.shape.feetPos[0].y >= 438.0f) { + if ((player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (player->actor.shape.feetPos[0].y >= 438.0f)) { // Player is standing on the central platform, so stop chasing them this->isNonHostile = true; - } else if (this->isNonHostile && this->workTimer[WORK_TIMER_WAIT] == 0 && !(this->timer & 0x1F)) { + } else if (this->isNonHostile && (this->workTimer[WORK_TIMER_WAIT] == 0) && !(this->timer & 0x1F)) { xDistance = this->targetPos.x - player->actor.world.pos.x; zDistance = this->targetPos.z - player->actor.world.pos.z; if (sqrtf(SQ(xDistance) + SQ(zDistance)) < 500.0f) { @@ -204,20 +204,21 @@ void EnTanron3_Live(EnTanron3* this, PlayState* play) { Math_Vec3f_Copy(&this->targetPos, &player->actor.world.pos); if (!(this->timer & 0xF)) { - if (Rand_ZeroOne() < 0.5f && this->actor.xzDistToPlayer <= 200.0f) { + if ((Rand_ZeroOne() < 0.5f) && (this->actor.xzDistToPlayer <= 200.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_PIRANHA_ATTACK); } } // If the player gets eaten by Gyorg, or if the attack timer ran out, // stop chasing the player for a little bit. - if (this->workTimer[WORK_TIMER_ATTACK] == 0 || (player->stateFlags2 & PLAYER_STATE2_80)) { + if ((this->workTimer[WORK_TIMER_ATTACK] == 0) || (player->stateFlags2 & PLAYER_STATE2_80)) { this->workTimer[WORK_TIMER_WAIT] = 150; this->isNonHostile = true; } break; + case true: - if (sGyorg->unk_324 != 0 && !(this->timer & 0x7)) { + if ((sGyorg->unk_324 != 0) && !(this->timer & 0x7)) { this->nextRotationAngle = 0x4E20; this->actor.speed = 6.0f; } else { @@ -242,7 +243,7 @@ void EnTanron3_Live(EnTanron3* this, PlayState* play) { } if (this->workTimer[WORK_TIMER_OUT_OF_WATER] == 0) { - if (this->workTimer[WORK_TIMER_PICK_NEW_DEVIATION] == 0 && this->actor.speed > 1.0f) { + if ((this->workTimer[WORK_TIMER_PICK_NEW_DEVIATION] == 0) && (this->actor.speed > 1.0f)) { this->workTimer[WORK_TIMER_PICK_NEW_DEVIATION] = Rand_ZeroFloat(20.0f); this->deviation.x = randPlusMinusPoint5Scaled(100.0f); this->deviation.y = randPlusMinusPoint5Scaled(50.0f + extraScaleY); @@ -286,6 +287,7 @@ void EnTanron3_Live(EnTanron3* this, PlayState* play) { this->isBeached = true; } break; + case true: this->nextRotationAngle = 0x3A98; this->actor.gravity = -1.5f; @@ -423,7 +425,7 @@ void EnTanron3_Update(Actor* thisx, PlayState* play) { CollisionCheck_SetAT(play, &play->colChkCtx, &this->atCollider.base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->acCollider.base); - if ((s8)sGyorg->actor.colChkInfo.health <= 0 && this->actionFunc != EnTanron3_Die) { + if (((s8)sGyorg->actor.colChkInfo.health <= 0) && (this->actionFunc != EnTanron3_Die)) { EnTanron3_SetupDie(this, play); this->workTimer[WORK_TIMER_DIE] = 0; } diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.c b/src/overlays/actors/ovl_En_Test3/z_en_test3.c index 7de134218..6711fcde6 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.c +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.c @@ -533,17 +533,17 @@ void func_80A3F114(EnTest3* this, PlayState* play) { } s32 func_80A3F15C(EnTest3* this, PlayState* play, struct_80A41828* arg2) { - s32 pathIndex; + s32 limit; Path* path; Vec3s* curPathPoint; Vec3s* nextPathPoint; Vec3f curPathPos; Vec3f nextPathPos; - pathIndex = ABS_ALT(arg2->unk_1_0) - 1; + limit = ABS_ALT(arg2->unk_1_0) - 1; - if (pathIndex >= 0) { - path = SubS_GetAdditionalPath(play, KAFEI_GET_PARAM_1F(&this->player.actor), pathIndex); + if (limit >= 0) { + path = SubS_GetAdditionalPath(play, KAFEI_GET_PATH_INDEX(&this->player.actor), limit); curPathPoint = Lib_SegmentedToVirtual(path->points); if (arg2->unk_1_0 > 0) { @@ -868,7 +868,7 @@ s32 func_80A40098(EnTest3* this, PlayState* play, struct_80A41828* arg2, Schedul u16 numWaypoints; func_80A3F15C(this, play, arg2); - this->unk_D7C = SubS_GetAdditionalPath(play, KAFEI_GET_PARAM_1F(&this->player.actor), ABS_ALT(arg2->unk_1_0) - 1); + this->unk_D7C = SubS_GetAdditionalPath(play, KAFEI_GET_PATH_INDEX(&this->player.actor), ABS_ALT(arg2->unk_1_0) - 1); if ((this->unk_D88 < 7) && (this->unk_D88 != 0) && (this->unk_D80 >= 0)) { startTime = now; } else { @@ -1164,7 +1164,9 @@ void EnTest3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dL func_80128640(play, &this->player, *dList1); if (this->player.stateFlags3 & PLAYER_STATE3_20000000) { OPEN_DISPS(play->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, object_test3_DL_00EDD0); + CLOSE_DISPS(play->state.gfxCtx); } } @@ -1200,7 +1202,9 @@ void EnTest3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dL (this->player.skelAnime.curFrame >= 12.0f))) { if (func_80127438(play, &this->player, this->player.currentMask)) { OPEN_DISPS(play->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, object_mask_ki_tan_DL_0004A0); + CLOSE_DISPS(play->state.gfxCtx); } } @@ -1219,7 +1223,9 @@ void EnTest3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dL D_80A41D60 = true; } else { OPEN_DISPS(play->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, object_test3_DL_00CB60); + CLOSE_DISPS(play->state.gfxCtx); } } else { diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.h b/src/overlays/actors/ovl_En_Test3/z_en_test3.h index 36cd15c27..17c704129 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.h +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.h @@ -7,7 +7,7 @@ struct EnTest3; typedef void (*EnTest3ActionFunc)(struct EnTest3*, PlayState*); -#define KAFEI_GET_PARAM_1F(thisx) ((thisx)->params & 0x1F) +#define KAFEI_GET_PATH_INDEX(thisx) ((thisx)->params & 0x1F) #define KAFEI_GET_PARAM_1E0(thisx) (((thisx)->params >> 5) & 0xF) typedef struct { diff --git a/src/overlays/actors/ovl_En_Test5/z_en_test5.c b/src/overlays/actors/ovl_En_Test5/z_en_test5.c index a041a1aaf..f7a9b431b 100644 --- a/src/overlays/actors/ovl_En_Test5/z_en_test5.c +++ b/src/overlays/actors/ovl_En_Test5/z_en_test5.c @@ -66,13 +66,13 @@ void EnTest5_HandleBottleAction(EnTest5* this, PlayState* play) { player = GET_PLAYER(play); - if (player->interactRangeActor == NULL || player->getItemId != GI_MAX) { + if ((player->interactRangeActor == NULL) || (player->getItemId != GI_MAX)) { Math_Vec3f_DistXYZAndStoreDiff(&this->minPos, &player->actor.world.pos, &playerPosRelativeToWater); // Make sure that the player is within the bounds of the water and deep enough to grab some - if (playerPosRelativeToWater.x >= 0.0f && playerPosRelativeToWater.x <= this->xLength && - playerPosRelativeToWater.z >= 0.0f && playerPosRelativeToWater.z <= this->zLength && - fabsf(playerPosRelativeToWater.y) < 100.0f && player->actor.depthInWater > 12.0f) { + if ((playerPosRelativeToWater.x >= 0.0f) && (playerPosRelativeToWater.x <= this->xLength) && + (playerPosRelativeToWater.z >= 0.0f) && (playerPosRelativeToWater.z <= this->zLength) && + (fabsf(playerPosRelativeToWater.y) < 100.0f) && (player->actor.depthInWater > 12.0f)) { Actor_OfferGetItem(&this->actor, play, GI_MAX, this->actor.xzDistToPlayer, fabsf(this->actor.playerHeightRel)); } @@ -89,10 +89,10 @@ void EnTest5_Update(Actor* thisx, PlayState* play2) { this->actionFunc(this, play); // If it's the hot spring variant, generate steam clouds - if (ENTEST5_IS_HOT_SPRING(&this->actor) && (play->state.frames % 4) == 0) { - steamPos.x = (Rand_ZeroOne() * this->xLength) + this->minPos.x; + if (ENTEST5_IS_HOT_SPRING(&this->actor) && ((play->state.frames % 4) == 0)) { + steamPos.x = this->minPos.x + (Rand_ZeroOne() * this->xLength); steamPos.y = this->minPos.y + 100.0f; - steamPos.z = (Rand_ZeroOne() * this->zLength) + this->minPos.z; + steamPos.z = this->minPos.z + (Rand_ZeroOne() * this->zLength); if ((BgCheck_EntityRaycastFloor2(play, &play->colCtx, &poly, &steamPos) + 10.0f) < this->minPos.y) { Vec3f steamVel; @@ -102,8 +102,7 @@ void EnTest5_Update(Actor* thisx, PlayState* play2) { steamVel.x = 0.0f; steamVel.z = 0.0f; - EffectSsIceSmoke_Spawn(play, &steamPos, &steamVel, &gZeroVec3f, - (s16)((-200) - (s32)(Rand_ZeroOne() * 50.0f))); + EffectSsIceSmoke_Spawn(play, &steamPos, &steamVel, &gZeroVec3f, -200 - (s32)(Rand_ZeroOne() * 50.0f)); } } } diff --git a/src/overlays/actors/ovl_En_Test6/z_en_test6.c b/src/overlays/actors/ovl_En_Test6/z_en_test6.c index b56112421..846d728dc 100644 --- a/src/overlays/actors/ovl_En_Test6/z_en_test6.c +++ b/src/overlays/actors/ovl_En_Test6/z_en_test6.c @@ -1194,6 +1194,7 @@ void func_80A9369C(Actor* thisx, PlayState* play2) { s32 pad; if (this) {} + OPEN_DISPS(play->state.gfxCtx); this->unk_148 = POLY_OPA_DISP; diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index fb5f72c76..341f0a89d 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -503,12 +503,12 @@ s32 func_80AED354(EnTk* this, PlayState* play, ScheduleOutput* scheduleOutput) { s32 func_80AED38C(EnTk* this, PlayState* play, ScheduleOutput* scheduleOutput) { u16 sp1E = SCHEDULE_TIME_NOW; - u8 params = ENTK_GET_F800(&this->actor); + u8 pathIndex = ENTK_GET_PATH_INDEX(&this->actor); u16 phi_a1; s32 index = scheduleOutput->result - 1; u16 tmp; - this->timePath = SubS_GetAdditionalPath(play, params, D_80AEF8E8[index + 1]); + this->timePath = SubS_GetAdditionalPath(play, pathIndex, D_80AEF8E8[index + 1]); if (this->timePath == NULL) { return false; } @@ -1366,6 +1366,7 @@ void EnTk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, gSPDisplayList(POLY_OPA_DISP++, object_tk_DL_00B530); CLOSE_DISPS(play->state.gfxCtx); + break; } } diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.h b/src/overlays/actors/ovl_En_Tk/z_en_tk.h index 9604133e7..aa15c6fc6 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.h +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.h @@ -10,7 +10,7 @@ typedef void (*EnTkUnkFunc)(struct EnTk*, PlayState*); #define ENTK_GET_F(thisx) ((thisx)->params & 0xF) #define ENTK_GET_7F0(thisx) (((thisx)->params >> 4) & 0x7F) -#define ENTK_GET_F800(thisx) ((((thisx)->params >> 0xB) & 0x1F) & 0xFF) +#define ENTK_GET_PATH_INDEX(thisx) (((thisx)->params >> 0xB) & 0x1F) typedef struct EnTk { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c index c6681b4be..204fa8714 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c @@ -160,7 +160,8 @@ void EnTorch2_Draw(Actor* thisx, PlayState* play2) { Gfx* gfx = sShellDLists[this->actor.params]; OPEN_DISPS(play->state.gfxCtx); - if (this->alpha == 0xFF) { + + if (this->alpha == 255) { Scene_SetRenderModeXlu(play, 0, 0x01); gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, 255); Gfx_DrawDListOpa(play, gfx); @@ -169,5 +170,6 @@ void EnTorch2_Draw(Actor* thisx, PlayState* play2) { gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->alpha); Gfx_DrawDListXlu(play, gfx); } + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c index 6eff18d29..7de3b50c2 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c @@ -205,10 +205,10 @@ void EnToto_Destroy(Actor* thisx, PlayState* play) { } void func_80BA383C(EnToto* this, PlayState* play) { - if (SkelAnime_Update(&this->skelAnime) && this->actionFuncIndex == 1 && - this->skelAnime.animation != &object_zm_Anim_000C80) { - if (play->msgCtx.currentTextId != 0x2A98 && play->msgCtx.currentTextId != 0x2A99) { - if (this->unk2B4 & 1 || Rand_ZeroOne() > 0.5f) { + if (SkelAnime_Update(&this->skelAnime) && (this->actionFuncIndex == 1) && + (this->skelAnime.animation != &object_zm_Anim_000C80)) { + if ((play->msgCtx.currentTextId != 0x2A98) && (play->msgCtx.currentTextId != 0x2A99)) { + if ((this->unk2B4 & 1) || (Rand_ZeroOne() > 0.5f)) { this->unk2B4 = (this->unk2B4 + 1) & 3; } } @@ -251,9 +251,8 @@ void func_80BA39C8(EnToto* this, PlayState* play) { return; } - //! TODO: Neither 0xED02 nor 0xED01 match CLOCK_TIME macro if (((play->sceneId == SCENE_MILK_BAR) && - !((gSaveContext.save.time >= CLOCK_TIME(6, 0)) && (gSaveContext.save.time < 0xED02))) || + !((gSaveContext.save.time >= CLOCK_TIME(6, 0)) && (gSaveContext.save.time <= (CLOCK_TIME(22, 13) + 7)))) || ((play->sceneId != SCENE_MILK_BAR) && func_80BA397C(this, 0x2000))) { if (this->unk2B6 != 0) { this->text = D_80BA5044; @@ -327,7 +326,7 @@ void func_80BA3DBC(EnToto* this, PlayState* play) { if (!func_80BA4C44(this, play)) { return; } - if (this->text->unk1 != 0 && ENTOTO_WEEK_EVENT_FLAGS) { + if ((this->text->unk1 != 0) && ENTOTO_WEEK_EVENT_FLAGS) { this->unk2B7 = 1; return; } @@ -428,7 +427,7 @@ s32 func_80BA415C(EnToto* this, PlayState* play) { } else { func_8019F208(); } - return (play->msgCtx.choiceIndex != 0 ? 0 : this->text->unk1) + 1; // Possible msg MACRO + return ((play->msgCtx.choiceIndex != 0) ? 0 : this->text->unk1) + 1; } return 0; } @@ -584,7 +583,7 @@ s32 func_80BA47E0(EnToto* this, PlayState* play) { this->unk2B3 += 8; } for (i = 0; i < ARRAY_COUNT(D_80BA50DC); i++) { - if (gSaveContext.save.playerForm != (i + 1) && (D_80BA5128[i] & this->unk2B3)) { + if ((gSaveContext.save.playerForm != (i + 1)) && (D_80BA5128[i] & this->unk2B3)) { Math_Vec3s_ToVec3f(&spawnPos, &D_80BA50DC[i].unk6); Actor_Spawn(&play->actorCtx, play, ACTOR_PLAYER, spawnPos.x, spawnPos.y, spawnPos.z, i + 2, 0, 0, diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index 951724668..bf0f9cc31 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -216,7 +216,7 @@ void func_80AD36EC(EnTrt2* this, PlayState* play) { this->unk_1E4 = 0; this->unk_3D9 = 1; this->actor.velocity.y = 0.0f; - this->path = SubS_GetPathByIndex(play, this->path->unk1, -1); + this->path = SubS_GetPathByIndex(play, this->path->additionalPathIndex, PATH_INDEX_NONE); CutsceneManager_Stop(this->csId); this->csId = CutsceneManager_GetAdditionalCsId(this->csId); CutsceneManager_Queue(this->csId); @@ -450,7 +450,7 @@ void func_80AD417C(EnTrt2* this, PlayState* play) { play->msgCtx.stateTimer = 4; if (this->unk_3A8 == 0x84C) { EnTrt2_ChangeAnim(&this->skelAnime, sAnimationInfo, TRT2_ANIM_HOVER); - this->path = SubS_GetPathByIndex(play, ENTRT2_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENTRT2_GET_PATH_INDEX(&this->actor), ENTRT2_PATH_INDEX_NONE); this->unk_3B2 = 18; } else if (this->unk_3A8 == 0x88F) { this->unk_3A8 = 0x88E; @@ -722,7 +722,7 @@ void func_80AD4DB4(EnTrt2* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_10; Actor_SetObjectDependency(play, &this->actor); Actor_SetScale(&this->actor, 0.008f); - this->path = SubS_GetPathByIndex(play, ENTRT2_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENTRT2_GET_PATH_INDEX(&this->actor), ENTRT2_PATH_INDEX_NONE); this->unk_3AE = Rand_S16Offset(100, 50); this->unk_3B0 = 10; this->unk_3A8 = 0; diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h index f30f41d80..f9e2b4fc8 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h @@ -9,7 +9,9 @@ typedef void (*EnTrt2ActionFunc)(struct EnTrt2*, PlayState*); typedef void (*EnTrt2UnkFunc)(struct EnTrt2*); typedef void (*EnTrt2UnkFunc2)(struct EnTrt2*, PlayState*); -#define ENTRT2_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENTRT2_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENTRT2_PATH_INDEX_NONE 0x3F typedef struct EnTrt2 { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.c b/src/overlays/actors/ovl_En_Tru/z_en_tru.c index a3c267846..a11d00cdb 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.c +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.c @@ -1138,7 +1138,8 @@ void EnTru_Init(Actor* thisx, PlayState* play) { CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0x16), &sColChkInfoInit); this->animIndex = -1; EnTru_ChangeAnim(this, KOUME_ANIM_INJURED_LYING_DOWN); - this->path = SubS_GetDayDependentPath(play, ENTRU_GET_PATH(&this->actor), 255, &this->unk_384); + this->path = + SubS_GetDayDependentPath(play, ENTRU_GET_PATH_INDEX(&this->actor), ENTRU_PATH_INDEX_NONE, &this->unk_384); if (this->path != NULL) { this->unk_384 = 1; } diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.h b/src/overlays/actors/ovl_En_Tru/z_en_tru.h index c6d2af00c..e7c06e127 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.h +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.h @@ -9,7 +9,9 @@ struct EnTru; typedef void (*EnTruActionFunc)(struct EnTru*, PlayState*); typedef s32 (*EnTruUnkFunc)(Actor*, PlayState*); -#define ENTRU_GET_PATH(thisx) ((thisx)->params & 0xFF) +#define ENTRU_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) + +#define ENTRU_PATH_INDEX_NONE 0xFF typedef struct { /* 0x00 */ u8 unk_00; diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c index 2c8e4ed8a..6cd2641a1 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c @@ -431,7 +431,7 @@ void EnTruMt_Init(Actor* thisx, PlayState* play) { this->collider.dim.worldSphere.radius = 22; this->actor.colChkInfo.damageTable = &sDamageTable; - this->path = SubS_GetPathByIndex(play, ENTRUMT_GET_FF(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENTRUMT_GET_FF(&this->actor), ENTRUMT_PATH_INDEX_NONE); this->actor.targetMode = 0; Actor_SetScale(&this->actor, 0.008f); @@ -439,7 +439,7 @@ void EnTruMt_Init(Actor* thisx, PlayState* play) { this->unk_328 = 0; this->actor.room = -1; - this->path = SubS_GetPathByIndex(play, ENTRUMT_GET_FC00(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENTRUMT_GET_FC00(&this->actor), ENTRUMT_PATH_INDEX_NONE); EnTruMt_ChangeAnim(&this->skelAnime, KOUME_MT_ANIM_FLY); this->actionFunc = func_80B76A64; } diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h index b114804d7..d25d54a24 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h @@ -11,6 +11,8 @@ typedef void (*EnTruMtActionFunc)(struct EnTruMt*, PlayState*); #define ENTRUMT_GET_FF(thisx) ((thisx)->params & 0xFF) #define ENTRUMT_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENTRUMT_PATH_INDEX_NONE 0x3F + typedef struct EnTruMt { /* 0x000 */ Actor actor; /* 0x144 */ EnTruMtActionFunc actionFunc; diff --git a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c index 02955f0d0..ac6ae3152 100644 --- a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c +++ b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c @@ -121,6 +121,7 @@ void EnWizBrock_Draw(Actor* thisx, PlayState* play) { if (this->platformType != EN_WIZ_BROCK_PLATFORM_TYPE_INACTIVE) { OPEN_DISPS(play->state.gfxCtx); + AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gWizrobePlatformCenterTexAnim)); gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 255, 255, 255); diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index 4bf82f55a..1dbe5d2e8 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -170,7 +170,7 @@ void EnYb_ActorShadowFunc(Actor* thisx, Lights* mapper, PlayState* play) { } void EnYb_ChangeAnim(PlayState* play, EnYb* this, s16 animIndex, u8 animMode, f32 morphFrames) { - if (animIndex >= 0 && animIndex < 3) { + if ((animIndex >= 0) && (animIndex < 3)) { if ((animIndex != this->animIndex) || (animMode != ANIMMODE_LOOP)) { if (animIndex > 0) { if (animMode == ANIMMODE_LOOP) { @@ -198,7 +198,7 @@ void EnYb_ChangeAnim(PlayState* play, EnYb* this, s16 animIndex, u8 animMode, f3 } s32 EnYb_CanTalk(EnYb* this, PlayState* play) { - if (this->actor.xzDistToPlayer < 100.0f && Player_IsFacingActor(&this->actor, 0x3000, play) && + if ((this->actor.xzDistToPlayer < 100.0f) && Player_IsFacingActor(&this->actor, 0x3000, play) && Actor_IsFacingPlayer(&this->actor, 0x3000)) { return true; } else { @@ -296,6 +296,7 @@ void EnYb_Talk(EnYb* this, PlayState* play) { this->actionFunc = EnYb_Disappear; SET_WEEKEVENTREG(WEEKEVENTREG_82_04); break; + case 0x147C: // Spread my dance across the world if (Player_GetMask(play) == PLAYER_MASK_KAMARO) { Message_CloseTextbox(play); @@ -311,6 +312,7 @@ void EnYb_Talk(EnYb* this, PlayState* play) { EnYb_ReceiveMask(this, play); } break; + default: Message_CloseTextbox(play); this->actionFunc = EnYb_Idle; @@ -353,9 +355,9 @@ void EnYb_Idle(EnYb* this, PlayState* play) { Player* player = GET_PLAYER(play); EnYb_UpdateAnimation(this, play); - if (this->actor.xzDistToPlayer < 180.0f && fabsf(this->actor.playerHeightRel) < 50.0f && - play->msgCtx.ocarinaMode == 3 && play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING && - gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) { + if ((this->actor.xzDistToPlayer < 180.0f) && (fabsf(this->actor.playerHeightRel) < 50.0f) && + (play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && + (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) { this->actionFunc = EnYb_TeachingDance; this->teachingCutsceneTimer = 200; EnYb_ChangeCutscene(this, 0); @@ -377,8 +379,8 @@ void EnYb_Idle(EnYb* this, PlayState* play) { if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { this->playerOcarinaOut &= ~1; } - } else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && this->actor.xzDistToPlayer < 180.0f && - fabsf(this->actor.playerHeightRel) < 50.0f) { + } else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (this->actor.xzDistToPlayer < 180.0f) && + (fabsf(this->actor.playerHeightRel) < 50.0f)) { this->playerOcarinaOut |= 1; Actor_PlaySfx(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); } @@ -466,8 +468,6 @@ void EnYb_Draw(Actor* thisx, PlayState* play) { } gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha); - if (1) {} - POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, EnYb_PostLimbDrawXlu, &this->actor, POLY_XLU_DISP); diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c index a732f0124..ba71bbd7f 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c @@ -206,11 +206,11 @@ void EnZo_LookAtPlayer(EnZo* this, PlayState* play) { } void EnZo_Walk(EnZo* this, PlayState* play) { - if (ENZO_GET_PATH(&this->actor) != 0x3F) { + if (ENZO_GET_PATH_INDEX(&this->actor) != ENZO_PATH_INDEX_NONE) { EnZo_ChangeAnim(&this->skelAnime, 6); } - if (ENZO_GET_PATH(&this->actor) != 0x3F) { + if (ENZO_GET_PATH_INDEX(&this->actor) != ENZO_PATH_INDEX_NONE) { this->actionFunc = EnZo_FollowPath; } else { this->actionFunc = EnZo_DoNothing; @@ -264,7 +264,7 @@ void EnZo_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); - this->path = SubS_GetPathByIndex(play, ENZO_GET_PATH(&this->actor), 0x3F); + this->path = SubS_GetPathByIndex(play, ENZO_GET_PATH_INDEX(&this->actor), ENZO_PATH_INDEX_NONE); Actor_SetScale(&this->actor, 0.01f); this->actionFunc = EnZo_Walk; diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.h b/src/overlays/actors/ovl_En_Zo/z_en_zo.h index bfd0c79dd..9d32f63e5 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.h +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.h @@ -8,7 +8,9 @@ struct EnZo; typedef void (*EnZoActionFunc)(struct EnZo*, PlayState*); -#define ENZO_GET_PATH(thisx) (((thisx)->params & 0x7E00) >> 9) +#define ENZO_GET_PATH_INDEX(thisx) (((thisx)->params & 0x7E00) >> 9) + +#define ENZO_PATH_INDEX_NONE 0x3F typedef struct EnZo { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c index ab97962de..1493759a5 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c @@ -111,8 +111,8 @@ void EnZot_Init(Actor* thisx, PlayState* play2) { for (i = 0; i < ARRAY_COUNT(this->unk_2D8); i++) { this->unk_2D8[i] = NULL; } - if (ENZOT_GET_FC00(&this->actor) != 0x3F) { - this->path = &play->setupPathList[ENZOT_GET_FC00(&this->actor)]; + if (ENZOT_GET_PATH_INDEX(&this->actor) != ENZOT_PATH_INDEX_NONE) { + this->path = &play->setupPathList[ENZOT_GET_PATH_INDEX(&this->actor)]; this->unk_2D4 = 0; func_80B965D0(this, play); } else { @@ -124,8 +124,8 @@ void EnZot_Init(Actor* thisx, PlayState* play2) { case 3: case 4: this->actionFunc = func_80B97B5C; - if (ENZOT_GET_FC00(&this->actor) != 0x3F) { - this->path = &play->setupPathList[ENZOT_GET_FC00(&this->actor)]; + if (ENZOT_GET_PATH_INDEX(&this->actor) != ENZOT_PATH_INDEX_NONE) { + this->path = &play->setupPathList[ENZOT_GET_PATH_INDEX(&this->actor)]; } else { this->path = NULL; } @@ -134,8 +134,8 @@ void EnZot_Init(Actor* thisx, PlayState* play2) { case 5: this->unk_2F2 |= 4; this->actionFunc = func_80B97FD0; - if (ENZOT_GET_FC00(&this->actor) != 0x3F) { - this->path = &play->setupPathList[ENZOT_GET_FC00(&this->actor)]; + if (ENZOT_GET_PATH_INDEX(&this->actor) != ENZOT_PATH_INDEX_NONE) { + this->path = &play->setupPathList[ENZOT_GET_PATH_INDEX(&this->actor)]; } else { this->path = NULL; } @@ -167,8 +167,8 @@ void EnZot_Init(Actor* thisx, PlayState* play2) { case 10: this->actionFunc = func_80B992C0; func_80B96BEC(this, 1, ANIMMODE_LOOP); - if (ENZOT_GET_FC00(&this->actor) != 0x3F) { - this->path = &play->setupPathList[ENZOT_GET_FC00(&this->actor)]; + if (ENZOT_GET_PATH_INDEX(&this->actor) != ENZOT_PATH_INDEX_NONE) { + this->path = &play->setupPathList[ENZOT_GET_PATH_INDEX(&this->actor)]; } else { this->path = NULL; } @@ -211,8 +211,8 @@ void EnZot_Init(Actor* thisx, PlayState* play2) { case 22: this->actionFunc = func_80B980FC; - if (ENZOT_GET_FC00(&this->actor) != 0x3F) { - this->path = &play->setupPathList[ENZOT_GET_FC00(&this->actor)]; + if (ENZOT_GET_PATH_INDEX(&this->actor) != ENZOT_PATH_INDEX_NONE) { + this->path = &play->setupPathList[ENZOT_GET_PATH_INDEX(&this->actor)]; } else { this->path = NULL; } diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.h b/src/overlays/actors/ovl_En_Zot/z_en_zot.h index 1bab43ae3..e2c43baa3 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.h +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.h @@ -8,7 +8,9 @@ struct EnZot; typedef void (*EnZotActionFunc)(struct EnZot*, PlayState*); #define ENZOT_GET_1F(thisx) ((thisx)->params & 0x1F) -#define ENZOT_GET_FC00(thisx) (((thisx)->params & 0xFC00) >> 0xA) +#define ENZOT_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFC00) >> 0xA) + +#define ENZOT_PATH_INDEX_NONE 0x3F typedef struct EnZot { /* 0x000 */ Actor actor; diff --git a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c index bc1d543cc..f41b8057c 100644 --- a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c +++ b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c @@ -95,20 +95,20 @@ s32 func_809A4F00(ObjArmos* this, s32 arg1) { } if (temp_v0 == OBJARMOS_ROT_7_4) { - return arg1 == 0 || arg1 == 1; + return (arg1 == 0) || (arg1 == 1); } if (temp_v0 == OBJARMOS_ROT_7_5) { - return arg1 == 2 || arg1 == 3; + return (arg1 == 2) || (arg1 == 3); } if (temp_v0 == OBJARMOS_ROT_7_6) { if (this->unk_26E != 0) { - return arg1 == 0 || arg1 == 1; + return (arg1 == 0) || (arg1 == 1); } if (this->unk_270 != 0) { - return arg1 == 2 || arg1 == 3; + return (arg1 == 2) || (arg1 == 3); } return true; @@ -141,22 +141,22 @@ s32 func_809A500C(ObjArmos* this, s32 arg1) { if (temp_v0 == OBJARMOS_ROT_7_4) { temp = D_809A5BB0[arg1] + this->unk_26E; - return temp <= temp_v1 && -temp_v1 <= temp; + return (temp <= temp_v1) && (-temp_v1 <= temp); } if (temp_v0 == OBJARMOS_ROT_7_5) { temp2 = D_809A5BB8[arg1] + this->unk_270; - return temp2 <= temp_v1 && -temp_v1 <= temp2; + return (temp2 <= temp_v1) && (-temp_v1 <= temp2); } if (temp_v0 == OBJARMOS_ROT_7_6) { if ((arg1 == 0) || (arg1 == 1)) { temp = D_809A5BB0[arg1] + this->unk_26E; - return temp <= temp_v1 && -temp_v1 <= temp; + return (temp <= temp_v1) && (-temp_v1 <= temp); } temp2 = D_809A5BB8[arg1] + this->unk_270; - return temp2 <= temp_v1 && -temp_v1 <= temp2; + return (temp2 <= temp_v1) && (-temp_v1 <= temp2); } return false; diff --git a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c index 43f137326..6c81e8de6 100644 --- a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c +++ b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c @@ -66,7 +66,7 @@ void ObjBoat_Init(Actor* thisx, PlayState* play) { if (thisx->params < 0) { this->dyna.actor.update = ObjBoat_UpdateCutscene; } else { - path = &play->setupPathList[OBJBOAT_GET_PATH(thisx)]; + path = &play->setupPathList[OBJBOAT_GET_PATH_INDEX(thisx)]; this->maxPointIndex = path->count - 1; this->points = Lib_SegmentedToVirtual(path->points); this->direction = 1; @@ -157,10 +157,10 @@ void ObjBoat_UpdateCutscene(Actor* thisx, PlayState* play2) { if (this->cueId != cue->id) { this->dyna.actor.shape.rot.x = cue->rot.x; if (cue->id != 1) { - Path* path = &play->setupPathList[OBJBOAT_GET_PATH(&this->dyna.actor)]; + Path* path = &play->setupPathList[OBJBOAT_GET_PATH_INDEX(&this->dyna.actor)]; if (cue->id == 3) { - path = &play->setupPathList[path->unk1]; + path = &play->setupPathList[path->additionalPathIndex]; } this->maxPointIndex = path->count; diff --git a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h index bfc7c7c2b..00cb936d7 100644 --- a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h +++ b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h @@ -3,7 +3,7 @@ #include "global.h" -#define OBJBOAT_GET_PATH(thisx) (((thisx)->params >> 7) & 0x1F) +#define OBJBOAT_GET_PATH_INDEX(thisx) (((thisx)->params >> 7) & 0x1F) #define OBJBOAT_GET_4000(thisx) ((thisx)->params & 0x4000) struct ObjBoat; diff --git a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c index 660d9016d..c2270f15b 100644 --- a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c +++ b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c @@ -418,6 +418,7 @@ void ObjChan_DrawPot(Actor* thisx, PlayState* play) { void ObjChan_DrawFire(ObjChan* this, PlayState* play) { u32 sp4C; Gfx* dl; + OPEN_DISPS(play->state.gfxCtx); sp4C = play->gameplayFrames; diff --git a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c index a33bf2a43..9d468d834 100644 --- a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c +++ b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c @@ -68,7 +68,7 @@ void ObjDanpeilift_Init(Actor* thisx, PlayState* play) { if (this->speed < 0.01f) { this->actionFunc = ObjDanpeilift_DoNothing; } else { - path = &play->setupPathList[OBJDANPEILIFT_GET_PATH(thisx)]; + path = &play->setupPathList[OBJDANPEILIFT_GET_PATH_INDEX(thisx)]; this->curPoint = OBJDANPEILIFT_GET_STARTING_POINT(thisx); this->endPoint = path->count - 1; this->direction = 1; diff --git a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h index 9c0d023c7..8ad582dd4 100644 --- a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h +++ b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h @@ -10,7 +10,7 @@ typedef void (*ObjDanpeiliftActionFunc)(struct ObjDanpeilift*, PlayState*); #define OBJDANPEILIFT_GET_TYPE(thisx) (((thisx)->params >> 0xF) & 1) #define OBJDANPEILIFT_GET_STARTING_POINT(thisx) (((thisx)->params >> 7) & 0x1F) -#define OBJDANPEILIFT_GET_PATH(thisx) ((thisx)->params & 0x7F) +#define OBJDANPEILIFT_GET_PATH_INDEX(thisx) ((thisx)->params & 0x7F) #define OBJDANPEILIFT_SHOULD_TELEPORT(thisx) (((thisx)->params >> 0xC) & 1) #define OBJDANPEILIFT_GET_SPEED(thisx) ((thisx)->home.rot.z * 0.1f) #define OBJDANPEILIFT_REACT_TO_PLAYER_ON_TOP(thisx) (((thisx)->params >> 0xE) & 1) diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c index 22a448e54..c7fbab2d6 100644 --- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c +++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c @@ -284,6 +284,9 @@ void ObjEtcetera_Setup(ObjEtcetera* this, PlayState* play) { this->jointTable, this->morphTable, GOLD_DEKU_FLOWER_LIMB_MAX); this->collider.dim.height = 20; break; + + default: + break; } type = DEKU_FLOWER_TYPE(&this->dyna.actor); @@ -310,6 +313,9 @@ void ObjEtcetera_Setup(ObjEtcetera* this, PlayState* play) { this->dyna.actor.focus.pos.y = this->dyna.actor.home.pos.y + 10.0f; this->dyna.actor.targetMode = 3; break; + + default: + break; } } } @@ -321,7 +327,7 @@ void ObjEtcetera_Update(Actor* thisx, PlayState* play) { if (floorBgId == BGCHECK_SCENE) { floorPoly = this->dyna.actor.floorPoly; - if (floorPoly != NULL && this->burrowFlag & 1) { + if ((floorPoly != NULL) && (this->burrowFlag & 1)) { func_800FAAB4(play, SurfaceType_GetLightSettingIndex(&play->colCtx, floorPoly, floorBgId)); } } diff --git a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c index cb957b839..7cace2621 100644 --- a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c +++ b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c @@ -65,7 +65,7 @@ void ObjLupygamelift_Init(Actor* thisx, PlayState* play) { this->dyna.actor.home.rot.y = 0; this->dyna.actor.home.rot.z = 0; - path = &play->setupPathList[OBJLUPYGAMELIFT_GET_PATH(thisx)]; + path = &play->setupPathList[OBJLUPYGAMELIFT_GET_PATH_INDEX(thisx)]; this->pointIndex = OBJLUPYGAMELIFT_GET_7(thisx); this->count = path->count; if (this->pointIndex >= this->count) { diff --git a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h index e25f9cd6d..a1928c473 100644 --- a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h +++ b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h @@ -3,7 +3,7 @@ #include "global.h" -#define OBJLUPYGAMELIFT_GET_PATH(thisx) ((thisx)->params & 0x7F) +#define OBJLUPYGAMELIFT_GET_PATH_INDEX(thisx) ((thisx)->params & 0x7F) #define OBJLUPYGAMELIFT_GET_7(thisx) (((thisx)->params >> 7) & 0x1F) #define OBJLUPYGAMELIFT_GET_C(thisx) (((thisx)->params >> 0xC) & 1) diff --git a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c index bb7d30f69..bcef92843 100644 --- a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c +++ b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c @@ -61,7 +61,7 @@ void ObjMakeoshihiki_Init(Actor* thisx, PlayState* play) { Path* path; s32 childPointIndex; - path = &play->setupPathList[OBJMAKEOSHIHIKI_GET_PATHLISTINDEX(&this->actor)]; + path = &play->setupPathList[OBJMAKEOSHIHIKI_GET_PATH_INDEX(&this->actor)]; this->pathPoints = Lib_SegmentedToVirtual(path->points); this->pathCount = path->count; childPointIndex = ObjMakeoshihiki_GetChildSpawnPointIndex(this, play); diff --git a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h index 47fbe831b..fbe8c1283 100644 --- a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h +++ b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h @@ -5,7 +5,7 @@ struct ObjMakeoshihiki; -#define OBJMAKEOSHIHIKI_GET_PATHLISTINDEX(thisx) (((thisx)->params >> 7) & 0x7F) +#define OBJMAKEOSHIHIKI_GET_PATH_INDEX(thisx) (((thisx)->params >> 7) & 0x7F) #define OBJMAKEOSHIHIKI_GET_SWITCHFLAG_1(thisx) ((thisx)->home.rot.z & 0x7F) #define OBJMAKEOSHIHIKI_GET_SWITCHFLAG_2(thisx) ((thisx)->params & 0x7F) diff --git a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c index 95c43a4bf..f63201966 100644 --- a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c +++ b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c @@ -73,7 +73,8 @@ typedef enum { } ObjMureChildState; s32 func_808D78D0(ObjMure* this, PlayState* play) { - if (this->type == OBJMURE_TYPE_FISH || this->type == OBJMURE_TYPE_BUGS || this->type == OBJMURE_TYPE_BUTTERFLY) { + if ((this->type == OBJMURE_TYPE_FISH) || (this->type == OBJMURE_TYPE_BUGS) || + (this->type == OBJMURE_TYPE_BUTTERFLY)) { Actor_ProcessInitChain(&this->actor, sInitChain); } else { return false; @@ -135,6 +136,7 @@ void ObjMure_SpawnActors0(Actor* thisx, PlayState* play) { switch (this->childrenStates[i]) { case OBJMURE_CHILD_STATE_DEAD: break; + case OBJMURE_CHILD_STATE_2: ObjMure_GetSpawnPos(&pos, &this->actor.world.pos, this->ptn, i); this->children[i] = Actor_SpawnAsChildAndCutscene( @@ -148,6 +150,7 @@ void ObjMure_SpawnActors0(Actor* thisx, PlayState* play) { this->children[i]->room = this->actor.room; } break; + default: ObjMure_GetSpawnPos(&pos, &this->actor.world.pos, this->ptn, i); this->children[i] = Actor_SpawnAsChildAndCutscene( @@ -190,9 +193,13 @@ void ObjMure_SpawnActors(ObjMure* this, PlayState* play) { case 0: ObjMure_SpawnActors0(&this->actor, play); break; + case 1: ObjMure_SpawnActors1(this, play); break; + + default: + break; } } @@ -205,12 +212,14 @@ void ObjMure_KillActorsImpl(ObjMure* this, PlayState* play) { case OBJMURE_CHILD_STATE_DEAD: this->children[i] = NULL; break; + case OBJMURE_CHILD_STATE_2: if (this->children[i] != NULL) { Actor_Kill(this->children[i]); this->children[i] = NULL; } break; + default: if (this->children[i] != NULL) { if (Actor_HasParent(this->children[i], play)) { @@ -244,7 +253,7 @@ void ObjMure_CheckChildren(ObjMure* this, PlayState* play) { this->childrenStates[i] = OBJMURE_CHILD_STATE_DEAD; this->children[i] = NULL; } - } else if (this->childrenStates[i] == OBJMURE_CHILD_STATE_2 && this->children[i]->update == NULL) { + } else if ((this->childrenStates[i] == OBJMURE_CHILD_STATE_2) && (this->children[i]->update == NULL)) { this->childrenStates[i] = OBJMURE_CHILD_STATE_DEAD; this->children[i] = NULL; } @@ -367,7 +376,7 @@ void ObjMure_GroupBehavior1(ObjMure* this, PlayState* play) { maxChildren = ObjMure_GetMaxChildSpawns(this); for (i = 0; i < maxChildren; i++) { if (this->children[i] != NULL) { - if (this->children[i]->child != NULL && this->children[i]->child->update == NULL) { + if ((this->children[i]->child != NULL) && (this->children[i]->child->update == NULL)) { this->children[i]->child = NULL; } } @@ -380,7 +389,7 @@ static ObjMureActionFunc sTypeGroupBehaviorFunc[] = { void ObjMure_ActiveState(ObjMure* this, PlayState* play) { ObjMure_CheckChildren(this, play); - if (sZClip[this->type] + 40.0f <= fabsf(this->actor.projectedPos.z)) { + if ((sZClip[this->type] + 40.0f) <= fabsf(this->actor.projectedPos.z)) { this->actionFunc = ObjMure_CulledState; this->actor.flags &= ~ACTOR_FLAG_10; ObjMure_KillActors(this, play); diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c index e06dbc30b..29a673eae 100644 --- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c +++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c @@ -114,20 +114,20 @@ s32 func_809A34E0(ObjPzlblock* this, s32 arg1) { } if (temp_v0 == 4) { - return arg1 == 0 || arg1 == 1; + return (arg1 == 0) || (arg1 == 1); } if (temp_v0 == 5) { - return arg1 == 2 || arg1 == 3; + return (arg1 == 2) || (arg1 == 3); } if (temp_v0 == 6) { if (this->unk_176 != 0) { - return arg1 == 0 || arg1 == 1; + return (arg1 == 0) || (arg1 == 1); } if (this->unk_178 != 0) { - return arg1 == 2 || arg1 == 3; + return (arg1 == 2) || (arg1 == 3); } return true; } diff --git a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.c b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.c index d224125dd..1a63e89cb 100644 --- a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.c +++ b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.c @@ -86,7 +86,7 @@ void ObjRaillift_Init(Actor* thisx, PlayState* play) { if (this->speed < 0.01f) { this->actionFunc = ObjRaillift_DoNothing; } else { - path = &play->setupPathList[OBJRAILLIFT_GET_PATH(thisx)]; + path = &play->setupPathList[OBJRAILLIFT_GET_PATH_INDEX(thisx)]; this->curPoint = OBJRAILLIFT_GET_STARTING_POINT(thisx); this->endPoint = path->count - 1; this->direction = 1; diff --git a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h index b921b0e5a..dc197432f 100644 --- a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h +++ b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h @@ -10,7 +10,7 @@ typedef void (*ObjRailliftActionFunc)(struct ObjRaillift*, PlayState*); #define OBJRAILLIFT_GET_TYPE(thisx) (((thisx)->params >> 0xF) & 1) #define OBJRAILLIFT_HAS_FLAG(thisx) (((thisx)->params >> 0xD) & 1) #define OBJRAILLIFT_GET_FLAG(thisx) ((thisx)->home.rot.x & 0x7F) -#define OBJRAILLIFT_GET_PATH(thisx) ((thisx)->params & 0x7F) +#define OBJRAILLIFT_GET_PATH_INDEX(thisx) ((thisx)->params & 0x7F) #define OBJRAILLIFT_GET_STARTING_POINT(thisx) (((thisx)->params >> 7) & 0x1F) #define OBJRAILLIFT_GET_SPEED(thisx) ((thisx)->home.rot.z * 0.1f) #define OBJRAILLIFT_SHOULD_TELEPORT(thisx) (((thisx)->params >> 0xC) & 1) diff --git a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c index c6ed2cc2c..cecb80832 100644 --- a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c +++ b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c @@ -131,12 +131,12 @@ void ObjToge_Init(Actor* thisx, PlayState* play) { Collider_InitCylinder(play, &this->collider); - if (OBJTOGE_GET_PATH(thisx) == 0xFF) { + if (OBJTOGE_GET_PATH_INDEX(thisx) == OBJTOGE_PATH_INDEX_NONE) { Actor_Kill(thisx); return; } - path = &play->setupPathList[OBJTOGE_GET_PATH(thisx)]; + path = &play->setupPathList[OBJTOGE_GET_PATH_INDEX(thisx)]; if (path->count != 2) { Actor_Kill(thisx); return; diff --git a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h index 8259e62c8..54cf02bf4 100644 --- a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h +++ b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h @@ -7,11 +7,13 @@ struct ObjToge; typedef void (*ObjTogeActionFunc)(struct ObjToge*, PlayState*); -#define OBJTOGE_GET_PATH(thisx) ((thisx)->params & 0xFF) +#define OBJTOGE_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF) #define OBJTOGE_GET_700(thisx) (((thisx)->params >> 8) & 7) #define OBJTOGE_GET_3800(thisx) (((thisx)->params >> 0xB) & 7) #define OBJTOGE_GET_4000(thisx) (((thisx)->params >> 0xE) & 1) +#define OBJTOGE_PATH_INDEX_NONE 0xFF + typedef struct ObjToge { /* 0x000 */ Actor actor; /* 0x144 */ ColliderCylinder collider; diff --git a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c index 690823bf8..61fa2376f 100644 --- a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c +++ b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c @@ -124,7 +124,7 @@ void ObjTokeidai_ExteriorGear_Init(ObjTokeidai* this, PlayState* play) { if (((play->sceneId == SCENE_CLOCKTOWER) && (gSaveContext.sceneLayer == 2) && (play->csCtx.scriptIndex == 0)) || ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneLayer == 2) && (play->csCtx.scriptIndex == 0))) { ObjTokeidai_SetupTowerOpening(this); - } else if ((CURRENT_DAY == 3 && gSaveContext.save.time < CLOCK_TIME(6, 0)) || CURRENT_DAY >= 4) { + } else if (((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) || (CURRENT_DAY >= 4)) { this->actionFunc = ObjTokeidai_ExteriorGear_OpenedIdle; this->actor.world.pos.y += this->actor.scale.y * 1900.0f; this->actor.shape.yOffset = 1500.0f; @@ -141,7 +141,7 @@ void ObjTokeidai_TowerClock_Init(ObjTokeidai* this, PlayState* play) { if (((play->sceneId == SCENE_CLOCKTOWER) && (gSaveContext.sceneLayer == 2) && (play->csCtx.scriptIndex == 0)) || ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneLayer == 2) && (play->csCtx.scriptIndex == 0))) { ObjTokeidai_SetupTowerOpening(this); - } else if ((CURRENT_DAY == 3 && gSaveContext.save.time < CLOCK_TIME(6, 0)) || CURRENT_DAY >= 4) { + } else if (((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) || (CURRENT_DAY >= 4)) { this->actor.world.pos.y += (this->actor.scale.y * 5191.0f) - 50.0f; this->actor.world.pos.x += Math_SinS(this->actor.world.rot.y) * this->actor.scale.z * 1791.0f; this->actor.world.pos.z += -Math_CosS(this->actor.world.rot.y) * this->actor.scale.z * 1791.0f; @@ -178,8 +178,8 @@ void ObjTokeidai_Counterweight_Init(ObjTokeidai* this, PlayState* play) { if (this->actor.child == NULL) { type = OBJ_TOKEIDAI_TYPE(&this->actor); - if (type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_CLOCK_TOWN || - type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_TERMINA_FIELD) { + if ((type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_CLOCK_TOWN) || + (type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_TERMINA_FIELD)) { this->actor.child = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HANABI, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0); } @@ -192,7 +192,7 @@ void ObjTokeidai_Counterweight_Init(ObjTokeidai* this, PlayState* play) { this->actor.child->home.rot.x = 0x12C; } } - } else if ((CURRENT_DAY == 3 && gSaveContext.save.time < CLOCK_TIME(6, 0)) || CURRENT_DAY >= 4) { + } else if (((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) || (CURRENT_DAY >= 4)) { this->spotlightIntensity = 0; this->actor.world.pos.y += this->actor.scale.y * -2160.0f; this->actor.world.pos.x += Math_SinS(this->actor.world.rot.y) * this->actor.scale.z * 5400.0f; @@ -274,6 +274,9 @@ void ObjTokeidai_Init(Actor* thisx, PlayState* play) { this->xluDList = gClockTowerEmptyDL; this->actionFunc = ObjTokeidai_StaircaseToRooftop_Idle; break; + + default: + break; } } @@ -284,7 +287,7 @@ void ObjTokeidai_RotateOnMinuteChange(ObjTokeidai* this, s32 playSfx) { s32 currentClockMinute = GET_CURRENT_CLOCK_MINUTE(this); if (currentClockMinute != this->clockMinute) { - if (this->minuteRingOrExteriorGearRotationTimer == 8 && playSfx) { + if ((this->minuteRingOrExteriorGearRotationTimer == 8) && playSfx) { Actor_PlaySfx(&this->actor, NA_SE_EV_CLOCK_TOWER_SECOND_HAND); } @@ -306,8 +309,8 @@ void ObjTokeidai_RotateOnMinuteChange(ObjTokeidai* this, s32 playSfx) { this->minuteRingOrExteriorGearRotationTimer++; - if ((currentClockMinute == 15 && this->minuteRingOrExteriorGearRotation < 0) || - (currentClockMinute != 15 && + if (((currentClockMinute == 15) && (this->minuteRingOrExteriorGearRotation < 0)) || + ((currentClockMinute != 15) && this->minuteRingOrExteriorGearRotation > GET_MINUTE_RING_OR_EXTERIOR_GEAR_ROTATION(currentClockMinute))) { this->minuteRingOrExteriorGearRotation = GET_MINUTE_RING_OR_EXTERIOR_GEAR_ROTATION(currentClockMinute); this->clockMinute = currentClockMinute; @@ -318,7 +321,7 @@ void ObjTokeidai_RotateOnMinuteChange(ObjTokeidai* this, s32 playSfx) { } void ObjTokeidai_ExteriorGear_Collapse(ObjTokeidai* this, PlayState* play) { - if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || this->actor.world.pos.y < 0.0f) { + if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || (this->actor.world.pos.y < 0.0f)) { this->actionFunc = ObjTokeidai_DoNothing; } else { this->actor.shape.rot.x += 0x50; @@ -513,6 +516,9 @@ void ObjTokeidai_TowerOpening_DropCounterweight(ObjTokeidai* this, PlayState* pl case 2: Actor_PlaySfx(&this->actor, NA_SE_EV_CLOCK_TOWER_BOUND_2); break; + + default: + break; } this->boundCount++; @@ -609,7 +615,7 @@ void ObjTokeidai_DoNothing(ObjTokeidai* this, PlayState* play) { } void ObjTokeidai_StaircaseToRooftop_Idle(ObjTokeidai* this, PlayState* play) { - if ((((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) || CURRENT_DAY >= 4) || + if ((((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) || (CURRENT_DAY >= 4)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_08_40)) { this->actor.draw = ObjTokeidai_Draw; } else { @@ -621,7 +627,7 @@ s32 ObjTokeidai_IsPostFirstCycleFinalHours(ObjTokeidai* this, PlayState* play) { if (gSaveContext.save.saveInfo.inventory.items[SLOT_OCARINA] == ITEM_NONE) { return false; } - if (CURRENT_DAY == 3 && gSaveContext.save.time < CLOCK_TIME(6, 0)) { + if ((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) { ObjTokeidai_SetupTowerOpening(this); return true; } @@ -650,8 +656,8 @@ void ObjTokeidai_RotateOnHourChange(ObjTokeidai* this, PlayState* play) { this->clockFaceRotationTimer++; - if ((currentClockHour == 12 && this->clockFaceRotation < 0) || - (currentClockHour != 12 && this->clockFaceRotation > GET_CLOCK_FACE_ROTATION(currentClockHour))) { + if (((currentClockHour == 12) && (this->clockFaceRotation < 0)) || + ((currentClockHour != 12) && (this->clockFaceRotation > GET_CLOCK_FACE_ROTATION(currentClockHour)))) { this->clockFaceRotation = GET_CLOCK_FACE_ROTATION(currentClockHour); this->clockHour = currentClockHour; this->clockFaceRotationalVelocity = 0; @@ -682,7 +688,7 @@ void ObjTokeidai_RotateOnHourChange(ObjTokeidai* this, PlayState* play) { } void ObjTokeidai_TowerClock_Idle(ObjTokeidai* this, PlayState* play) { - if (CURRENT_DAY == 3 && this->clockHour < 6 && gSaveContext.save.time < CLOCK_TIME(6, 0)) { + if ((CURRENT_DAY == 3) && (this->clockHour < 6) && (gSaveContext.save.time < CLOCK_TIME(6, 0))) { this->actor.draw = ObjTokeidai_Clock_Draw; ObjTokeidai_SetupTowerOpening(this); SET_WEEKEVENTREG(WEEKEVENTREG_08_40); @@ -695,8 +701,8 @@ void ObjTokeidai_TowerClock_Idle(ObjTokeidai* this, PlayState* play) { this->actor.draw = ObjTokeidai_Clock_Draw; } else { if (!(play->actorCtx.flags & ACTORCTX_FLAG_1) && - OBJ_TOKEIDAI_TYPE(&this->actor) == OBJ_TOKEIDAI_TYPE_TOWER_CLOCK_TERMINA_FIELD && - CutsceneManager_GetCurrentCsId() == CS_ID_NONE) { + (OBJ_TOKEIDAI_TYPE(&this->actor) == OBJ_TOKEIDAI_TYPE_TOWER_CLOCK_TERMINA_FIELD) && + (CutsceneManager_GetCurrentCsId() == CS_ID_NONE)) { this->actor.draw = NULL; } this->clockTime = gSaveContext.save.time; @@ -706,7 +712,7 @@ void ObjTokeidai_TowerClock_Idle(ObjTokeidai* this, PlayState* play) { } } - if (CURRENT_DAY != 3 || gSaveContext.save.time >= CLOCK_TIME(6, 0)) { + if ((CURRENT_DAY != 3) || (gSaveContext.save.time >= CLOCK_TIME(6, 0))) { ObjTokeidai_RotateOnMinuteChange(this, true); } ObjTokeidai_RotateOnHourChange(this, play); @@ -750,8 +756,8 @@ void ObjTokeidai_Counterweight_Idle(ObjTokeidai* this, PlayState* play) { if (this->actor.child == NULL) { type = OBJ_TOKEIDAI_TYPE(&this->actor); - if (type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_CLOCK_TOWN || - type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_TERMINA_FIELD) { + if ((type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_CLOCK_TOWN) || + (type == OBJ_TOKEIDAI_TYPE_COUNTERWEIGHT_TERMINA_FIELD)) { this->actor.child = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HANABI, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0); } diff --git a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c index 05f1cc636..3b9a9b815 100644 --- a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c +++ b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c @@ -304,7 +304,7 @@ s32 func_80B781DC(ObjUm* this, EnHorse* bandit1, EnHorse* bandit2, PlayState* pl if (bandit1->unk_550 == D_80B7C164[i].unk_00) { if (bandit2->unk_550 != D_80B7C164[i].unk_04) { if (D_80B7C164[i].unk_00 != 3) { - if (D_80B7C164[i].unk_04 != 3 || + if ((D_80B7C164[i].unk_04 != 3) || ((mask = Player_GetMask(play)), PLAYER_MASK_CIRCUS_LEADER != mask)) { phi_s3 = D_80B7C164[i].unk_04; phi_s4 = D_80B7C164[i].unk_08; @@ -455,13 +455,13 @@ s32 func_80B78764(ObjUm* this, PlayState* play, EnHorse* bandit1, EnHorse* bandi } if (this->potsLife[1] != 1) { - if ((potIndex == -1) || (potIndex == 0 && Rand_ZeroOne() < 0.3f)) { + if ((potIndex == -1) || ((potIndex == 0) && (Rand_ZeroOne() < 0.3f))) { potIndex = 1; } } if (this->potsLife[2] != 1) { - if ((potIndex == -1) || (potIndex != -1 && Rand_ZeroOne() < 0.3f)) { + if ((potIndex == -1) || ((potIndex != -1) && (Rand_ZeroOne() < 0.3f))) { potIndex = 2; } } @@ -497,8 +497,6 @@ s32 func_80B78764(ObjUm* this, PlayState* play, EnHorse* bandit1, EnHorse* bandi phi_v1_5 = Math_Vec3f_Yaw(&bandit1->actor.prevPos, &bandit1->actor.world.pos); } - if (1) {} - phi_v1_5 -= bandit1->actor.shape.rot.y; if (phi_v1_5 > 0x190) { bandit1->actor.shape.rot.y += 0x190; @@ -879,6 +877,9 @@ s32 func_80B795A0(PlayState* play, ObjUm* this, s32 arg2) { Actor_ContinueText(play, &this->dyna.actor, 0x33BC); phi_v1 = false; break; + + default: + break; } return phi_v1; @@ -900,6 +901,9 @@ s32 func_80B79734(PlayState* play, ObjUm* this, s32 arg2) { ret = true; } break; + + default: + break; } return ret; } @@ -1031,7 +1035,7 @@ typedef enum ObjUmPathState { /* 1 */ OBJUM_PATH_STATE_1, /* 2 */ OBJUM_PATH_STATE_FINISH, /* 3 */ OBJUM_PATH_STATE_3, - /* 4 */ OBJUM_PATH_STATE_4, + /* 4 */ OBJUM_PATH_STATE_4 } ObjUmPathState; ObjUmPathState ObjUm_UpdatePath(ObjUm* this, PlayState* play) { @@ -1096,8 +1100,6 @@ ObjUmPathState ObjUm_UpdatePath(ObjUm* this, PlayState* play) { this->dyna.actor.world.rot.y = Math_Vec3f_Yaw(&this->dyna.actor.world.pos, &sp50); Horse_RotateToPoint(&this->donkey->actor, &sp50, 0x190); - if (1) {} - yawDiff = this->donkey->actor.shape.rot.y - this->dyna.actor.shape.rot.y; if (fabsf(yawDiff) < 2730.0f) { if (fabsf(yawDiff) < 100.0f) { @@ -1336,7 +1338,7 @@ void func_80B7A614(ObjUm* this, PlayState* play) { this->flags |= OBJ_UM_FLAG_PLAYING_MINIGAME; ObjUm_ChangeAnim(this, play, OBJ_UM_ANIM_GALLOP); - if (ObjUm_UpdatePath(this, play) == OBJUM_PATH_STATE_3 && this->unk_4DC == 0) { + if ((ObjUm_UpdatePath(this, play) == OBJUM_PATH_STATE_3) && (this->unk_4DC == 0)) { this->unk_4DC = 1; } else if (this->unk_4DC > 0) { if (this->unk_4DC == 1) { @@ -1471,7 +1473,7 @@ void func_80B7A860(ObjUm* this, PlayState* play) { case 0x33BF: this->unk_4D8++; - if ((fabsf(this->skelAnime.morphWeight) < 0.008f) && this->unk_4D8 >= 6) { + if ((fabsf(this->skelAnime.morphWeight) < 0.008f) && (this->unk_4D8 >= 6)) { this->unk_4CC = 0; this->mouthTexIndex = 0; } else { @@ -1632,9 +1634,9 @@ void ObjUm_DefaultAnim(ObjUm* this, PlayState* play) { } typedef struct { - /* 0x00 */ AnimationHeader* anim; - /* 0x04 */ s32 doesMove; // `true` if the animation is intended to be used while the actor is moving -} struct_80B7C25C; // size = 0x08 + /* 0x0 */ AnimationHeader* anim; + /* 0x4 */ s32 doesMove; // `true` if the animation is intended to be used while the actor is moving +} struct_80B7C25C; // size = 0x8 struct_80B7C25C sUmAnims[] = { { &gUmTrotAnim, true }, // OBJ_UM_ANIM_TROT @@ -1701,7 +1703,7 @@ void ObjUm_ChangeAnim(ObjUm* this, PlayState* play, ObjUmAnimation animIndex) { } } - if (this->wheelRot / 0x199A != this->unk_420) { + if ((this->wheelRot / 0x199A) != this->unk_420) { this->unk_420 = this->wheelRot / 0x199A; //! FAKE if (sUmAnims[0].doesMove) {} @@ -1768,18 +1770,23 @@ void ObjUm_Update(Actor* thisx, PlayState* play) { case 1: this->eyeTexIndex = 3; break; + case 2: this->eyeTexIndex = 4; break; + case 3: this->eyeTexIndex = 5; break; + case 4: this->eyeTexIndex = 2; break; + case 5: this->eyeTexIndex = 0; break; + default: this->unk_4CC = 0; this->eyeTexIndex = 0; @@ -1913,6 +1920,7 @@ void ObjUm_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, sp80.x = 0; sp80.z = 0; sp88.x = 6800.0f; + OPEN_DISPS(gfxCtx); for (i = 0; i < ARRAY_COUNT(this->potsLife); i++) { diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index 1c05a0981..2661b9cc5 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -517,6 +517,7 @@ void func_808DD3C8(Actor* thisx, PlayState* play2) { } OPEN_DISPS(play->state.gfxCtx); + spB4 = false; if (this->actor.params == 3) { diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 270094562..073f55325 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -11214,7 +11214,7 @@ void func_808442D8(PlayState* play, Player* this) { if (var_fa0 > 0.0f) { func_800B0EB0(play, &this->meleeWeaponInfo[0].tip, &D_8085D364, &D_8085D370, &D_8085D37C, &D_8085D380, (var_fa0 * 200.0f), 0, 8); - if (((play->roomCtx.curRoom.enablePosLights != 0)) || (MREG(93) != 0)) { + if (play->roomCtx.curRoom.enablePosLights || (MREG(93) != 0)) { temp_fv1 = (Rand_ZeroOne() * 30.0f) + 225.0f; Lights_PointSetColorAndRadius(&this->lightInfo, temp_fv1, temp_fv1 * 0.7f, 0, var_fa0 * 300.0f); } @@ -11583,7 +11583,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { Math_StepToF(&this->unk_B10[0], var_v0, D_8085D3FC[var_v0]); } func_80832888(this, play); - if (play->roomCtx.curRoom.enablePosLights != 0) { + if (play->roomCtx.curRoom.enablePosLights) { Lights_PointSetColorAndRadius(&this->lightInfo, 255, 255, 255, 60); } else { this->lightInfo.params.point.radius = -1; @@ -15555,7 +15555,7 @@ void func_8084FD7C(PlayState* play, Player* this, Actor* actor) { } s32 func_8084FE48(Player* this) { - return this->targetedActor == NULL && !func_8082FC24(this); + return (this->targetedActor == NULL) && !func_8082FC24(this); } PlayerAnimationHeader* D_8085D688[] = { diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 33f63d1f1..9495587b8 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -988,10 +988,10 @@ 0x801BE9F4:("sHeartsDDEnvColors","s16","[3][3]",0x12), 0x801BEA08:("sHeartsDDPrimFactors","s16","[3][3]",0x12), 0x801BEA1C:("sHeartsDDEnvFactors","s16","[3][3]",0x12), - 0x801BEA30:("HeartTextures","UNK_TYPE1","",0x1), - 0x801BEA70:("HeartDDTextures","UNK_TYPE1","",0x1), - 0x801BEAB0:("posBindFuncs","LightsPosBindFunc","[3]",0xc), - 0x801BEABC:("dirBindFuncs","LightsBindFunc","[3]",0xc), + 0x801BEA30:("sHeartTextures","UNK_TYPE1","",0x1), + 0x801BEA70:("sHeartDDTextures","UNK_TYPE1","",0x1), + 0x801BEAB0:("sPosBindFuncs","LightsPosBindFunc","[3]",0xc), + 0x801BEABC:("sDirBindFuncs","LightsBindFunc","[3]",0xc), 0x801BEAD4:("D_801BEAD4","UNK_TYPE4","",0x4), 0x801BEAD8:("D_801BEAD8","UNK_TYPE4","",0x4), 0x801BEAE0:("D_801BEAE0","UNK_TYPE1","",0x1), diff --git a/tools/namefixer.py b/tools/namefixer.py index b8b5f6972..e849a120e 100755 --- a/tools/namefixer.py +++ b/tools/namefixer.py @@ -1036,6 +1036,9 @@ wordReplace = { "play->nextEntranceIndex": "play->nextEntrance", "play->sceneNum": "play->sceneId", "play->pauseCtx.unk_1F0": "play->pauseCtx.bombersNotebookOpen", + "play->sceneLoadFlag": "play->transitionTrigger", + "play->unk_18B4A": "play->transitionMode", + "play->unk_1887F": "play->transitionType", "play->playerActorCsIds": "play->playerCsIds", "play->envFlags": "play->cutsceneFlags", "play->roomCtx.curRoom.unk3": "play->roomCtx.curRoom.behaviorType1", @@ -1060,16 +1063,14 @@ wordReplace = { "gSaveContext.unk_3E50": "gSaveContext.timerStartOsTimes", "gSaveContext.unk_3E88": "gSaveContext.timerStopTimes", "gSaveContext.unk_3EC0": "gSaveContext.timerPausedOsTimes", - - "play->sceneLoadFlag": "play->transitionTrigger", - "play->unk_18B4A": "play->transitionMode", - "play->unk_1887F": "play->transitionType", - "play->roomCtx.currRoom": "play->roomCtx.curRoom", "gSaveContext.nextTransition": "gSaveContext.nextTransitionType", "gSaveContext.unk_3F48": "gSaveContext.cutsceneTransitionControl", "gSaveContext.fadeDuration": "gSaveContext.transFadeDuration", "gSaveContext.fadeSpeed": "gSaveContext.transWipeSpeed", + "path->unk1": "path->additionalPathIndex", + "path->unk2": "path->customValue", + "D_801D15B0": "gZeroVec3f", "D_801D15BC": "gZeroVec3s", "D_801D1DE0": "gIdentityMtx",