From 6fb4a073257379b562c2ddec74583fd8b83fb0a2 Mon Sep 17 00:00:00 2001 From: Derek Hensley Date: Mon, 29 Jan 2024 05:51:59 -0800 Subject: [PATCH] General Cleanup 3 (#1543) * voicestopread -> voicestopreaddata * PadMgr_ThreadEntry * PointLight_t * OS_VI_UNK28 * print stuff * Remove OS_PRIORITY_THREADTAIL * sBoeDlists -> sBoeModelInfo * Prerender_DrawBackground2D * segments * Revert "print stuff" This reverts commit 1d833e2f0d2e013d73ab9c4826fac8efefdc830b. * format * Update src/overlays/actors/ovl_En_Mkk/z_en_mkk.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> --------- Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> --- include/PR/gbi.h | 12 ++--- include/PR/os_thread.h | 3 -- include/PR/os_vi.h | 2 - include/gfxprint.h | 8 ++-- spec | 2 +- src/boot/O2/gfxprint.c | 10 +++- src/boot/fault.c | 3 +- src/code/padmgr.c | 4 +- src/code/z_actor.c | 4 +- src/code/z_en_hy_code.c | 6 +-- src/code/z_fbdemo.c | 4 +- src/code/z_lights.c | 38 ++++++++------- src/code/z_parameter.c | 4 +- src/code/z_play.c | 14 +++--- src/code/z_player_lib.c | 6 +-- src/code/z_rcp.c | 2 +- src/code/z_room.c | 4 +- src/code/z_scene.c | 2 +- src/code/z_vimode.c | 2 +- src/libultra/os/thread.c | 2 +- .../{voicestopread.c => voicestopreaddata.c} | 2 +- src/overlays/actors/ovl_Boss_03/z_boss_03.c | 2 +- src/overlays/actors/ovl_Dm_An/z_dm_an.c | 8 ++-- src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c | 8 ++-- src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c | 8 ++-- src/overlays/actors/ovl_En_An/z_en_an.c | 8 ++-- .../actors/ovl_En_Bba_01/z_en_bba_01.c | 4 +- src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c | 44 +++++++++--------- .../actors/ovl_En_Cne_01/z_en_cne_01.c | 4 +- src/overlays/actors/ovl_En_Geg/z_en_geg.c | 4 +- src/overlays/actors/ovl_En_Go/z_en_go.c | 8 ++-- src/overlays/actors/ovl_En_Mkk/z_en_mkk.c | 46 +++++++++---------- src/overlays/actors/ovl_En_Nwc/z_en_nwc.c | 4 +- .../actors/ovl_En_S_Goro/z_en_s_goro.c | 6 +-- src/overlays/actors/ovl_En_Slime/z_en_slime.c | 2 +- src/overlays/actors/ovl_En_Sob1/z_en_sob1.c | 4 +- src/overlays/actors/ovl_En_St/z_en_st.c | 2 +- .../z_eff_en_ice_block.c | 4 +- .../ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c | 2 +- .../ovl_Effect_Ss_Extra/z_eff_ss_extra.c | 8 ++-- .../fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c | 2 +- 41 files changed, 160 insertions(+), 152 deletions(-) rename src/libultra/voice/{voicestopread.c => voicestopreaddata.c} (97%) diff --git a/include/PR/gbi.h b/include/PR/gbi.h index 4747947b7a..09498219d2 100644 --- a/include/PR/gbi.h +++ b/include/PR/gbi.h @@ -1279,12 +1279,12 @@ typedef struct { // Added in MM typedef struct { - unsigned char col[3]; - unsigned char unk3; - unsigned char colc[3]; - unsigned char unk7; - short pos[3]; - unsigned char unkE; + unsigned char col[3]; + unsigned char kc; + unsigned char colc[3]; + unsigned char kl; + short pos[3]; + unsigned char kq; } PointLight_t; typedef struct { diff --git a/include/PR/os_thread.h b/include/PR/os_thread.h index b885200879..bced9f5989 100644 --- a/include/PR/os_thread.h +++ b/include/PR/os_thread.h @@ -70,9 +70,6 @@ typedef struct OSThread { #define OS_PRIORITY_VIMGR 254 #define OS_PRIORITY_MAX 255 -#define OS_PRIORITY_THREADTAIL -1 - - void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp, OSPri p); void osDestroyThread(OSThread* t); void osYieldThread(void); diff --git a/include/PR/os_vi.h b/include/PR/os_vi.h index 7b699c57b3..347eba1794 100644 --- a/include/PR/os_vi.h +++ b/include/PR/os_vi.h @@ -103,8 +103,6 @@ typedef struct { #define OS_VI_FPAL_HPN2 54 #define OS_VI_FPAL_HPF2 55 -#define OS_VI_UNK28 28 - extern OSViMode osViModeNtscHpf1; extern OSViMode osViModePalLan1; extern OSViMode osViModeNtscHpn1; diff --git a/include/gfxprint.h b/include/gfxprint.h index 6149a5c4a2..bcd61221b9 100644 --- a/include/gfxprint.h +++ b/include/gfxprint.h @@ -1,10 +1,12 @@ #ifndef GFXPRINT_H #define GFXPRINT_H -#include "color.h" -#include "PR/gbi.h" -#include "PR/ultratypes.h" +#include "ultra64.h" + +#include "libc64/aprintf.h" #include "PR/xstdio.h" + +#include "color.h" #include "unk.h" #define GFXP_UNUSED "\x8E" diff --git a/spec b/spec index c6152a4d7e..7e6a30916d 100644 --- a/spec +++ b/spec @@ -184,7 +184,7 @@ beginseg include "build/src/libultra/io/visetspecial.o" include "build/src/libultra/gu/coss.o" include "build/src/libultra/os/settime.o" - include "build/src/libultra/voice/voicestopread.o" + include "build/src/libultra/voice/voicestopreaddata.o" include "build/src/libultra/io/visetevent.o" include "build/src/libultra/io/pfsisplug.o" include "build/src/libultra/voice/voicegetstatus.o" diff --git a/src/boot/O2/gfxprint.c b/src/boot/O2/gfxprint.c index 368ef7d68c..735514e459 100644 --- a/src/boot/O2/gfxprint.c +++ b/src/boot/O2/gfxprint.c @@ -1,5 +1,4 @@ -#include "global.h" -#include "libc64/aprintf.h" +#include "gfxprint.h" #define GFXP_FLAG_HIRAGANA (1 << 0) #define GFXP_FLAG_RAINBOW (1 << 1) @@ -127,30 +126,37 @@ void GfxPrint_PrintChar(GfxPrint* this, u8 c) { switch (c) { case '\0': break; + case '\n': this->posY += 32; case '\r': this->posX = this->baseX; break; + case '\t': do { GfxPrint_PrintCharImpl(this, ' '); } while ((this->posX - this->baseX) % 256); break; + case GFXP_HIRAGANA_CHAR: this->flags |= GFXP_FLAG_HIRAGANA; break; + case GFXP_KATAKANA_CHAR: this->flags &= ~GFXP_FLAG_HIRAGANA; break; + case GFXP_RAINBOW_ON_CHAR: this->flags |= GFXP_FLAG_RAINBOW; this->flags |= GFXP_FLAG_UPDATE; break; + case GFXP_RAINBOW_OFF_CHAR: this->flags &= ~GFXP_FLAG_RAINBOW; this->flags |= GFXP_FLAG_UPDATE; break; + case GFXP_UNUSED_CHAR: default: break; diff --git a/src/boot/fault.c b/src/boot/fault.c index e23ba6c988..31c181342c 100644 --- a/src/boot/fault.c +++ b/src/boot/fault.c @@ -530,7 +530,8 @@ void osSyncPrintfThreadContext(OSThread* thread) { OSThread* Fault_FindFaultedThread(void) { OSThread* iter = __osGetActiveQueue(); - while (iter->priority != OS_PRIORITY_THREADTAIL) { + // -1 indicates the end of the thread queue + while (iter->priority != -1) { if ((iter->priority > OS_PRIORITY_IDLE) && (iter->priority < OS_PRIORITY_APPMAX) && (iter->flags & (OS_FLAG_CPU_BREAK | OS_FLAG_FAULT))) { return iter; diff --git a/src/code/padmgr.c b/src/code/padmgr.c index 9faf232fce..ec52c6fdd0 100644 --- a/src/code/padmgr.c +++ b/src/code/padmgr.c @@ -734,7 +734,7 @@ void PadMgr_GetInput2(Input* inputs, s32 gameRequest) { PadMgr_UnlockPadData(); } -void PadMgr_ThreadEntry() { +void PadMgr_ThreadEntry(void) { s16* interruptMsg = NULL; s32 actionBits; s32 exit; @@ -798,6 +798,6 @@ void PadMgr_Init(OSMesgQueue* siEvtQ, IrqMgr* irqMgr, OSId threadId, OSPri pri, osContSetCh(sPadMgrInstance->nControllers); PadMgr_ReleaseSerialEventQueue(siEvtQ); - osCreateThread(&sPadMgrInstance->thread, threadId, PadMgr_ThreadEntry, sPadMgrInstance, stack, pri); + osCreateThread(&sPadMgrInstance->thread, threadId, (void*)PadMgr_ThreadEntry, sPadMgrInstance, stack, pri); osStartThread(&sPadMgrInstance->thread); } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 937b986e65..5f3593f766 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -3394,10 +3394,10 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1 Actor_AddToCategory(actorCtx, actor, actorInit->type); { - u32 sp20 = gSegments[6]; + uintptr_t prevSeg = gSegments[0x06]; Actor_Init(actor, play); - gSegments[6] = sp20; + gSegments[0x06] = prevSeg; } return actor; diff --git a/src/code/z_en_hy_code.c b/src/code/z_en_hy_code.c index 993876030e..20dff4ae31 100644 --- a/src/code/z_en_hy_code.c +++ b/src/code/z_en_hy_code.c @@ -133,7 +133,7 @@ EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play) { } void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); EnHy_ChangeAnim(&enHy->skelAnime, animIndex); } @@ -141,7 +141,7 @@ s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play) { s32 isUpdated = false; if (enHy->actor.draw != NULL) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); SkelAnime_Update(&enHy->skelAnime); isUpdated = true; } @@ -168,7 +168,7 @@ s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg enHy->actor.objectSlot = enHy->skelLowerObjectSlot; isInitialized = true; ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objectSlot].segment); SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable, ENHY_LIMB_MAX); EnHy_ChangeObjectAndAnim(enHy, play, animIndex); diff --git a/src/code/z_fbdemo.c b/src/code/z_fbdemo.c index b0edfb0b7d..bd7f5393aa 100644 --- a/src/code/z_fbdemo.c +++ b/src/code/z_fbdemo.c @@ -187,8 +187,8 @@ void TransitionTile_Draw(TransitionTile* this, Gfx** gfxP) { TransitionTile_SetVtx(this); gSPMatrix(gfx++, &this->projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gfx++, &this->modelView, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPSegment(gfx++, 0xA, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2); - gSPSegment(gfx++, 0xB, this->zBuffer); + gSPSegment(gfx++, 0x0A, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2); + gSPSegment(gfx++, 0x0B, this->zBuffer); gSPDisplayList(gfx++, sTransTileSetupDL); gSPDisplayList(gfx++, this->gfx); gDPPipeSync(gfx++); diff --git a/src/code/z_lights.c b/src/code/z_lights.c index d38f15529e..86e572d128 100644 --- a/src/code/z_lights.c +++ b/src/code/z_lights.c @@ -132,39 +132,43 @@ void Lights_BindPointWithReference(Lights* lights, LightParams* params, Vec3f* p void Lights_BindPoint(Lights* lights, LightParams* params, PlayState* play) { Light* light; - f32 radiusF = params->point.radius; - Vec3f posF; + f32 kq = params->point.radius; + Vec3f pos; Vec3f adjustedPos; s32 pad; - if (radiusF > 0) { - posF.x = params->point.x; - posF.y = params->point.y; - posF.z = params->point.z; - SkinMatrix_Vec3fMtxFMultXYZ(&play->viewProjectionMtxF, &posF, &adjustedPos); - if ((adjustedPos.z > -radiusF) && (600 + radiusF > adjustedPos.z) && (400 > fabsf(adjustedPos.x) - radiusF) && - (400 > fabsf(adjustedPos.y) - radiusF)) { + if (kq > 0.0f) { + pos.x = params->point.x; + pos.y = params->point.y; + pos.z = params->point.z; + SkinMatrix_Vec3fMtxFMultXYZ(&play->viewProjectionMtxF, &pos, &adjustedPos); + if ((-kq < adjustedPos.z) && ((600.0f + kq) > adjustedPos.z) && ((fabsf(adjustedPos.x) - kq) < 400.0f) && + ((fabsf(adjustedPos.y) - kq) < 400.0f)) { light = Lights_FindSlot(lights); if (light != NULL) { - radiusF = 4500000.0f / (radiusF * radiusF); - if (radiusF > 255) { - radiusF = 255; - } else if (20 > radiusF) { - radiusF = 20; + kq = 4500000.0f / SQ(kq); + if (kq > 255.0f) { + kq = 255.0f; + } else if (20.0f > kq) { + kq = 20.0f; } light->p.col[0] = params->point.color[0]; light->p.colc[0] = light->p.col[0]; + light->p.col[1] = params->point.color[1]; light->p.colc[1] = light->p.col[1]; + light->p.col[2] = params->point.color[2]; light->p.colc[2] = light->p.col[2]; + light->p.pos[0] = params->point.x; light->p.pos[1] = params->point.y; light->p.pos[2] = params->point.z; - light->p.unk3 = 0x8; - light->p.unk7 = 0xFF; - light->p.unkE = (s32)radiusF; + + light->p.kc = 8; + light->p.kl = -1; + light->p.kq = (s32)kq; } } } diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index af404c7aa7..a00341dec4 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -6231,8 +6231,8 @@ void Interface_Draw(PlayState* play) { gSPLoadUcodeL(OVERLAY_DISP++, gspS2DEX2_fifo); gfx = OVERLAY_DISP; Prerender_DrawBackground2D(&gfx, sStoryTextures[interfaceCtx->storyType], - sStoryTLUTs[interfaceCtx->storyType], SCREEN_WIDTH, SCREEN_HEIGHT, 2, 1, 0x8000, - 0x100, 0.0f, 0.0f, 1.0f, 1.0f, 0); + sStoryTLUTs[interfaceCtx->storyType], SCREEN_WIDTH, SCREEN_HEIGHT, G_IM_FMT_CI, + G_IM_SIZ_8b, G_TT_RGBA16, 256, 0.0f, 0.0f, 1.0f, 1.0f, 0); OVERLAY_DISP = gfx; gSPLoadUcode(OVERLAY_DISP++, SysUcode_GetUCode(), SysUcode_GetUCodeData()); diff --git a/src/code/z_play.c b/src/code/z_play.c index 12357f59a2..ed549b9546 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -922,9 +922,9 @@ void Play_UpdateMain(PlayState* this) { s32 sp5C = false; u8 freezeFlashTimer; - gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); - gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); - gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); + gSegments[0x04] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); + gSegments[0x05] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); + gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment); if (R_PICTO_PHOTO_STATE == PICTO_PHOTO_STATE_PROCESS) { R_PICTO_PHOTO_STATE = PICTO_PHOTO_STATE_READY; @@ -1153,9 +1153,9 @@ void Play_DrawMain(PlayState* this) { OPEN_DISPS(gfxCtx); - gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); - gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); - gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); + gSegments[0x04] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); + gSegments[0x05] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); + gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment); gSPSegment(POLY_OPA_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); @@ -1595,7 +1595,7 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) { this->sceneConfig = scene->drawConfig; this->sceneSegment = Play_LoadFile(this, &scene->segment); scene->unk_D = 0; - gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); + gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment); Play_InitScene(this, spawn); Room_AllocateAndLoad(this, &this->roomCtx); } diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 0fa14dc1ae..ebd3e21ede 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -2589,7 +2589,7 @@ void Player_DrawGetItemImpl(PlayState* play, Player* player, Vec3f* refPos, s32 OPEN_DISPS(play->state.gfxCtx); - gSegments[6] = OS_K0_TO_PHYSICAL(player->giObjectSegment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(player->giObjectSegment); gSPSegment(POLY_OPA_DISP++, 0x06, player->giObjectSegment); gSPSegment(POLY_XLU_DISP++, 0x06, player->giObjectSegment); @@ -2851,7 +2851,7 @@ void func_80127488(PlayState* play, Player* player, u8 alpha) { } void Player_DrawCouplesMask(PlayState* play, Player* player) { - gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); + gSegments[0x0A] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8)); } @@ -2939,7 +2939,7 @@ void Player_DrawBlastMask(PlayState* play, Player* player) { if (player->blastMaskTimer != 0) { s32 alpha; - gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); + gSegments[0x0A] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_bakuretu_Matanimheader_0011F8)); diff --git a/src/code/z_rcp.c b/src/code/z_rcp.c index b30e224409..67bd44c180 100644 --- a/src/code/z_rcp.c +++ b/src/code/z_rcp.c @@ -1522,7 +1522,7 @@ void func_8012CF0C(GraphicsContext* gfxCtx, s32 clearFb, s32 clearZb, u8 r, u8 g masterGfx = gGfxMasterDL->syncSegments; - for (i = 0; i < ARRAY_COUNT(gSegments); i++) { + for (i = 0; i < NUM_SEGMENTS; i++) { if (i == 0x0E) { gSPNoOp(&masterGfx[i]); } else { diff --git a/src/code/z_room.c b/src/code/z_room.c index bec1fbcd29..a26f81980b 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -575,7 +575,7 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) { if (osRecvMesg(&roomCtx->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) { roomCtx->status = 0; roomCtx->curRoom.segment = roomCtx->activeRoomVram; - gSegments[3] = OS_K0_TO_PHYSICAL(roomCtx->activeRoomVram); + gSegments[0x03] = OS_K0_TO_PHYSICAL(roomCtx->activeRoomVram); Scene_ExecuteCommands(play, roomCtx->curRoom.segment); func_80123140(play, GET_PLAYER(play)); @@ -606,7 +606,7 @@ RoomDrawHandler sRoomDrawHandlers[] = { void Room_Draw(PlayState* play, Room* room, u32 flags) { if (room->segment != NULL) { - gSegments[3] = OS_K0_TO_PHYSICAL(room->segment); + gSegments[0x03] = OS_K0_TO_PHYSICAL(room->segment); sRoomDrawHandlers[room->roomShape->base.type](play, room, flags); } return; diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 6fe2718ff5..a7f274a522 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -66,7 +66,7 @@ void Object_InitContext(GameState* gameState, ObjectContext* objectCtx) { objectCtx->spaceEnd = (void*)((u32)objectCtx->spaceStart + spaceSize); objectCtx->mainKeepSlot = Object_SpawnPersistent(objectCtx, GAMEPLAY_KEEP); - gSegments[4] = OS_K0_TO_PHYSICAL(objectCtx->slots[objectCtx->mainKeepSlot].segment); + gSegments[0x04] = OS_K0_TO_PHYSICAL(objectCtx->slots[objectCtx->mainKeepSlot].segment); } void Object_UpdateEntries(ObjectContext* objectCtx) { diff --git a/src/code/z_vimode.c b/src/code/z_vimode.c index c7ed53626f..268d9756a6 100644 --- a/src/code/z_vimode.c +++ b/src/code/z_vimode.c @@ -362,7 +362,7 @@ void ViMode_Update(ViMode* viMode, Input* input) { } } - ViMode_Configure(&viMode->customViMode, OS_VI_UNK28, osTvType, viMode->loRes, viMode->antialiasOff, + ViMode_Configure(&viMode->customViMode, OS_VI_MPAL_LPN1, osTvType, viMode->loRes, viMode->antialiasOff, viMode->modeN, viMode->fb16Bit, viMode->viWidth, viMode->viHeight, viMode->leftAdjust, viMode->rightAdjust, viMode->upperAdjust, viMode->lowerAdjust); ViMode_ConfigureFeatures(viMode, viMode->viFeatures); diff --git a/src/libultra/os/thread.c b/src/libultra/os/thread.c index cd0484b443..07fe521f99 100644 --- a/src/libultra/os/thread.c +++ b/src/libultra/os/thread.c @@ -1,6 +1,6 @@ #include "ultra64.h" -__OSThreadTail __osThreadTail = { NULL, OS_PRIORITY_THREADTAIL }; +__OSThreadTail __osThreadTail = { NULL, -1 }; OSThread* __osRunQueue = (OSThread*)&__osThreadTail; OSThread* __osActiveQueue = (OSThread*)&__osThreadTail; OSThread* __osRunningThread = NULL; diff --git a/src/libultra/voice/voicestopread.c b/src/libultra/voice/voicestopreaddata.c similarity index 97% rename from src/libultra/voice/voicestopread.c rename to src/libultra/voice/voicestopreaddata.c index e6dc7888dd..31d4d6dd5d 100644 --- a/src/libultra/voice/voicestopread.c +++ b/src/libultra/voice/voicestopreaddata.c @@ -1,5 +1,5 @@ /** - * File: voicestopread.c + * File: voicestopreaddata.c * * Forcibly stops voice recognition processing by the Voice Recognition System */ diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/src/overlays/actors/ovl_Boss_03/z_boss_03.c index a14d001e3d..4bd55fcc6e 100644 --- a/src/overlays/actors/ovl_Boss_03/z_boss_03.c +++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.c @@ -2158,7 +2158,7 @@ void Boss03_SetObject(PlayState* play, s16 objectId) { OPEN_DISPS(play->state.gfxCtx); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment); 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 33dfde40c0..f3b49aa9dd 100644 --- a/src/overlays/actors/ovl_Dm_An/z_dm_an.c +++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.c @@ -92,9 +92,9 @@ s32 DmAn_UpdateSkelAnime(DmAn* this, PlayState* play) { } if (objectSlot2 > OBJECT_SLOT_NONE) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); isAnimFinished = SkelAnime_Update(&this->skelAnime); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return isAnimFinished; @@ -112,10 +112,10 @@ s32 DmAn_ChangeAnim(DmAn* this, PlayState* play, DmAnAnimation animIndex) { } if ((objectSlot2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); this->animIndex = animIndex; didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return didAnimChange; 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 1ed1f23b98..594bb3ba32 100644 --- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c +++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c @@ -92,9 +92,9 @@ s32 DmGm_UpdateSkelAnime(DmGm* this, PlayState* play) { } if (objectIndex2 > OBJECT_SLOT_NONE) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); isAnimFinished = SkelAnime_Update(&this->skelAnime); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return isAnimFinished; @@ -112,10 +112,10 @@ s32 DmGm_ChangeAnim(DmGm* this, PlayState* play, DmGmAnimation animIndex) { } if ((objectIndex2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); this->animIndex = animIndex; didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return didAnimChange; diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index 0cf2a8cfe6..b98a783796 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -320,7 +320,7 @@ void DmStk_LoadObjectForAnimation(DmStk* this, PlayState* play) { } if (objectSlot > OBJECT_SLOT_NONE) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } } @@ -1967,13 +1967,13 @@ void DmStk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, (this->objectStk2ObjectSlot > OBJECT_SLOT_NONE)) { Matrix_Push(); Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStk2ObjectSlot].segment); AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim)); Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStkObjectSlot].segment); @@ -2094,7 +2094,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) { return; } - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); OPEN_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_An/z_en_an.c b/src/overlays/actors/ovl_En_An/z_en_an.c index 76ce6ecc3c..d8fab59086 100644 --- a/src/overlays/actors/ovl_En_An/z_en_an.c +++ b/src/overlays/actors/ovl_En_An/z_en_an.c @@ -1037,10 +1037,10 @@ s32 EnAn_UpdateSkelAnime(EnAn* this, PlayState* play) { } if (otherObjectSlot > OBJECT_SLOT_NONE) { - gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); this->skelAnime.playSpeed = this->animPlaySpeed; ret = SkelAnime_Update(&this->skelAnime); - gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); } return ret; @@ -1096,11 +1096,11 @@ s32 EnAn_ChangeAnim(EnAn* this, PlayState* play, EnAnAnimation animIndex) { } if (changeAnim && (otherObjectSlot > OBJECT_SLOT_NONE)) { - gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); this->animIndex = animIndex; didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); this->animPlaySpeed = this->skelAnime.playSpeed; - gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); } return didAnimChange; 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 a25dd11280..a0fef54092 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 @@ -266,8 +266,8 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* OPEN_DISPS(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); CLOSE_DISPS(play->state.gfxCtx); } 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 bcc8f3648d..5c33e6eb1a 100644 --- a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c +++ b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c @@ -1293,30 +1293,30 @@ void EnBigpo_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro void EnBigpo_DrawMainBigpo(Actor* thisx, PlayState* play) { EnBigpo* this = THIS; - Gfx* dispHead; + Gfx* gfx; OPEN_DISPS(play->state.gfxCtx); if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { // fully visible OR fully transparent - dispHead = POLY_OPA_DISP; - gSPDisplayList(dispHead, gSetupDLs[SETUPDL_25]); - gSPSegment(&dispHead[1], 0x0C, &D_801AEFA0); // empty display list for no transparency - gSPSegment(&dispHead[2], 0x08, + gfx = POLY_OPA_DISP; + gSPDisplayList(gfx, gSetupDLs[SETUPDL_25]); + gSPSegment(&gfx[1], 0x0C, D_801AEFA0); // empty display list for no transparency + gSPSegment(&gfx[2], 0x08, Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b, this->mainColor.a)); POLY_OPA_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable, - EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &dispHead[3]); + EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &gfx[3]); } else { - dispHead = POLY_XLU_DISP; - gSPDisplayList(dispHead, gSetupDLs[SETUPDL_25]); - gSPSegment(&dispHead[1], 0x0C, &D_801AEF88); // transparency display list - gSPSegment(&dispHead[2], 0x08, + gfx = POLY_XLU_DISP; + gSPDisplayList(gfx, gSetupDLs[SETUPDL_25]); + gSPSegment(&gfx[1], 0x0C, D_801AEF88); // transparency display list + gSPSegment(&gfx[2], 0x08, Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b, this->mainColor.a)); POLY_XLU_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable, - EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &dispHead[3]); + EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &gfx[3]); } // 71.428566f might be 500/7 context unknown @@ -1366,7 +1366,7 @@ void EnBigpo_DrawLantern(Actor* thisx, PlayState* play) { EnBigpo* this = THIS; f32 magnitude; f32 magnitude2; - Gfx* dispHead; + Gfx* gfx; Vec3f vec1; Vec3f vec2; Camera* cam = GET_ACTIVE_CAM(play); @@ -1385,33 +1385,33 @@ void EnBigpo_DrawLantern(Actor* thisx, PlayState* play) { // fully visible OR fully transparent if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { Scene_SetRenderModeXlu(play, 0, 1); - dispHead = POLY_OPA_DISP; + gfx = POLY_OPA_DISP; } else { Scene_SetRenderModeXlu(play, 1, 2); - dispHead = POLY_XLU_DISP; + gfx = POLY_XLU_DISP; } - gSPDisplayList(&dispHead[0], gSetupDLs[SETUPDL_25]); + gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]); - gSPSegment(&dispHead[1], 0x0A, Gfx_EnvColor(play->state.gfxCtx, 160, 0, 255, this->mainColor.a)); + gSPSegment(&gfx[1], 0x0A, Gfx_EnvColor(play->state.gfxCtx, 160, 0, 255, this->mainColor.a)); Matrix_MultVecY(1400.0f, &vec2); Lights_PointGlowSetInfo(&this->fires[0].info, vec2.x + vec1.x, vec2.y + vec1.y, vec2.z + vec1.z, this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->lanternColor.a); - gDPSetEnvColor(&dispHead[2], this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->mainColor.a); + gDPSetEnvColor(&gfx[2], this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->mainColor.a); - gSPMatrix(&dispHead[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&dispHead[4], &gBigPoeLanternMainDL); + gSPDisplayList(&gfx[4], &gBigPoeLanternMainDL); - gSPDisplayList(&dispHead[5], &gBigPoeLanternPurpleTopDL); + gSPDisplayList(&gfx[5], &gBigPoeLanternPurpleTopDL); // fully transparent OR fully invisible if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { - POLY_OPA_DISP = &dispHead[6]; + POLY_OPA_DISP = &gfx[6]; } else { - POLY_XLU_DISP = &dispHead[6]; + POLY_XLU_DISP = &gfx[6]; } 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 1a0e0b29e6..3e1d2aaa32 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 @@ -256,9 +256,9 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* OPEN_DISPS(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); *dList = gCneHeadBrownHairDL; - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.c b/src/overlays/actors/ovl_En_Geg/z_en_geg.c index 8b82072e4f..a7d23bc709 100644 --- a/src/overlays/actors/ovl_En_Geg/z_en_geg.c +++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.c @@ -413,12 +413,12 @@ s32 func_80BB1D64(EnGeg* this, PlayState* play) { } void EnGeg_UpdateSkelAnime(EnGeg* this, PlayState* play) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); SkelAnime_Update(&this->skelAnime); } void EnGeg_ChangeAnim(EnGeg* this, PlayState* play) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); } 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 6bee89d638..ae206c3480 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -991,10 +991,10 @@ s32 EnGo_UpdateSkelAnime(EnGo* this, PlayState* play) { } if (extraObjIndex >= 0) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); this->skelAnime.playSpeed = this->animPlaySpeed; isAnimFinished = SkelAnime_Update(&this->skelAnime); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return isAnimFinished; @@ -1051,11 +1051,11 @@ s32 EnGo_ChangeAnim(EnGo* this, PlayState* play, EnGoAnimation animIndex) { } if (extraObjIndex >= 0) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); this->animIndex = animIndex; didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); this->animPlaySpeed = this->skelAnime.playSpeed; - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); } return didAnimChange; diff --git a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c index b7833218b7..5ee4aee066 100644 --- a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c +++ b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c @@ -67,13 +67,6 @@ static ColliderSphereInit sSphereInit = { { 1, { { 0, 0, 0 }, 15 }, 100 }, }; -typedef struct EnMkkDlists { - /* 0x00 */ Gfx* unk0; - /* 0x04 */ Gfx* unk4; - /* 0x08 */ Gfx* unk8; - /* 0x0C */ Gfx* unkC; -} EnMkkDlists; // size = 0x10 - static CollisionCheckInfoInit sColChkInfoInit = { 1, 15, 30, 10 }; static DamageTable sDamageTable = { @@ -127,7 +120,14 @@ static Color_RGBA8 sEffPrimColors[] = { { 50, 50, 50, 255 }, { 255, 255, 255, 25 static Color_RGBA8 sEffEnvColors[] = { { 200, 200, 200, 255 }, { 255, 255, 255, 255 } }; -static EnMkkDlists sBoeDLists[] = { +typedef struct EnMkkModelInfo { + /* 0x0 */ Gfx* materialDL; + /* 0x4 */ Gfx* modelDL; + /* 0x8 */ Gfx* endDL; + /* 0xC */ Gfx* eyesDL; +} EnMkkModelInfo; // size = 0x10 + +static EnMkkModelInfo sBoeModelInfo[] = { { gBlackBoeBodyMaterialDL, gBlackBoeBodyModelDL, gBlackBoeEndDL, gBlackBoeEyesDL }, { gWhiteBoeBodyMaterialDL, gWhiteBoeBodyModelDL, gWhiteBoeEndDL, gWhiteBoeEyesDL }, }; @@ -511,7 +511,7 @@ void func_80A4F16C(Actor* thisx, PlayState* play) { } void EnMkk_Draw(Actor* thisx, PlayState* play) { - EnMkkDlists* dLists = &sBoeDLists[thisx->params]; + EnMkkModelInfo* modelInfo = &sBoeModelInfo[thisx->params]; Gfx* gfx; Color_RGBA8* primColors; EnMkk* this = THIS; @@ -528,16 +528,16 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(&gfx[1], 0, 0xFF, primColors->r, primColors->g, primColors->b, primColors->a); gSPSegment(&gfx[2], 0x08, D_801AEFA0); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[4], dLists->unkC); + gSPDisplayList(&gfx[4], modelInfo->eyesDL); POLY_OPA_DISP = &gfx[5]; } gfx = POLY_XLU_DISP; gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]); gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha); - gSPDisplayList(&gfx[2], dLists->unk0); + gSPDisplayList(&gfx[2], modelInfo->materialDL); Matrix_ReplaceRotation(&play->billboardMtxF); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[4], dLists->unk4); + gSPDisplayList(&gfx[4], modelInfo->modelDL); if (thisx->params == 0) { matrix = Matrix_GetCurrent(); matrix->mf[3][0] = this->unk_154.x; @@ -546,7 +546,7 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) { Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY); gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[6], dLists->unk4); + gSPDisplayList(&gfx[6], modelInfo->modelDL); matrix->mf[3][0] = this->unk_160.x; matrix->mf[3][1] = this->unk_160.y + 7.2250004f; @@ -554,12 +554,12 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) { Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY); gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[8], dLists->unk4); - gSPDisplayList(&gfx[9], dLists->unk8); + gSPDisplayList(&gfx[8], modelInfo->modelDL); + gSPDisplayList(&gfx[9], modelInfo->endDL); POLY_XLU_DISP = &gfx[10]; } else { - gSPDisplayList(&gfx[5], dLists->unk8); + gSPDisplayList(&gfx[5], modelInfo->endDL); POLY_XLU_DISP = &gfx[6]; } } @@ -570,7 +570,7 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) { s32 pad; Gfx* gfx; MtxF* matrix; - EnMkkDlists* dLists = &sBoeDLists[thisx->params]; + EnMkkModelInfo* modelInfo = &sBoeModelInfo[thisx->params]; EnMkk* this = THIS; OPEN_DISPS(play->state.gfxCtx); @@ -578,10 +578,10 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) { gfx = POLY_XLU_DISP; gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]); gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha); - gSPDisplayList(&gfx[2], dLists->unk0); + gSPDisplayList(&gfx[2], modelInfo->materialDL); Matrix_ReplaceRotation(&play->billboardMtxF); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[4], dLists->unk4); + gSPDisplayList(&gfx[4], modelInfo->modelDL); matrix = Matrix_GetCurrent(); matrix->mf[3][0] = this->unk_154.x; @@ -589,22 +589,22 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) { matrix->mf[3][2] = this->unk_154.z; gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[6], dLists->unk4); + gSPDisplayList(&gfx[6], modelInfo->modelDL); matrix->mf[3][0] = this->unk_160.x; matrix->mf[3][1] = this->unk_160.y + 5.0f; matrix->mf[3][2] = this->unk_160.z; gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[8], dLists->unk4); + gSPDisplayList(&gfx[8], modelInfo->modelDL); matrix->mf[3][0] = this->unk_16C.x; matrix->mf[3][1] = this->unk_16C.y + 5.0f; matrix->mf[3][2] = this->unk_16C.z; gSPMatrix(&gfx[9], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(&gfx[10], dLists->unk4); - gSPDisplayList(&gfx[11], dLists->unk8); + gSPDisplayList(&gfx[10], modelInfo->modelDL); + gSPDisplayList(&gfx[11], modelInfo->endDL); POLY_XLU_DISP = &gfx[12]; CLOSE_DISPS(play->state.gfxCtx); 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 d5e2e680f2..d155b07e48 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -245,14 +245,14 @@ void EnNwc_CheckFound(EnNwc* this, PlayState* play) { void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) { if (Object_IsLoaded(&play->objectCtx, this->niwObjectSlot)) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectSlot].segment); SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkel, &gNiwIdleAnim, this->jointTable, this->morphTable, NIW_LIMB_MAX); Animation_Change(&this->niwSkeleton, &gNiwIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gNiwIdleAnim), ANIMMODE_LOOP, 0.0f); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->nwcObjectIndex].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->nwcObjectIndex].segment); this->state = NWC_STATE_NIW_LOADED; EnNwc_ToggleState(this); } diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c index 05286801c1..29704afa02 100644 --- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c +++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c @@ -768,7 +768,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) { if (((EnJg*)this->otherGoron)->flags & 1) { this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU); if (this->objectSlot > OBJECT_SLOT_NONE) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); this->animIndex = EN_S_GORO_ANIM_TAISOU_CHEER; SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); return true; @@ -777,7 +777,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) { } else if ((this->animIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) { this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP); if (this->objectSlot > OBJECT_SLOT_NONE) { - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); this->animIndex = EN_S_GORO_ANIM_IDLE_STAND; SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); this->skelAnime.curFrame = this->skelAnime.endFrame; @@ -1309,7 +1309,7 @@ void EnSGoro_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); SkelAnime_Update(&this->skelAnime); if (this->animIndex != EN_S_GORO_ANIM_SLEEPY) { EnSGoro_UpdateAttentionTarget(this, play); diff --git a/src/overlays/actors/ovl_En_Slime/z_en_slime.c b/src/overlays/actors/ovl_En_Slime/z_en_slime.c index aeb02d48d5..3fc168705c 100644 --- a/src/overlays/actors/ovl_En_Slime/z_en_slime.c +++ b/src/overlays/actors/ovl_En_Slime/z_en_slime.c @@ -1178,7 +1178,7 @@ void EnSlime_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL25_Xlu(play->state.gfxCtx); func_800B8118(&this->actor, play, 0); if (this->iceBlockTimer != ICE_BLOCK_UNUSED) { - gSPSegment(POLY_XLU_DISP++, 10, D_801AEFA0); + gSPSegment(POLY_XLU_DISP++, 0x0A, D_801AEFA0); gDPSetPrimColor(POLY_XLU_DISP++, 0, 170, 255, 255, 255, 255); gDPSetEnvColor(POLY_XLU_DISP++, 150, 255, 255, this->iceBlockTimer); } else { 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 b826a8dcab..45f263baed 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -1366,7 +1366,7 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) { void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) { SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim), ANIMMODE_LOOP, 0.0f); this->actor.draw = EnSob1_ZoraShopkeeper_Draw; @@ -1375,7 +1375,7 @@ void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) { void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) { SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim), ANIMMODE_LOOP, 0.0f); this->actor.draw = EnSob1_GoronShopkeeper_Draw; 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 3f22cc7fac..5bd4464fc1 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -257,7 +257,7 @@ void func_808A54B0(EnSt* this, PlayState* play) { if ((this->unk_18C & 1) && (this->actor.colChkInfo.health != 0)) { OPEN_DISPS(play->state.gfxCtx); - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->objectSlot].segment); diff --git a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c index fffd5b1d9b..14db958dd9 100644 --- a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c +++ b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c @@ -62,8 +62,8 @@ void EffectEnIceBlock_Draw(PlayState* play, u32 index, EffectSs* this) { OPEN_DISPS(gfxCtx); - gSPSegment(POLY_XLU_DISP++, 0x06, - play->objectCtx.slots[this->rObjectSlot].segment); // object: OBJECT_ICE_BLOCK + // object: OBJECT_ICE_BLOCK + gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment); Gfx_SetupDL25_Xlu(play->state.gfxCtx); Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); diff --git a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c index c43c01afee..e7dc1eb8de 100644 --- a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c +++ b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c @@ -73,7 +73,7 @@ void EffectSsDFire_Draw(PlayState* play, u32 index, EffectSs* this) { OPEN_DISPS(gfxCtx); - gSegments[6] = OS_K0_TO_PHYSICAL(objectPtr); + gSegments[0x06] = OS_K0_TO_PHYSICAL(objectPtr); gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr); scale = this->rScale / 100.0f; diff --git a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c index 9434dbd413..8a511d130c 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c +++ b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c @@ -35,9 +35,9 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT); if ((objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, objectSlot)) { - uintptr_t segBackup = gSegments[6]; + uintptr_t segBackup = gSegments[0x06]; - gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); + gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); this->pos = params->pos; this->velocity = params->velocity; @@ -50,7 +50,7 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar this->rTimer = 5; this->rObjectSlot = objectSlot; - gSegments[6] = segBackup; + gSegments[0x06] = segBackup; return 1; } return 0; @@ -66,7 +66,7 @@ void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) { OPEN_DISPS(play->state.gfxCtx); - gSegments[6] = OS_K0_TO_PHYSICAL(objectPtr); + gSegments[0x06] = OS_K0_TO_PHYSICAL(objectPtr); gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr); diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c index 94285c45bf..9c992a20bb 100644 --- a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c @@ -90,7 +90,7 @@ void TransitionWipe1_Draw(void* thisx, Gfx** gfxP) { guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f); gDPPipeSync(gfx++); texScroll = Gfx_BranchTexScroll(&gfx, this->texX, this->texY, 0, 0); - gSPSegment(gfx++, 8, texScroll); + gSPSegment(gfx++, 0x08, texScroll); gDPSetPrimColor(gfx++, 0, 0x80, this->primColor.r, this->primColor.g, this->primColor.b, 255); gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION); gSPPerspNormalize(gfx++, this->normal);