From 6451fbc24faa8a8fb21a5125c5b64351037d215c Mon Sep 17 00:00:00 2001 From: blackgamma7 Date: Wed, 16 Nov 2022 02:14:11 -0500 Subject: [PATCH 1/5] z_en_horse_zelda doc (#1430) * z_en_horse_zelda doc Zelda's horse has been better documented. Horse seemed to follow a path around Hyrule Field * `z_en_horse_zelda` revised based on feedback * Update z_en_horse_zelda.c EnHorseZelda_ResetAnimation -> EnHorseZelda_SetupStop * z_horse_zelda: changes based on feedback --- .../ovl_En_Horse_Zelda/z_en_horse_zelda.c | 115 +++++++++--------- .../ovl_En_Horse_Zelda/z_en_horse_zelda.h | 4 +- 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c index c361e02c288..54d9a2da744 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c @@ -14,9 +14,9 @@ void EnHorseZelda_Destroy(Actor* thisx, PlayState* play); void EnHorseZelda_Update(Actor* thisx, PlayState* play); void EnHorseZelda_Draw(Actor* thisx, PlayState* play); -void func_80A6DCCC(EnHorseZelda* this, PlayState* play); -void func_80A6DDFC(EnHorseZelda* this, PlayState* play); -void func_80A6DC7C(EnHorseZelda* this); +void EnHorseZelda_Stop(EnHorseZelda* this, PlayState* play); +void EnHorseZelda_Gallop(EnHorseZelda* this, PlayState* play); +void EnHorseZelda_SetupStop(EnHorseZelda* this); ActorInit En_Horse_Zelda_InitVars = { ACTOR_EN_HORSE_ZELDA, @@ -83,16 +83,17 @@ static ColliderJntSphInit sJntSphInit = { static CollisionCheckInfoInit sColChkInfoInit = { 10, 35, 100, MASS_HEAVY }; typedef struct { - /* 0x0 */ Vec3s unk_0; - /* 0x6 */ u8 unk_6; -} unknownStruct; // size = 0x8 - -static unknownStruct D_80A6E240[] = { - { -1682, -500, 12578, 0x07 }, { -3288, -500, 13013, 0x07 }, { -5142, -417, 11630, 0x07 }, - { -5794, -473, 9573, 0x07 }, { -6765, -500, 8364, 0x07 }, { -6619, -393, 6919, 0x07 }, - { -5193, 124, 5433, 0x07 }, { -2970, 2, 4537, 0x07 }, { -2949, -35, 4527, 0x07 }, - { -1907, -47, 2978, 0x07 }, { 2488, 294, 3628, 0x07 }, { 3089, 378, 4713, 0x07 }, - { 1614, -261, 7596, 0x07 }, { 754, -187, 9295, 0x07 }, + /* 0x0 */ Vec3s pos; + /* 0x6 */ u8 speed; +} HorsePosSpeed; // size = 0x8 + +// these seem to be valid coords on Hyrule field, along with target speeds +static HorsePosSpeed sHorseFieldPositions[] = { + { {-1682, -500, 12578}, 7 }, { {-3288, -500, 13013}, 7 }, { {-5142, -417, 11630}, 7 }, + { {-5794, -473, 9573}, 7 }, { {-6765, -500, 8364}, 7 }, { {-6619, -393, 6919}, 7 }, + { {-5193, 124, 5433}, 7 }, { {-2970, 2, 4537}, 7 }, { {-2949, -35, 4527}, 7 }, + { {-1907, -47, 2978}, 7 }, { {2488, 294, 3628}, 7 }, { {3089, 378, 4713}, 7 }, + { {1614, -261, 7596}, 7 }, { {754, -187, 9295}, 7 }, }; static InitChainEntry sInitChain[] = { @@ -100,34 +101,34 @@ static InitChainEntry sInitChain[] = { }; static EnHorseZeldaActionFunc sActionFuncs[] = { - func_80A6DCCC, - func_80A6DDFC, + EnHorseZelda_Stop, + EnHorseZelda_Gallop, }; -void func_80A6D8D0(unknownStruct* data, s32 index, Vec3f* vec) { - vec->x = data[index].unk_0.x; - vec->y = data[index].unk_0.y; - vec->z = data[index].unk_0.z; +void EnHorseZelda_GetFieldPosition(HorsePosSpeed* data, s32 index, Vec3f* fieldPos) { + fieldPos->x = data[index].pos.x; + fieldPos->y = data[index].pos.y; + fieldPos->z = data[index].pos.z; } -void func_80A6D918(EnHorseZelda* this, PlayState* play) { +void EnHorseZelda_Move(EnHorseZelda* this, PlayState* play) { s32 pad; - Vec3f sp28; + Vec3f fieldPos; s16 yawDiff; - func_80A6D8D0(D_80A6E240, this->unk_1EC, &sp28); - if (Math3D_Vec3f_DistXYZ(&sp28, &this->actor.world.pos) <= 400.0f) { - this->unk_1EC++; - if (this->unk_1EC >= 14) { - this->unk_1EC = 0; - func_80A6D8D0(D_80A6E240, 0, &sp28); + EnHorseZelda_GetFieldPosition(sHorseFieldPositions, this->fieldPosIndex, &fieldPos); + if (Math3D_Vec3f_DistXYZ(&fieldPos, &this->actor.world.pos) <= 400.0f) { + this->fieldPosIndex++; + if (this->fieldPosIndex >= ARRAY_COUNT(sHorseFieldPositions)) { + this->fieldPosIndex = 0; + EnHorseZelda_GetFieldPosition(sHorseFieldPositions, 0, &fieldPos); } } - yawDiff = Math_Vec3f_Yaw(&this->actor.world.pos, &sp28) - this->actor.world.rot.y; - if (yawDiff >= 0x12D) { - this->actor.world.rot.y += 0x12C; - } else if (yawDiff < -0x12C) { - this->actor.world.rot.y -= 0x12C; + yawDiff = Math_Vec3f_Yaw(&this->actor.world.pos, &fieldPos) - this->actor.world.rot.y; + if (yawDiff > 300) { + this->actor.world.rot.y += 300; + } else if (yawDiff < -300) { + this->actor.world.rot.y -= 300; } else { this->actor.world.rot.y += yawDiff; } @@ -139,7 +140,7 @@ void func_80A6D918(EnHorseZelda* this, PlayState* play) { } else { this->actor.speedXZ -= 1.0f; } - } else if (this->actor.speedXZ < D_80A6E240[this->unk_1EC].unk_6) { + } else if (this->actor.speedXZ < sHorseFieldPositions[this->fieldPosIndex].speed) { this->actor.speedXZ += 0.5f; } else { this->actor.speedXZ -= 0.5f; @@ -166,7 +167,7 @@ void EnHorseZelda_Init(Actor* thisx, PlayState* play) { Collider_SetJntSph(play, &this->colliderSphere, &this->actor, &sJntSphInit, &this->colliderSphereItem); CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit); this->animationIndex = 0; - func_80A6DC7C(this); + EnHorseZelda_SetupStop(this); } void EnHorseZelda_Destroy(Actor* thisx, PlayState* play) { @@ -177,7 +178,7 @@ void EnHorseZelda_Destroy(Actor* thisx, PlayState* play) { Skin_Free(play, &this->skin); } -void func_80A6DC7C(EnHorseZelda* this) { +void EnHorseZelda_SetupStop(EnHorseZelda* this) { this->action = 0; this->animationIndex++; if (this->animationIndex > 0) { @@ -186,34 +187,34 @@ void func_80A6DC7C(EnHorseZelda* this) { Animation_PlayOnce(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex]); } -void func_80A6DCCC(EnHorseZelda* this, PlayState* play) { +void EnHorseZelda_Stop(EnHorseZelda* this, PlayState* play) { this->actor.speedXZ = 0.0f; if (SkelAnime_Update(&this->skin.skelAnime)) { - func_80A6DC7C(this); + EnHorseZelda_SetupStop(this); } } -void func_80A6DD14(EnHorseZelda* this) { - f32 sp34; +void EnHorseZelda_Spur(EnHorseZelda* this) { + f32 speedMod; this->action = 1; this->animationIndex = 0; - sp34 = this->actor.speedXZ / 6.0f; + speedMod = this->actor.speedXZ / 6.0f; Audio_PlaySfxGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); Animation_Change(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex], - splaySpeeds[this->animationIndex] * sp34 * 1.5f, 0.0f, + splaySpeeds[this->animationIndex] * speedMod * 1.5f, 0.0f, Animation_GetLastFrame(sAnimationHeaders[this->animationIndex]), ANIMMODE_ONCE, 0.0f); } -void func_80A6DDFC(EnHorseZelda* this, PlayState* play) { - func_80A6D918(this, play); +void EnHorseZelda_Gallop(EnHorseZelda* this, PlayState* play) { + EnHorseZelda_Move(this, play); if (SkelAnime_Update(&this->skin.skelAnime)) { - func_80A6DD14(this); + EnHorseZelda_Spur(this); } } -void func_80A6DE38(EnHorseZelda* this, PlayState* play) { +void EnHorseZelda_SetRotate(EnHorseZelda* this, PlayState* play) { s32 pad; CollisionPoly* poly; s32 pad2; @@ -223,8 +224,8 @@ void func_80A6DE38(EnHorseZelda* this, PlayState* play) { checkPos.x = (Math_SinS(this->actor.shape.rot.y) * 30.0f) + this->actor.world.pos.x; checkPos.y = this->actor.world.pos.y + 60.0f; checkPos.z = (Math_CosS(this->actor.shape.rot.y) * 30.0f) + this->actor.world.pos.z; - this->unk_1F4 = BgCheck_EntityRaycastDown3(&play->colCtx, &poly, &bgId, &checkPos); - this->actor.shape.rot.x = RAD_TO_BINANG(Math_FAtan2F(this->actor.world.pos.y - this->unk_1F4, 30.0f)); + this->floorYForwards = BgCheck_EntityRaycastDown3(&play->colCtx, &poly, &bgId, &checkPos); + this->actor.shape.rot.x = RAD_TO_BINANG(Math_FAtan2F(this->actor.world.pos.y - this->floorYForwards, 30.0f)); } void EnHorseZelda_Update(Actor* thisx, PlayState* play) { @@ -244,21 +245,21 @@ void EnHorseZelda_Update(Actor* thisx, PlayState* play) { } void EnHorseZelda_PostDraw(Actor* thisx, PlayState* play, Skin* skin) { - Vec3f sp4C; - Vec3f sp40; + Vec3f offset; + Vec3f dst; EnHorseZelda* this = (EnHorseZelda*)thisx; s32 i; for (i = 0; i < this->colliderSphere.count; i++) { - sp4C.x = this->colliderSphere.elements[i].dim.modelSphere.center.x; - sp4C.y = this->colliderSphere.elements[i].dim.modelSphere.center.y; - sp4C.z = this->colliderSphere.elements[i].dim.modelSphere.center.z; + offset.x = this->colliderSphere.elements[i].dim.modelSphere.center.x; + offset.y = this->colliderSphere.elements[i].dim.modelSphere.center.y; + offset.z = this->colliderSphere.elements[i].dim.modelSphere.center.z; - Skin_GetLimbPos(skin, this->colliderSphere.elements[i].dim.limb, &sp4C, &sp40); + Skin_GetLimbPos(skin, this->colliderSphere.elements[i].dim.limb, &offset, &dst); - this->colliderSphere.elements[i].dim.worldSphere.center.x = sp40.x; - this->colliderSphere.elements[i].dim.worldSphere.center.y = sp40.y; - this->colliderSphere.elements[i].dim.worldSphere.center.z = sp40.z; + this->colliderSphere.elements[i].dim.worldSphere.center.x = dst.x; + this->colliderSphere.elements[i].dim.worldSphere.center.y = dst.y; + this->colliderSphere.elements[i].dim.worldSphere.center.z = dst.z; this->colliderSphere.elements[i].dim.worldSphere.radius = this->colliderSphere.elements[i].dim.modelSphere.radius * this->colliderSphere.elements[i].dim.scale; @@ -271,7 +272,7 @@ void EnHorseZelda_PostDraw(Actor* thisx, PlayState* play, Skin* skin) { void EnHorseZelda_Draw(Actor* thisx, PlayState* play) { EnHorseZelda* this = (EnHorseZelda*)thisx; - func_80A6DE38(this, play); + EnHorseZelda_SetRotate(this, play); Gfx_SetupDL_25Opa(play->state.gfxCtx); func_800A6330(&this->actor, play, &this->skin, EnHorseZelda_PostDraw, true); } diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h index afac221da8b..7ce6cace3a9 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h @@ -14,9 +14,9 @@ typedef struct EnHorseZelda { /* 0x0150 */ s32 animationIndex; /* 0x0154 */ Skin skin; /* 0x01E4 */ char unk_1E4[0x8]; - /* 0x01EC */ s32 unk_1EC; + /* 0x01EC */ s32 fieldPosIndex; /* 0x01F0 */ char unk_1F0[0x4]; - /* 0x01F4 */ f32 unk_1F4; + /* 0x01F4 */ f32 floorYForwards; /* 0x01F8 */ char unk_1F8[0x4]; /* 0x01FC */ ColliderCylinder colliderCylinder; /* 0x0248 */ ColliderJntSph colliderSphere; From acc077a24c4fc75b98ccdd30e47b45ee897bb236 Mon Sep 17 00:00:00 2001 From: Tharo <17233964+Thar0@users.noreply.github.com> Date: Wed, 16 Nov 2022 07:32:07 +0000 Subject: [PATCH 2/5] Mempak doc (#1382) * Mempak doc * Format * Suggested changes * Further changes --- include/functions.h | 8 -- include/mempak.h | 21 ++++ include/z64.h | 1 + src/code/db_camera.c | 30 +++--- src/code/mempak.c | 233 +++++++++++++++++++++++++++++-------------- src/code/padmgr.c | 14 +-- 6 files changed, 205 insertions(+), 102 deletions(-) create mode 100644 include/mempak.h diff --git a/include/functions.h b/include/functions.h index 3502a6dc96d..5518cb2a922 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1395,14 +1395,6 @@ void DbCamera_Reset(Camera* cam, DbCamera* dbCam); // ? DbCamera_UpdateDemoControl(?); void func_800BB0A0(f32 u, Vec3f* pos, f32* roll, f32* viewAngle, f32* point0, f32* point1, f32* point2, f32* point3); s32 func_800BB2B4(Vec3f* pos, f32* roll, f32* fov, CutsceneCameraPoint* point, s16* keyFrame, f32* curFrame); -s32 Mempak_Init(s32 controllerNb); -s32 Mempak_GetFreeBytes(s32 controllerNb); -s32 Mempak_FindFile(s32 controllerNb, char start, char end); -s32 Mempak_Write(s32 controllerNb, char idx, void* buffer, s32 offset, s32 size); -s32 Mempak_Read(s32 controllerNb, char idx, void* buffer, s32 offset, s32 size); -s32 Mempak_Alloc(s32 controllerNb, char* idx, s32 size); -s32 Mempak_DeleteFile(s32 controllerNb, char idx); -s32 Mempak_GetFileSize(s32 controllerNb, char idx); void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl); void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl); void KaleidoManager_Init(PlayState* play); diff --git a/include/mempak.h b/include/mempak.h new file mode 100644 index 00000000000..767b3966d46 --- /dev/null +++ b/include/mempak.h @@ -0,0 +1,21 @@ +#ifndef MEMPAK_H +#define MEMPAK_H + +#include "ultra64.h" + +s32 Mempak_Init(s32 controllerNum); +s32 Mempak_GetFreeBytes(s32 controllerNum); +s32 Mempak_FindFiles(s32 controllerNum, char start, char end); +s32 Mempak_Write(s32 controllerNum, char letter, void* buffer, s32 offset, s32 size); +s32 Mempak_Read(s32 controllerNum, char letter, void* buffer, s32 offset, s32 size); +s32 Mempak_CreateFile(s32 controllerNum, char* letter, s32 size); +s32 Mempak_DeleteFile(s32 controllerNum, char letter); +s32 Mempak_GetFileSize(s32 controllerNum, char letter); + +// Converts a file letter to its numerical index +#define MEMPAK_LETTER_TO_INDEX(c) ((c) - 'A') + +// Converts a numerical index to a file letter +#define MEMPAK_INDEX_TO_LETTER(i) ((i) + 'A') + +#endif diff --git a/include/z64.h b/include/z64.h index 8cfcfd160be..40dabeb5e3b 100644 --- a/include/z64.h +++ b/include/z64.h @@ -38,6 +38,7 @@ #include "fault.h" #include "sched.h" #include "rumble.h" +#include "mempak.h" #include "tha.h" #include "thga.h" diff --git a/src/code/db_camera.c b/src/code/db_camera.c index ce96764ecfb..72ea7fd82af 100644 --- a/src/code/db_camera.c +++ b/src/code/db_camera.c @@ -1,4 +1,3 @@ -#include "ultra64.h" #include "global.h" #define DBCAM_CONTROLLER_PORT 2 @@ -1507,15 +1506,15 @@ static s32 sAllocSize; s32 DbCamera_GetFirstAvailableLetter(void) { s32 i; + for (i = 0; i < ARRAY_COUNT(sLetters); i++) { switch (sLetters[i]) { case 'O': break; default: - return 'A' + i; + return MEMPAK_INDEX_TO_LETTER(i); } } - return '?'; } @@ -1653,7 +1652,7 @@ s32 DbCamera_SaveCallback(char* c) { freeSize = Mempak_GetFreeBytes(DBCAM_CONTROLLER_PORT); if ((u32)sAllocSize < (freeSize + ret)) { - if (!Mempak_Alloc(DBCAM_CONTROLLER_PORT, c, sAllocSize)) { + if (!Mempak_CreateFile(DBCAM_CONTROLLER_PORT, c, sAllocSize)) { return false; } @@ -1867,7 +1866,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); dbCamera->sub.demoCtrlToggleSwitch ^= 1; } - D_8012CEE0[41][9] = sCurFileIdx + 'A'; + D_8012CEE0[41][9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx); func_8006376C(0xA, 7, 5, D_8012CEE0[41]); func_8006376C(0x10, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlActionIdx]); func_8006376C(0x14, 7, 5, D_8012CF88[0]); @@ -1891,7 +1890,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { dbCamera->sub.demoCtrlMenu++; } else { dbCamera->sub.demoCtrlToggleSwitch ^= 1; - D_8012CF84[9] = sCurFileIdx + 'A'; + D_8012CF84[9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx); func_8006376C(0xD, 7, 5, D_8012CF88[-1]); // todo: find something better func_8006376C(0x12, 7, 5, D_8012CF80); func_8006376C(0xD, 9, dbCamera->sub.demoCtrlToggleSwitch ? 1 : 6, "PRESS B BUTTON"); @@ -1909,7 +1908,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { case DEMO_CTRL_MENU(ACTION_SAVE, MENU_CALLBACK): case DEMO_CTRL_MENU(ACTION_LOAD, MENU_CALLBACK): case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_CALLBACK): { - D_8012CEE0[41][9] = sCurFileIdx + 'A'; + D_8012CEE0[41][9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx); func_8006376C(0xC, 7, 5, D_8012CEE0[41]); func_8006376C(0x12, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlActionIdx]); func_8006376C(0x16, 7, 5, D_8012CF9C[0]); @@ -1927,7 +1926,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { case DEMO_CTRL_MENU(ACTION_LOAD, MENU_SUCCESS): case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_SUCCESS): { dbCamera->sub.demoCtrlToggleSwitch ^= 1; - D_8012CEE0[41][9] = sCurFileIdx + 'A'; + D_8012CEE0[41][9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx); func_8006376C(0xD, 7, 5, D_8012CEE0[41]); func_8006376C(0x13, 7, 5, D_8012CF60[dbCamera->sub.demoCtrlMenu / 100]); func_8006376C(0x17, 7, 5, D_8012CFA4); @@ -1950,7 +1949,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { case DEMO_CTRL_MENU(ACTION_LOAD, MENU_ERROR): case DEMO_CTRL_MENU(ACTION_CLEAR, MENU_ERROR): { dbCamera->sub.demoCtrlToggleSwitch ^= 1; - D_8012CEE0[41][9] = sCurFileIdx + 'A'; + D_8012CEE0[41][9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx); func_8006376C(0xD, 7, 5, D_8012CEE0[(dbCamera->sub.demoCtrlMenu / 100) + 32]); func_8006376C(0x11, 7, 5, D_8012CFAC); func_8006376C(0x17, 7, 5, D_8012CFA4); @@ -1971,11 +1970,12 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { default: { if (Mempak_Init(DBCAM_CONTROLLER_PORT)) { - sMempakFiles = Mempak_FindFile(DBCAM_CONTROLLER_PORT, 'A', 'E'); + sMempakFiles = Mempak_FindFiles(DBCAM_CONTROLLER_PORT, 'A', 'E'); dbCamera->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_CALLBACK); DbCamera_CalcMempakAllocSize(); if ((1 << sCurFileIdx) & sMempakFiles) { - sMempakFilesize = Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, sCurFileIdx + 'A'); + sMempakFilesize = + Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, MEMPAK_INDEX_TO_LETTER(sCurFileIdx)); dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; } else { sMempakFilesize = 0; @@ -1984,7 +1984,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { block_1: idx2 = 1; for (i = 0; i < 5; i++) { - sp74[i * 2 + 1] = (sMempakFiles & idx2) ? i + 'A' : '?'; + sp74[i * 2 + 1] = (sMempakFiles & idx2) ? MEMPAK_INDEX_TO_LETTER(i) : '?'; sp74[i * 2 + 0] = '-'; idx2 <<= 1; @@ -2002,7 +2002,8 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { } if ((1 << sCurFileIdx) & sMempakFiles) { - sMempakFilesize = Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, sCurFileIdx + 'A'); + sMempakFilesize = + Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, MEMPAK_INDEX_TO_LETTER(sCurFileIdx)); dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; } else { sMempakFilesize = 0; @@ -2019,7 +2020,8 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) { } if ((1 << sCurFileIdx) & sMempakFiles) { - sMempakFilesize = Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, sCurFileIdx + 'A'); + sMempakFilesize = + Mempak_GetFileSize(DBCAM_CONTROLLER_PORT, MEMPAK_INDEX_TO_LETTER(sCurFileIdx)); dbCamera->sub.demoCtrlActionIdx = ACTION_LOAD; } else { sMempakFilesize = 0; diff --git a/src/code/mempak.c b/src/code/mempak.c index 2ccf1513517..4d00b311ab7 100644 --- a/src/code/mempak.c +++ b/src/code/mempak.c @@ -1,184 +1,271 @@ +/** + * @file mempak.c + * + * This file implements an interface for a controller memory pak filesystem (pfs), with operations to create, delete, + * read, write and check the size of files, as well as obtain a listing of which files currently exist. + * + * Each file is assigned an uppercase ASCII letter as an identifier, the game name for each is marked as + * 'ZELDA DEMO TOOL', encoded according to the N64 Font Code described in section 26.3 of the N64 Programming Manual. + */ #include "global.h" +#define MEMPAK_MAX_FILES 11 + OSPfs sMempakPfsHandle; s32 sMempakFreeBytes; -s32 sMempakFiles[10]; +s32 sMempakFiles[MEMPAK_MAX_FILES]; u16 sMempakCompanyCode = 1; u32 sMempakGameCode = 1; -// "ZELDA DEMO TOOL " -u8 sMempakGameName[0x10] = { 0x33, 0x1E, 0x25, 0x1D, 0x1A, 0x0F, 0x1D, 0x1E, - 0x26, 0x28, 0x0F, 0x2D, 0x28, 0x28, 0x25, 0x0F }; -u8 sMempakExtName[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -s32 Mempak_Init(s32 controllerNb) { - OSMesgQueue* mq; +// NCH is a heavily abbreviated "N64 font code CHaracter" +// Conversion from A-Z to N64 Font Code +#define NCH(c) ((c)-0x27) +// Conversion from spaces to N64 Font Code +#define NCH_SPC (0x0F) + +u8 sMempakGameName[PFS_FILE_NAME_LEN] = { + NCH('Z'), NCH('E'), NCH('L'), NCH('D'), NCH('A'), NCH_SPC, NCH('D'), NCH('E'), + NCH('M'), NCH('O'), NCH_SPC, NCH('T'), NCH('O'), NCH('O'), NCH('L'), NCH_SPC, +}; + +u8 sMempakExtName[PFS_FILE_EXT_LEN] = { 0 }; + +/** + * Initializes the memory pak filesystem for a memory pak in the controller plugged into the specified port. Subsequent + * memory pak operations will use the same controller port. + * + * @return true if the operation completed successfully, false otherwise + */ +s32 Mempak_Init(s32 controllerNum) { + OSMesgQueue* serialEventQueue; s32 pad; s32 ret = false; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); - if (!osPfsInitPak(mq, &sMempakPfsHandle, controllerNb)) { + if (osPfsInitPak(serialEventQueue, &sMempakPfsHandle, controllerNum) == 0) { ret = true; } osPfsFreeBlocks(&sMempakPfsHandle, &sMempakFreeBytes); - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); - + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); return ret; } -s32 Mempak_GetFreeBytes(s32 controllerNb) { +s32 Mempak_GetFreeBytes(s32 controllerNum) { return sMempakFreeBytes; } -s32 Mempak_FindFile(s32 controllerNb, char start, char end) { - OSMesgQueue* mq; +/** + * Checks if the files identified by letters between `start` and `end` (inclusive) exist on the memory pak. + * + * This must be called before performing any individual file operations. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param start Start file letter + * @param end End file letter (inclusive) + * @return a bitfield where set bits indicate that the file exists + */ +s32 Mempak_FindFiles(s32 controllerNum, char start, char end) { + OSMesgQueue* serialEventQueue; s32 error; - char idx; + char letter; u32 bit = 1; - s32 flag = 0; + s32 bits = 0; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); - for (idx = start; idx <= end; idx++) { - sMempakExtName[0] = idx - 0x27; + for (letter = start; letter <= end; letter++) { + sMempakExtName[0] = NCH(letter); error = osPfsFindFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, sMempakExtName, - &sMempakFiles[idx - 'A']); + &sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)]); if (error == 0) { - flag |= bit; + bits |= bit; } else { - sMempakFiles[idx - 'A'] = -1; + sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)] = -1; } bit <<= 1; - osSyncPrintf("mempak: find '%c' (%d)\n", idx, error); + osSyncPrintf("mempak: find '%c' (%d)\n", letter, error); } - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); - osSyncPrintf("mempak: find '%c' - '%c' %02x\n", start, end, flag); - - return flag; + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); + osSyncPrintf("mempak: find '%c' - '%c' %02x\n", start, end, bits); + return bits; } -s32 Mempak_Write(s32 controllerNb, char idx, void* buffer, s32 offset, s32 size) { - OSMesgQueue* mq; +/** + * Writes data to the file identified with `letter`. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param letter Memory pak file letter, in the range 'A' to ('A' + MEMPAK_MAX_FILES) + * @param buffer Buffer containing data to write + * @param offset Offset into the file to write to + * @param size Size in bytes + * @return true if the operation completed successfully, false otherwise + */ +s32 Mempak_Write(s32 controllerNum, char letter, void* buffer, s32 offset, s32 size) { + OSMesgQueue* serialEventQueue; s32 error; s32 ret = false; s32 pad; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); if (size < sMempakFreeBytes) { - error = osPfsReadWriteFile(&sMempakPfsHandle, sMempakFiles[idx - 'A'], 1, offset, size, buffer); + error = osPfsReadWriteFile(&sMempakPfsHandle, sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)], PFS_WRITE, offset, + size, buffer); if (error == 0) { ret = true; } - osSyncPrintf("mempak: write %d byte '%c' (%d)->%d\n", size, idx, sMempakFiles[idx - 'A'], error); + osSyncPrintf("mempak: write %d byte '%c' (%d)->%d\n", size, letter, + sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)], error); } - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); - + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); return ret; } -s32 Mempak_Read(s32 controllerNb, char idx, void* buffer, s32 offset, s32 size) { - OSMesgQueue* mq; +/** + * Reads data from the file identified with `letter`. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param letter Memory pak file letter, in the range 'A' to ('A' + MEMPAK_MAX_FILES) + * @param buffer Buffer to read data into + * @param offset Offset into the file to read from + * @param size Size in bytes + * @return true if the operation completed successfully, false otherwise + */ +s32 Mempak_Read(s32 controllerNum, char letter, void* buffer, s32 offset, s32 size) { + OSMesgQueue* serialEventQueue; s32 error; s32 ret = false; s32 pad; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); if (size < sMempakFreeBytes) { - error = osPfsReadWriteFile(&sMempakPfsHandle, sMempakFiles[idx - 'A'], 0, offset, size, buffer); + error = osPfsReadWriteFile(&sMempakPfsHandle, sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)], PFS_READ, offset, + size, buffer); if (error == 0) { ret = true; } - osSyncPrintf("mempak: read %d byte '%c' (%d)<-%d\n", size, idx, sMempakFiles[idx - 'A'], error); + osSyncPrintf("mempak: read %d byte '%c' (%d)<-%d\n", size, letter, sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)], + error); } - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); return ret; } -s32 Mempak_Alloc(s32 controllerNb, char* idx, s32 size) { - OSMesgQueue* mq; +/** + * Creates a new file on the memory pak. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param letter Memory pak file letter, in the range 'A' to ('A' + MEMPAK_MAX_FILES). + * If this points to a valid file letter the new file will be created using that letter, otherwise it will create + * a file using the first free letter and return it through this argument. If no letters are free, the last letter + * ('A' + MEMPAK_MAX_FILES - 1) is used. + * @param size File size + * @return true if the operation completed successfully, false otherwise + */ +s32 Mempak_CreateFile(s32 controllerNum, char* letter, s32 size) { + OSMesgQueue* serialEventQueue; s32 error; - s32 ret = 0; + s32 ret = false; s32 i; s32 pad; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); + + if (*letter >= MEMPAK_INDEX_TO_LETTER(0) && *letter < MEMPAK_INDEX_TO_LETTER(MEMPAK_MAX_FILES)) { + // Create file with specific letter + + sMempakExtName[0] = NCH(*letter); + if (-1 == sMempakFiles[MEMPAK_LETTER_TO_INDEX(*letter)]) { + // File does not already exist - if (*idx >= 'A' && *idx < 'L') { - sMempakExtName[0] = *idx - 0x27; - if (-1 == sMempakFiles[*idx - 'A']) { error = osPfsAllocateFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, - sMempakExtName, size, &sMempakFiles[*idx - 'A']); + sMempakExtName, size, &sMempakFiles[MEMPAK_LETTER_TO_INDEX(*letter)]); if (error == 0) { - ret = 1; + ret = true; } - osSyncPrintf("mempak: alloc %d byte '%c' (%d)\n", size, *idx, error); + osSyncPrintf("mempak: alloc %d byte '%c' (%d)\n", size, *letter, error); } else { - sMempakExtName[0] = *idx - 0x27; + // File already exists, delete then alloc + + sMempakExtName[0] = NCH(*letter); if (osPfsDeleteFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, sMempakExtName) == 0) { - ret = 1; + ret = true; } error = osPfsAllocateFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, - sMempakExtName, size, &sMempakFiles[*idx - 'A']); + sMempakExtName, size, &sMempakFiles[MEMPAK_LETTER_TO_INDEX(*letter)]); if (error == 0) { - ret |= 1; + ret |= true; } - osSyncPrintf("mempak: resize %d byte '%c' (%d)\n", size, *idx, error); + osSyncPrintf("mempak: resize %d byte '%c' (%d)\n", size, *letter, error); } } else { - for (i = 0; i < ARRAY_COUNT(sMempakFiles); i++) { + // Find first free letter and create a file identified by it + for (i = 0; i < MEMPAK_MAX_FILES - 1; i++) { if (sMempakFiles[i] == -1) { break; } } + *letter = MEMPAK_INDEX_TO_LETTER(i); - *idx = i + 'A'; - sMempakExtName[0] = *idx - 0x27; + sMempakExtName[0] = NCH(*letter); error = osPfsAllocateFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, sMempakExtName, size, &sMempakFiles[i]); - osSyncPrintf("mempak: alloc %d byte '%c' (%d) with search\n", size, *idx, error); + osSyncPrintf("mempak: alloc %d byte '%c' (%d) with search\n", size, *letter, error); if (error == 0) { - ret = 1; + ret = true; } } - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); - + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); return ret; } -s32 Mempak_DeleteFile(s32 controllerNb, char idx) { - OSMesgQueue* mq; +/** + * Deletes the file identified with `letter`. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param letter Memory pak file letter, in the range 'A' to ('A' + MEMPAK_MAX_FILES) + * @return true if the operation completed successfully, false otherwise + */ +s32 Mempak_DeleteFile(s32 controllerNum, char letter) { + OSMesgQueue* serialEventQueue; s32 error; s32 ret = false; - mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); + serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); - sMempakExtName[0] = idx - 0x27; + sMempakExtName[0] = NCH(letter); error = osPfsDeleteFile(&sMempakPfsHandle, sMempakCompanyCode, sMempakGameCode, sMempakGameName, sMempakExtName); if (error == 0) { ret = true; } - osSyncPrintf("mempak: delete '%c' (%d)\n", idx, error); - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); + osSyncPrintf("mempak: delete '%c' (%d)\n", letter, error); + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); return ret; } -s32 Mempak_GetFileSize(s32 controllerNb, char idx) { - OSMesgQueue* mq = PadMgr_AcquireSerialEventQueue(&gPadMgr); +/** + * Gets the size of the file identified with `letter`. + * + * @param controllerNum Unused, the controller used is that which was last passed to `Mempak_Init` + * @param letter Memory pak file letter, in the range 'A' to ('A' + MEMPAK_MAX_FILES) + * @return the size of the file, or 0 if the operation failed for any reason + */ +s32 Mempak_GetFileSize(s32 controllerNum, char letter) { + OSMesgQueue* serialEventQueue = PadMgr_AcquireSerialEventQueue(&gPadMgr); OSPfsState state; - s32 error = osPfsFileState(&sMempakPfsHandle, sMempakFiles[idx - 'A'], &state); + s32 error = osPfsFileState(&sMempakPfsHandle, sMempakFiles[MEMPAK_LETTER_TO_INDEX(letter)], &state); s32 pad; - PadMgr_ReleaseSerialEventQueue(&gPadMgr, mq); + PadMgr_ReleaseSerialEventQueue(&gPadMgr, serialEventQueue); if (error != 0) { return 0; diff --git a/src/code/padmgr.c b/src/code/padmgr.c index 6f882477d12..40b08150dc8 100644 --- a/src/code/padmgr.c +++ b/src/code/padmgr.c @@ -31,13 +31,13 @@ #include "global.h" #include "terminal.h" -#define PADMGR_LOG(controllerNo, msg) \ - if (1) { \ - osSyncPrintf(VT_FGCOL(YELLOW)); \ - /* padmgr: Controller %d: %s */ \ - osSyncPrintf("padmgr: %dコン: %s\n", (controllerNo) + 1, (msg)); \ - osSyncPrintf(VT_RST); \ - } \ +#define PADMGR_LOG(controllerNum, msg) \ + if (1) { \ + osSyncPrintf(VT_FGCOL(YELLOW)); \ + /* padmgr: Controller %d: %s */ \ + osSyncPrintf("padmgr: %dコン: %s\n", (controllerNum) + 1, (msg)); \ + osSyncPrintf(VT_RST); \ + } \ (void)0 #define LOG_SEVERITY_NOLOG 0 From cc2409606eb8b7fbbaa57c071a7d7039fb265f94 Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Wed, 16 Nov 2022 19:23:27 +0100 Subject: [PATCH 3/5] Update item names (#1376) * Reevaluate item names (`ItemID` enum) * format * Carry `ItemID` changes to `ExchangeItemID` * format * Add item enum comments on items to slots array * Rename slots according to current item enum names * Add item enum comments on items to PlayerItemAction array * Rename PlayerItemAction enum names according to current item enum names * gi, gid names... * `QUEST_GERUDO_CARD` -> `QUEST_GERUDOS_CARD` * `DUNGEON_KEY_BOSS` -> `DUNGEON_BOSS_KEY` * `UPG_` sticks/nuts : +deku * Fixed remove array enum comments in `sDebugSaveEquips` * "magic beans" -> "magic bean" (singular) * cucco -> chicken (the one from weird egg, "alarm clock bird" from literal japanese translation) --- include/macros.h | 10 +- include/z64item.h | 304 ++++++------ include/z64player.h | 22 +- src/code/code_80097A00.c | 128 +++--- src/code/z_elf_message.c | 2 +- src/code/z_en_item00.c | 36 +- src/code/z_game_over.c | 4 +- src/code/z_parameter.c | 360 +++++++-------- src/code/z_player_lib.c | 28 +- src/code/z_sram.c | 76 +-- src/elf_message/elf_message_field.c | 2 +- .../actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c | 2 +- .../actors/ovl_Door_Shutter/z_door_shutter.c | 2 +- src/overlays/actors/ovl_En_Butte/z_en_butte.c | 5 +- .../actors/ovl_En_Dekubaba/z_en_dekubaba.c | 2 +- src/overlays/actors/ovl_En_Dns/z_en_dns.c | 38 +- .../actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c | 14 +- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 4 +- src/overlays/actors/ovl_En_Du/z_en_du.c | 2 +- src/overlays/actors/ovl_En_Gb/z_en_gb.c | 14 +- src/overlays/actors/ovl_En_Ge1/z_en_ge1.c | 2 +- src/overlays/actors/ovl_En_Ge2/z_en_ge2.c | 4 +- src/overlays/actors/ovl_En_Ge3/z_en_ge3.c | 4 +- src/overlays/actors/ovl_En_GirlA/z_en_girla.c | 118 ++--- src/overlays/actors/ovl_En_Go/z_en_go.c | 22 +- src/overlays/actors/ovl_En_Go2/z_en_go2.c | 23 +- .../actors/ovl_En_Heishi2/z_en_heishi2.c | 4 +- src/overlays/actors/ovl_En_Hy/z_en_hy.c | 24 +- .../actors/ovl_En_Karebaba/z_en_karebaba.c | 2 +- src/overlays/actors/ovl_En_Ko/z_en_ko.c | 2 +- src/overlays/actors/ovl_En_Kz/z_en_kz.c | 12 +- src/overlays/actors/ovl_En_Mk/z_en_mk.c | 10 +- src/overlays/actors/ovl_En_Ms/z_en_ms.c | 4 +- .../actors/ovl_En_Niw_Lady/z_en_niw_lady.c | 4 +- .../actors/ovl_En_Po_Field/z_en_po_field.c | 4 +- src/overlays/actors/ovl_En_Poh/z_en_poh.c | 2 +- src/overlays/actors/ovl_En_Skj/z_en_skj.c | 2 +- src/overlays/actors/ovl_En_Ta/z_en_ta.c | 4 +- src/overlays/actors/ovl_En_Toryo/z_en_toryo.c | 4 +- src/overlays/actors/ovl_En_Zl1/z_en_zl1.c | 4 +- src/overlays/actors/ovl_En_Zl4/z_en_zl4.c | 4 +- src/overlays/actors/ovl_Fishing/z_fishing.c | 4 +- .../ovl_Item_Etcetera/z_item_etcetera.c | 56 +-- .../actors/ovl_Item_Ocarina/z_item_ocarina.c | 4 +- src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c | 4 +- .../actors/ovl_Obj_Syokudai/z_obj_syokudai.c | 2 +- .../actors/ovl_player_actor/z_player.c | 433 +++++++++--------- .../ovl_file_choose/z_file_choose.c | 4 +- .../misc/ovl_kaleido_scope/z_kaleido_debug.c | 35 +- .../ovl_kaleido_scope/z_kaleido_equipment.c | 19 +- .../misc/ovl_kaleido_scope/z_kaleido_item.c | 90 ++-- .../ovl_kaleido_scope/z_kaleido_map_PAL.c | 6 +- .../ovl_kaleido_scope/z_kaleido_scope_PAL.c | 14 +- tools/disasm_elf_msg.py | 106 ++--- 54 files changed, 1049 insertions(+), 1042 deletions(-) diff --git a/include/macros.h b/include/macros.h index 7d000af07ce..6aa5745e5ea 100644 --- a/include/macros.h +++ b/include/macros.h @@ -49,7 +49,7 @@ #define SLOT(item) gItemSlots[item] #define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)] #define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)] -#define BEANS_BOUGHT AMMO(ITEM_BEAN + 1) +#define BEANS_BOUGHT AMMO(ITEM_MAGIC_BEAN + 1) #define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.inventory.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) #define CUR_EQUIP_VALUE(equip) ((s32)(gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) @@ -92,10 +92,10 @@ #define SET_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] |= (1 << ((flag) & 0xF))) #define CLEAR_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] &= ~(1 << ((flag) & 0xF))) -#define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \ - ? ITEM_NONE \ - : (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) \ - ? ITEM_SWORD_BGS \ +#define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \ + ? ITEM_NONE \ + : (gSaveContext.equips.buttonItems[0] == ITEM_GIANTS_KNIFE) \ + ? ITEM_SWORD_BIGGORON \ : gSaveContext.equips.buttonItems[0]) #define C_BTN_ITEM(button) ((gSaveContext.buttonStatus[(button) + 1] != BTN_DISABLED) \ diff --git a/include/z64item.h b/include/z64item.h index 4e7c11dea07..264a63d6ec9 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -77,8 +77,8 @@ typedef enum { /* 0x03 */ UPG_SCALE, /* 0x04 */ UPG_WALLET, /* 0x05 */ UPG_BULLET_BAG, - /* 0x06 */ UPG_STICKS, - /* 0x07 */ UPG_NUTS, + /* 0x06 */ UPG_DEKU_STICKS, + /* 0x07 */ UPG_DEKU_NUTS, /* 0x08 */ UPG_MAX } UpgradeType; @@ -105,20 +105,20 @@ typedef enum { /* 0x13 */ QUEST_GORON_RUBY, /* 0x14 */ QUEST_ZORA_SAPPHIRE, /* 0x15 */ QUEST_STONE_OF_AGONY, - /* 0x16 */ QUEST_GERUDO_CARD, + /* 0x16 */ QUEST_GERUDOS_CARD, /* 0x17 */ QUEST_SKULL_TOKEN, /* 0x1C */ QUEST_HEART_PIECE_COUNT = 0x1C } QuestItem; typedef enum { - /* 0x00 */ DUNGEON_KEY_BOSS, + /* 0x00 */ DUNGEON_BOSS_KEY, /* 0x01 */ DUNGEON_COMPASS, /* 0x02 */ DUNGEON_MAP } DungeonItem; typedef enum { - /* 0x00 */ SLOT_STICK, - /* 0x01 */ SLOT_NUT, + /* 0x00 */ SLOT_DEKU_STICK, + /* 0x01 */ SLOT_DEKU_NUT, /* 0x02 */ SLOT_BOMB, /* 0x03 */ SLOT_BOW, /* 0x04 */ SLOT_ARROW_FIRE, @@ -130,8 +130,8 @@ typedef enum { /* 0x0A */ SLOT_ARROW_ICE, /* 0x0B */ SLOT_FARORES_WIND, /* 0x0C */ SLOT_BOOMERANG, - /* 0x0D */ SLOT_LENS, - /* 0x0E */ SLOT_BEAN, + /* 0x0D */ SLOT_LENS_OF_TRUTH, + /* 0x0E */ SLOT_MAGIC_BEAN, /* 0x0F */ SLOT_HAMMER, /* 0x10 */ SLOT_ARROW_LIGHT, /* 0x11 */ SLOT_NAYRUS_LOVE, @@ -145,46 +145,46 @@ typedef enum { } InventorySlot; typedef enum { - /* 0x00 */ ITEM_STICK, - /* 0x01 */ ITEM_NUT, + /* 0x00 */ ITEM_DEKU_STICK, + /* 0x01 */ ITEM_DEKU_NUT, /* 0x02 */ ITEM_BOMB, /* 0x03 */ ITEM_BOW, /* 0x04 */ ITEM_ARROW_FIRE, /* 0x05 */ ITEM_DINS_FIRE, /* 0x06 */ ITEM_SLINGSHOT, /* 0x07 */ ITEM_OCARINA_FAIRY, - /* 0x08 */ ITEM_OCARINA_TIME, + /* 0x08 */ ITEM_OCARINA_OF_TIME, /* 0x09 */ ITEM_BOMBCHU, /* 0x0A */ ITEM_HOOKSHOT, /* 0x0B */ ITEM_LONGSHOT, /* 0x0C */ ITEM_ARROW_ICE, /* 0x0D */ ITEM_FARORES_WIND, /* 0x0E */ ITEM_BOOMERANG, - /* 0x0F */ ITEM_LENS, - /* 0x10 */ ITEM_BEAN, + /* 0x0F */ ITEM_LENS_OF_TRUTH, + /* 0x10 */ ITEM_MAGIC_BEAN, /* 0x11 */ ITEM_HAMMER, /* 0x12 */ ITEM_ARROW_LIGHT, /* 0x13 */ ITEM_NAYRUS_LOVE, - /* 0x14 */ ITEM_BOTTLE, - /* 0x15 */ ITEM_POTION_RED, - /* 0x16 */ ITEM_POTION_GREEN, - /* 0x17 */ ITEM_POTION_BLUE, - /* 0x18 */ ITEM_FAIRY, - /* 0x19 */ ITEM_FISH, - /* 0x1A */ ITEM_MILK_BOTTLE, - /* 0x1B */ ITEM_LETTER_RUTO, - /* 0x1C */ ITEM_BLUE_FIRE, - /* 0x1D */ ITEM_BUG, - /* 0x1E */ ITEM_BIG_POE, - /* 0x1F */ ITEM_MILK_HALF, - /* 0x20 */ ITEM_POE, + /* 0x14 */ ITEM_BOTTLE_EMPTY, + /* 0x15 */ ITEM_BOTTLE_POTION_RED, + /* 0x16 */ ITEM_BOTTLE_POTION_GREEN, + /* 0x17 */ ITEM_BOTTLE_POTION_BLUE, + /* 0x18 */ ITEM_BOTTLE_FAIRY, + /* 0x19 */ ITEM_BOTTLE_FISH, + /* 0x1A */ ITEM_BOTTLE_MILK_FULL, + /* 0x1B */ ITEM_BOTTLE_RUTOS_LETTER, + /* 0x1C */ ITEM_BOTTLE_BLUE_FIRE, + /* 0x1D */ ITEM_BOTTLE_BUG, + /* 0x1E */ ITEM_BOTTLE_BIG_POE, + /* 0x1F */ ITEM_BOTTLE_MILK_HALF, + /* 0x20 */ ITEM_BOTTLE_POE, /* 0x21 */ ITEM_WEIRD_EGG, /* 0x22 */ ITEM_CHICKEN, - /* 0x23 */ ITEM_LETTER_ZELDA, + /* 0x23 */ ITEM_ZELDAS_LETTER, /* 0x24 */ ITEM_MASK_KEATON, /* 0x25 */ ITEM_MASK_SKULL, /* 0x26 */ ITEM_MASK_SPOOKY, - /* 0x27 */ ITEM_MASK_BUNNY, + /* 0x27 */ ITEM_MASK_BUNNY_HOOD, /* 0x28 */ ITEM_MASK_GORON, /* 0x29 */ ITEM_MASK_ZORA, /* 0x2A */ ITEM_MASK_GERUDO, @@ -195,18 +195,18 @@ typedef enum { /* 0x2F */ ITEM_COJIRO, /* 0x30 */ ITEM_ODD_MUSHROOM, /* 0x31 */ ITEM_ODD_POTION, - /* 0x32 */ ITEM_SAW, - /* 0x33 */ ITEM_SWORD_BROKEN, + /* 0x32 */ ITEM_POACHERS_SAW, + /* 0x33 */ ITEM_BROKEN_GORONS_SWORD, /* 0x34 */ ITEM_PRESCRIPTION, - /* 0x35 */ ITEM_FROG, - /* 0x36 */ ITEM_EYEDROPS, + /* 0x35 */ ITEM_EYEBALL_FROG, + /* 0x36 */ ITEM_EYE_DROPS, /* 0x37 */ ITEM_CLAIM_CHECK, - /* 0x38 */ ITEM_BOW_ARROW_FIRE, - /* 0x39 */ ITEM_BOW_ARROW_ICE, - /* 0x3A */ ITEM_BOW_ARROW_LIGHT, + /* 0x38 */ ITEM_BOW_FIRE, + /* 0x39 */ ITEM_BOW_ICE, + /* 0x3A */ ITEM_BOW_LIGHT, /* 0x3B */ ITEM_SWORD_KOKIRI, /* 0x3C */ ITEM_SWORD_MASTER, - /* 0x3D */ ITEM_SWORD_BGS, + /* 0x3D */ ITEM_SWORD_BIGGORON, /* 0x3E */ ITEM_SHIELD_DEKU, /* 0x3F */ ITEM_SHIELD_HYLIAN, /* 0x40 */ ITEM_SHIELD_MIRROR, @@ -225,15 +225,15 @@ typedef enum { /* 0x4D */ ITEM_BOMB_BAG_20, /* 0x4E */ ITEM_BOMB_BAG_30, /* 0x4F */ ITEM_BOMB_BAG_40, - /* 0x50 */ ITEM_BRACELET, - /* 0x51 */ ITEM_GAUNTLETS_SILVER, - /* 0x52 */ ITEM_GAUNTLETS_GOLD, + /* 0x50 */ ITEM_STRENGTH_GORONS_BRACELET, + /* 0x51 */ ITEM_STRENGTH_SILVER_GAUNTLETS, + /* 0x52 */ ITEM_STRENGTH_GOLD_GAUNTLETS, /* 0x53 */ ITEM_SCALE_SILVER, /* 0x54 */ ITEM_SCALE_GOLDEN, - /* 0x55 */ ITEM_SWORD_KNIFE, - /* 0x56 */ ITEM_WALLET_ADULT, - /* 0x57 */ ITEM_WALLET_GIANT, - /* 0x58 */ ITEM_SEEDS, + /* 0x55 */ ITEM_GIANTS_KNIFE, + /* 0x56 */ ITEM_ADULTS_WALLET, + /* 0x57 */ ITEM_GIANTS_WALLET, + /* 0x58 */ ITEM_DEKU_SEEDS, /* 0x59 */ ITEM_FISHING_POLE, /* 0x5A */ ITEM_SONG_MINUET, /* 0x5B */ ITEM_SONG_BOLERO, @@ -257,16 +257,16 @@ typedef enum { /* 0x6D */ ITEM_GORON_RUBY, /* 0x6E */ ITEM_ZORA_SAPPHIRE, /* 0x6F */ ITEM_STONE_OF_AGONY, - /* 0x70 */ ITEM_GERUDO_CARD, + /* 0x70 */ ITEM_GERUDOS_CARD, /* 0x71 */ ITEM_SKULL_TOKEN, /* 0x72 */ ITEM_HEART_CONTAINER, /* 0x73 */ ITEM_HEART_PIECE, - /* 0x74 */ ITEM_KEY_BOSS, - /* 0x75 */ ITEM_COMPASS, + /* 0x74 */ ITEM_DUNGEON_BOSS_KEY, + /* 0x75 */ ITEM_DUNGEON_COMPASS, /* 0x76 */ ITEM_DUNGEON_MAP, - /* 0x77 */ ITEM_KEY_SMALL, - /* 0x78 */ ITEM_MAGIC_SMALL, - /* 0x79 */ ITEM_MAGIC_LARGE, + /* 0x77 */ ITEM_SMALL_KEY, + /* 0x78 */ ITEM_MAGIC_JAR_SMALL, + /* 0x79 */ ITEM_MAGIC_JAR_BIG, /* 0x7A */ ITEM_HEART_PIECE_2, /* 0x7B */ ITEM_INVALID_1, /* 0x7C */ ITEM_INVALID_2, @@ -283,24 +283,24 @@ typedef enum { /* 0x87 */ ITEM_RUPEE_PURPLE, /* 0x88 */ ITEM_RUPEE_GOLD, /* 0x89 */ ITEM_INVALID_8, - /* 0x8A */ ITEM_STICKS_5, - /* 0x8B */ ITEM_STICKS_10, - /* 0x8C */ ITEM_NUTS_5, - /* 0x8D */ ITEM_NUTS_10, + /* 0x8A */ ITEM_DEKU_STICKS_5, + /* 0x8B */ ITEM_DEKU_STICKS_10, + /* 0x8C */ ITEM_DEKU_NUTS_5, + /* 0x8D */ ITEM_DEKU_NUTS_10, /* 0x8E */ ITEM_BOMBS_5, /* 0x8F */ ITEM_BOMBS_10, /* 0x90 */ ITEM_BOMBS_20, /* 0x91 */ ITEM_BOMBS_30, - /* 0x92 */ ITEM_ARROWS_SMALL, - /* 0x93 */ ITEM_ARROWS_MEDIUM, - /* 0x94 */ ITEM_ARROWS_LARGE, - /* 0x95 */ ITEM_SEEDS_30, + /* 0x92 */ ITEM_ARROWS_5, + /* 0x93 */ ITEM_ARROWS_10, + /* 0x94 */ ITEM_ARROWS_30, + /* 0x95 */ ITEM_DEKU_SEEDS_30, /* 0x96 */ ITEM_BOMBCHUS_5, /* 0x97 */ ITEM_BOMBCHUS_20, - /* 0x98 */ ITEM_STICK_UPGRADE_20, - /* 0x99 */ ITEM_STICK_UPGRADE_30, - /* 0x9A */ ITEM_NUT_UPGRADE_30, - /* 0x9B */ ITEM_NUT_UPGRADE_40, + /* 0x98 */ ITEM_DEKU_STICK_UPGRADE_20, + /* 0x99 */ ITEM_DEKU_STICK_UPGRADE_30, + /* 0x9A */ ITEM_DEKU_NUT_UPGRADE_30, + /* 0x9B */ ITEM_DEKU_NUT_UPGRADE_40, /* 0xFC */ ITEM_LAST_USED = 0xFC, /* 0xFE */ ITEM_NONE_FE = 0xFE, /* 0xFF */ ITEM_NONE = 0xFF @@ -313,42 +313,42 @@ typedef enum { typedef enum { /* 0x00 */ GI_NONE, /* 0x01 */ GI_BOMBS_5, - /* 0x02 */ GI_NUTS_5, + /* 0x02 */ GI_DEKU_NUTS_5, /* 0x03 */ GI_BOMBCHUS_10, /* 0x04 */ GI_BOW, /* 0x05 */ GI_SLINGSHOT, /* 0x06 */ GI_BOOMERANG, - /* 0x07 */ GI_STICKS_1, + /* 0x07 */ GI_DEKU_STICKS_1, /* 0x08 */ GI_HOOKSHOT, /* 0x09 */ GI_LONGSHOT, - /* 0x0A */ GI_LENS, - /* 0x0B */ GI_LETTER_ZELDA, - /* 0x0C */ GI_OCARINA_OOT, + /* 0x0A */ GI_LENS_OF_TRUTH, + /* 0x0B */ GI_ZELDAS_LETTER, + /* 0x0C */ GI_OCARINA_OF_TIME, /* 0x0D */ GI_HAMMER, /* 0x0E */ GI_COJIRO, - /* 0x0F */ GI_BOTTLE, - /* 0x10 */ GI_POTION_RED, - /* 0x11 */ GI_POTION_GREEN, - /* 0x12 */ GI_POTION_BLUE, - /* 0x13 */ GI_FAIRY, - /* 0x14 */ GI_MILK_BOTTLE, - /* 0x15 */ GI_LETTER_RUTO, - /* 0x16 */ GI_BEAN, + /* 0x0F */ GI_BOTTLE_EMPTY, + /* 0x10 */ GI_BOTTLE_POTION_RED, + /* 0x11 */ GI_BOTTLE_POTION_GREEN, + /* 0x12 */ GI_BOTTLE_POTION_BLUE, + /* 0x13 */ GI_BOTTLE_FAIRY, + /* 0x14 */ GI_BOTTLE_MILK_FULL, + /* 0x15 */ GI_BOTTLE_RUTOS_LETTER, + /* 0x16 */ GI_MAGIC_BEAN, /* 0x17 */ GI_MASK_SKULL, /* 0x18 */ GI_MASK_SPOOKY, /* 0x19 */ GI_CHICKEN, // uses bean message ID /* 0x1A */ GI_MASK_KEATON, - /* 0x1B */ GI_MASK_BUNNY, + /* 0x1B */ GI_MASK_BUNNY_HOOD, /* 0x1C */ GI_MASK_TRUTH, /* 0x1D */ GI_POCKET_EGG, /* 0x1E */ GI_POCKET_CUCCO, // uses bean message ID /* 0x1F */ GI_ODD_MUSHROOM, /* 0x20 */ GI_ODD_POTION, - /* 0x21 */ GI_SAW, - /* 0x22 */ GI_SWORD_BROKEN, + /* 0x21 */ GI_POACHERS_SAW, + /* 0x22 */ GI_BROKEN_GORONS_SWORD, /* 0x23 */ GI_PRESCRIPTION, - /* 0x24 */ GI_FROG, - /* 0x25 */ GI_EYEDROPS, + /* 0x24 */ GI_EYEBALL_FROG, + /* 0x25 */ GI_EYE_DROPS, /* 0x26 */ GI_CLAIM_CHECK, /* 0x27 */ GI_SWORD_KOKIRI, /* 0x28 */ GI_SWORD_KNIFE, @@ -364,29 +364,29 @@ typedef enum { /* 0x32 */ GI_BOMB_BAG_20, /* 0x33 */ GI_BOMB_BAG_30, /* 0x34 */ GI_BOMB_BAG_40, - /* 0x35 */ GI_GAUNTLETS_SILVER, - /* 0x36 */ GI_GAUNTLETS_GOLD, + /* 0x35 */ GI_SILVER_GAUNTLETS, + /* 0x36 */ GI_GOLD_GAUNTLETS, /* 0x37 */ GI_SCALE_SILVER, - /* 0x38 */ GI_SCALE_GOLD, + /* 0x38 */ GI_SCALE_GOLDEN, /* 0x39 */ GI_STONE_OF_AGONY, - /* 0x3A */ GI_GERUDO_CARD, + /* 0x3A */ GI_GERUDOS_CARD, /* 0x3B */ GI_OCARINA_FAIRY, // uses Ocarina of Time message ID - /* 0x3C */ GI_SEEDS_5, + /* 0x3C */ GI_DEKU_SEEDS_5, /* 0x3D */ GI_HEART_CONTAINER, /* 0x3E */ GI_HEART_PIECE, - /* 0x3F */ GI_KEY_BOSS, + /* 0x3F */ GI_BOSS_KEY, /* 0x40 */ GI_COMPASS, - /* 0x41 */ GI_MAP, - /* 0x42 */ GI_KEY_SMALL, - /* 0x43 */ GI_MAGIC_SMALL, // or blue rupee if not from a drop - /* 0x44 */ GI_MAGIC_LARGE, // or blue rupee if not from a drop + /* 0x41 */ GI_DUNGEON_MAP, + /* 0x42 */ GI_SMALL_KEY, + /* 0x43 */ GI_MAGIC_JAR_SMALL, // or blue rupee if not from a drop + /* 0x44 */ GI_MAGIC_JAR_LARGE, // or blue rupee if not from a drop /* 0x45 */ GI_WALLET_ADULT, /* 0x46 */ GI_WALLET_GIANT, /* 0x47 */ GI_WEIRD_EGG, /* 0x48 */ GI_RECOVERY_HEART, - /* 0x49 */ GI_ARROWS_SMALL, // amount changes depending on context - /* 0x4A */ GI_ARROWS_MEDIUM, // amount changes depending on context - /* 0x4B */ GI_ARROWS_LARGE, // amount changes depending on context + /* 0x49 */ GI_ARROWS_5, // amount changes depending on context + /* 0x4A */ GI_ARROWS_10, // amount changes depending on context + /* 0x4B */ GI_ARROWS_30, // amount changes depending on context /* 0x4C */ GI_RUPEE_GREEN, /* 0x4D */ GI_RUPEE_BLUE, /* 0x4E */ GI_RUPEE_RED, @@ -395,10 +395,10 @@ typedef enum { /* 0x51 */ GI_MASK_GORON, /* 0x52 */ GI_MASK_ZORA, /* 0x53 */ GI_MASK_GERUDO, - /* 0x54 */ GI_BRACELET, + /* 0x54 */ GI_GORONS_BRACELET, /* 0x55 */ GI_RUPEE_PURPLE, /* 0x56 */ GI_RUPEE_GOLD, - /* 0x57 */ GI_SWORD_BGS, + /* 0x57 */ GI_SWORD_BIGGORON, /* 0x58 */ GI_ARROW_FIRE, /* 0x59 */ GI_ARROW_ICE, /* 0x5A */ GI_ARROW_LIGHT, @@ -408,32 +408,32 @@ typedef enum { /* 0x5E */ GI_NAYRUS_LOVE, /* 0x5F */ GI_BULLET_BAG_30, /* 0x60 */ GI_BULLET_BAG_40, - /* 0x61 */ GI_STICKS_5, - /* 0x62 */ GI_STICKS_10, - /* 0x63 */ GI_NUTS_5_2, - /* 0x64 */ GI_NUTS_10, + /* 0x61 */ GI_DEKU_STICKS_5, + /* 0x62 */ GI_DEKU_STICKS_10, + /* 0x63 */ GI_DEKU_NUTS_5_2, + /* 0x64 */ GI_DEKU_NUTS_10, /* 0x65 */ GI_BOMBS_1, /* 0x66 */ GI_BOMBS_10, /* 0x67 */ GI_BOMBS_20, /* 0x68 */ GI_BOMBS_30, - /* 0x69 */ GI_SEEDS_30, + /* 0x69 */ GI_DEKU_SEEDS_30, /* 0x6A */ GI_BOMBCHUS_5, /* 0x6B */ GI_BOMBCHUS_20, - /* 0x6C */ GI_FISH, - /* 0x6D */ GI_BUGS, - /* 0x6E */ GI_BLUE_FIRE, - /* 0x6F */ GI_POE, - /* 0x70 */ GI_BIG_POE, + /* 0x6C */ GI_BOTTLE_FISH, + /* 0x6D */ GI_BOTTLE_BUGS, + /* 0x6E */ GI_BOTTLE_BLUE_FIRE, + /* 0x6F */ GI_BOTTLE_POE, + /* 0x70 */ GI_BOTTLE_BIG_POE, /* 0x71 */ GI_DOOR_KEY, // specific to chest minigame /* 0x72 */ GI_RUPEE_GREEN_LOSE, // specific to chest minigame /* 0x73 */ GI_RUPEE_BLUE_LOSE, // specific to chest minigame /* 0x74 */ GI_RUPEE_RED_LOSE, // specific to chest minigame /* 0x75 */ GI_RUPEE_PURPLE_LOSE, // specific to chest minigame /* 0x76 */ GI_HEART_PIECE_WIN, // specific to chest minigame - /* 0x77 */ GI_STICK_UPGRADE_20, - /* 0x78 */ GI_STICK_UPGRADE_30, - /* 0x79 */ GI_NUT_UPGRADE_30, - /* 0x7A */ GI_NUT_UPGRADE_40, + /* 0x77 */ GI_DEKU_STICK_UPGRADE_20, + /* 0x78 */ GI_DEKU_STICK_UPGRADE_30, + /* 0x79 */ GI_DEKU_NUT_UPGRADE_30, + /* 0x7A */ GI_DEKU_NUT_UPGRADE_40, /* 0x7B */ GI_BULLET_BAG_50, /* 0x7C */ GI_ICE_TRAP, // freezes link when opened from a chest /* 0x7D */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg) @@ -441,8 +441,8 @@ typedef enum { } GetItemID; typedef enum { - /* 0x00 */ GID_BOTTLE, - /* 0x01 */ GID_KEY_SMALL, + /* 0x00 */ GID_BOTTLE_EMPTY, + /* 0x01 */ GID_SMALL_KEY, /* 0x02 */ GID_SONG_MINUET, /* 0x03 */ GID_SONG_BOLERO, /* 0x04 */ GID_SONG_SERENADE, @@ -450,7 +450,7 @@ typedef enum { /* 0x06 */ GID_SONG_NOCTURNE, /* 0x07 */ GID_SONG_PRELUDE, /* 0x08 */ GID_RECOVERY_HEART, - /* 0x09 */ GID_KEY_BOSS, + /* 0x09 */ GID_BOSS_KEY, /* 0x0A */ GID_COMPASS, /* 0x0B */ GID_MEDALLION_FOREST, /* 0x0C */ GID_MEDALLION_FIRE, @@ -458,7 +458,7 @@ typedef enum { /* 0x0E */ GID_MEDALLION_SPIRIT, /* 0x0F */ GID_MEDALLION_SHADOW, /* 0x10 */ GID_MEDALLION_LIGHT, - /* 0x11 */ GID_NUTS, + /* 0x11 */ GID_DEKU_NUTS, /* 0x12 */ GID_HEART_CONTAINER, /* 0x13 */ GID_HEART_PIECE, /* 0x14 */ GID_QUIVER_30, @@ -467,19 +467,19 @@ typedef enum { /* 0x17 */ GID_BOMB_BAG_20, /* 0x18 */ GID_BOMB_BAG_30, /* 0x19 */ GID_BOMB_BAG_40, - /* 0x1A */ GID_STICK, + /* 0x1A */ GID_DEKU_STICK, /* 0x1B */ GID_DUNGEON_MAP, /* 0x1C */ GID_SHIELD_DEKU, - /* 0x1D */ GID_MAGIC_SMALL, - /* 0x1E */ GID_MAGIC_LARGE, + /* 0x1D */ GID_MAGIC_JAR_SMALL, + /* 0x1E */ GID_MAGIC_JAR_LARGE, /* 0x1F */ GID_BOMB, /* 0x20 */ GID_STONE_OF_AGONY, /* 0x21 */ GID_WALLET_ADULT, /* 0x22 */ GID_WALLET_GIANT, - /* 0x23 */ GID_GERUDO_CARD, - /* 0x24 */ GID_ARROWS_SMALL, - /* 0x25 */ GID_ARROWS_MEDIUM, - /* 0x26 */ GID_ARROWS_LARGE, + /* 0x23 */ GID_GERUDOS_CARD, + /* 0x24 */ GID_ARROWS_5, + /* 0x25 */ GID_ARROWS_10, + /* 0x26 */ GID_ARROWS_30, /* 0x27 */ GID_BOMBCHU, /* 0x28 */ GID_EGG, /* 0x29 */ GID_SCALE_SILVER, @@ -487,50 +487,50 @@ typedef enum { /* 0x2B */ GID_SHIELD_HYLIAN, /* 0x2C */ GID_HOOKSHOT, /* 0x2D */ GID_LONGSHOT, - /* 0x2E */ GID_OCARINA_TIME, - /* 0x2F */ GID_MILK, + /* 0x2E */ GID_OCARINA_OF_TIME, + /* 0x2F */ GID_BOTTLE_MILK_FULL, /* 0x30 */ GID_MASK_KEATON, /* 0x31 */ GID_MASK_SPOOKY, /* 0x32 */ GID_SLINGSHOT, /* 0x33 */ GID_BOOMERANG, /* 0x34 */ GID_BOW, - /* 0x35 */ GID_LENS, - /* 0x36 */ GID_POTION_GREEN, - /* 0x37 */ GID_POTION_RED, - /* 0x38 */ GID_POTION_BLUE, + /* 0x35 */ GID_LENS_OF_TRUTH, + /* 0x36 */ GID_BOTTLE_POTION_GREEN, + /* 0x37 */ GID_BOTTLE_POTION_RED, + /* 0x38 */ GID_BOTTLE_POTION_BLUE, /* 0x39 */ GID_SHIELD_MIRROR, - /* 0x3A */ GID_LETTER_ZELDA, + /* 0x3A */ GID_ZELDAS_LETTER, /* 0x3B */ GID_TUNIC_GORON, /* 0x3C */ GID_TUNIC_ZORA, - /* 0x3D */ GID_BEAN, + /* 0x3D */ GID_MAGIC_BEAN, /* 0x3E */ GID_FISH, - /* 0x3F */ GID_SAW, + /* 0x3F */ GID_POACHERS_SAW, /* 0x40 */ GID_HAMMER, /* 0x41 */ GID_GRASS, - /* 0x42 */ GID_SWORD_BGS, - /* 0x43 */ GID_CHICKEN, - /* 0x44 */ GID_LETTER_RUTO, + /* 0x42 */ GID_SWORD_BIGGORON, + /* 0x43 */ GID_CUCCO, + /* 0x44 */ GID_BOTTLE_RUTOS_LETTER, /* 0x45 */ GID_OCARINA_FAIRY, /* 0x46 */ GID_BOOTS_IRON, - /* 0x47 */ GID_SEEDS, - /* 0x48 */ GID_GAUNTLETS_SILVER, - /* 0x49 */ GID_GAUNTLETS_GOLD, + /* 0x47 */ GID_DEKU_SEEDS, + /* 0x48 */ GID_SILVER_GAUNTLETS, + /* 0x49 */ GID_GOLD_GAUNTLETS, /* 0x4A */ GID_NCOIN_YELLOW, /* 0x4B */ GID_NCOIN_RED, /* 0x4C */ GID_NCOIN_GREEN, /* 0x4D */ GID_NCOIN_BLUE, /* 0x4E */ GID_MASK_SKULL, - /* 0x4F */ GID_MASK_BUNNY, + /* 0x4F */ GID_MASK_BUNNY_HOOD, /* 0x50 */ GID_MASK_TRUTH, - /* 0x51 */ GID_EYEDROPS, + /* 0x51 */ GID_EYE_DROPS, /* 0x52 */ GID_ODD_POTION, /* 0x53 */ GID_ODD_MUSHROOM, /* 0x54 */ GID_CLAIM_CHECK, - /* 0x55 */ GID_SWORD_BROKEN, + /* 0x55 */ GID_BROKEN_GORONS_SWORD, /* 0x56 */ GID_PRESCRIPTION, - /* 0x57 */ GID_BRACELET, + /* 0x57 */ GID_GORONS_BRACELET, /* 0x58 */ GID_SOLDOUT, - /* 0x59 */ GID_FROG, + /* 0x59 */ GID_EYEBALL_FROG, /* 0x5A */ GID_MASK_GORON, /* 0x5B */ GID_MASK_ZORA, /* 0x5C */ GID_MASK_GERUDO, @@ -563,35 +563,35 @@ typedef enum { typedef enum { /* 0x00 */ EXCH_ITEM_NONE, - /* 0x01 */ EXCH_ITEM_LETTER_ZELDA, + /* 0x01 */ EXCH_ITEM_ZELDAS_LETTER, /* 0x02 */ EXCH_ITEM_WEIRD_EGG, /* 0x03 */ EXCH_ITEM_CHICKEN, - /* 0x04 */ EXCH_ITEM_BEAN, + /* 0x04 */ EXCH_ITEM_MAGIC_BEAN, /* 0x05 */ EXCH_ITEM_POCKET_EGG, /* 0x06 */ EXCH_ITEM_POCKET_CUCCO, /* 0x07 */ EXCH_ITEM_COJIRO, /* 0x08 */ EXCH_ITEM_ODD_MUSHROOM, /* 0x09 */ EXCH_ITEM_ODD_POTION, - /* 0x0A */ EXCH_ITEM_SAW, - /* 0x0B */ EXCH_ITEM_SWORD_BROKEN, + /* 0x0A */ EXCH_ITEM_POACHERS_SAW, + /* 0x0B */ EXCH_ITEM_BROKEN_GORONS_SWORD, /* 0x0C */ EXCH_ITEM_PRESCRIPTION, - /* 0x0D */ EXCH_ITEM_FROG, - /* 0x0E */ EXCH_ITEM_EYEDROPS, + /* 0x0D */ EXCH_ITEM_EYEBALL_FROG, + /* 0x0E */ EXCH_ITEM_EYE_DROPS, /* 0x0F */ EXCH_ITEM_CLAIM_CHECK, /* 0x10 */ EXCH_ITEM_MASK_SKULL, /* 0x11 */ EXCH_ITEM_MASK_SPOOKY, /* 0x12 */ EXCH_ITEM_MASK_KEATON, - /* 0x13 */ EXCH_ITEM_MASK_BUNNY, + /* 0x13 */ EXCH_ITEM_MASK_BUNNY_HOOD, /* 0x14 */ EXCH_ITEM_MASK_TRUTH, /* 0x15 */ EXCH_ITEM_MASK_GORON, /* 0x16 */ EXCH_ITEM_MASK_ZORA, /* 0x17 */ EXCH_ITEM_MASK_GERUDO, - /* 0x18 */ EXCH_ITEM_FISH, - /* 0x19 */ EXCH_ITEM_BLUE_FIRE, - /* 0x1A */ EXCH_ITEM_BUG, - /* 0x1B */ EXCH_ITEM_POE, - /* 0x1C */ EXCH_ITEM_BIG_POE, - /* 0x1D */ EXCH_ITEM_LETTER_RUTO, + /* 0x18 */ EXCH_ITEM_BOTTLE_FISH, + /* 0x19 */ EXCH_ITEM_BOTTLE_BLUE_FIRE, + /* 0x1A */ EXCH_ITEM_BOTTLE_BUG, + /* 0x1B */ EXCH_ITEM_BOTTLE_POE, + /* 0x1C */ EXCH_ITEM_BOTTLE_BIG_POE, + /* 0x1D */ EXCH_ITEM_BOTTLE_RUTOS_LETTER, /* 0x1E */ EXCH_ITEM_MAX } ExchangeItemID; diff --git a/include/z64player.h b/include/z64player.h index f5cf0c03ec2..2eda4d7e2f1 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -68,7 +68,7 @@ typedef enum { /* 0x03 */ PLAYER_IA_SWORD_MASTER, /* 0x04 */ PLAYER_IA_SWORD_KOKIRI, /* 0x05 */ PLAYER_IA_SWORD_BGS, - /* 0x06 */ PLAYER_IA_STICK, + /* 0x06 */ PLAYER_IA_DEKU_STICK, /* 0x07 */ PLAYER_IA_HAMMER, /* 0x08 */ PLAYER_IA_BOW, /* 0x09 */ PLAYER_IA_BOW_FIRE, @@ -89,33 +89,33 @@ typedef enum { /* 0x18 */ PLAYER_IA_FARORES_WIND, /* 0x19 */ PLAYER_IA_NAYRUS_LOVE, /* 0x1A */ PLAYER_IA_DINS_FIRE, - /* 0x1B */ PLAYER_IA_NUT, + /* 0x1B */ PLAYER_IA_DEKU_NUT, /* 0x1C */ PLAYER_IA_OCARINA_FAIRY, - /* 0x1D */ PLAYER_IA_OCARINA_TIME, + /* 0x1D */ PLAYER_IA_OCARINA_OF_TIME, /* 0x1E */ PLAYER_IA_BOTTLE, /* 0x1F */ PLAYER_IA_BOTTLE_FISH, /* 0x20 */ PLAYER_IA_BOTTLE_FIRE, /* 0x21 */ PLAYER_IA_BOTTLE_BUG, /* 0x22 */ PLAYER_IA_BOTTLE_POE, /* 0x23 */ PLAYER_IA_BOTTLE_BIG_POE, - /* 0x24 */ PLAYER_IA_BOTTLE_LETTER, + /* 0x24 */ PLAYER_IA_BOTTLE_RUTOS_LETTER, /* 0x25 */ PLAYER_IA_BOTTLE_POTION_RED, /* 0x26 */ PLAYER_IA_BOTTLE_POTION_BLUE, /* 0x27 */ PLAYER_IA_BOTTLE_POTION_GREEN, - /* 0x28 */ PLAYER_IA_BOTTLE_MILK, + /* 0x28 */ PLAYER_IA_BOTTLE_MILK_FULL, /* 0x29 */ PLAYER_IA_BOTTLE_MILK_HALF, /* 0x2A */ PLAYER_IA_BOTTLE_FAIRY, - /* 0x2B */ PLAYER_IA_LETTER_ZELDA, + /* 0x2B */ PLAYER_IA_ZELDAS_LETTER, /* 0x2C */ PLAYER_IA_WEIRD_EGG, /* 0x2D */ PLAYER_IA_CHICKEN, - /* 0x2E */ PLAYER_IA_BEAN, + /* 0x2E */ PLAYER_IA_MAGIC_BEAN, /* 0x2F */ PLAYER_IA_POCKET_EGG, /* 0x30 */ PLAYER_IA_POCKET_CUCCO, /* 0x31 */ PLAYER_IA_COJIRO, /* 0x32 */ PLAYER_IA_ODD_MUSHROOM, /* 0x33 */ PLAYER_IA_ODD_POTION, - /* 0x34 */ PLAYER_IA_SAW, - /* 0x35 */ PLAYER_IA_SWORD_BROKEN, + /* 0x34 */ PLAYER_IA_POACHERS_SAW, + /* 0x35 */ PLAYER_IA_BROKEN_GORONS_SWORD, /* 0x36 */ PLAYER_IA_PRESCRIPTION, /* 0x37 */ PLAYER_IA_FROG, /* 0x38 */ PLAYER_IA_EYEDROPS, @@ -123,12 +123,12 @@ typedef enum { /* 0x3A */ PLAYER_IA_MASK_KEATON, /* 0x3B */ PLAYER_IA_MASK_SKULL, /* 0x3C */ PLAYER_IA_MASK_SPOOKY, - /* 0x3D */ PLAYER_IA_MASK_BUNNY, + /* 0x3D */ PLAYER_IA_MASK_BUNNY_HOOD, /* 0x3E */ PLAYER_IA_MASK_GORON, /* 0x3F */ PLAYER_IA_MASK_ZORA, /* 0x40 */ PLAYER_IA_MASK_GERUDO, /* 0x41 */ PLAYER_IA_MASK_TRUTH, - /* 0x42 */ PLAYER_IA_LENS, + /* 0x42 */ PLAYER_IA_LENS_OF_TRUTH, /* 0x43 */ PLAYER_IA_MAX } PlayerItemAction; diff --git a/src/code/code_80097A00.c b/src/code/code_80097A00.c index 9b7e2cf99bf..8b9e76f1b6b 100644 --- a/src/code/code_80097A00.c +++ b/src/code/code_80097A00.c @@ -31,8 +31,8 @@ u32 gUpgradeMasks[UPG_MAX] = { 0x00000E00, // UPG_SCALE 0x00003000, // UPG_WALLET 0x0001C000, // UPG_BULLET_BAG - 0x000E0000, // UPG_STICKS - 0x00700000, // UPG_NUTS + 0x000E0000, // UPG_DEKU_STICKS + 0x00700000, // UPG_DEKU_NUTS }; u32 gUpgradeNegMasks[UPG_MAX] = { ~0x00000007, // UPG_QUIVER @@ -41,8 +41,8 @@ u32 gUpgradeNegMasks[UPG_MAX] = { ~0x00000E00, // UPG_SCALE ~0x00003000, // UPG_WALLET ~0x0001C000, // UPG_BULLET_BAG - ~0x000E0000, // UPG_STICKS - ~0x00700000, // UPG_NUTS + ~0x000E0000, // UPG_DEKU_STICKS + ~0x00700000, // UPG_DEKU_NUTS }; u8 gEquipShifts[EQUIP_TYPE_MAX] = { @@ -59,8 +59,8 @@ u8 gUpgradeShifts[UPG_MAX] = { 9, // UPG_SCALE 12, // UPG_WALLET 14, // UPG_BULLET_BAG - 17, // UPG_STICKS - 20, // UPG_NUTS + 17, // UPG_DEKU_STICKS + 20, // UPG_DEKU_NUTS }; u16 gUpgradeCapacities[UPG_MAX][4] = { @@ -70,8 +70,8 @@ u16 gUpgradeCapacities[UPG_MAX][4] = { { 0, 0, 0, 0 }, // UPG_SCALE (unused) { 99, 200, 500, 500 }, // UPG_WALLET { 0, 30, 40, 50 }, // UPG_BULLET_BAG - { 0, 10, 20, 30 }, // UPG_STICKS - { 0, 20, 30, 40 }, // UPG_NUTS + { 0, 10, 20, 30 }, // UPG_DEKU_STICKS + { 0, 20, 30, 40 }, // UPG_DEKU_NUTS }; u32 gGsFlagsMasks[] = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }; @@ -212,62 +212,62 @@ void* gItemIcons[] = { // Used to map item IDs to inventory slots u8 gItemSlots[] = { - SLOT_STICK, // ITEM_STICK - SLOT_NUT, // ITEM_NUT - SLOT_BOMB, // ITEM_BOMB - SLOT_BOW, // ITEM_BOW - SLOT_ARROW_FIRE, // ITEM_ARROW_FIRE - SLOT_DINS_FIRE, // ITEM_DINS_FIRE - SLOT_SLINGSHOT, // ITEM_SLINGSHOT - SLOT_OCARINA, // ITEM_OCARINA_FAIRY - SLOT_OCARINA, // ITEM_OCARINA_TIME - SLOT_BOMBCHU, // ITEM_BOMBCHU - SLOT_HOOKSHOT, // ITEM_HOOKSHOT - SLOT_HOOKSHOT, // ITEM_LONGSHOT - SLOT_ARROW_ICE, // ITEM_ARROW_ICE - SLOT_FARORES_WIND, // ITEM_FARORES_WIND - SLOT_BOOMERANG, // ITEM_BOOMERANG - SLOT_LENS, // ITEM_LENS - SLOT_BEAN, // ITEM_BEAN - SLOT_HAMMER, // ITEM_HAMMER - SLOT_ARROW_LIGHT, // ITEM_ARROW_LIGHT - SLOT_NAYRUS_LOVE, // ITEM_NAYRUS_LOVE - SLOT_BOTTLE_1, // ITEM_BOTTLE - SLOT_BOTTLE_1, // ITEM_POTION_RED - SLOT_BOTTLE_1, // ITEM_POTION_GREEN - SLOT_BOTTLE_1, // ITEM_POTION_BLUE - SLOT_BOTTLE_1, // ITEM_FAIRY - SLOT_BOTTLE_1, // ITEM_FISH - SLOT_BOTTLE_1, // ITEM_MILK_BOTTLE - SLOT_BOTTLE_1, // ITEM_LETTER_RUTO - SLOT_BOTTLE_1, // ITEM_BLUE_FIRE - SLOT_BOTTLE_1, // ITEM_BUG - SLOT_BOTTLE_1, // ITEM_BIG_POE - SLOT_BOTTLE_1, // ITEM_MILK_HALF - SLOT_BOTTLE_1, // ITEM_POE - SLOT_TRADE_CHILD, // ITEM_WEIRD_EGG - SLOT_TRADE_CHILD, // ITEM_CHICKEN - SLOT_TRADE_CHILD, // ITEM_LETTER_ZELDA - SLOT_TRADE_CHILD, // ITEM_MASK_KEATON - SLOT_TRADE_CHILD, // ITEM_MASK_SKULL - SLOT_TRADE_CHILD, // ITEM_MASK_SPOOKY - SLOT_TRADE_CHILD, // ITEM_MASK_BUNNY - SLOT_TRADE_CHILD, // ITEM_MASK_GORON - SLOT_TRADE_CHILD, // ITEM_MASK_ZORA - SLOT_TRADE_CHILD, // ITEM_MASK_GERUDO - SLOT_TRADE_CHILD, // ITEM_MASK_TRUTH - SLOT_TRADE_CHILD, // ITEM_SOLD_OUT - SLOT_TRADE_ADULT, // ITEM_POCKET_EGG - SLOT_TRADE_ADULT, // ITEM_POCKET_CUCCO - SLOT_TRADE_ADULT, // ITEM_COJIRO - SLOT_TRADE_ADULT, // ITEM_ODD_MUSHROOM - SLOT_TRADE_ADULT, // ITEM_ODD_POTION - SLOT_TRADE_ADULT, // ITEM_SAW - SLOT_TRADE_ADULT, // ITEM_SWORD_BROKEN - SLOT_TRADE_ADULT, // ITEM_PRESCRIPTION - SLOT_TRADE_ADULT, // ITEM_FROG - SLOT_TRADE_ADULT, // ITEM_EYEDROPS - SLOT_TRADE_ADULT, // ITEM_CLAIM_CHECK + SLOT_DEKU_STICK, // ITEM_DEKU_STICK + SLOT_DEKU_NUT, // ITEM_DEKU_NUT + SLOT_BOMB, // ITEM_BOMB + SLOT_BOW, // ITEM_BOW + SLOT_ARROW_FIRE, // ITEM_ARROW_FIRE + SLOT_DINS_FIRE, // ITEM_DINS_FIRE + SLOT_SLINGSHOT, // ITEM_SLINGSHOT + SLOT_OCARINA, // ITEM_OCARINA_FAIRY + SLOT_OCARINA, // ITEM_OCARINA_OF_TIME + SLOT_BOMBCHU, // ITEM_BOMBCHU + SLOT_HOOKSHOT, // ITEM_HOOKSHOT + SLOT_HOOKSHOT, // ITEM_LONGSHOT + SLOT_ARROW_ICE, // ITEM_ARROW_ICE + SLOT_FARORES_WIND, // ITEM_FARORES_WIND + SLOT_BOOMERANG, // ITEM_BOOMERANG + SLOT_LENS_OF_TRUTH, // ITEM_LENS_OF_TRUTH + SLOT_MAGIC_BEAN, // ITEM_MAGIC_BEAN + SLOT_HAMMER, // ITEM_HAMMER + SLOT_ARROW_LIGHT, // ITEM_ARROW_LIGHT + SLOT_NAYRUS_LOVE, // ITEM_NAYRUS_LOVE + SLOT_BOTTLE_1, // ITEM_BOTTLE_EMPTY + SLOT_BOTTLE_1, // ITEM_BOTTLE_POTION_RED + SLOT_BOTTLE_1, // ITEM_BOTTLE_POTION_GREEN + SLOT_BOTTLE_1, // ITEM_BOTTLE_POTION_BLUE + SLOT_BOTTLE_1, // ITEM_BOTTLE_FAIRY + SLOT_BOTTLE_1, // ITEM_BOTTLE_FISH + SLOT_BOTTLE_1, // ITEM_BOTTLE_MILK_FULL + SLOT_BOTTLE_1, // ITEM_BOTTLE_RUTOS_LETTER + SLOT_BOTTLE_1, // ITEM_BOTTLE_BLUE_FIRE + SLOT_BOTTLE_1, // ITEM_BOTTLE_BUG + SLOT_BOTTLE_1, // ITEM_BOTTLE_BIG_POE + SLOT_BOTTLE_1, // ITEM_BOTTLE_MILK_HALF + SLOT_BOTTLE_1, // ITEM_BOTTLE_POE + SLOT_TRADE_CHILD, // ITEM_WEIRD_EGG + SLOT_TRADE_CHILD, // ITEM_CHICKEN + SLOT_TRADE_CHILD, // ITEM_ZELDAS_LETTER + SLOT_TRADE_CHILD, // ITEM_MASK_KEATON + SLOT_TRADE_CHILD, // ITEM_MASK_SKULL + SLOT_TRADE_CHILD, // ITEM_MASK_SPOOKY + SLOT_TRADE_CHILD, // ITEM_MASK_BUNNY_HOOD + SLOT_TRADE_CHILD, // ITEM_MASK_GORON + SLOT_TRADE_CHILD, // ITEM_MASK_ZORA + SLOT_TRADE_CHILD, // ITEM_MASK_GERUDO + SLOT_TRADE_CHILD, // ITEM_MASK_TRUTH + SLOT_TRADE_CHILD, // ITEM_SOLD_OUT + SLOT_TRADE_ADULT, // ITEM_POCKET_EGG + SLOT_TRADE_ADULT, // ITEM_POCKET_CUCCO + SLOT_TRADE_ADULT, // ITEM_COJIRO + SLOT_TRADE_ADULT, // ITEM_ODD_MUSHROOM + SLOT_TRADE_ADULT, // ITEM_ODD_POTION + SLOT_TRADE_ADULT, // ITEM_POACHERS_SAW + SLOT_TRADE_ADULT, // ITEM_BROKEN_GORONS_SWORD + SLOT_TRADE_ADULT, // ITEM_PRESCRIPTION + SLOT_TRADE_ADULT, // ITEM_EYEBALL_FROG + SLOT_TRADE_ADULT, // ITEM_EYE_DROPS + SLOT_TRADE_ADULT, // ITEM_CLAIM_CHECK }; void Inventory_ChangeEquipment(s16 equipment, u16 value) { diff --git a/src/code/z_elf_message.c b/src/code/z_elf_message.c index abb3cfef6b6..a07e5d0c685 100644 --- a/src/code/z_elf_message.c +++ b/src/code/z_elf_message.c @@ -39,7 +39,7 @@ u32 QuestHint_CheckCondition(QuestHintCmd* hintCmd) { case (QUEST_HINT_CONDITION_DUNGEON_ITEM << 1): return ((hintCmd->byte0 & 1) == 1) == - (CHECK_DUNGEON_ITEM(hintCmd->byte1 - ITEM_KEY_BOSS, gSaveContext.mapIndex) != 0); + (CHECK_DUNGEON_ITEM(hintCmd->byte1 - ITEM_DUNGEON_BOSS_KEY, gSaveContext.mapIndex) != 0); case (QUEST_HINT_CONDITION_ITEM << 1): return ((hintCmd->byte0 & 1) == 1) == (hintCmd->byte3 == INV_CONTENT(hintCmd->byte1)); diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 4ebbf016a1d..9a6ee6e0988 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -314,31 +314,31 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_BOW); break; case ITEM00_ARROWS_SMALL: - Item_Give(play, ITEM_ARROWS_SMALL); + Item_Give(play, ITEM_ARROWS_5); break; case ITEM00_ARROWS_MEDIUM: - Item_Give(play, ITEM_ARROWS_MEDIUM); + Item_Give(play, ITEM_ARROWS_10); break; case ITEM00_ARROWS_LARGE: - Item_Give(play, ITEM_ARROWS_LARGE); + Item_Give(play, ITEM_ARROWS_30); break; case ITEM00_MAGIC_LARGE: - getItemId = GI_MAGIC_SMALL; + getItemId = GI_MAGIC_JAR_SMALL; break; case ITEM00_MAGIC_SMALL: - getItemId = GI_MAGIC_LARGE; + getItemId = GI_MAGIC_JAR_LARGE; break; case ITEM00_SMALL_KEY: - Item_Give(play, ITEM_KEY_SMALL); + Item_Give(play, ITEM_SMALL_KEY); break; case ITEM00_SEEDS: - getItemId = GI_SEEDS_5; + getItemId = GI_DEKU_SEEDS_5; break; case ITEM00_NUTS: - getItemId = GI_NUTS_5; + getItemId = GI_DEKU_NUTS_5; break; case ITEM00_STICK: - getItemId = GI_STICKS_1; + getItemId = GI_DEKU_STICKS_1; break; case ITEM00_HEART_PIECE: case ITEM00_HEART_CONTAINER: @@ -632,10 +632,10 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_RUPEE_GOLD); break; case ITEM00_STICK: - getItemId = GI_STICKS_1; + getItemId = GI_DEKU_STICKS_1; break; case ITEM00_NUTS: - getItemId = GI_NUTS_5; + getItemId = GI_DEKU_NUTS_5; break; case ITEM00_RECOVERY_HEART: Item_Give(play, ITEM_RECOVERY_HEART); @@ -651,19 +651,19 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_BOW); break; case ITEM00_ARROWS_SMALL: - Item_Give(play, ITEM_ARROWS_SMALL); + Item_Give(play, ITEM_ARROWS_5); break; case ITEM00_ARROWS_MEDIUM: - Item_Give(play, ITEM_ARROWS_MEDIUM); + Item_Give(play, ITEM_ARROWS_10); break; case ITEM00_ARROWS_LARGE: - Item_Give(play, ITEM_ARROWS_LARGE); + Item_Give(play, ITEM_ARROWS_30); break; case ITEM00_SEEDS: - getItemId = GI_SEEDS_5; + getItemId = GI_DEKU_SEEDS_5; break; case ITEM00_SMALL_KEY: - getItemId = GI_KEY_SMALL; + getItemId = GI_SMALL_KEY; break; case ITEM00_HEART_PIECE: getItemId = GI_HEART_PIECE; @@ -672,10 +672,10 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { getItemId = GI_HEART_CONTAINER; break; case ITEM00_MAGIC_LARGE: - getItemId = GI_MAGIC_LARGE; + getItemId = GI_MAGIC_JAR_LARGE; break; case ITEM00_MAGIC_SMALL: - getItemId = GI_MAGIC_SMALL; + getItemId = GI_MAGIC_JAR_SMALL; break; case ITEM00_SHIELD_DEKU: getItemId = GI_SHIELD_DEKU; diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c index 5f72a5aa871..733888f5eea 100644 --- a/src/code/z_game_over.c +++ b/src/code/z_game_over.c @@ -50,8 +50,8 @@ void GameOver_Update(PlayState* play) { // restore "temporary B" to the B Button if not a sword item if (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI && gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER && - gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS && - gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE) { + gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON && + gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE) { if (gSaveContext.buttonStatus[0] != BTN_ENABLED) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 9f1d3c51723..1d4e90a90ac 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -126,7 +126,7 @@ static u16 sHBAScoreDigits[] = { 0, 0, 0, 0 }; static u16 sCUpInvisible = 0; static u16 sCUpTimer = 0; -s16 gSpoilingItems[] = { ITEM_ODD_MUSHROOM, ITEM_FROG, ITEM_EYEDROPS }; +s16 gSpoilingItems[] = { ITEM_ODD_MUSHROOM, ITEM_EYEBALL_FROG, ITEM_EYE_DROPS }; s16 gSpoilingItemReverts[] = { ITEM_COJIRO, ITEM_PRESCRIPTION, ITEM_PRESCRIPTION }; static s16 sMagicBorderR = 255; @@ -134,24 +134,24 @@ static s16 sMagicBorderG = 255; static s16 sMagicBorderB = 255; static s16 sExtraItemBases[] = { - ITEM_STICK, // ITEM_STICKS_5 - ITEM_STICK, // ITEM_STICKS_10 - ITEM_NUT, // ITEM_NUTS_5 - ITEM_NUT, // ITEM_NUTS_10 - ITEM_BOMB, // ITEM_BOMBS_5 - ITEM_BOMB, // ITEM_BOMBS_10 - ITEM_BOMB, // ITEM_BOMBS_20 - ITEM_BOMB, // ITEM_BOMBS_30 - ITEM_BOW, // ITEM_ARROWS_SMALL - ITEM_BOW, // ITEM_ARROWS_MEDIUM - ITEM_BOW, // ITEM_ARROWS_LARGE - ITEM_SEEDS, // ITEM_SEEDS_30 - ITEM_BOMBCHU, // ITEM_BOMBCHUS_5 - ITEM_BOMBCHU, // ITEM_BOMBCHUS_20 - ITEM_STICK, // ITEM_STICK_UPGRADE_20 - ITEM_STICK, // ITEM_STICK_UPGRADE_30 - ITEM_NUT, // ITEM_NUT_UPGRADE_30 - ITEM_NUT, // ITEM_NUT_UPGRADE_40 + ITEM_DEKU_STICK, // ITEM_DEKU_STICKS_5 + ITEM_DEKU_STICK, // ITEM_DEKU_STICKS_10 + ITEM_DEKU_NUT, // ITEM_DEKU_NUTS_5 + ITEM_DEKU_NUT, // ITEM_DEKU_NUTS_10 + ITEM_BOMB, // ITEM_BOMBS_5 + ITEM_BOMB, // ITEM_BOMBS_10 + ITEM_BOMB, // ITEM_BOMBS_20 + ITEM_BOMB, // ITEM_BOMBS_30 + ITEM_BOW, // ITEM_ARROWS_5 + ITEM_BOW, // ITEM_ARROWS_10 + ITEM_BOW, // ITEM_ARROWS_30 + ITEM_DEKU_SEEDS, // ITEM_DEKU_SEEDS_30 + ITEM_BOMBCHU, // ITEM_BOMBCHUS_5 + ITEM_BOMBCHU, // ITEM_BOMBCHUS_20 + ITEM_DEKU_STICK, // ITEM_DEKU_STICK_UPGRADE_20 + ITEM_DEKU_STICK, // ITEM_DEKU_STICK_UPGRADE_30 + ITEM_DEKU_NUT, // ITEM_DEKU_NUT_UPGRADE_30 + ITEM_DEKU_NUT, // ITEM_DEKU_NUT_UPGRADE_40 }; static s16 D_80125A58 = 0; @@ -785,8 +785,8 @@ void func_80083108(PlayState* play) { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; } else { gSaveContext.buttonStatus[0] = gSaveContext.equips.buttonItems[0]; @@ -802,7 +802,7 @@ void func_80083108(PlayState* play) { for (i = 1; i < 4; i++) { if ((gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[i] == BTN_ENABLED) { sp28 = true; } @@ -872,8 +872,8 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.bottles != 0) { for (i = 1; i < 4; i++) { - if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) { + if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) { if (gSaveContext.buttonStatus[i] == BTN_ENABLED) { sp28 = true; } @@ -883,8 +883,8 @@ void func_80083108(PlayState* play) { } } else if (interfaceCtx->restrictions.bottles == 0) { for (i = 1; i < 4; i++) { - if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) { + if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) { if (gSaveContext.buttonStatus[i] == BTN_DISABLED) { sp28 = true; } @@ -945,7 +945,7 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.ocarina != 0) { for (i = 1; i < 4; i++) { if ((gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) || - (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[i] == BTN_ENABLED) { sp28 = true; } @@ -956,7 +956,7 @@ void func_80083108(PlayState* play) { } else if (interfaceCtx->restrictions.ocarina == 0) { for (i = 1; i < 4; i++) { if ((gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) || - (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[i] == BTN_DISABLED) { sp28 = true; } @@ -1016,13 +1016,13 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.all != 0) { for (i = 1; i < 4; i++) { if ((gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME) && - !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) && + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME) && + !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) && !((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { if ((play->sceneId != SCENE_TAKARAYA) || - (gSaveContext.equips.buttonItems[i] != ITEM_LENS)) { + (gSaveContext.equips.buttonItems[i] != ITEM_LENS_OF_TRUTH)) { if (gSaveContext.buttonStatus[i] == BTN_ENABLED) { sp28 = true; } @@ -1045,9 +1045,9 @@ void func_80083108(PlayState* play) { (gSaveContext.equips.buttonItems[i] != ITEM_FARORES_WIND) && (gSaveContext.equips.buttonItems[i] != ITEM_NAYRUS_LOVE) && (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME) && - !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) && + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME) && + !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) && !((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { if (gSaveContext.buttonStatus[i] == BTN_DISABLED) { @@ -1171,9 +1171,9 @@ void Inventory_SwapAgeEquipment(void) { if (gSaveContext.adultEquips.buttonItems[0] == ITEM_NONE) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; - if (gSaveContext.inventory.items[SLOT_NUT] != ITEM_NONE) { - gSaveContext.equips.buttonItems[1] = ITEM_NUT; - gSaveContext.equips.cButtonSlots[0] = SLOT_NUT; + if (gSaveContext.inventory.items[SLOT_DEKU_NUT] != ITEM_NONE) { + gSaveContext.equips.buttonItems[1] = ITEM_DEKU_NUT; + gSaveContext.equips.cButtonSlots[0] = SLOT_DEKU_NUT; } else { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.cButtonSlots[0] = ITEM_NONE; } @@ -1194,8 +1194,8 @@ void Inventory_SwapAgeEquipment(void) { gSaveContext.equips.cButtonSlots[i - 1] = gSaveContext.adultEquips.cButtonSlots[i - 1]; } - if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) || + if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) || ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); @@ -1225,8 +1225,8 @@ void Inventory_SwapAgeEquipment(void) { gSaveContext.equips.cButtonSlots[i - 1] = gSaveContext.childEquips.cButtonSlots[i - 1]; } - if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) || + if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) || ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); @@ -1264,9 +1264,9 @@ void func_800849EC(PlayState* play) { gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE); if (CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE; } else { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; } Interface_LoadItemIcon1(play, 0); @@ -1334,8 +1334,8 @@ u8 Item_Give(PlayState* play, u8 item) { s16 temp; slot = SLOT(item); - if (item >= ITEM_STICKS_5) { - slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]); + if (item >= ITEM_DEKU_STICKS_5) { + slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); } osSyncPrintf(VT_FGCOL(YELLOW)); @@ -1373,7 +1373,7 @@ u8 Item_Give(PlayState* play, u8 item) { osSyncPrintf(VT_RST); return ITEM_NONE; - } else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDO_CARD)) { + } else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDOS_CARD)) { gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_STONE_OF_AGONY + QUEST_STONE_OF_AGONY]; osSyncPrintf(VT_FGCOL(YELLOW)); @@ -1391,11 +1391,11 @@ u8 Item_Give(PlayState* play, u8 item) { osSyncPrintf(VT_RST); return ITEM_NONE; - } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { + } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BIGGORON)) { gSaveContext.inventory.equipment |= OWNED_EQUIP_FLAG(EQUIP_TYPE_SWORD, item - ITEM_SWORD_KOKIRI + EQUIP_INV_SWORD_KOKIRI); - if (item == ITEM_SWORD_BGS) { + if (item == ITEM_SWORD_BIGGORON) { gSaveContext.swordHealth = 8; if (ALL_EQUIP_VALUE(EQUIP_TYPE_SWORD) == @@ -1403,8 +1403,8 @@ u8 Item_Give(PlayState* play, u8 item) { (1 << EQUIP_INV_SWORD_BROKENGIANTKNIFE))) { gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE); - if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + if (gSaveContext.equips.buttonItems[0] == ITEM_GIANTS_KNIFE) { + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; Interface_LoadItemIcon1(play, 0); } } @@ -1425,10 +1425,10 @@ u8 Item_Give(PlayState* play, u8 item) { } else if ((item >= ITEM_BOOTS_KOKIRI) && (item <= ITEM_BOOTS_HOVER)) { gSaveContext.inventory.equipment |= OWNED_EQUIP_FLAG(EQUIP_TYPE_BOOTS, item - ITEM_BOOTS_KOKIRI); return ITEM_NONE; - } else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) { - gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_KEY_BOSS]; + } else if ((item == ITEM_DUNGEON_BOSS_KEY) || (item == ITEM_DUNGEON_COMPASS) || (item == ITEM_DUNGEON_MAP)) { + gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_DUNGEON_BOSS_KEY]; return ITEM_NONE; - } else if (item == ITEM_KEY_SMALL) { + } else if (item == ITEM_SMALL_KEY) { if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] < 0) { gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] = 1; return ITEM_NONE; @@ -1484,13 +1484,13 @@ u8 Item_Give(PlayState* play, u8 item) { Inventory_ChangeUpgrade(UPG_BOMB_BAG, 3); AMMO(ITEM_BOMB) = CAPACITY(UPG_BOMB_BAG, 3); return ITEM_NONE; - } else if (item == ITEM_BRACELET) { + } else if (item == ITEM_STRENGTH_GORONS_BRACELET) { Inventory_ChangeUpgrade(UPG_STRENGTH, 1); return ITEM_NONE; - } else if (item == ITEM_GAUNTLETS_SILVER) { + } else if (item == ITEM_STRENGTH_SILVER_GAUNTLETS) { Inventory_ChangeUpgrade(UPG_STRENGTH, 2); return ITEM_NONE; - } else if (item == ITEM_GAUNTLETS_GOLD) { + } else if (item == ITEM_STRENGTH_GOLD_GAUNTLETS) { Inventory_ChangeUpgrade(UPG_STRENGTH, 3); return ITEM_NONE; } else if (item == ITEM_SCALE_SILVER) { @@ -1499,39 +1499,39 @@ u8 Item_Give(PlayState* play, u8 item) { } else if (item == ITEM_SCALE_GOLDEN) { Inventory_ChangeUpgrade(UPG_SCALE, 2); return ITEM_NONE; - } else if (item == ITEM_WALLET_ADULT) { + } else if (item == ITEM_ADULTS_WALLET) { Inventory_ChangeUpgrade(UPG_WALLET, 1); return ITEM_NONE; - } else if (item == ITEM_WALLET_GIANT) { + } else if (item == ITEM_GIANTS_WALLET) { Inventory_ChangeUpgrade(UPG_WALLET, 2); return ITEM_NONE; - } else if (item == ITEM_STICK_UPGRADE_20) { + } else if (item == ITEM_DEKU_STICK_UPGRADE_20) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_STICK) = ITEM_STICK; + INV_CONTENT(ITEM_DEKU_STICK) = ITEM_DEKU_STICK; } - Inventory_ChangeUpgrade(UPG_STICKS, 2); - AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 2); + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 2); + AMMO(ITEM_DEKU_STICK) = CAPACITY(UPG_DEKU_STICKS, 2); return ITEM_NONE; - } else if (item == ITEM_STICK_UPGRADE_30) { + } else if (item == ITEM_DEKU_STICK_UPGRADE_30) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_STICK) = ITEM_STICK; + INV_CONTENT(ITEM_DEKU_STICK) = ITEM_DEKU_STICK; } - Inventory_ChangeUpgrade(UPG_STICKS, 3); - AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 3); + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 3); + AMMO(ITEM_DEKU_STICK) = CAPACITY(UPG_DEKU_STICKS, 3); return ITEM_NONE; - } else if (item == ITEM_NUT_UPGRADE_30) { + } else if (item == ITEM_DEKU_NUT_UPGRADE_30) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_NUT) = ITEM_NUT; + INV_CONTENT(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } - Inventory_ChangeUpgrade(UPG_NUTS, 2); - AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 2); + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 2); + AMMO(ITEM_DEKU_NUT) = CAPACITY(UPG_DEKU_NUTS, 2); return ITEM_NONE; - } else if (item == ITEM_NUT_UPGRADE_40) { + } else if (item == ITEM_DEKU_NUT_UPGRADE_40) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_NUT) = ITEM_NUT; + INV_CONTENT(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } - Inventory_ChangeUpgrade(UPG_NUTS, 3); - AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 3); + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 3); + AMMO(ITEM_DEKU_NUT) = CAPACITY(UPG_DEKU_NUTS, 3); return ITEM_NONE; } else if (item == ITEM_LONGSHOT) { INV_CONTENT(item) = item; @@ -1542,51 +1542,51 @@ u8 Item_Give(PlayState* play, u8 item) { } } return ITEM_NONE; - } else if (item == ITEM_STICK) { + } else if (item == ITEM_DEKU_STICK) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_STICKS, 1); - AMMO(ITEM_STICK) = 1; + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 1); + AMMO(ITEM_DEKU_STICK) = 1; } else { - AMMO(ITEM_STICK)++; - if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); + AMMO(ITEM_DEKU_STICK)++; + if (AMMO(ITEM_DEKU_STICK) > CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); } } - } else if ((item == ITEM_STICKS_5) || (item == ITEM_STICKS_10)) { + } else if ((item == ITEM_DEKU_STICKS_5) || (item == ITEM_DEKU_STICKS_10)) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_STICKS, 1); - AMMO(ITEM_STICK) = sAmmoRefillCounts[item - ITEM_STICKS_5]; + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 1); + AMMO(ITEM_DEKU_STICK) = sAmmoRefillCounts[item - ITEM_DEKU_STICKS_5]; } else { - AMMO(ITEM_STICK) += sAmmoRefillCounts[item - ITEM_STICKS_5]; - if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); + AMMO(ITEM_DEKU_STICK) += sAmmoRefillCounts[item - ITEM_DEKU_STICKS_5]; + if (AMMO(ITEM_DEKU_STICK) > CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); } } - item = ITEM_STICK; - } else if (item == ITEM_NUT) { + item = ITEM_DEKU_STICK; + } else if (item == ITEM_DEKU_NUT) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_NUTS, 1); - AMMO(ITEM_NUT) = ITEM_NUT; + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 1); + AMMO(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } else { - AMMO(ITEM_NUT)++; - if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); + AMMO(ITEM_DEKU_NUT)++; + if (AMMO(ITEM_DEKU_NUT) > CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); } } - } else if ((item == ITEM_NUTS_5) || (item == ITEM_NUTS_10)) { + } else if ((item == ITEM_DEKU_NUTS_5) || (item == ITEM_DEKU_NUTS_10)) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_NUTS, 1); - AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5]; + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 1); + AMMO(ITEM_DEKU_NUT) += sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]; // "Deku Nuts %d(%d)=%d BS_count=%d" - osSyncPrintf("デクの実 %d(%d)=%d BS_count=%d\n", item, ITEM_NUTS_5, item - ITEM_NUTS_5, - sAmmoRefillCounts[item - ITEM_NUTS_5]); + osSyncPrintf("デクの実 %d(%d)=%d BS_count=%d\n", item, ITEM_DEKU_NUTS_5, item - ITEM_DEKU_NUTS_5, + sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]); } else { - AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5]; - if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); + AMMO(ITEM_DEKU_NUT) += sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]; + if (AMMO(ITEM_DEKU_NUT) > CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); } } - item = ITEM_NUT; + item = ITEM_DEKU_NUT; } else if (item == ITEM_BOMB) { // "Bomb Bomb Bomb Bomb Bomb Bomb Bomb" osSyncPrintf(" 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 \n"); @@ -1623,8 +1623,8 @@ u8 Item_Give(PlayState* play, u8 item) { } return ITEM_NONE; } - } else if ((item >= ITEM_ARROWS_SMALL) && (item <= ITEM_ARROWS_LARGE)) { - AMMO(ITEM_BOW) += sArrowRefillCounts[item - ITEM_ARROWS_SMALL]; + } else if ((item >= ITEM_ARROWS_5) && (item <= ITEM_ARROWS_30)) { + AMMO(ITEM_BOW) += sArrowRefillCounts[item - ITEM_ARROWS_5]; if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0)) { AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER); @@ -1638,7 +1638,7 @@ u8 Item_Give(PlayState* play, u8 item) { INV_CONTENT(ITEM_SLINGSHOT) = ITEM_SLINGSHOT; AMMO(ITEM_SLINGSHOT) = 30; return ITEM_NONE; - } else if (item == ITEM_SEEDS) { + } else if (item == ITEM_DEKU_SEEDS) { AMMO(ITEM_SLINGSHOT) += 5; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -1650,8 +1650,8 @@ u8 Item_Give(PlayState* play, u8 item) { return ITEM_NONE; } - return ITEM_SEEDS; - } else if (item == ITEM_SEEDS_30) { + return ITEM_DEKU_SEEDS; + } else if (item == ITEM_DEKU_SEEDS_30) { AMMO(ITEM_SLINGSHOT) += 30; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -1663,26 +1663,26 @@ u8 Item_Give(PlayState* play, u8 item) { return ITEM_NONE; } - return ITEM_SEEDS; + return ITEM_DEKU_SEEDS; } else if (item == ITEM_OCARINA_FAIRY) { INV_CONTENT(ITEM_OCARINA_FAIRY) = ITEM_OCARINA_FAIRY; return ITEM_NONE; - } else if (item == ITEM_OCARINA_TIME) { - INV_CONTENT(ITEM_OCARINA_TIME) = ITEM_OCARINA_TIME; + } else if (item == ITEM_OCARINA_OF_TIME) { + INV_CONTENT(ITEM_OCARINA_OF_TIME) = ITEM_OCARINA_OF_TIME; for (i = 1; i < 4; i++) { if (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) { - gSaveContext.equips.buttonItems[i] = ITEM_OCARINA_TIME; + gSaveContext.equips.buttonItems[i] = ITEM_OCARINA_OF_TIME; Interface_LoadItemIcon1(play, i); } } return ITEM_NONE; - } else if (item == ITEM_BEAN) { + } else if (item == ITEM_MAGIC_BEAN) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(item) = item; - AMMO(ITEM_BEAN) = 1; + AMMO(ITEM_MAGIC_BEAN) = 1; BEANS_BOUGHT = 1; } else { - AMMO(ITEM_BEAN)++; + AMMO(ITEM_MAGIC_BEAN)++; BEANS_BOUGHT++; } return ITEM_NONE; @@ -1697,7 +1697,7 @@ u8 Item_Give(PlayState* play, u8 item) { osSyncPrintf("回復ハート回復ハート回復ハート\n"); // "Recovery Heart" Health_ChangeBy(play, 0x10); return item; - } else if (item == ITEM_MAGIC_SMALL) { + } else if (item == ITEM_MAGIC_JAR_SMALL) { if (gSaveContext.magicState != MAGIC_STATE_ADD) { // This function is only used to store the magicState. // Setting the state to FILL gets immediately overwritten in Magic_RequestChange. @@ -1713,7 +1713,7 @@ u8 Item_Give(PlayState* play, u8 item) { } return item; - } else if (item == ITEM_MAGIC_LARGE) { + } else if (item == ITEM_MAGIC_JAR_BIG) { if (gSaveContext.magicState != MAGIC_STATE_ADD) { // This function is only used to store the magicState. // Setting the state to FILL gets immediately overwritten in Magic_RequestChange. @@ -1732,7 +1732,7 @@ u8 Item_Give(PlayState* play, u8 item) { } else if ((item >= ITEM_RUPEE_GREEN) && (item <= ITEM_INVALID_8)) { Rupees_ChangeBy(sRupeeRefillCounts[item - ITEM_RUPEE_GREEN]); return ITEM_NONE; - } else if (item == ITEM_BOTTLE) { + } else if (item == ITEM_BOTTLE_EMPTY) { temp = SLOT(item); for (i = 0; i < 4; i++) { @@ -1741,17 +1741,17 @@ u8 Item_Give(PlayState* play, u8 item) { return ITEM_NONE; } } - } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_POE)) || (item == ITEM_MILK)) { + } else if (((item >= ITEM_BOTTLE_POTION_RED) && (item <= ITEM_BOTTLE_POE)) || (item == ITEM_MILK)) { temp = SLOT(item); - if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_LETTER_RUTO)) { + if ((item != ITEM_BOTTLE_MILK_FULL) && (item != ITEM_BOTTLE_RUTOS_LETTER)) { if (item == ITEM_MILK) { - item = ITEM_MILK_BOTTLE; + item = ITEM_BOTTLE_MILK_FULL; temp = SLOT(item); } for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE_EMPTY) { // "Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d Empty Bottle=%d Content=%d" osSyncPrintf("Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d 空瓶=%d 中味=%d\n", gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1], @@ -1784,7 +1784,7 @@ u8 Item_Give(PlayState* play, u8 item) { } } } else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) { - if (item == ITEM_SAW) { + if (item == ITEM_POACHERS_SAW) { SET_ITEMGETINF(ITEMGETINF_1F); } @@ -1820,8 +1820,8 @@ u8 Item_CheckObtainability(u8 item) { s16 slot = SLOT(item); s32 temp; - if (item >= ITEM_STICKS_5) { - slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]); + if (item >= ITEM_DEKU_STICKS_5) { + slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); } osSyncPrintf(VT_FGCOL(GREEN)); @@ -1832,8 +1832,8 @@ u8 Item_CheckObtainability(u8 item) { return ITEM_NONE; } else if ((item >= ITEM_KOKIRI_EMERALD) && (item <= ITEM_SKULL_TOKEN)) { return ITEM_NONE; - } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { - if (item == ITEM_SWORD_BGS) { + } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BIGGORON)) { + if (item == ITEM_SWORD_BIGGORON) { return ITEM_NONE; } else if (CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, item - ITEM_SWORD_KOKIRI + EQUIP_INV_SWORD_KOKIRI)) { return item; @@ -1858,9 +1858,9 @@ u8 Item_CheckObtainability(u8 item) { } else { return ITEM_NONE; } - } else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) { + } else if ((item == ITEM_DUNGEON_BOSS_KEY) || (item == ITEM_DUNGEON_COMPASS) || (item == ITEM_DUNGEON_MAP)) { return ITEM_NONE; - } else if (item == ITEM_KEY_SMALL) { + } else if (item == ITEM_SMALL_KEY) { return ITEM_NONE; } else if ((item >= ITEM_SLINGSHOT) && (item <= ITEM_BOMBCHU)) { return ITEM_NONE; @@ -1882,19 +1882,19 @@ u8 Item_CheckObtainability(u8 item) { } else { return 0; } - } else if ((item >= ITEM_STICK_UPGRADE_20) && (item <= ITEM_NUT_UPGRADE_40)) { + } else if ((item >= ITEM_DEKU_STICK_UPGRADE_20) && (item <= ITEM_DEKU_NUT_UPGRADE_40)) { return ITEM_NONE; - } else if ((item >= ITEM_BOMB_BAG_30) && (item <= ITEM_WALLET_GIANT)) { + } else if ((item >= ITEM_BOMB_BAG_30) && (item <= ITEM_GIANTS_WALLET)) { return ITEM_NONE; } else if (item == ITEM_LONGSHOT) { return ITEM_NONE; - } else if ((item == ITEM_SEEDS) || (item == ITEM_SEEDS_30)) { + } else if ((item == ITEM_DEKU_SEEDS) || (item == ITEM_DEKU_SEEDS_30)) { if (!GET_ITEMGETINF(ITEMGETINF_13)) { return ITEM_NONE; } else { - return ITEM_SEEDS; + return ITEM_DEKU_SEEDS; } - } else if (item == ITEM_BEAN) { + } else if (item == ITEM_MAGIC_BEAN) { return ITEM_NONE; } else if ((item == ITEM_HEART_PIECE_2) || (item == ITEM_HEART_PIECE)) { return ITEM_NONE; @@ -1902,7 +1902,7 @@ u8 Item_CheckObtainability(u8 item) { return ITEM_NONE; } else if (item == ITEM_RECOVERY_HEART) { return ITEM_RECOVERY_HEART; - } else if ((item == ITEM_MAGIC_SMALL) || (item == ITEM_MAGIC_LARGE)) { + } else if ((item == ITEM_MAGIC_JAR_SMALL) || (item == ITEM_MAGIC_JAR_BIG)) { // "Magic Pot Get_Inf_Table( 25, 0x0100)=%d" osSyncPrintf("魔法の壷 Get_Inf_Table( 25, 0x0100)=%d\n", GET_INFTABLE(INFTABLE_198)); if (!GET_INFTABLE(INFTABLE_198)) { @@ -1912,19 +1912,19 @@ u8 Item_CheckObtainability(u8 item) { } } else if ((item >= ITEM_RUPEE_GREEN) && (item <= ITEM_INVALID_8)) { return ITEM_NONE; - } else if (item == ITEM_BOTTLE) { + } else if (item == ITEM_BOTTLE_EMPTY) { return ITEM_NONE; - } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_POE)) || (item == ITEM_MILK)) { + } else if (((item >= ITEM_BOTTLE_POTION_RED) && (item <= ITEM_BOTTLE_POE)) || (item == ITEM_MILK)) { temp = SLOT(item); - if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_LETTER_RUTO)) { + if ((item != ITEM_BOTTLE_MILK_FULL) && (item != ITEM_BOTTLE_RUTOS_LETTER)) { if (item == ITEM_MILK) { - item = ITEM_MILK_BOTTLE; + item = ITEM_BOTTLE_MILK_FULL; temp = SLOT(item); } for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE_EMPTY) { return ITEM_NONE; } } @@ -1945,7 +1945,7 @@ u8 Item_CheckObtainability(u8 item) { void Inventory_DeleteItem(u16 item, u16 invSlot) { s16 i; - if (item == ITEM_BEAN) { + if (item == ITEM_MAGIC_BEAN) { BEANS_BOUGHT = 0; } @@ -1985,13 +1985,13 @@ s32 Inventory_ReplaceItem(PlayState* play, u16 oldItem, u16 newItem) { s32 Inventory_HasEmptyBottle(void) { u8* items = gSaveContext.inventory.items; - if (items[SLOT_BOTTLE_1] == ITEM_BOTTLE) { + if (items[SLOT_BOTTLE_1] == ITEM_BOTTLE_EMPTY) { return true; - } else if (items[SLOT_BOTTLE_2] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_2] == ITEM_BOTTLE_EMPTY) { return true; - } else if (items[SLOT_BOTTLE_3] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_3] == ITEM_BOTTLE_EMPTY) { return true; - } else if (items[SLOT_BOTTLE_4] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_4] == ITEM_BOTTLE_EMPTY) { return true; } else { return false; @@ -2020,9 +2020,9 @@ void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 button) { gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]]); // Special case to only empty half of a Lon Lon Milk Bottle - if ((gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_MILK_BOTTLE) && - (item == ITEM_BOTTLE)) { - item = ITEM_MILK_HALF; + if ((gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_BOTTLE_MILK_FULL) && + (item == ITEM_BOTTLE_EMPTY)) { + item = ITEM_BOTTLE_MILK_HALF; } gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] = item; @@ -2035,15 +2035,15 @@ void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 button) { } s32 Inventory_ConsumeFairy(PlayState* play) { - s32 bottleSlot = SLOT(ITEM_FAIRY); + s32 bottleSlot = SLOT(ITEM_BOTTLE_FAIRY); s16 i; s16 j; for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_FAIRY) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_BOTTLE_FAIRY) { for (j = 1; j < 4; j++) { - if (gSaveContext.equips.buttonItems[j] == ITEM_FAIRY) { - gSaveContext.equips.buttonItems[j] = ITEM_BOTTLE; + if (gSaveContext.equips.buttonItems[j] == ITEM_BOTTLE_FAIRY) { + gSaveContext.equips.buttonItems[j] = ITEM_BOTTLE_EMPTY; Interface_LoadItemIcon1(play, j); i = 0; bottleSlot = gSaveContext.equips.cButtonSlots[j - 1]; @@ -2051,7 +2051,7 @@ s32 Inventory_ConsumeFairy(PlayState* play) { } } osSyncPrintf("妖精使用=%d\n", bottleSlot); // "Fairy Usage=%d" - gSaveContext.inventory.items[bottleSlot + i] = ITEM_BOTTLE; + gSaveContext.inventory.items[bottleSlot + i] = ITEM_BOTTLE_EMPTY; return true; } } @@ -2219,21 +2219,21 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { // "Item = (%d) Amount = (%d + %d)" osSyncPrintf("アイテム = (%d) 数 = (%d + %d) ", item, AMMO(item), ammoChange); - if (item == ITEM_STICK) { - AMMO(ITEM_STICK) += ammoChange; + if (item == ITEM_DEKU_STICK) { + AMMO(ITEM_DEKU_STICK) += ammoChange; - if (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); - } else if (AMMO(ITEM_STICK) < 0) { - AMMO(ITEM_STICK) = 0; + if (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); + } else if (AMMO(ITEM_DEKU_STICK) < 0) { + AMMO(ITEM_DEKU_STICK) = 0; } - } else if (item == ITEM_NUT) { - AMMO(ITEM_NUT) += ammoChange; + } else if (item == ITEM_DEKU_NUT) { + AMMO(ITEM_DEKU_NUT) += ammoChange; - if (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); - } else if (AMMO(ITEM_NUT) < 0) { - AMMO(ITEM_NUT) = 0; + if (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); + } else if (AMMO(ITEM_DEKU_NUT) < 0) { + AMMO(ITEM_DEKU_NUT) = 0; } } else if (item == ITEM_BOMBCHU) { AMMO(ITEM_BOMBCHU) += ammoChange; @@ -2251,7 +2251,7 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { } else if (AMMO(ITEM_BOW) < 0) { AMMO(ITEM_BOW) = 0; } - } else if ((item == ITEM_SLINGSHOT) || (item == ITEM_SEEDS)) { + } else if ((item == ITEM_SLINGSHOT) || (item == ITEM_DEKU_SEEDS)) { AMMO(ITEM_SLINGSHOT) += ammoChange; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -2267,8 +2267,8 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { } else if (AMMO(ITEM_BOMB) < 0) { AMMO(ITEM_BOMB) = 0; } - } else if (item == ITEM_BEAN) { - AMMO(ITEM_BEAN) += ammoChange; + } else if (item == ITEM_MAGIC_BEAN) { + AMMO(ITEM_MAGIC_BEAN) += ammoChange; } osSyncPrintf("合計 = (%d)\n", AMMO(item)); // "Total = (%d)" @@ -2524,9 +2524,9 @@ void Magic_Update(PlayState* play) { (play->gameOverCtx.state == GAMEOVER_INACTIVE) && (play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play)) { if ((gSaveContext.magic == 0) || ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) || - ((gSaveContext.equips.buttonItems[1] != ITEM_LENS) && - (gSaveContext.equips.buttonItems[2] != ITEM_LENS) && - (gSaveContext.equips.buttonItems[3] != ITEM_LENS)) || + ((gSaveContext.equips.buttonItems[1] != ITEM_LENS_OF_TRUTH) && + (gSaveContext.equips.buttonItems[2] != ITEM_LENS_OF_TRUTH) && + (gSaveContext.equips.buttonItems[3] != ITEM_LENS_OF_TRUTH)) || !play->actorCtx.lensActive) { // Force lens off and set magic meter state to idle play->actorCtx.lensActive = false; @@ -2881,11 +2881,11 @@ void Interface_DrawAmmoCount(PlayState* play, s16 button, s16 alpha) { i = gSaveContext.equips.buttonItems[button]; - if ((i == ITEM_STICK) || (i == ITEM_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) || - ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) || - (i == ITEM_BEAN)) { + if ((i == ITEM_DEKU_STICK) || (i == ITEM_DEKU_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) || + ((i >= ITEM_BOW_FIRE) && (i <= ITEM_BOW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) || + (i == ITEM_MAGIC_BEAN)) { - if ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) { + if ((i >= ITEM_BOW_FIRE) && (i <= ITEM_BOW_LIGHT)) { i = ITEM_BOW; } @@ -2905,9 +2905,9 @@ void Interface_DrawAmmoCount(PlayState* play, s16 button, s16 alpha) { } else if (((i == ITEM_BOW) && (AMMO(i) == CUR_CAPACITY(UPG_QUIVER))) || ((i == ITEM_BOMB) && (AMMO(i) == CUR_CAPACITY(UPG_BOMB_BAG))) || ((i == ITEM_SLINGSHOT) && (AMMO(i) == CUR_CAPACITY(UPG_BULLET_BAG))) || - ((i == ITEM_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_STICKS))) || - ((i == ITEM_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_NUTS))) || ((i == ITEM_BOMBCHU) && (ammo == 50)) || - ((i == ITEM_BEAN) && (ammo == 15))) { + ((i == ITEM_DEKU_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_DEKU_STICKS))) || + ((i == ITEM_DEKU_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_DEKU_NUTS))) || + ((i == ITEM_BOMBCHU) && (ammo == 50)) || ((i == ITEM_MAGIC_BEAN) && (ammo == 15))) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 120, 255, 0, alpha); } @@ -3438,8 +3438,8 @@ void Interface_Draw(PlayState* play) { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { if (gSaveContext.buttonStatus[0] != BTN_ENABLED) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; } else { diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 8a3ab956375..36313997253 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -32,7 +32,7 @@ u8 sActionModelGroups[PLAYER_IA_MAX] = { PLAYER_MODELGROUP_SWORD, // PLAYER_IA_SWORD_MASTER PLAYER_MODELGROUP_SWORD, // PLAYER_IA_SWORD_KOKIRI PLAYER_MODELGROUP_BGS, // PLAYER_IA_SWORD_BGS - PLAYER_MODELGROUP_10, // PLAYER_IA_STICK + PLAYER_MODELGROUP_10, // PLAYER_IA_DEKU_STICK PLAYER_MODELGROUP_HAMMER, // PLAYER_IA_HAMMER PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_FIRE @@ -53,33 +53,33 @@ u8 sActionModelGroups[PLAYER_IA_MAX] = { PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FARORES_WIND PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NAYRUS_LOVE PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DINS_FIRE - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NUT + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DEKU_NUT PLAYER_MODELGROUP_OCARINA, // PLAYER_IA_OCARINA_FAIRY - PLAYER_MODELGROUP_OOT, // PLAYER_IA_OCARINA_TIME + PLAYER_MODELGROUP_OOT, // PLAYER_IA_OCARINA_OF_TIME PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FISH PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FIRE PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BUG PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POE PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BIG_POE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_LETTER + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_RUTOS_LETTER PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_RED PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_BLUE PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_GREEN - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_FULL PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_HALF PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FAIRY - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LETTER_ZELDA + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ZELDAS_LETTER PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_WEIRD_EGG PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_CHICKEN - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_BEAN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_BEAN PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_EGG PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_CUCCO PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_COJIRO PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_MUSHROOM PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_POTION - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_SAW - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_SWORD_BROKEN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POACHERS_SAW + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_BROKEN_GORONS_SWORD PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_PRESCRIPTION PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FROG PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_EYEDROPS @@ -87,12 +87,12 @@ u8 sActionModelGroups[PLAYER_IA_MAX] = { PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_KEATON PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SKULL PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SPOOKY - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_BUNNY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_BUNNY_HOOD PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GORON PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_ZORA PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GERUDO PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_TRUTH - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LENS + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LENS_OF_TRUTH }; TextTriggerEntry sTextTriggers[] = { @@ -590,7 +590,7 @@ void Player_SetEquipmentData(PlayState* play, Player* this) { void Player_UpdateBottleHeld(PlayState* play, Player* this, s32 item, s32 itemAction) { Inventory_UpdateBottleItem(play, item, this->heldItemButton); - if (item != ITEM_BOTTLE) { + if (item != ITEM_BOTTLE_EMPTY) { this->heldItemId = item; this->heldItemAction = itemAction; } @@ -644,7 +644,7 @@ s32 Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 y Vec3f diff; s32 pad; - if ((this->heldItemAction == PLAYER_IA_STICK) && (this->unk_860 != 0)) { + if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_860 != 0)) { Math_Vec3f_Diff(&this->meleeWeaponInfo[0].tip, pos, &diff); return ((SQ(diff.x) + SQ(diff.z)) <= SQ(xzRange)) && (0.0f <= diff.y) && (diff.y <= yRange); } else { @@ -1450,7 +1450,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve Math_Vec3f_Copy(&this->leftHandPos, sCurBodyPartPos); - if (this->itemAction == PLAYER_IA_STICK) { + if (this->itemAction == PLAYER_IA_DEKU_STICK) { Vec3f sp124[3]; OPEN_DISPS(play->state.gfxCtx, "../z_player_lib.c", 2633); diff --git a/src/code/z_sram.c b/src/code/z_sram.c index d11f2b4ca80..57ea860588d 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -138,8 +138,8 @@ static ItemEquips sNewSaveEquips = { static Inventory sNewSaveInventory = { // items { - ITEM_NONE, // SLOT_STICK - ITEM_NONE, // SLOT_NUT + ITEM_NONE, // SLOT_DEKU_STICK + ITEM_NONE, // SLOT_DEKU_NUT ITEM_NONE, // SLOT_BOMB ITEM_NONE, // SLOT_BOW ITEM_NONE, // SLOT_ARROW_FIRE @@ -151,8 +151,8 @@ static Inventory sNewSaveInventory = { ITEM_NONE, // SLOT_ARROW_ICE ITEM_NONE, // SLOT_FARORES_WIND ITEM_NONE, // SLOT_BOOMERANG - ITEM_NONE, // SLOT_LENS - ITEM_NONE, // SLOT_BEAN + ITEM_NONE, // SLOT_LENS_OF_TRUTH + ITEM_NONE, // SLOT_MAGIC_BEAN ITEM_NONE, // SLOT_HAMMER ITEM_NONE, // SLOT_ARROW_LIGHT ITEM_NONE, // SLOT_NAYRUS_LOVE @@ -165,8 +165,8 @@ static Inventory sNewSaveInventory = { }, // ammo { - 0, // SLOT_STICK - 0, // SLOT_NUT + 0, // SLOT_DEKU_STICK + 0, // SLOT_DEKU_NUT 0, // SLOT_BOMB 0, // SLOT_BOW 0, // SLOT_ARROW_FIRE @@ -178,8 +178,8 @@ static Inventory sNewSaveInventory = { 0, // SLOT_ARROW_ICE 0, // SLOT_FARORES_WIND 0, // SLOT_BOOMERANG - 0, // SLOT_LENS - 0, // SLOT_BEAN + 0, // SLOT_LENS_OF_TRUTH + 0, // SLOT_MAGIC_BEAN 0, // SLOT_HAMMER }, // equipment @@ -268,35 +268,35 @@ static ItemEquips sDebugSaveEquips = { static Inventory sDebugSaveInventory = { // items { - ITEM_STICK, // SLOT_STICK - ITEM_NUT, // SLOT_NUT - ITEM_BOMB, // SLOT_BOMB - ITEM_BOW, // SLOT_BOW - ITEM_ARROW_FIRE, // SLOT_ARROW_FIRE - ITEM_DINS_FIRE, // SLOT_DINS_FIRE - ITEM_SLINGSHOT, // SLOT_SLINGSHOT - ITEM_OCARINA_FAIRY, // SLOT_OCARINA - ITEM_BOMBCHU, // SLOT_BOMBCHU - ITEM_HOOKSHOT, // SLOT_HOOKSHOT - ITEM_ARROW_ICE, // SLOT_ARROW_ICE - ITEM_FARORES_WIND, // SLOT_FARORES_WIND - ITEM_BOOMERANG, // SLOT_BOOMERANG - ITEM_LENS, // SLOT_LENS - ITEM_BEAN, // SLOT_BEAN - ITEM_HAMMER, // SLOT_HAMMER - ITEM_ARROW_LIGHT, // SLOT_ARROW_LIGHT - ITEM_NAYRUS_LOVE, // SLOT_NAYRUS_LOVE - ITEM_BOTTLE, // SLOT_BOTTLE_1 - ITEM_POTION_RED, // SLOT_BOTTLE_2 - ITEM_POTION_GREEN, // SLOT_BOTTLE_3 - ITEM_POTION_BLUE, // SLOT_BOTTLE_4 - ITEM_POCKET_EGG, // SLOT_TRADE_ADULT - ITEM_WEIRD_EGG, // SLOT_TRADE_CHILD + ITEM_DEKU_STICK, // SLOT_DEKU_STICK + ITEM_DEKU_NUT, // SLOT_DEKU_NUT + ITEM_BOMB, // SLOT_BOMB + ITEM_BOW, // SLOT_BOW + ITEM_ARROW_FIRE, // SLOT_ARROW_FIRE + ITEM_DINS_FIRE, // SLOT_DINS_FIRE + ITEM_SLINGSHOT, // SLOT_SLINGSHOT + ITEM_OCARINA_FAIRY, // SLOT_OCARINA + ITEM_BOMBCHU, // SLOT_BOMBCHU + ITEM_HOOKSHOT, // SLOT_HOOKSHOT + ITEM_ARROW_ICE, // SLOT_ARROW_ICE + ITEM_FARORES_WIND, // SLOT_FARORES_WIND + ITEM_BOOMERANG, // SLOT_BOOMERANG + ITEM_LENS_OF_TRUTH, // SLOT_LENS_OF_TRUTH + ITEM_MAGIC_BEAN, // SLOT_MAGIC_BEAN + ITEM_HAMMER, // SLOT_HAMMER + ITEM_ARROW_LIGHT, // SLOT_ARROW_LIGHT + ITEM_NAYRUS_LOVE, // SLOT_NAYRUS_LOVE + ITEM_BOTTLE_EMPTY, // SLOT_BOTTLE_1 + ITEM_BOTTLE_POTION_RED, // SLOT_BOTTLE_2 + ITEM_BOTTLE_POTION_GREEN, // SLOT_BOTTLE_3 + ITEM_BOTTLE_POTION_BLUE, // SLOT_BOTTLE_4 + ITEM_POCKET_EGG, // SLOT_TRADE_ADULT + ITEM_WEIRD_EGG, // SLOT_TRADE_CHILD }, // ammo { - 50, // SLOT_STICK - 50, // SLOT_NUT + 50, // SLOT_DEKU_STICK + 50, // SLOT_DEKU_NUT 10, // SLOT_BOMB 30, // SLOT_BOW 1, // SLOT_ARROW_FIRE @@ -308,8 +308,8 @@ static Inventory sDebugSaveInventory = { 1, // SLOT_ARROW_ICE 1, // SLOT_FARORES_WIND 1, // SLOT_BOOMERANG - 1, // SLOT_LENS - 1, // SLOT_BEAN + 1, // SLOT_LENS_OF_TRUTH + 1, // SLOT_MAGIC_BEAN 1 // SLOT_HAMMER }, // equipment @@ -534,10 +534,10 @@ void Sram_OpenSave(SramContext* sramCtx) { i = gSaveContext.eventChkInf[EVENTCHKINF_40_INDEX] & ~EVENTCHKINF_40_MASK; gSaveContext.eventChkInf[EVENTCHKINF_40_INDEX] = i; - INV_CONTENT(ITEM_LETTER_ZELDA) = ITEM_CHICKEN; + INV_CONTENT(ITEM_ZELDAS_LETTER) = ITEM_CHICKEN; for (j = 1; j < 4; j++) { - if (gSaveContext.equips.buttonItems[j] == ITEM_LETTER_ZELDA) { + if (gSaveContext.equips.buttonItems[j] == ITEM_ZELDAS_LETTER) { gSaveContext.equips.buttonItems[j] = ITEM_CHICKEN; } } diff --git a/src/elf_message/elf_message_field.c b/src/elf_message/elf_message_field.c index 406a975c97f..db8b116380d 100644 --- a/src/elf_message/elf_message_field.c +++ b/src/elf_message/elf_message_field.c @@ -22,7 +22,7 @@ QuestHintCmd gOverworldNaviQuestHints[] = { QUEST_HINT_BOOTS(CHECK, ITEM_BOOTS_IRON, false, 0x52), QUEST_HINT_MEDALLION(CHECK, ITEM_MEDALLION_WATER, false, 0x53), QUEST_HINT_FLAG(CHECK, EVENTCHKINF_AA, false, 0x54), - QUEST_HINT_ITEM(CHECK, ITEM_LENS, ITEM_NONE, true, 0x55), + QUEST_HINT_ITEM(CHECK, ITEM_LENS_OF_TRUTH, ITEM_NONE, true, 0x55), QUEST_HINT_MEDALLION(CHECK, ITEM_MEDALLION_SHADOW, false, 0x57), QUEST_HINT_SONG(CHECK, ITEM_SONG_REQUIEM, false, 0x58), QUEST_HINT_STRENGTH_UPG(CHECK, 1, true, 0x56), diff --git a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c index 042677470bd..38a9773b65b 100644 --- a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c +++ b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c @@ -399,7 +399,7 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, PlayState* play) { if (Flags_GetSwitch(play, this->burnSwitchFlag) || (this->trisCollider.base.acFlags & AC_HIT)) { this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f; BgYdanSp_BurnWeb(this, play); - } else if (player->heldItemAction == PLAYER_IA_STICK && player->unk_860 != 0) { + } else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) { func_8002DBD0(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip); if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) { OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, CAM_ID_MAIN); diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 50e63999f1b..959f5835fce 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -577,7 +577,7 @@ void func_80996B0C(DoorShutter* this, PlayState* play) { if (this->unlockTimer != 0) { if (this->doorType == SHUTTER_BOSS) { - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { player->naviTextId = -0x204; return; } diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c index 0bc77a09031..13c6c63925b 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -268,7 +268,8 @@ void EnButte_FlyAround(EnButte* this, PlayState* play) { EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); } - if (((this->actor.params & 1) == 1) && (player->heldItemAction == PLAYER_IA_STICK) && (this->swordDownTimer <= 0) && + if (((this->actor.params & 1) == 1) && (player->heldItemAction == PLAYER_IA_DEKU_STICK) && + (this->swordDownTimer <= 0) && ((Math3D_Dist2DSq(player->actor.world.pos.x, player->actor.world.pos.z, this->actor.home.pos.x, this->actor.home.pos.z) < SQ(120.0f)) || (this->actor.xzDistToPlayer < 60.0f))) { @@ -333,7 +334,7 @@ void EnButte_FollowLink(EnButte* this, PlayState* play) { distSqFromHome = Math3D_Dist2DSq(this->actor.world.pos.x, this->actor.world.pos.z, this->actor.home.pos.x, this->actor.home.pos.z); - if (!((player->heldItemAction == PLAYER_IA_STICK) && (fabsf(player->actor.speedXZ) < 1.8f) && + if (!((player->heldItemAction == PLAYER_IA_DEKU_STICK) && (fabsf(player->actor.speedXZ) < 1.8f) && (this->swordDownTimer <= 0) && (distSqFromHome < SQ(320.0f)))) { EnButte_SetupFlyAround(this); } else if (distSqFromHome > SQ(240.0f)) { diff --git a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c index 3b761bdf4cc..5df26055bce 100644 --- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c +++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c @@ -1020,7 +1020,7 @@ void EnDekubaba_DeadStickDrop(EnDekubaba* this, PlayState* play) { return; } - func_8002F554(&this->actor, play, GI_STICKS_1); + func_8002F554(&this->actor, play, GI_DEKU_STICKS_1); } // Update and associated functions diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c index 6b18866eec5..660013685b6 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -87,27 +87,27 @@ static char* D_809F0424[] = { "緑のくすり売り ", "デクの棒持てる数を増やす", "デクの実持てる数を増やす", }; -static DnsItemEntry D_809F0450 = { 20, 5, GI_NUTS_5_2, func_809EF5A4, func_809EFA28 }; +static DnsItemEntry D_809F0450 = { 20, 5, GI_DEKU_NUTS_5_2, func_809EF5A4, func_809EFA28 }; -static DnsItemEntry D_809F0460 = { 15, 1, GI_STICKS_1, func_809EF658, func_809EF9F8 }; +static DnsItemEntry D_809F0460 = { 15, 1, GI_DEKU_STICKS_1, func_809EF658, func_809EF9F8 }; static DnsItemEntry D_809F0470 = { 10, 1, GI_HEART_PIECE, func_809EF70C, func_809EFA58 }; -static DnsItemEntry D_809F0480 = { 40, 30, GI_SEEDS_30, func_809EF73C, func_809EF9F8 }; +static DnsItemEntry D_809F0480 = { 40, 30, GI_DEKU_SEEDS_30, func_809EF73C, func_809EF9F8 }; static DnsItemEntry D_809F0490 = { 50, 1, GI_SHIELD_DEKU, func_809EF800, func_809EF9F8 }; static DnsItemEntry D_809F04A0 = { 40, 5, GI_BOMBS_5, func_809EF854, func_809EFA9C }; -static DnsItemEntry D_809F04B0 = { 70, 20, GI_ARROWS_LARGE, func_809EF8F4, func_809EFACC }; +static DnsItemEntry D_809F04B0 = { 70, 20, GI_ARROWS_30, func_809EF8F4, func_809EFACC }; -static DnsItemEntry D_809F04C0 = { 40, 1, GI_POTION_RED, func_809EF9A4, func_809EF9F8 }; +static DnsItemEntry D_809F04C0 = { 40, 1, GI_BOTTLE_POTION_RED, func_809EF9A4, func_809EF9F8 }; -static DnsItemEntry D_809F04D0 = { 40, 1, GI_POTION_GREEN, func_809EF9A4, func_809EF9F8 }; +static DnsItemEntry D_809F04D0 = { 40, 1, GI_BOTTLE_POTION_GREEN, func_809EF9A4, func_809EF9F8 }; -static DnsItemEntry D_809F04E0 = { 40, 1, GI_STICK_UPGRADE_20, func_809EF70C, func_809EFAFC }; +static DnsItemEntry D_809F04E0 = { 40, 1, GI_DEKU_STICK_UPGRADE_20, func_809EF70C, func_809EFAFC }; -static DnsItemEntry D_809F04F0 = { 40, 1, GI_NUT_UPGRADE_30, func_809EF70C, func_809EFB40 }; +static DnsItemEntry D_809F04F0 = { 40, 1, GI_DEKU_NUT_UPGRADE_30, func_809EF70C, func_809EFB40 }; static DnsItemEntry* sItemEntries[] = { &D_809F0450, &D_809F0460, &D_809F0470, &D_809F0480, &D_809F0490, &D_809F04A0, @@ -185,26 +185,26 @@ void EnDns_ChangeAnim(EnDns* this, u8 index) { /* Item give checking functions */ u32 func_809EF5A4(EnDns* this) { - if ((CUR_CAPACITY(UPG_NUTS) != 0) && (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS))) { + if ((CUR_CAPACITY(UPG_DEKU_NUTS) != 0) && (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS))) { return 1; } if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_NUT) == ITEM_NONE) { return 2; } return 4; } u32 func_809EF658(EnDns* this) { - if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) { + if ((CUR_CAPACITY(UPG_DEKU_STICKS) != 0) && (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS))) { return 1; } if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_STICK) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_STICK) == ITEM_NONE) { return 2; } return 4; @@ -227,7 +227,7 @@ u32 func_809EF73C(EnDns* this) { if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_SEEDS) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_SEEDS) == ITEM_NONE) { return 2; } return 4; @@ -369,16 +369,16 @@ void EnDns_Talk(EnDns* this, PlayState* play) { void func_809EFDD0(EnDns* this, PlayState* play) { if (this->actor.params == 0x9) { - if (CUR_UPG_VALUE(UPG_STICKS) < 2) { - func_8002F434(&this->actor, play, GI_STICK_UPGRADE_20, 130.0f, 100.0f); + if (CUR_UPG_VALUE(UPG_DEKU_STICKS) < 2) { + func_8002F434(&this->actor, play, GI_DEKU_STICK_UPGRADE_20, 130.0f, 100.0f); } else { - func_8002F434(&this->actor, play, GI_STICK_UPGRADE_30, 130.0f, 100.0f); + func_8002F434(&this->actor, play, GI_DEKU_STICK_UPGRADE_30, 130.0f, 100.0f); } } else if (this->actor.params == 0xA) { - if (CUR_UPG_VALUE(UPG_NUTS) < 2) { - func_8002F434(&this->actor, play, GI_NUT_UPGRADE_30, 130.0f, 100.0f); + if (CUR_UPG_VALUE(UPG_DEKU_NUTS) < 2) { + func_8002F434(&this->actor, play, GI_DEKU_NUT_UPGRADE_30, 130.0f, 100.0f); } else { - func_8002F434(&this->actor, play, GI_NUT_UPGRADE_40, 130.0f, 100.0f); + func_8002F434(&this->actor, play, GI_DEKU_NUT_UPGRADE_40, 130.0f, 100.0f); } } else { func_8002F434(&this->actor, play, this->dnsItemEntry->getItemId, 130.0f, 100.0f); diff --git a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c index 8b53ce1aac7..fc53b8c7ba8 100644 --- a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c +++ b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c @@ -184,10 +184,10 @@ void EnDntJiji_Walk(EnDntJiji* this, PlayState* play) { this->actor.speedXZ = 3.0f; } if (this->actor.xzDistToPlayer < 100.0f) { - if (CUR_UPG_VALUE(UPG_STICKS) == 1) { - this->getItemId = GI_STICK_UPGRADE_20; + if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 1) { + this->getItemId = GI_DEKU_STICK_UPGRADE_20; } else { - this->getItemId = GI_STICK_UPGRADE_30; + this->getItemId = GI_DEKU_STICK_UPGRADE_30; } this->actor.textId = 0x104D; Message_StartTextbox(play, this->actor.textId, NULL); @@ -216,10 +216,10 @@ void EnDntJiji_SetupCower(EnDntJiji* this, PlayState* play) { EffectSsHahen_SpawnBurst(play, &this->actor.world.pos, 3.0f, 0, 9, 3, 10, HAHEN_OBJECT_DEFAULT, 10, NULL); Audio_PlayActorSfx2(&this->actor, NA_SE_EN_NUTS_UP); - if ((CUR_UPG_VALUE(UPG_NUTS) == 1) || (CUR_UPG_VALUE(UPG_NUTS) == 0)) { - this->getItemId = GI_NUT_UPGRADE_30; + if ((CUR_UPG_VALUE(UPG_DEKU_NUTS) == 1) || (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 0)) { + this->getItemId = GI_DEKU_NUT_UPGRADE_30; } else { - this->getItemId = GI_NUT_UPGRADE_40; + this->getItemId = GI_DEKU_NUT_UPGRADE_40; } this->actor.flags |= ACTOR_FLAG_0; this->actor.textId = 0x10DB; @@ -272,7 +272,7 @@ void EnDntJiji_SetupGivePrize(EnDntJiji* this, PlayState* play) { void EnDntJiji_GivePrize(EnDntJiji* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - if ((this->getItemId == GI_NUT_UPGRADE_30) || (this->getItemId == GI_NUT_UPGRADE_40)) { + if ((this->getItemId == GI_DEKU_NUT_UPGRADE_30) || (this->getItemId == GI_DEKU_NUT_UPGRADE_40)) { // "nut" osSyncPrintf("実 \n"); osSyncPrintf("実 \n"); diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index e1776decced..76c2ce65758 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -170,7 +170,7 @@ void EnDs_GiveBluePotion(EnDs* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = EnDs_Talk; } else { - func_8002F434(&this->actor, play, GI_POTION_BLUE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_POTION_BLUE, 10000.0f, 50.0f); } } @@ -189,7 +189,7 @@ void EnDs_OfferBluePotion(EnDs* this, PlayState* play) { case 2: // have 100 rupees and empty bottle Rupees_ChangeBy(-100); this->actor.flags &= ~ACTOR_FLAG_16; - func_8002F434(&this->actor, play, GI_POTION_BLUE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_POTION_BLUE, 10000.0f, 50.0f); this->actionFunc = EnDs_GiveBluePotion; return; } diff --git a/src/overlays/actors/ovl_En_Du/z_en_du.c b/src/overlays/actors/ovl_En_Du/z_en_du.c index 899b8645860..1dcbcb3509e 100644 --- a/src/overlays/actors/ovl_En_Du/z_en_du.c +++ b/src/overlays/actors/ovl_En_Du/z_en_du.c @@ -522,7 +522,7 @@ void func_809FEC70(EnDu* this, PlayState* play) { } else { f32 xzRange = this->actor.xzDistToPlayer + 1.0f; - func_8002F434(&this->actor, play, GI_BRACELET, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f); + func_8002F434(&this->actor, play, GI_GORONS_BRACELET, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f); } } diff --git a/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/src/overlays/actors/ovl_En_Gb/z_en_gb.c index 868093e3ffc..6ac46c8c314 100644 --- a/src/overlays/actors/ovl_En_Gb/z_en_gb.c +++ b/src/overlays/actors/ovl_En_Gb/z_en_gb.c @@ -285,11 +285,11 @@ void func_80A2F83C(EnGb* this, PlayState* play) { func_80A2F180(this); this->actionFunc = func_80A2F94C; break; - case EXCH_ITEM_POE: + case EXCH_ITEM_BOTTLE_POE: player->actor.textId = 0x70F6; this->actionFunc = func_80A2F9C0; break; - case EXCH_ITEM_BIG_POE: + case EXCH_ITEM_BOTTLE_BIG_POE: player->actor.textId = 0x70F7; this->actionFunc = func_80A2FA50; break; @@ -297,7 +297,7 @@ void func_80A2F83C(EnGb* this, PlayState* play) { return; } if (this->dyna.actor.xzDistToPlayer < 100.0f) { - func_8002F298(&this->dyna.actor, play, 100.0f, EXCH_ITEM_POE); + func_8002F298(&this->dyna.actor, play, 100.0f, EXCH_ITEM_BOTTLE_POE); } } @@ -317,7 +317,7 @@ void func_80A2F9C0(EnGb* this, PlayState* play) { SET_INFTABLE(INFTABLE_B6); } func_80A2F180(this); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); Rupees_ChangeBy(10); this->actionFunc = func_80A2F83C; } @@ -329,7 +329,7 @@ void func_80A2FA50(EnGb* this, PlayState* play) { SET_INFTABLE(INFTABLE_B6); } func_80A2F180(this); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); Rupees_ChangeBy(50); HIGH_SCORE(HS_POE_POINTS) += 100; if (HIGH_SCORE(HS_POE_POINTS) != 1000) { @@ -350,7 +350,7 @@ void func_80A2FA50(EnGb* this, PlayState* play) { void func_80A2FB40(EnGb* this, PlayState* play) { if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(play)) { - func_8002F434(&this->dyna.actor, play, GI_BOTTLE, 100.0f, 10.0f); + func_8002F434(&this->dyna.actor, play, GI_BOTTLE_EMPTY, 100.0f, 10.0f); this->actionFunc = func_80A2FBB0; } } @@ -360,7 +360,7 @@ void func_80A2FBB0(EnGb* this, PlayState* play) { this->dyna.actor.parent = NULL; this->actionFunc = func_80A2FC0C; } else { - func_8002F434(&this->dyna.actor, play, GI_BOTTLE, 100.0f, 10.0f); + func_8002F434(&this->dyna.actor, play, GI_BOTTLE_EMPTY, 100.0f, 10.0f); } } 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 5e73614d4da..5435af131eb 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -389,7 +389,7 @@ void EnGe1_RefuseOpenNoCard_GTGGuard(EnGe1* this, PlayState* play) { } void EnGe1_CheckForCard_GTGGuard(EnGe1* this, PlayState* play) { - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { EnGe1_SetTalkAction(this, play, 0x6014, 100.0f, EnGe1_OfferOpen_GTGGuard); } else { //! @bug This outcome is inaccessible in normal gameplay since this function it is unreachable without 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 d288f1a58da..6053f211044 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -451,7 +451,7 @@ void EnGe2_WaitTillCardGiven(EnGe2* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = EnGe2_SetActionAfterTalk; } else { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } } @@ -460,7 +460,7 @@ void EnGe2_GiveCard(EnGe2* this, PlayState* play) { Message_CloseTextbox(play); this->actor.flags &= ~ACTOR_FLAG_16; this->actionFunc = EnGe2_WaitTillCardGiven; - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } } diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c index 9d55a705b35..57d203ec8f0 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -141,7 +141,7 @@ void EnGe3_WaitTillCardGiven(EnGe3* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = EnGe3_Wait; } else { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } } @@ -150,7 +150,7 @@ void EnGe3_GiveCard(EnGe3* this, PlayState* play) { Message_CloseTextbox(play); this->actor.flags &= ~ACTOR_FLAG_16; this->actionFunc = EnGe3_WaitTillCardGiven; - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } } 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 2e54332206b..955fe123202 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -133,7 +133,7 @@ static char* sShopItemDescriptions[] = { }; static s16 sMaskShopItems[8] = { - ITEM_MASK_KEATON, ITEM_MASK_SPOOKY, ITEM_MASK_SKULL, ITEM_MASK_BUNNY, + ITEM_MASK_KEATON, ITEM_MASK_SPOOKY, ITEM_MASK_SKULL, ITEM_MASK_BUNNY_HOOD, ITEM_MASK_TRUTH, ITEM_MASK_ZORA, ITEM_MASK_GORON, ITEM_MASK_GERUDO, }; @@ -155,40 +155,40 @@ typedef struct { static ShopItemEntry shopItemEntries[] = { // SI_DEKU_NUTS_5 - { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_NUTS_5_2, EnGirlA_CanBuy_DekuNuts, + { OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_DEKU_NUTS_5_2, EnGirlA_CanBuy_DekuNuts, EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_30 */ - { OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_8002EBCC, 60, 30, 0x00C1, 0x009B, GI_ARROWS_MEDIUM, - EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, + { OBJECT_GI_ARROW, GID_ARROWS_10, func_8002EBCC, 60, 30, 0x00C1, 0x009B, GI_ARROWS_10, EnGirlA_CanBuy_Arrows, + EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_50 */ - { OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_8002EBCC, 90, 50, 0x00B0, 0x007D, GI_ARROWS_LARGE, EnGirlA_CanBuy_Arrows, + { OBJECT_GI_ARROW, GID_ARROWS_30, func_8002EBCC, 90, 50, 0x00B0, 0x007D, GI_ARROWS_30, EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_5_R25 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 25, 5, 0x00A3, 0x008B, GI_BOMBS_5, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_DEKU_NUTS_10 */ - { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 30, 10, 0x00A2, 0x0087, GI_NUTS_10, EnGirlA_CanBuy_DekuNuts, + { OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 30, 10, 0x00A2, 0x0087, GI_DEKU_NUTS_10, EnGirlA_CanBuy_DekuNuts, EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_DEKU_STICK */ - { OBJECT_GI_STICK, GID_STICK, NULL, 10, 1, 0x00A1, 0x0088, GI_STICKS_1, EnGirlA_CanBuy_DekuSticks, + { OBJECT_GI_STICK, GID_DEKU_STICK, NULL, 10, 1, 0x00A1, 0x0088, GI_DEKU_STICKS_1, EnGirlA_CanBuy_DekuSticks, EnGirlA_ItemGive_DekuSticks, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_10 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 50, 10, 0x00B1, 0x007C, GI_BOMBS_10, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_FISH */ - { OBJECT_GI_FISH, GID_FISH, func_8002ED80, 200, 1, 0x00B3, 0x007E, GI_FISH, EnGirlA_CanBuy_Fish, NULL, + { OBJECT_GI_FISH, GID_FISH, func_8002ED80, 200, 1, 0x00B3, 0x007E, GI_BOTTLE_FISH, EnGirlA_CanBuy_Fish, NULL, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R30 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 30, 1, 0x00A5, 0x008E, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, - EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 30, 1, 0x00A5, 0x008E, GI_BOTTLE_POTION_RED, + EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_GREEN_POTION */ - { OBJECT_GI_LIQUID, GID_POTION_GREEN, func_8002EBCC, 30, 1, 0x00A6, 0x008F, GI_POTION_GREEN, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_GREEN, func_8002EBCC, 30, 1, 0x00A6, 0x008F, GI_BOTTLE_POTION_GREEN, EnGirlA_CanBuy_GreenPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BLUE_POTION */ - { OBJECT_GI_LIQUID, GID_POTION_BLUE, func_8002EBCC, 60, 1, 0x00A7, 0x0090, GI_POTION_BLUE, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_BLUE, func_8002EBCC, 60, 1, 0x00A7, 0x0090, GI_BOTTLE_POTION_BLUE, EnGirlA_CanBuy_BluePotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_LONGSWORD */ - { OBJECT_GI_LONGSWORD, GID_SWORD_BGS, func_8002EBCC, 1000, 1, 0x00A8, 0x0091, GI_SWORD_KNIFE, + { OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, func_8002EBCC, 1000, 1, 0x00A8, 0x0091, GI_SWORD_KNIFE, EnGirlA_CanBuy_Longsword, EnGirlA_ItemGive_Longsword, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_HYLIAN_SHIELD */ { OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, func_8002EBCC, 80, 1, 0x00A9, 0x0092, GI_SHIELD_HYLIAN, @@ -206,13 +206,13 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_HEART, GID_RECOVERY_HEART, NULL, 10, 16, 0x00AC, 0x0095, GI_RECOVERY_HEART, EnGirlA_CanBuy_RecoveryHeart, EnGirlA_ItemGive_Health, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_MILK_BOTTLE */ - { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 100, 1, 0x00AD, 0x0097, GI_MILK_BOTTLE, EnGirlA_CanBuy_MilkBottle, - EnGirlA_ItemGive_MilkBottle, EnGirlA_BuyEvent_ShieldDiscount }, + { OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, func_80A3C498, 100, 1, 0x00AD, 0x0097, GI_BOTTLE_MILK_FULL, + EnGirlA_CanBuy_MilkBottle, EnGirlA_ItemGive_MilkBottle, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_WEIRD_EGG */ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 100, 1, 0x00AE, 0x0099, GI_WEIRD_EGG, EnGirlA_CanBuy_WeirdEgg, EnGirlA_ItemGive_WeirdEgg, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_19 */ - { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 10000, 1, 0x00B4, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk19, + { OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, func_80A3C498, 10000, 1, 0x00B4, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk19, EnGirlA_ItemGive_Unk19, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_20 */ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 10000, 1, 0x00B5, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk20, @@ -242,7 +242,7 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 100, 10, 0x00BC, 0x008C, GI_BOMBCHUS_10, EnGirlA_CanBuy_Bombchus, NULL, EnGirlA_BuyEvent_ObtainBombchuPack }, /* SI_DEKU_SEEDS_30 */ - { OBJECT_GI_SEED, GID_SEEDS, func_8002EBCC, 30, 30, 0x00DF, 0x00DE, GI_SEEDS_30, EnGirlA_CanBuy_DekuSeeds, + { OBJECT_GI_SEED, GID_DEKU_SEEDS, func_8002EBCC, 30, 30, 0x00DF, 0x00DE, GI_DEKU_SEEDS_30, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_KEATON_MASK */ { OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, func_8002EBCC, 0, 1, 0x70B2, 0x70BE, GI_MASK_KEATON, @@ -254,7 +254,7 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, func_8002EBCC, 0, 1, 0x70B0, 0x70BC, GI_MASK_SKULL, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BUNNY_HOOD */ - { OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, func_8002EBCC, 0, 1, 0x70B3, 0x70BF, GI_MASK_BUNNY, + { OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY_HOOD, func_8002EBCC, 0, 1, 0x70B3, 0x70BF, GI_MASK_BUNNY_HOOD, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_MASK_OF_TRUTH */ { OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, func_80A3C498, 0, 1, 0x70AF, 0x70C3, GI_MASK_TRUTH, @@ -272,22 +272,22 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_SOLDOUT, GID_SOLDOUT, func_8002EBCC, 0, 0, 0x00BD, 0x70C2, GI_MASK_GERUDO, EnGirlA_CanBuy_SoldOut, NULL, NULL }, /* SI_BLUE_FIRE */ - { OBJECT_GI_FIRE, GID_BLUE_FIRE, func_8002EBCC, 300, 1, 0x00B9, 0x00B8, GI_BLUE_FIRE, EnGirlA_CanBuy_BlueFire, - EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, + { OBJECT_GI_FIRE, GID_BLUE_FIRE, func_8002EBCC, 300, 1, 0x00B9, 0x00B8, GI_BOTTLE_BLUE_FIRE, + EnGirlA_CanBuy_BlueFire, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BUGS */ - { OBJECT_GI_INSECT, GID_BUG, func_80A3C498, 50, 1, 0x00BB, 0x00BA, GI_BUGS, EnGirlA_CanBuy_Bugs, + { OBJECT_GI_INSECT, GID_BUG, func_80A3C498, 50, 1, 0x00BB, 0x00BA, GI_BOTTLE_BUGS, EnGirlA_CanBuy_Bugs, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BIG_POE */ - { OBJECT_GI_GHOST, GID_BIG_POE, func_80A3C498, 50, 1, 0x506F, 0x5070, GI_BIG_POE, EnGirlA_CanBuy_Poe, + { OBJECT_GI_GHOST, GID_BIG_POE, func_80A3C498, 50, 1, 0x506F, 0x5070, GI_BOTTLE_BIG_POE, EnGirlA_CanBuy_Poe, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_POE */ - { OBJECT_GI_GHOST, GID_POE, func_80A3C498, 30, 1, 0x506D, 0x506E, GI_POE, EnGirlA_CanBuy_Poe, + { OBJECT_GI_GHOST, GID_POE, func_80A3C498, 30, 1, 0x506D, 0x506E, GI_BOTTLE_POE, EnGirlA_CanBuy_Poe, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_FAIRY */ - { OBJECT_GI_SOUL, GID_FAIRY, func_80A3C498, 50, 1, 0x00B7, 0x00B6, GI_FAIRY, EnGirlA_CanBuy_Fairy, + { OBJECT_GI_SOUL, GID_FAIRY, func_80A3C498, 50, 1, 0x00B7, 0x00B6, GI_BOTTLE_FAIRY, EnGirlA_CanBuy_Fairy, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_10 */ - { OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_8002EBCC, 20, 10, 0x00A0, 0x008A, GI_ARROWS_SMALL, EnGirlA_CanBuy_Arrows, + { OBJECT_GI_ARROW, GID_ARROWS_5, func_8002EBCC, 20, 10, 0x00A0, 0x008A, GI_ARROWS_5, EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_20 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 80, 20, 0x001C, 0x0006, GI_BOMBS_20, EnGirlA_CanBuy_Bombs, @@ -299,11 +299,11 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 35, 5, 0x00CB, 0x00CA, GI_BOMBS_5, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R40 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 40, 1, 0x0064, 0x0062, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, - EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 40, 1, 0x0064, 0x0062, GI_BOTTLE_POTION_RED, + EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R50 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 50, 1, 0x0065, 0x0063, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, - EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount } + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 50, 1, 0x0065, 0x0063, GI_BOTTLE_POTION_RED, + EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount } }; // Defines the Hylian Shield discount amount @@ -445,26 +445,26 @@ s32 EnGirlA_CanBuy_Bombs(PlayState* play, EnGirlA* this) { } s32 EnGirlA_CanBuy_DekuNuts(PlayState* play, EnGirlA* this) { - if ((CUR_CAPACITY(UPG_NUTS) != 0) && (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS))) { + if ((CUR_CAPACITY(UPG_DEKU_NUTS) != 0) && (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS))) { return CANBUY_RESULT_CANT_GET_NOW; } if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_NUT) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; } s32 EnGirlA_CanBuy_DekuSticks(PlayState* play, EnGirlA* this) { - if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) { + if ((CUR_CAPACITY(UPG_DEKU_STICKS) != 0) && (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS))) { return CANBUY_RESULT_CANT_GET_NOW; } if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_STICK) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_STICK) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -477,7 +477,7 @@ s32 EnGirlA_CanBuy_Fish(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_FISH) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_FISH) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -490,7 +490,7 @@ s32 EnGirlA_CanBuy_RedPotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_RED) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_RED) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -503,7 +503,7 @@ s32 EnGirlA_CanBuy_GreenPotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_GREEN) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_GREEN) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -516,7 +516,7 @@ s32 EnGirlA_CanBuy_BluePotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_BLUE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_BLUE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -530,7 +530,7 @@ s32 EnGirlA_CanBuy_Longsword(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_SWORD_BGS) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_SWORD_BIGGORON) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -608,7 +608,7 @@ s32 EnGirlA_CanBuy_MilkBottle(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_MILK_BOTTLE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_MILK_FULL) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -618,7 +618,7 @@ s32 EnGirlA_CanBuy_WeirdEgg(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_LETTER_ZELDA) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_ZELDAS_LETTER) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -652,7 +652,7 @@ s32 EnGirlA_CanBuy_DekuSeeds(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_SEEDS) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_SEEDS) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -669,7 +669,7 @@ s32 EnGirlA_CanBuy_BlueFire(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_BLUE_FIRE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_BLUE_FIRE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -682,7 +682,7 @@ s32 EnGirlA_CanBuy_Bugs(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_BUG) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_BUG) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -695,7 +695,7 @@ s32 EnGirlA_CanBuy_Poe(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -708,7 +708,7 @@ s32 EnGirlA_CanBuy_Fairy(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_FAIRY) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_FAIRY) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -740,17 +740,17 @@ void EnGirlA_ItemGive_Bombs(PlayState* play, EnGirlA* this) { void EnGirlA_ItemGive_DekuNuts(PlayState* play, EnGirlA* this) { switch (this->itemCount) { case 5: - Item_Give(play, ITEM_NUTS_5); + Item_Give(play, ITEM_DEKU_NUTS_5); break; case 10: - Item_Give(play, ITEM_NUTS_10); + Item_Give(play, ITEM_DEKU_NUTS_10); break; } Rupees_ChangeBy(-this->basePrice); } void EnGirlA_ItemGive_DekuSticks(PlayState* play, EnGirlA* this) { - Item_Give(play, ITEM_STICK); + Item_Give(play, ITEM_DEKU_STICK); Rupees_ChangeBy(-this->basePrice); } @@ -786,7 +786,7 @@ void EnGirlA_ItemGive_Health(PlayState* play, EnGirlA* this) { } void EnGirlA_ItemGive_MilkBottle(PlayState* play, EnGirlA* this) { - Item_Give(play, ITEM_MILK_BOTTLE); + Item_Give(play, ITEM_BOTTLE_MILK_FULL); Rupees_ChangeBy(-this->basePrice); } @@ -804,38 +804,38 @@ void EnGirlA_ItemGive_Unk20(PlayState* play, EnGirlA* this) { } void EnGirlA_ItemGive_DekuSeeds(PlayState* play, EnGirlA* this) { - Item_Give(play, ITEM_SEEDS_30); + Item_Give(play, ITEM_DEKU_SEEDS_30); Rupees_ChangeBy(-this->basePrice); } void EnGirlA_ItemGive_BottledItem(PlayState* play, EnGirlA* this) { switch (this->actor.params) { case SI_FISH: - Item_Give(play, ITEM_FISH); + Item_Give(play, ITEM_BOTTLE_FISH); break; case SI_RED_POTION_R30: - Item_Give(play, ITEM_POTION_RED); + Item_Give(play, ITEM_BOTTLE_POTION_RED); break; case SI_GREEN_POTION: - Item_Give(play, ITEM_POTION_GREEN); + Item_Give(play, ITEM_BOTTLE_POTION_GREEN); break; case SI_BLUE_POTION: - Item_Give(play, ITEM_POTION_BLUE); + Item_Give(play, ITEM_BOTTLE_POTION_BLUE); break; case SI_BLUE_FIRE: - Item_Give(play, ITEM_BLUE_FIRE); + Item_Give(play, ITEM_BOTTLE_BLUE_FIRE); break; case SI_BUGS: - Item_Give(play, ITEM_BUG); + Item_Give(play, ITEM_BOTTLE_BUG); break; case SI_BIG_POE: - Item_Give(play, ITEM_BIG_POE); + Item_Give(play, ITEM_BOTTLE_BIG_POE); break; case SI_POE: - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); break; case SI_FAIRY: - Item_Give(play, ITEM_FAIRY); + Item_Give(play, ITEM_BOTTLE_FAIRY); break; } Rupees_ChangeBy(-this->basePrice); 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 8d409a58528..c991d27b281 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -101,13 +101,13 @@ u16 EnGo_GetTextID(PlayState* play, Actor* thisx) { } else { return 0x305D; } - } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYEDROPS) { - player->exchangeItemId = EXCH_ITEM_EYEDROPS; + } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYE_DROPS) { + player->exchangeItemId = EXCH_ITEM_EYE_DROPS; return 0x3059; } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) { return 0x3058; } else { - player->exchangeItemId = EXCH_ITEM_SWORD_BROKEN; + player->exchangeItemId = EXCH_ITEM_BROKEN_GORONS_SWORD; return 0x3053; } case 0x00: @@ -593,8 +593,8 @@ void func_80A3F908(EnGo* this, PlayState* play) { } if (((this->actor.params & 0xF0) == 0x90) && (isUnkCondition == true)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) { - if (func_8002F368(play) == EXCH_ITEM_SWORD_BROKEN) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_BROKEN_GORONS_SWORD) { + if (func_8002F368(play) == EXCH_ITEM_BROKEN_GORONS_SWORD) { if (GET_INFTABLE(INFTABLE_B4)) { this->actor.textId = 0x3055; } else { @@ -606,8 +606,8 @@ void func_80A3F908(EnGo* this, PlayState* play) { player->actor.textId = this->actor.textId; } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { - if (func_8002F368(play) == EXCH_ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { + if (func_8002F368(play) == EXCH_ITEM_EYE_DROPS) { this->actor.textId = 0x3059; } else { this->actor.textId = 0x3058; @@ -859,7 +859,7 @@ void EnGo_BiggoronActionFunc(EnGo* this, PlayState* play) { if (gSaveContext.bgsFlag) { this->unk_1E0.unk_00 = 0; } else { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { EnGo_ChangeAnim(this, ENGO_ANIM_2); this->unk_21E = 100; this->unk_1E0.unk_00 = 0; @@ -954,13 +954,13 @@ void EnGo_GetItem(EnGo* this, PlayState* play) { this->unk_20C = 0; if ((this->actor.params & 0xF0) == 0x90) { if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_CLAIM_CHECK) { - getItemId = GI_SWORD_BGS; + getItemId = GI_SWORD_BIGGORON; this->unk_20C = 1; } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { getItemId = GI_CLAIM_CHECK; } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_BROKEN_GORONS_SWORD) { getItemId = GI_PRESCRIPTION; } } diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c index 745452c7c60..3bae5e685e7 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -569,10 +569,10 @@ u16 EnGo2_GetTextIdGoronDmtBiggoron(PlayState* play, EnGo2* this) { player->exchangeItemId = EXCH_ITEM_CLAIM_CHECK; return 0x305E; } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) { - player->exchangeItemId = EXCH_ITEM_EYEDROPS; + player->exchangeItemId = EXCH_ITEM_EYE_DROPS; return 0x3058; } else { - player->exchangeItemId = EXCH_ITEM_SWORD_BROKEN; + player->exchangeItemId = EXCH_ITEM_BROKEN_GORONS_SWORD; return 0x3053; } } @@ -585,7 +585,7 @@ s16 EnGo2_GetStateGoronDmtBiggoron(PlayState* play, EnGo2* this) { case TEXT_STATE_DONE: if (this->actor.textId == 0x305E) { if (!gSaveContext.bgsFlag) { - EnGo2_GetItem(this, play, GI_SWORD_BGS); + EnGo2_GetItem(this, play, GI_SWORD_BIGGORON); this->actionFunc = EnGo2_SetupGetItem; return 2; } else { @@ -1056,7 +1056,7 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, PlayState* play, Player* player) { } else if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) && (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_CLAIM_CHECK)) { - if (func_8002F368(play) == EXCH_ITEM_EYEDROPS) { + if (func_8002F368(play) == EXCH_ITEM_EYE_DROPS) { this->actor.textId = 0x3059; } else { this->actor.textId = 0x3058; @@ -1066,8 +1066,8 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, PlayState* play, Player* player) { } player->actor.textId = this->actor.textId; - } else if (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_SWORD_BROKEN) { - if (func_8002F368(play) == EXCH_ITEM_SWORD_BROKEN) { + } else if (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_BROKEN_GORONS_SWORD) { + if (func_8002F368(play) == EXCH_ITEM_BROKEN_GORONS_SWORD) { if (GET_INFTABLE(INFTABLE_B4)) { textId = 0x3055; } else { @@ -1132,7 +1132,8 @@ void func_80A454CC(EnGo2* this) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_9); break; case GORON_DMT_BIGGORON: - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD && + INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_4); break; } @@ -1498,7 +1499,7 @@ void EnGo2_GoronFireClearCamera(EnGo2* this, PlayState* play) { } void EnGo2_BiggoronAnimation(EnGo2* this) { - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS && + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS && (this->actor.params & 0x1F) == GORON_DMT_BIGGORON && this->unk_194.unk_00 == 0) { if (DECR(this->animTimer) == 0) { this->animTimer = Rand_S16Offset(30, 30); @@ -1597,8 +1598,8 @@ void EnGo2_Init(Actor* thisx, PlayState* play) { case GORON_DMT_BIGGORON: this->actor.shape.shadowDraw = NULL; this->actor.flags &= ~ACTOR_FLAG_0; - if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN) && - (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS)) { + if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD) && + (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS)) { this->eyeMouthTexState = 1; } this->collider.base.acFlags = AC_NONE; @@ -1805,7 +1806,7 @@ void EnGo2_SetGetItem(EnGo2* this, PlayState* play) { SET_INFTABLE(INFTABLE_109); EnGo2_GetItemAnimation(this, play); return; - case GI_SWORD_BGS: + case GI_SWORD_BIGGORON: gSaveContext.bgsFlag = true; break; case GI_BOMB_BAG_30: diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index 532d1686650..6869234d226 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -403,7 +403,7 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { this->unk_300 = TEXT_STATE_DONE; if (Actor_ProcessTalkRequest(&this->actor, play)) { exchangeItemId = func_8002F368(play); - if (exchangeItemId == EXCH_ITEM_LETTER_ZELDA) { + if (exchangeItemId == EXCH_ITEM_ZELDAS_LETTER) { func_80078884(NA_SE_SY_CORRECT_CHIME); player->actor.textId = 0x2010; this->unk_300 = TEXT_STATE_EVENT; @@ -415,7 +415,7 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { yawDiffTemp = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; yawDiff = ABS(yawDiffTemp); if (!(120.0f < this->actor.xzDistToPlayer) && (yawDiff < 0x4300)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_LETTER_ZELDA); + func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_ZELDAS_LETTER); } } } diff --git a/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/src/overlays/actors/ovl_En_Hy/z_en_hy.c index 1a7dc3962f0..e14cfb82164 100644 --- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -421,7 +421,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { if (textId != 0) { if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) { - player->exchangeItemId = EXCH_ITEM_BLUE_FIRE; + player->exchangeItemId = EXCH_ITEM_BOTTLE_BLUE_FIRE; } return textId; } @@ -473,7 +473,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { case ENHY_TYPE_AHG_4: return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704B : (GET_INFTABLE(INFTABLE_C5) ? 0x7024 : 0x7023); case ENHY_TYPE_BOJ_5: - player->exchangeItemId = EXCH_ITEM_BLUE_FIRE; + player->exchangeItemId = EXCH_ITEM_BOTTLE_BLUE_FIRE; return 0x700C; case ENHY_TYPE_BBA: return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704A : (GET_INFTABLE(INFTABLE_C6) ? 0x7022 : 0x7021); @@ -554,7 +554,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { s16 func_80A70058(PlayState* play, Actor* thisx) { EnHy* this = (EnHy*)thisx; - s16 beggarItems[] = { ITEM_BLUE_FIRE, ITEM_FISH, ITEM_BUG, ITEM_FAIRY }; + s16 beggarItems[] = { ITEM_BOTTLE_BLUE_FIRE, ITEM_BOTTLE_FISH, ITEM_BOTTLE_BUG, ITEM_BOTTLE_FAIRY }; s16 beggarRewards[] = { 150, 100, 50, 25 }; switch (Message_GetState(&play->msgCtx)) { @@ -596,7 +596,7 @@ s16 func_80A70058(PlayState* play, Actor* thisx) { case 0x70F3: Rupees_ChangeBy(beggarRewards[this->actor.textId - 0x70F0]); Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENHY_ANIM_17); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); break; case 0x7016: SET_INFTABLE(INFTABLE_C0); @@ -723,12 +723,12 @@ void func_80A70834(EnHy* this, PlayState* play) { Player* player = GET_PLAYER(play); if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) { - if (!Inventory_HasSpecificBottle(ITEM_BLUE_FIRE) && !Inventory_HasSpecificBottle(ITEM_BUG) && - !Inventory_HasSpecificBottle(ITEM_FISH)) { + if (!Inventory_HasSpecificBottle(ITEM_BOTTLE_BLUE_FIRE) && !Inventory_HasSpecificBottle(ITEM_BOTTLE_BUG) && + !Inventory_HasSpecificBottle(ITEM_BOTTLE_FISH)) { switch (func_8002F368(play)) { - case EXCH_ITEM_POE: - case EXCH_ITEM_BIG_POE: - case EXCH_ITEM_LETTER_RUTO: + case EXCH_ITEM_BOTTLE_POE: + case EXCH_ITEM_BOTTLE_BIG_POE: + case EXCH_ITEM_BOTTLE_RUTOS_LETTER: this->actor.textId = 0x70EF; break; default: @@ -739,13 +739,13 @@ void func_80A70834(EnHy* this, PlayState* play) { } } else { switch (func_8002F368(play)) { - case EXCH_ITEM_BLUE_FIRE: + case EXCH_ITEM_BOTTLE_BLUE_FIRE: this->actor.textId = 0x70F0; break; - case EXCH_ITEM_FISH: + case EXCH_ITEM_BOTTLE_FISH: this->actor.textId = 0x70F1; break; - case EXCH_ITEM_BUG: + case EXCH_ITEM_BOTTLE_BUG: this->actor.textId = 0x70F2; break; default: diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c index 689fd795516..5d9414cf786 100644 --- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c +++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c @@ -362,7 +362,7 @@ void EnKarebaba_DeadItemDrop(EnKarebaba* this, PlayState* play) { if (Actor_HasParent(&this->actor, play) || this->actor.params == 0) { EnKarebaba_SetupDead(this); } else { - func_8002F554(&this->actor, play, GI_STICKS_1); + func_8002F554(&this->actor, play, GI_DEKU_STICKS_1); } } diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c index c8369f12e64..47b0e8a9259 100644 --- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c +++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c @@ -1198,7 +1198,7 @@ void func_80A99504(EnKo* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = func_80A99560; } else { - func_8002F434(&this->actor, play, GI_SAW, 120.0f, 10.0f); + func_8002F434(&this->actor, play, GI_POACHERS_SAW, 120.0f, 10.0f); } } diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c index b90d355c5b3..97d92801751 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -76,7 +76,7 @@ u16 EnKz_GetTextNoMaskChild(PlayState* play, EnKz* this) { } else if (GET_EVENTCHKINF(EVENTCHKINF_33)) { return 0x401C; } else { - player->exchangeItemId = EXCH_ITEM_LETTER_RUTO; + player->exchangeItemId = EXCH_ITEM_BOTTLE_RUTOS_LETTER; return 0x401A; } } @@ -84,7 +84,7 @@ u16 EnKz_GetTextNoMaskChild(PlayState* play, EnKz* this) { u16 EnKz_GetTextNoMaskAdult(PlayState* play, EnKz* this) { Player* player = GET_PLAYER(play); - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_FROG) { + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYEBALL_FROG) { if (!GET_INFTABLE(INFTABLE_139)) { if (CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, EQUIP_INV_TUNIC_ZORA)) { return 0x401F; @@ -237,7 +237,7 @@ void func_80A9CB18(EnKz* this, PlayState* play) { if (func_80A9C95C(play, this, &this->unk_1E0.unk_00, 340.0f, EnKz_GetText, func_80A9C6C0)) { if ((this->actor.textId == 0x401A) && !GET_EVENTCHKINF(EVENTCHKINF_33)) { - if (func_8002F368(play) == EXCH_ITEM_LETTER_RUTO) { + if (func_8002F368(play) == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->actor.textId = 0x401B; this->sfxPlayed = false; } else { @@ -394,7 +394,7 @@ void EnKz_Mweep(EnKz* this, PlayState* play) { Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); if ((EnKz_FollowPath(this, play) == 1) && (this->waypoint == 0)) { Animation_ChangeByInfo(&this->skelanime, sAnimationInfo, ENKZ_ANIM_1); - Inventory_ReplaceItem(play, ITEM_LETTER_RUTO, ITEM_BOTTLE); + Inventory_ReplaceItem(play, ITEM_BOTTLE_RUTOS_LETTER, ITEM_BOTTLE_EMPTY); EnKz_SetMovedPos(this, play); SET_EVENTCHKINF(EVENTCHKINF_33); this->actor.speedXZ = 0.0; @@ -431,7 +431,7 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { this->unk_1E0.unk_00 = 1; this->actionFunc = EnKz_StartTimer; } else { - getItemId = this->isTrading == true ? GI_FROG : GI_TUNIC_ZORA; + getItemId = this->isTrading == true ? GI_EYEBALL_FROG : GI_TUNIC_ZORA; yRange = fabsf(this->actor.yDistToPlayer) + 1.0f; xzRange = this->actor.xzDistToPlayer + 1.0f; func_8002F434(&this->actor, play, getItemId, xzRange, yRange); @@ -440,7 +440,7 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { void EnKz_StartTimer(EnKz* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEBALL_FROG) { func_80088AA0(180); // start timer2 with 3 minutes CLEAR_EVENTINF(EVENTINF_10); } diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c index 6d5e931019e..2681ae09da2 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -95,14 +95,14 @@ void func_80AACA94(EnMk* this, PlayState* play) { func_80088AA0(240); CLEAR_EVENTINF(EVENTINF_10); } else { - func_8002F434(&this->actor, play, GI_EYEDROPS, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_EYE_DROPS, 10000.0f, 50.0f); } } void func_80AACB14(EnMk* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { this->actionFunc = func_80AACA94; - func_8002F434(&this->actor, play, GI_EYEDROPS, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_EYE_DROPS, 10000.0f, 50.0f); } } @@ -222,7 +222,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { player->actor.textId = this->actor.textId; this->actionFunc = func_80AACA40; } else { - if (INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_EYE_DROPS) { player->actor.textId = 0x4032; this->actionFunc = func_80AACA40; } else { @@ -247,7 +247,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { } } break; - case EXCH_ITEM_FROG: + case EXCH_ITEM_EYEBALL_FROG: player->actor.textId = 0x4019; this->actionFunc = func_80AACEE8; Animation_Change(&this->skelAnime, &object_mk_Anim_000368, 1.0f, 0.0f, @@ -273,7 +273,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { angle = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(angle) < 0x2151) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_FROG); + func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_EYEBALL_FROG); this->flags |= 1; } } diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c index e8b92b3e2b6..50450a787dc 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -128,7 +128,7 @@ void EnMs_Talk(EnMs* this, PlayState* play) { Message_ContinueTextbox(play, 0x4069); // not enough rupees text return; } - func_8002F434(&this->actor, play, GI_BEAN, 90.0f, 10.0f); + func_8002F434(&this->actor, play, GI_MAGIC_BEAN, 90.0f, 10.0f); this->actionFunc = EnMs_Sell; return; case 1: // no @@ -145,7 +145,7 @@ void EnMs_Sell(EnMs* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = EnMs_TalkAfterPurchase; } else { - func_8002F434(&this->actor, play, GI_BEAN, 90.0f, 10.0f); + func_8002F434(&this->actor, play, GI_MAGIC_BEAN, 90.0f, 10.0f); } } diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c index 40f65f8f75a..9ca00f8e8e4 100644 --- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c +++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c @@ -308,8 +308,8 @@ void func_80ABA654(EnNiwLady* this, PlayState* play) { this->unk_26E = 0xB; if (!GET_ITEMGETINF(ITEMGETINF_0C)) { this->actor.parent = NULL; - this->getItemId = GI_BOTTLE; - func_8002F434(&this->actor, play, GI_BOTTLE, 100.0f, 50.0f); + this->getItemId = GI_BOTTLE_EMPTY; + func_8002F434(&this->actor, play, GI_BOTTLE_EMPTY, 100.0f, 50.0f); this->actionFunc = func_80ABAC00; return; } diff --git a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c index 90d2713cd91..46f118b95ea 100644 --- a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c +++ b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c @@ -698,11 +698,11 @@ void EnPoField_SoulInteract(EnPoField* this, PlayState* play) { if (Inventory_HasEmptyBottle()) { Audio_PlayActorSfx2(&this->actor, NA_SE_EN_PO_BIG_GET); if (this->actor.params == 0) { - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); this->actor.textId = 0x5008; } else { this->actor.textId = 0x508F; - Item_Give(play, ITEM_BIG_POE); + Item_Give(play, ITEM_BOTTLE_BIG_POE); Flags_SetSwitch(play, sSpawnSwitchFlags[this->spawnFlagIndex]); } } else { diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.c b/src/overlays/actors/ovl_En_Poh/z_en_poh.c index 2222fde7f9d..135126ca92c 100644 --- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c +++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c @@ -816,7 +816,7 @@ void EnPoh_TalkRegular(EnPoh* this, PlayState* play) { if (play->msgCtx.choiceIndex == 0) { if (Inventory_HasEmptyBottle()) { this->actor.textId = 0x5008; - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); Audio_PlayActorSfx2(&this->actor, NA_SE_EN_PO_BIG_GET); } else { this->actor.textId = 0x5006; diff --git a/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/src/overlays/actors/ovl_En_Skj/z_en_skj.c index 47f741c4578..9f236e43d42 100644 --- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c +++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c @@ -397,7 +397,7 @@ void EnSkj_Init(Actor* thisx, PlayState* play2) { default: this->actor.params = type; if (((this->actor.params != 0) && (this->actor.params != 1)) && (this->actor.params != 2)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) < ITEM_SAW) { + if (INV_CONTENT(ITEM_TRADE_ADULT) < ITEM_POACHERS_SAW) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 8de603e5db2..8c0aa4f8a1b 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -947,7 +947,7 @@ void EnTa_GiveItemInLonLonHouse(EnTa* this, PlayState* play) { } else if (this->stateFlags & TALON_STATE_FLAG_GIVING_MILK_REFILL) { func_8002F434(&this->actor, play, GI_MILK, 10000.0f, 50.0f); } else { - func_8002F434(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_MILK_FULL, 10000.0f, 50.0f); } this->stateFlags |= TALON_STATE_FLAG_TRACKING_PLAYER; } @@ -957,7 +957,7 @@ void EnTa_TalkAfterCuccoGameFirstWon(EnTa* this, PlayState* play) { Message_CloseTextbox(play); this->stateFlags &= ~TALON_STATE_FLAG_GIVING_MILK_REFILL; EnTa_SetupAction(this, EnTa_GiveItemInLonLonHouse, EnTa_AnimRunToEnd); - func_8002F434(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_MILK_FULL, 10000.0f, 50.0f); } } diff --git a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c index 2d61dda5994..93425a0bc52 100644 --- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c +++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c @@ -311,7 +311,7 @@ void func_80B20768(EnToryo* this, PlayState* play) { this->actor.parent = NULL; this->unk_1E4 = 5; } else { - func_8002F434(&this->actor, play, GI_SWORD_BROKEN, 100.0f, 10.0f); + func_8002F434(&this->actor, play, GI_BROKEN_GORONS_SWORD, 100.0f, 10.0f); } return; } @@ -330,7 +330,7 @@ void func_80B20768(EnToryo* this, PlayState* play) { Actor_GetScreenPos(play, &this->actor, &sp32, &sp30); if ((sp32 >= 0) && (sp32 < 0x141) && (sp30 >= 0) && (sp30 < 0xF1)) { this->actor.textId = func_80B206A0(this, play); - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_SAW); + func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_POACHERS_SAW); } } } diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c index f05b8e58979..d1bca099a14 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -511,7 +511,7 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { if ((Message_GetState(msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actor.textId = 0xFFFF; play->talkWithPlayer(play, &this->actor); - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, 120.0f, 10.0f); + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, 120.0f, 10.0f); play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_1E2++; @@ -526,7 +526,7 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { this->actor.parent = NULL; this->unk_1E2++; } else { - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, 120.0f, 10.0f); + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, 120.0f, 10.0f); } break; case 3: diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c index fbb691e9563..0867ff0ed5c 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -1114,7 +1114,7 @@ s32 EnZl4_CsMakePlan(EnZl4* this, PlayState* play) { Camera_ChangeSetting(GET_ACTIVE_CAM(play), CAM_SET_NORMAL0); this->talkState = 7; play->talkWithPlayer(play, &this->actor); - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, fabsf(this->actor.xzDistToPlayer) + 1.0f, + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, fabsf(this->actor.xzDistToPlayer) + 1.0f, fabsf(this->actor.yDistToPlayer) + 1.0f); play->msgCtx.stateTimer = 4; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -1125,7 +1125,7 @@ s32 EnZl4_CsMakePlan(EnZl4* this, PlayState* play) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0); this->talkState++; } else { - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, fabsf(this->actor.xzDistToPlayer) + 1.0f, + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, fabsf(this->actor.xzDistToPlayer) + 1.0f, fabsf(this->actor.yDistToPlayer) + 1.0f); } // no break here is required for matching diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index 01d8c1a8740..89270ab8fdc 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -4982,7 +4982,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { } else { if ((D_80B7E078 >= 60.0f) && !(HIGH_SCORE(HS_FISHING) & 0x800)) { HIGH_SCORE(HS_FISHING) |= 0x800; - getItemId = GI_SCALE_GOLD; + getItemId = GI_SCALE_GOLDEN; sSinkingLureLocation = (u8)Rand_ZeroFloat(3.999f) + 1; } } @@ -5043,7 +5043,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { if (Actor_HasParent(&this->actor, play)) { this->unk_15C = 24; } else { - func_8002F434(&this->actor, play, GI_SCALE_GOLD, 2000.0f, 1000.0f); + func_8002F434(&this->actor, play, GI_SCALE_GOLDEN, 2000.0f, 1000.0f); } break; diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c index 34cfdc81d27..d9db53806c0 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -53,37 +53,37 @@ static s16 sObjectIds[] = { // Indices passed to the item table in z_draw.c static s16 sDrawItemIndices[] = { - GID_BOTTLE, // ITEM_ETC_BOTTLE - GID_LETTER_RUTO, // ITEM_ETC_LETTER - GID_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN - GID_QUIVER_40, // ITEM_ETC_QUIVER - GID_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER - GID_SCALE_GOLDEN, // ITEM_ETC_SCALE_GOLD - GID_KEY_SMALL, // ITEM_ETC_KEY_SMALL - GID_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE - GID_RUPEE_GREEN, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME - GID_RUPEE_BLUE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME - GID_RUPEE_RED, // ITEM_ETC_RUPEE_RED_CHEST_GAME - GID_RUPEE_PURPLE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME - GID_HEART_PIECE, // ITEM_ETC_HEART_PIECE_CHEST_GAME - GID_KEY_SMALL, // ITEM_ETC_KEY_SMALL_CHEST_GAME + GID_BOTTLE_EMPTY, // ITEM_ETC_BOTTLE + GID_BOTTLE_RUTOS_LETTER, // ITEM_ETC_LETTER + GID_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN + GID_QUIVER_40, // ITEM_ETC_QUIVER + GID_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER + GID_SCALE_GOLDEN, // ITEM_ETC_SCALE_GOLD + GID_SMALL_KEY, // ITEM_ETC_KEY_SMALL + GID_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE + GID_RUPEE_GREEN, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME + GID_RUPEE_BLUE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME + GID_RUPEE_RED, // ITEM_ETC_RUPEE_RED_CHEST_GAME + GID_RUPEE_PURPLE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME + GID_HEART_PIECE, // ITEM_ETC_HEART_PIECE_CHEST_GAME + GID_SMALL_KEY, // ITEM_ETC_KEY_SMALL_CHEST_GAME }; static s16 sGetItemIds[] = { - GI_BOTTLE, // ITEM_ETC_BOTTLE - GI_LETTER_RUTO, // ITEM_ETC_LETTER - GI_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN - GI_QUIVER_40, // ITEM_ETC_QUIVER - GI_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER - GI_SCALE_GOLD, // ITEM_ETC_SCALE_GOLD - GI_KEY_SMALL, // ITEM_ETC_KEY_SMALL - GI_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE - GI_NONE, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME - GI_NONE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME - GI_NONE, // ITEM_ETC_RUPEE_RED_CHEST_GAME - GI_NONE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME - GI_NONE, // ITEM_ETC_HEART_PIECE_CHEST_GAME - GI_NONE, // ITEM_ETC_KEY_SMALL_CHEST_GAME + GI_BOTTLE_EMPTY, // ITEM_ETC_BOTTLE + GI_BOTTLE_RUTOS_LETTER, // ITEM_ETC_LETTER + GI_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN + GI_QUIVER_40, // ITEM_ETC_QUIVER + GI_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER + GI_SCALE_GOLDEN, // ITEM_ETC_SCALE_GOLD + GI_SMALL_KEY, // ITEM_ETC_KEY_SMALL + GI_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE + GI_NONE, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME + GI_NONE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME + GI_NONE, // ITEM_ETC_RUPEE_RED_CHEST_GAME + GI_NONE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME + GI_NONE, // ITEM_ETC_HEART_PIECE_CHEST_GAME + GI_NONE, // ITEM_ETC_KEY_SMALL_CHEST_GAME }; void ItemEtcetera_SetupAction(ItemEtcetera* this, ItemEtceteraActionFunc actionFunc) { diff --git a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c index 9db2778c8a0..112d4aee904 100644 --- a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c +++ b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c @@ -180,7 +180,7 @@ void ItemOcarina_WaitInWater(ItemOcarina* this, PlayState* play) { this->actionFunc = ItemOcarina_StartSoTCutscene; this->actor.draw = NULL; } else { - func_8002F434(&this->actor, play, GI_OCARINA_OOT, 30.0f, 50.0f); + func_8002F434(&this->actor, play, GI_OCARINA_OF_TIME, 30.0f, 50.0f); if ((play->gameplayFrames & 13) == 0) { EffectSsBubble_Spawn(play, &this->actor.world.pos, 0.0f, 0.0f, 10.0f, 0.13f); @@ -199,5 +199,5 @@ void ItemOcarina_Draw(Actor* thisx, PlayState* play) { func_8002EBCC(thisx, play, 0); func_8002ED80(thisx, play, 0); - GetItem_Draw(play, GID_OCARINA_TIME); + GetItem_Draw(play, GID_OCARINA_OF_TIME); } diff --git a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c index 8fcbefe8ff9..b70c8c71aae 100644 --- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c +++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c @@ -538,12 +538,12 @@ void ObjBean_SetupWaitForBean(ObjBean* this) { void ObjBean_WaitForBean(ObjBean* this, PlayState* play) { if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) { - if (func_8002F368(play) == EXCH_ITEM_BEAN) { + if (func_8002F368(play) == EXCH_ITEM_MAGIC_BEAN) { func_80B8FE00(this); Flags_SetSwitch(play, this->dyna.actor.params & 0x3F); } } else { - func_8002F298(&this->dyna.actor, play, 40.0f, EXCH_ITEM_BEAN); + func_8002F298(&this->dyna.actor, play, 40.0f, EXCH_ITEM_MAGIC_BEAN); } } diff --git a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c index 31194f8a8c0..64f1e2729dd 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c @@ -175,7 +175,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) { if (dmgFlags & (DMG_FIRE | DMG_ARROW_NORMAL)) { interactionType = 1; } - } else if (player->heldItemAction == PLAYER_IA_STICK) { + } else if (player->heldItemAction == PLAYER_IA_DEKU_STICK) { Math_Vec3f_Diff(&player->meleeWeaponInfo[0].tip, &this->actor.world.pos, &tipToFlame); tipToFlame.y -= 67.0f; if ((SQ(tipToFlame.x) + SQ(tipToFlame.y) + SQ(tipToFlame.z)) < SQ(20.0f)) { diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index e1f2b7fe937..75e507ad82f 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -495,8 +495,8 @@ static u16 D_8085361C[] = { static GetItemEntry sGetItemTable[] = { // GI_BOMBS_5 GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT), - // GI_NUTS_5 - GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), + // GI_DEKU_NUTS_5 + GET_ITEM(ITEM_DEKU_NUTS_5, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), // GI_BOMBCHUS_10 GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT), // GI_BOW @@ -505,74 +505,74 @@ static GetItemEntry sGetItemTable[] = { GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, GID_SLINGSHOT, 0x30, 0x80, CHEST_ANIM_LONG), // GI_BOOMERANG GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, GID_BOOMERANG, 0x35, 0x80, CHEST_ANIM_LONG), - // GI_STICKS_1 - GET_ITEM(ITEM_STICK, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), + // GI_DEKU_STICKS_1 + GET_ITEM(ITEM_DEKU_STICK, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), // GI_HOOKSHOT GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, GID_HOOKSHOT, 0x36, 0x80, CHEST_ANIM_LONG), // GI_LONGSHOT GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, GID_LONGSHOT, 0x4F, 0x80, CHEST_ANIM_LONG), - // GI_LENS - GET_ITEM(ITEM_LENS, OBJECT_GI_GLASSES, GID_LENS, 0x39, 0x80, CHEST_ANIM_LONG), - // GI_LETTER_ZELDA - GET_ITEM(ITEM_LETTER_ZELDA, OBJECT_GI_LETTER, GID_LETTER_ZELDA, 0x69, 0x80, CHEST_ANIM_LONG), - // GI_OCARINA_OOT - GET_ITEM(ITEM_OCARINA_TIME, OBJECT_GI_OCARINA, GID_OCARINA_TIME, 0x3A, 0x80, CHEST_ANIM_LONG), + // GI_LENS_OF_TRUTH + GET_ITEM(ITEM_LENS_OF_TRUTH, OBJECT_GI_GLASSES, GID_LENS_OF_TRUTH, 0x39, 0x80, CHEST_ANIM_LONG), + // GI_ZELDAS_LETTER + GET_ITEM(ITEM_ZELDAS_LETTER, OBJECT_GI_LETTER, GID_ZELDAS_LETTER, 0x69, 0x80, CHEST_ANIM_LONG), + // GI_OCARINA_OF_TIME + GET_ITEM(ITEM_OCARINA_OF_TIME, OBJECT_GI_OCARINA, GID_OCARINA_OF_TIME, 0x3A, 0x80, CHEST_ANIM_LONG), // GI_HAMMER GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, GID_HAMMER, 0x38, 0x80, CHEST_ANIM_LONG), // GI_COJIRO GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, GID_COJIRO, 0x02, 0x80, CHEST_ANIM_LONG), - // GI_BOTTLE - GET_ITEM(ITEM_BOTTLE, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x42, 0x80, CHEST_ANIM_LONG), - // GI_POTION_RED - GET_ITEM(ITEM_POTION_RED, OBJECT_GI_LIQUID, GID_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG), - // GI_POTION_GREEN - GET_ITEM(ITEM_POTION_GREEN, OBJECT_GI_LIQUID, GID_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG), - // GI_POTION_BLUE - GET_ITEM(ITEM_POTION_BLUE, OBJECT_GI_LIQUID, GID_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG), - // GI_FAIRY - GET_ITEM(ITEM_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x46, 0x80, CHEST_ANIM_LONG), - // GI_MILK_BOTTLE - GET_ITEM(ITEM_MILK_BOTTLE, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG), - // GI_LETTER_RUTO - GET_ITEM(ITEM_LETTER_RUTO, OBJECT_GI_BOTTLE_LETTER, GID_LETTER_RUTO, 0x99, 0x80, CHEST_ANIM_LONG), - // GI_BEAN - GET_ITEM(ITEM_BEAN, OBJECT_GI_BEAN, GID_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT), + // GI_BOTTLE_EMPTY + GET_ITEM(ITEM_BOTTLE_EMPTY, OBJECT_GI_BOTTLE, GID_BOTTLE_EMPTY, 0x42, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_POTION_RED + GET_ITEM(ITEM_BOTTLE_POTION_RED, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_POTION_GREEN + GET_ITEM(ITEM_BOTTLE_POTION_GREEN, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_POTION_BLUE + GET_ITEM(ITEM_BOTTLE_POTION_BLUE, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_FAIRY + GET_ITEM(ITEM_BOTTLE_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE_EMPTY, 0x46, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_MILK_FULL + GET_ITEM(ITEM_BOTTLE_MILK_FULL, OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, 0x98, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_RUTOS_LETTER + GET_ITEM(ITEM_BOTTLE_RUTOS_LETTER, OBJECT_GI_BOTTLE_LETTER, GID_BOTTLE_RUTOS_LETTER, 0x99, 0x80, CHEST_ANIM_LONG), + // GI_MAGIC_BEAN + GET_ITEM(ITEM_MAGIC_BEAN, OBJECT_GI_BEAN, GID_MAGIC_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT), // GI_MASK_SKULL GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, 0x10, 0x80, CHEST_ANIM_LONG), // GI_MASK_SPOOKY GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, 0x11, 0x80, CHEST_ANIM_LONG), // GI_CHICKEN - GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CUCCO, 0x48, 0x80, CHEST_ANIM_LONG), // GI_MASK_KEATON GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, 0x12, 0x80, CHEST_ANIM_LONG), - // GI_MASK_BUNNY - GET_ITEM(ITEM_MASK_BUNNY, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, 0x13, 0x80, CHEST_ANIM_LONG), + // GI_MASK_BUNNY_HOOD + GET_ITEM(ITEM_MASK_BUNNY_HOOD, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY_HOOD, 0x13, 0x80, CHEST_ANIM_LONG), // GI_MASK_TRUTH GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, 0x17, 0x80, CHEST_ANIM_LONG), // GI_POCKET_EGG GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, GID_EGG, 0x01, 0x80, CHEST_ANIM_LONG), // GI_POCKET_CUCCO - GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CUCCO, 0x48, 0x80, CHEST_ANIM_LONG), // GI_ODD_MUSHROOM GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, GID_ODD_MUSHROOM, 0x03, 0x80, CHEST_ANIM_LONG), // GI_ODD_POTION GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, GID_ODD_POTION, 0x04, 0x80, CHEST_ANIM_LONG), - // GI_SAW - GET_ITEM(ITEM_SAW, OBJECT_GI_SAW, GID_SAW, 0x05, 0x80, CHEST_ANIM_LONG), - // GI_SWORD_BROKEN - GET_ITEM(ITEM_SWORD_BROKEN, OBJECT_GI_BROKENSWORD, GID_SWORD_BROKEN, 0x08, 0x80, CHEST_ANIM_LONG), + // GI_POACHERS_SAW + GET_ITEM(ITEM_POACHERS_SAW, OBJECT_GI_SAW, GID_POACHERS_SAW, 0x05, 0x80, CHEST_ANIM_LONG), + // GI_BROKEN_GORONS_SWORD + GET_ITEM(ITEM_BROKEN_GORONS_SWORD, OBJECT_GI_BROKENSWORD, GID_BROKEN_GORONS_SWORD, 0x08, 0x80, CHEST_ANIM_LONG), // GI_PRESCRIPTION GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, GID_PRESCRIPTION, 0x09, 0x80, CHEST_ANIM_LONG), - // GI_FROG - GET_ITEM(ITEM_FROG, OBJECT_GI_FROG, GID_FROG, 0x0D, 0x80, CHEST_ANIM_LONG), - // GI_EYEDROPS - GET_ITEM(ITEM_EYEDROPS, OBJECT_GI_EYE_LOTION, GID_EYEDROPS, 0x0E, 0x80, CHEST_ANIM_LONG), + // GI_EYEBALL_FROG + GET_ITEM(ITEM_EYEBALL_FROG, OBJECT_GI_FROG, GID_EYEBALL_FROG, 0x0D, 0x80, CHEST_ANIM_LONG), + // GI_EYE_DROPS + GET_ITEM(ITEM_EYE_DROPS, OBJECT_GI_EYE_LOTION, GID_EYE_DROPS, 0x0E, 0x80, CHEST_ANIM_LONG), // GI_CLAIM_CHECK GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, GID_CLAIM_CHECK, 0x0A, 0x80, CHEST_ANIM_LONG), // GI_SWORD_KOKIRI GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, 0xA4, 0x80, CHEST_ANIM_LONG), // GI_SWORD_KNIFE - GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x4B, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_SWORD_BIGGORON, OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, 0x4B, 0x80, CHEST_ANIM_LONG), // GI_SHIELD_DEKU GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, 0x4C, 0xA0, CHEST_ANIM_SHORT), // GI_SHIELD_HYLIAN @@ -597,52 +597,52 @@ static GetItemEntry sGetItemTable[] = { GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_30, 0x59, 0x80, CHEST_ANIM_LONG), // GI_BOMB_BAG_40 GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_40, 0x5A, 0x80, CHEST_ANIM_LONG), - // GI_GAUNTLETS_SILVER - GET_ITEM(ITEM_GAUNTLETS_SILVER, OBJECT_GI_GLOVES, GID_GAUNTLETS_SILVER, 0x5B, 0x80, CHEST_ANIM_LONG), - // GI_GAUNTLETS_GOLD - GET_ITEM(ITEM_GAUNTLETS_GOLD, OBJECT_GI_GLOVES, GID_GAUNTLETS_GOLD, 0x5C, 0x80, CHEST_ANIM_LONG), + // GI_SILVER_GAUNTLETS + GET_ITEM(ITEM_STRENGTH_SILVER_GAUNTLETS, OBJECT_GI_GLOVES, GID_SILVER_GAUNTLETS, 0x5B, 0x80, CHEST_ANIM_LONG), + // GI_GOLD_GAUNTLETS + GET_ITEM(ITEM_STRENGTH_GOLD_GAUNTLETS, OBJECT_GI_GLOVES, GID_GOLD_GAUNTLETS, 0x5C, 0x80, CHEST_ANIM_LONG), // GI_SCALE_SILVER GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, GID_SCALE_SILVER, 0xCD, 0x80, CHEST_ANIM_LONG), - // GI_SCALE_GOLD + // GI_SCALE_GOLDEN GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, GID_SCALE_GOLDEN, 0xCE, 0x80, CHEST_ANIM_LONG), // GI_STONE_OF_AGONY GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, GID_STONE_OF_AGONY, 0x68, 0x80, CHEST_ANIM_LONG), - // GI_GERUDO_CARD - GET_ITEM(ITEM_GERUDO_CARD, OBJECT_GI_GERUDO, GID_GERUDO_CARD, 0x7B, 0x80, CHEST_ANIM_LONG), + // GI_GERUDOS_CARD + GET_ITEM(ITEM_GERUDOS_CARD, OBJECT_GI_GERUDO, GID_GERUDOS_CARD, 0x7B, 0x80, CHEST_ANIM_LONG), // GI_OCARINA_FAIRY GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, GID_OCARINA_FAIRY, 0x3A, 0x80, CHEST_ANIM_LONG), - // GI_SEEDS_5 - GET_ITEM(ITEM_SEEDS, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT), + // GI_DEKU_SEEDS_5 + GET_ITEM(ITEM_DEKU_SEEDS, OBJECT_GI_SEED, GID_DEKU_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT), // GI_HEART_CONTAINER GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG), // GI_HEART_PIECE GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xC2, 0x80, CHEST_ANIM_LONG), - // GI_KEY_BOSS - GET_ITEM(ITEM_KEY_BOSS, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, 0xC7, 0x80, CHEST_ANIM_LONG), + // GI_BOSS_KEY + GET_ITEM(ITEM_DUNGEON_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, 0xC7, 0x80, CHEST_ANIM_LONG), // GI_COMPASS - GET_ITEM(ITEM_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG), - // GI_MAP + GET_ITEM(ITEM_DUNGEON_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG), + // GI_DUNGEON_MAP GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, 0x66, 0x80, CHEST_ANIM_LONG), - // GI_KEY_SMALL - GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0x60, 0x80, CHEST_ANIM_SHORT), - // GI_MAGIC_SMALL - GET_ITEM(ITEM_MAGIC_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT), - // GI_MAGIC_LARGE - GET_ITEM(ITEM_MAGIC_LARGE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT), + // GI_SMALL_KEY + GET_ITEM(ITEM_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, 0x60, 0x80, CHEST_ANIM_SHORT), + // GI_MAGIC_JAR_SMALL + GET_ITEM(ITEM_MAGIC_JAR_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT), + // GI_MAGIC_JAR_LARGE + GET_ITEM(ITEM_MAGIC_JAR_BIG, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT), // GI_WALLET_ADULT - GET_ITEM(ITEM_WALLET_ADULT, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_ADULTS_WALLET, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG), // GI_WALLET_GIANT - GET_ITEM(ITEM_WALLET_GIANT, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_GIANTS_WALLET, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG), // GI_WEIRD_EGG GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, GID_EGG, 0x9A, 0x80, CHEST_ANIM_LONG), // GI_RECOVERY_HEART GET_ITEM(ITEM_RECOVERY_HEART, OBJECT_GI_HEART, GID_RECOVERY_HEART, 0x55, 0x80, CHEST_ANIM_LONG), - // GI_ARROWS_SMALL - GET_ITEM(ITEM_ARROWS_SMALL, OBJECT_GI_ARROW, GID_ARROWS_SMALL, 0xE6, 0x48, CHEST_ANIM_SHORT), - // GI_ARROWS_MEDIUM - GET_ITEM(ITEM_ARROWS_MEDIUM, OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, 0xE6, 0x49, CHEST_ANIM_SHORT), - // GI_ARROWS_LARGE - GET_ITEM(ITEM_ARROWS_LARGE, OBJECT_GI_ARROW, GID_ARROWS_LARGE, 0xE6, 0x4A, CHEST_ANIM_SHORT), + // GI_ARROWS_5 + GET_ITEM(ITEM_ARROWS_5, OBJECT_GI_ARROW, GID_ARROWS_5, 0xE6, 0x48, CHEST_ANIM_SHORT), + // GI_ARROWS_10 + GET_ITEM(ITEM_ARROWS_10, OBJECT_GI_ARROW, GID_ARROWS_10, 0xE6, 0x49, CHEST_ANIM_SHORT), + // GI_ARROWS_30 + GET_ITEM(ITEM_ARROWS_30, OBJECT_GI_ARROW, GID_ARROWS_30, 0xE6, 0x4A, CHEST_ANIM_SHORT), // GI_RUPEE_GREEN GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0x6F, 0x00, CHEST_ANIM_SHORT), // GI_RUPEE_BLUE @@ -652,21 +652,21 @@ static GetItemEntry sGetItemTable[] = { // GI_HEART_CONTAINER_2 GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG), // GI_MILK - GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG), + GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, 0x98, 0x80, CHEST_ANIM_LONG), // GI_MASK_GORON GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, GID_MASK_GORON, 0x14, 0x80, CHEST_ANIM_LONG), // GI_MASK_ZORA GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, GID_MASK_ZORA, 0x15, 0x80, CHEST_ANIM_LONG), // GI_MASK_GERUDO GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, 0x16, 0x80, CHEST_ANIM_LONG), - // GI_BRACELET - GET_ITEM(ITEM_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG), + // GI_GORONS_BRACELET + GET_ITEM(ITEM_STRENGTH_GORONS_BRACELET, OBJECT_GI_BRACELET, GID_GORONS_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG), // GI_RUPEE_PURPLE GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF1, 0x14, CHEST_ANIM_SHORT), // GI_RUPEE_GOLD GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, GID_RUPEE_GOLD, 0xF2, 0x13, CHEST_ANIM_SHORT), - // GI_SWORD_BGS - GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x0C, 0x80, CHEST_ANIM_LONG), + // GI_SWORD_BIGGORON + GET_ITEM(ITEM_SWORD_BIGGORON, OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, 0x0C, 0x80, CHEST_ANIM_LONG), // GI_ARROW_FIRE GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, GID_ARROW_FIRE, 0x70, 0x80, CHEST_ANIM_LONG), // GI_ARROW_ICE @@ -685,14 +685,14 @@ static GetItemEntry sGetItemTable[] = { GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG), // GI_BULLET_BAG_40 GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG), - // GI_STICKS_5 - GET_ITEM(ITEM_STICKS_5, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), - // GI_STICKS_10 - GET_ITEM(ITEM_STICKS_10, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), - // GI_NUTS_5_2 - GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), - // GI_NUTS_10 - GET_ITEM(ITEM_NUTS_10, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), + // GI_DEKU_STICKS_5 + GET_ITEM(ITEM_DEKU_STICKS_5, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), + // GI_DEKU_STICKS_10 + GET_ITEM(ITEM_DEKU_STICKS_10, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT), + // GI_DEKU_NUTS_5_2 + GET_ITEM(ITEM_DEKU_NUTS_5, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), + // GI_DEKU_NUTS_10 + GET_ITEM(ITEM_DEKU_NUTS_10, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT), // GI_BOMBS_1 GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT), // GI_BOMBS_10 @@ -701,24 +701,24 @@ static GetItemEntry sGetItemTable[] = { GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT), // GI_BOMBS_30 GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT), - // GI_SEEDS_30 - GET_ITEM(ITEM_SEEDS_30, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT), + // GI_DEKU_SEEDS_30 + GET_ITEM(ITEM_DEKU_SEEDS_30, OBJECT_GI_SEED, GID_DEKU_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT), // GI_BOMBCHUS_5 GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT), // GI_BOMBCHUS_20 GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT), - // GI_FISH - GET_ITEM(ITEM_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG), - // GI_BUGS - GET_ITEM(ITEM_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG), - // GI_BLUE_FIRE - GET_ITEM(ITEM_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG), - // GI_POE - GET_ITEM(ITEM_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG), - // GI_BIG_POE - GET_ITEM(ITEM_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_FISH + GET_ITEM(ITEM_BOTTLE_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_BUGS + GET_ITEM(ITEM_BOTTLE_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_BLUE_FIRE + GET_ITEM(ITEM_BOTTLE_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_POE + GET_ITEM(ITEM_BOTTLE_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG), + // GI_BOTTLE_BIG_POE + GET_ITEM(ITEM_BOTTLE_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG), // GI_DOOR_KEY - GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0xF3, 0x80, CHEST_ANIM_SHORT), + GET_ITEM(ITEM_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, 0xF3, 0x80, CHEST_ANIM_SHORT), // GI_RUPEE_GREEN_LOSE GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0xF4, 0x00, CHEST_ANIM_SHORT), // GI_RUPEE_BLUE_LOSE @@ -729,14 +729,14 @@ static GetItemEntry sGetItemTable[] = { GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF7, 0x14, CHEST_ANIM_SHORT), // GI_HEART_PIECE_WIN GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xFA, 0x80, CHEST_ANIM_LONG), - // GI_STICK_UPGRADE_20 - GET_ITEM(ITEM_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_STICK, 0x90, 0x80, CHEST_ANIM_SHORT), - // GI_STICK_UPGRADE_30 - GET_ITEM(ITEM_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_STICK, 0x91, 0x80, CHEST_ANIM_SHORT), - // GI_NUT_UPGRADE_30 - GET_ITEM(ITEM_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT), - // GI_NUT_UPGRADE_40 - GET_ITEM(ITEM_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT), + // GI_DEKU_STICK_UPGRADE_20 + GET_ITEM(ITEM_DEKU_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_DEKU_STICK, 0x90, 0x80, CHEST_ANIM_SHORT), + // GI_DEKU_STICK_UPGRADE_30 + GET_ITEM(ITEM_DEKU_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_DEKU_STICK, 0x91, 0x80, CHEST_ANIM_SHORT), + // GI_DEKU_NUT_UPGRADE_30 + GET_ITEM(ITEM_DEKU_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT), + // GI_DEKU_NUT_UPGRADE_40 + GET_ITEM(ITEM_DEKU_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT), // GI_BULLET_BAG_50 GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG_50, 0x6C, 0x80, CHEST_ANIM_LONG), // GI_ICE_TRAP @@ -1151,46 +1151,46 @@ static u8 D_80853E7C[] = { // Used to map item IDs to item actions static s8 sItemActions[] = { - PLAYER_IA_STICK, // ITEM_STICK - PLAYER_IA_NUT, // ITEM_NUT + PLAYER_IA_DEKU_STICK, // ITEM_DEKU_STICK + PLAYER_IA_DEKU_NUT, // ITEM_DEKU_NUT PLAYER_IA_BOMB, // ITEM_BOMB PLAYER_IA_BOW, // ITEM_BOW PLAYER_IA_BOW_FIRE, // ITEM_ARROW_FIRE PLAYER_IA_DINS_FIRE, // ITEM_DINS_FIRE PLAYER_IA_SLINGSHOT, // ITEM_SLINGSHOT PLAYER_IA_OCARINA_FAIRY, // ITEM_OCARINA_FAIRY - PLAYER_IA_OCARINA_TIME, // ITEM_OCARINA_TIME + PLAYER_IA_OCARINA_OF_TIME, // ITEM_OCARINA_OF_TIME PLAYER_IA_BOMBCHU, // ITEM_BOMBCHU PLAYER_IA_HOOKSHOT, // ITEM_HOOKSHOT PLAYER_IA_LONGSHOT, // ITEM_LONGSHOT PLAYER_IA_BOW_ICE, // ITEM_ARROW_ICE PLAYER_IA_FARORES_WIND, // ITEM_FARORES_WIND PLAYER_IA_BOOMERANG, // ITEM_BOOMERANG - PLAYER_IA_LENS, // ITEM_LENS - PLAYER_IA_BEAN, // ITEM_BEAN + PLAYER_IA_LENS_OF_TRUTH, // ITEM_LENS_OF_TRUTH + PLAYER_IA_MAGIC_BEAN, // ITEM_MAGIC_BEAN PLAYER_IA_HAMMER, // ITEM_HAMMER PLAYER_IA_BOW_LIGHT, // ITEM_ARROW_LIGHT PLAYER_IA_NAYRUS_LOVE, // ITEM_NAYRUS_LOVE - PLAYER_IA_BOTTLE, // ITEM_BOTTLE - PLAYER_IA_BOTTLE_POTION_RED, // ITEM_POTION_RED - PLAYER_IA_BOTTLE_POTION_GREEN, // ITEM_POTION_GREEN - PLAYER_IA_BOTTLE_POTION_BLUE, // ITEM_POTION_BLUE - PLAYER_IA_BOTTLE_FAIRY, // ITEM_FAIRY - PLAYER_IA_BOTTLE_FISH, // ITEM_FISH - PLAYER_IA_BOTTLE_MILK, // ITEM_MILK_BOTTLE - PLAYER_IA_BOTTLE_LETTER, // ITEM_LETTER_RUTO - PLAYER_IA_BOTTLE_FIRE, // ITEM_BLUE_FIRE - PLAYER_IA_BOTTLE_BUG, // ITEM_BUG - PLAYER_IA_BOTTLE_BIG_POE, // ITEM_BIG_POE - PLAYER_IA_BOTTLE_MILK_HALF, // ITEM_MILK_HALF - PLAYER_IA_BOTTLE_POE, // ITEM_POE + PLAYER_IA_BOTTLE, // ITEM_BOTTLE_EMPTY + PLAYER_IA_BOTTLE_POTION_RED, // ITEM_BOTTLE_POTION_RED + PLAYER_IA_BOTTLE_POTION_GREEN, // ITEM_BOTTLE_POTION_GREEN + PLAYER_IA_BOTTLE_POTION_BLUE, // ITEM_BOTTLE_POTION_BLUE + PLAYER_IA_BOTTLE_FAIRY, // ITEM_BOTTLE_FAIRY + PLAYER_IA_BOTTLE_FISH, // ITEM_BOTTLE_FISH + PLAYER_IA_BOTTLE_MILK_FULL, // ITEM_BOTTLE_MILK_FULL + PLAYER_IA_BOTTLE_RUTOS_LETTER, // ITEM_BOTTLE_RUTOS_LETTER + PLAYER_IA_BOTTLE_FIRE, // ITEM_BOTTLE_BLUE_FIRE + PLAYER_IA_BOTTLE_BUG, // ITEM_BOTTLE_BUG + PLAYER_IA_BOTTLE_BIG_POE, // ITEM_BOTTLE_BIG_POE + PLAYER_IA_BOTTLE_MILK_HALF, // ITEM_BOTTLE_MILK_HALF + PLAYER_IA_BOTTLE_POE, // ITEM_BOTTLE_POE PLAYER_IA_WEIRD_EGG, // ITEM_WEIRD_EGG PLAYER_IA_CHICKEN, // ITEM_CHICKEN - PLAYER_IA_LETTER_ZELDA, // ITEM_LETTER_ZELDA + PLAYER_IA_ZELDAS_LETTER, // ITEM_ZELDAS_LETTER PLAYER_IA_MASK_KEATON, // ITEM_MASK_KEATON PLAYER_IA_MASK_SKULL, // ITEM_MASK_SKULL PLAYER_IA_MASK_SPOOKY, // ITEM_MASK_SPOOKY - PLAYER_IA_MASK_BUNNY, // ITEM_MASK_BUNNY + PLAYER_IA_MASK_BUNNY_HOOD, // ITEM_MASK_BUNNY_HOOD PLAYER_IA_MASK_GORON, // ITEM_MASK_GORON PLAYER_IA_MASK_ZORA, // ITEM_MASK_ZORA PLAYER_IA_MASK_GERUDO, // ITEM_MASK_GERUDO @@ -1201,18 +1201,18 @@ static s8 sItemActions[] = { PLAYER_IA_COJIRO, // ITEM_COJIRO PLAYER_IA_ODD_MUSHROOM, // ITEM_ODD_MUSHROOM PLAYER_IA_ODD_POTION, // ITEM_ODD_POTION - PLAYER_IA_SAW, // ITEM_SAW - PLAYER_IA_SWORD_BROKEN, // ITEM_SWORD_BROKEN + PLAYER_IA_POACHERS_SAW, // ITEM_POACHERS_SAW + PLAYER_IA_BROKEN_GORONS_SWORD, // ITEM_BROKEN_GORONS_SWORD PLAYER_IA_PRESCRIPTION, // ITEM_PRESCRIPTION - PLAYER_IA_FROG, // ITEM_FROG - PLAYER_IA_EYEDROPS, // ITEM_EYEDROPS + PLAYER_IA_FROG, // ITEM_EYEBALL_FROG + PLAYER_IA_EYEDROPS, // ITEM_EYE_DROPS PLAYER_IA_CLAIM_CHECK, // ITEM_CLAIM_CHECK - PLAYER_IA_BOW_FIRE, // ITEM_BOW_ARROW_FIRE - PLAYER_IA_BOW_ICE, // ITEM_BOW_ARROW_ICE - PLAYER_IA_BOW_LIGHT, // ITEM_BOW_ARROW_LIGHT + PLAYER_IA_BOW_FIRE, // ITEM_BOW_FIRE + PLAYER_IA_BOW_ICE, // ITEM_BOW_ICE + PLAYER_IA_BOW_LIGHT, // ITEM_BOW_LIGHT PLAYER_IA_SWORD_KOKIRI, // ITEM_SWORD_KOKIRI PLAYER_IA_SWORD_MASTER, // ITEM_SWORD_MASTER - PLAYER_IA_SWORD_BGS, // ITEM_SWORD_BGS + PLAYER_IA_SWORD_BGS, // ITEM_SWORD_BIGGORON }; static s32 (*D_80853EDC[])(Player* this, PlayState* play) = { @@ -1222,7 +1222,7 @@ static s32 (*D_80853EDC[])(Player* this, PlayState* play) = { func_808349DC, // PLAYER_IA_SWORD_MASTER func_808349DC, // PLAYER_IA_SWORD_KOKIRI func_808349DC, // PLAYER_IA_SWORD_BGS - func_8083485C, // PLAYER_IA_STICK + func_8083485C, // PLAYER_IA_DEKU_STICK func_8083485C, // PLAYER_IA_HAMMER func_8083501C, // PLAYER_IA_BOW func_8083501C, // PLAYER_IA_BOW_FIRE @@ -1243,33 +1243,33 @@ static s32 (*D_80853EDC[])(Player* this, PlayState* play) = { func_8083485C, // PLAYER_IA_FARORES_WIND func_8083485C, // PLAYER_IA_NAYRUS_LOVE func_8083485C, // PLAYER_IA_DINS_FIRE - func_8083485C, // PLAYER_IA_NUT + func_8083485C, // PLAYER_IA_DEKU_NUT func_8083485C, // PLAYER_IA_OCARINA_FAIRY - func_8083485C, // PLAYER_IA_OCARINA_TIME + func_8083485C, // PLAYER_IA_OCARINA_OF_TIME func_8083485C, // PLAYER_IA_BOTTLE func_8083485C, // PLAYER_IA_BOTTLE_FISH func_8083485C, // PLAYER_IA_BOTTLE_FIRE func_8083485C, // PLAYER_IA_BOTTLE_BUG func_8083485C, // PLAYER_IA_BOTTLE_POE func_8083485C, // PLAYER_IA_BOTTLE_BIG_POE - func_8083485C, // PLAYER_IA_BOTTLE_LETTER + func_8083485C, // PLAYER_IA_BOTTLE_RUTOS_LETTER func_8083485C, // PLAYER_IA_BOTTLE_POTION_RED func_8083485C, // PLAYER_IA_BOTTLE_POTION_BLUE func_8083485C, // PLAYER_IA_BOTTLE_POTION_GREEN - func_8083485C, // PLAYER_IA_BOTTLE_MILK + func_8083485C, // PLAYER_IA_BOTTLE_MILK_FULL func_8083485C, // PLAYER_IA_BOTTLE_MILK_HALF func_8083485C, // PLAYER_IA_BOTTLE_FAIRY - func_8083485C, // PLAYER_IA_LETTER_ZELDA + func_8083485C, // PLAYER_IA_ZELDAS_LETTER func_8083485C, // PLAYER_IA_WEIRD_EGG func_8083485C, // PLAYER_IA_CHICKEN - func_8083485C, // PLAYER_IA_BEAN + func_8083485C, // PLAYER_IA_MAGIC_BEAN func_8083485C, // PLAYER_IA_POCKET_EGG func_8083485C, // PLAYER_IA_POCKET_CUCCO func_8083485C, // PLAYER_IA_COJIRO func_8083485C, // PLAYER_IA_ODD_MUSHROOM func_8083485C, // PLAYER_IA_ODD_POTION - func_8083485C, // PLAYER_IA_SAW - func_8083485C, // PLAYER_IA_SWORD_BROKEN + func_8083485C, // PLAYER_IA_POACHERS_SAW + func_8083485C, // PLAYER_IA_BROKEN_GORONS_SWORD func_8083485C, // PLAYER_IA_PRESCRIPTION func_8083485C, // PLAYER_IA_FROG func_8083485C, // PLAYER_IA_EYEDROPS @@ -1277,12 +1277,12 @@ static s32 (*D_80853EDC[])(Player* this, PlayState* play) = { func_8083485C, // PLAYER_IA_MASK_KEATON func_8083485C, // PLAYER_IA_MASK_SKULL func_8083485C, // PLAYER_IA_MASK_SPOOKY - func_8083485C, // PLAYER_IA_MASK_BUNNY + func_8083485C, // PLAYER_IA_MASK_BUNNY_HOOD func_8083485C, // PLAYER_IA_MASK_GORON func_8083485C, // PLAYER_IA_MASK_ZORA func_8083485C, // PLAYER_IA_MASK_GERUDO func_8083485C, // PLAYER_IA_MASK_TRUTH - func_8083485C, // PLAYER_IA_LENS + func_8083485C, // PLAYER_IA_LENS_OF_TRUTH }; static void (*D_80853FE8[])(PlayState* play, Player* this) = { @@ -1292,7 +1292,7 @@ static void (*D_80853FE8[])(PlayState* play, Player* this) = { func_80833770, // PLAYER_IA_SWORD_MASTER func_80833770, // PLAYER_IA_SWORD_KOKIRI func_80833770, // PLAYER_IA_SWORD_BGS - func_8083377C, // PLAYER_IA_STICK + func_8083377C, // PLAYER_IA_DEKU_STICK func_80833790, // PLAYER_IA_HAMMER func_8083379C, // PLAYER_IA_BOW func_8083379C, // PLAYER_IA_BOW_FIRE @@ -1313,33 +1313,33 @@ static void (*D_80853FE8[])(PlayState* play, Player* this) = { func_80833770, // PLAYER_IA_FARORES_WIND func_80833770, // PLAYER_IA_NAYRUS_LOVE func_80833770, // PLAYER_IA_DINS_FIRE - func_80833770, // PLAYER_IA_NUT + func_80833770, // PLAYER_IA_DEKU_NUT func_80833770, // PLAYER_IA_OCARINA_FAIRY - func_80833770, // PLAYER_IA_OCARINA_TIME + func_80833770, // PLAYER_IA_OCARINA_OF_TIME func_80833770, // PLAYER_IA_BOTTLE func_80833770, // PLAYER_IA_BOTTLE_FISH func_80833770, // PLAYER_IA_BOTTLE_FIRE func_80833770, // PLAYER_IA_BOTTLE_BUG func_80833770, // PLAYER_IA_BOTTLE_POE func_80833770, // PLAYER_IA_BOTTLE_BIG_POE - func_80833770, // PLAYER_IA_BOTTLE_LETTER + func_80833770, // PLAYER_IA_BOTTLE_RUTOS_LETTER func_80833770, // PLAYER_IA_BOTTLE_POTION_RED func_80833770, // PLAYER_IA_BOTTLE_POTION_BLUE func_80833770, // PLAYER_IA_BOTTLE_POTION_GREEN - func_80833770, // PLAYER_IA_BOTTLE_MILK + func_80833770, // PLAYER_IA_BOTTLE_MILK_FULL func_80833770, // PLAYER_IA_BOTTLE_MILK_HALF func_80833770, // PLAYER_IA_BOTTLE_FAIRY - func_80833770, // PLAYER_IA_LETTER_ZELDA + func_80833770, // PLAYER_IA_ZELDAS_LETTER func_80833770, // PLAYER_IA_WEIRD_EGG func_80833770, // PLAYER_IA_CHICKEN - func_80833770, // PLAYER_IA_BEAN + func_80833770, // PLAYER_IA_MAGIC_BEAN func_80833770, // PLAYER_IA_POCKET_EGG func_80833770, // PLAYER_IA_POCKET_CUCCO func_80833770, // PLAYER_IA_COJIRO func_80833770, // PLAYER_IA_ODD_MUSHROOM func_80833770, // PLAYER_IA_ODD_POTION - func_80833770, // PLAYER_IA_SAW - func_80833770, // PLAYER_IA_SWORD_BROKEN + func_80833770, // PLAYER_IA_POACHERS_SAW + func_80833770, // PLAYER_IA_BROKEN_GORONS_SWORD func_80833770, // PLAYER_IA_PRESCRIPTION func_80833770, // PLAYER_IA_FROG func_80833770, // PLAYER_IA_EYEDROPS @@ -1347,12 +1347,12 @@ static void (*D_80853FE8[])(PlayState* play, Player* this) = { func_80833770, // PLAYER_IA_MASK_KEATON func_80833770, // PLAYER_IA_MASK_SKULL func_80833770, // PLAYER_IA_MASK_SPOOKY - func_80833770, // PLAYER_IA_MASK_BUNNY + func_80833770, // PLAYER_IA_MASK_BUNNY_HOOD func_80833770, // PLAYER_IA_MASK_GORON func_80833770, // PLAYER_IA_MASK_ZORA func_80833770, // PLAYER_IA_MASK_GERUDO func_80833770, // PLAYER_IA_MASK_TRUTH - func_80833770, // PLAYER_IA_LENS + func_80833770, // PLAYER_IA_LENS_OF_TRUTH }; typedef enum { @@ -3147,13 +3147,13 @@ void func_80835F44(PlayState* play, Player* this, s32 item) { ((itemAction == PLAYER_IA_HOOKSHOT) || (itemAction == PLAYER_IA_LONGSHOT)))) { if ((play->bombchuBowlingStatus == 0) && - (((itemAction == PLAYER_IA_STICK) && (AMMO(ITEM_STICK) == 0)) || - ((itemAction == PLAYER_IA_BEAN) && (AMMO(ITEM_BEAN) == 0)) || + (((itemAction == PLAYER_IA_DEKU_STICK) && (AMMO(ITEM_DEKU_STICK) == 0)) || + ((itemAction == PLAYER_IA_MAGIC_BEAN) && (AMMO(ITEM_MAGIC_BEAN) == 0)) || (temp = Player_ActionToExplosive(this, itemAction), ((temp >= 0) && ((AMMO(sExplosiveInfos[temp].itemId) == 0) || (play->actorCtx.actorLists[ACTORCAT_EXPLOSIVE].length >= 3)))))) { func_80078884(NA_SE_SY_ERROR); - } else if (itemAction == PLAYER_IA_LENS) { + } else if (itemAction == PLAYER_IA_LENS_OF_TRUTH) { if (Magic_RequestChange(play, 0, MAGIC_CONSUME_LENS)) { if (play->actorCtx.lensActive) { Actor_DisableLens(play); @@ -3165,8 +3165,8 @@ void func_80835F44(PlayState* play, Player* this, s32 item) { } else { func_80078884(NA_SE_SY_ERROR); } - } else if (itemAction == PLAYER_IA_NUT) { - if (AMMO(ITEM_NUT) != 0) { + } else if (itemAction == PLAYER_IA_DEKU_NUT) { + if (AMMO(ITEM_DEKU_NUT) != 0) { func_8083C61C(play, this); } else { func_80078884(NA_SE_SY_ERROR); @@ -3188,7 +3188,7 @@ void func_80835F44(PlayState* play, Player* this, s32 item) { } func_808328EC(this, NA_SE_PL_CHANGE_ARMS); - } else if (((itemAction >= PLAYER_IA_OCARINA_FAIRY) && (itemAction <= PLAYER_IA_OCARINA_TIME)) || + } else if (((itemAction >= PLAYER_IA_OCARINA_FAIRY) && (itemAction <= PLAYER_IA_OCARINA_OF_TIME)) || (itemAction >= PLAYER_IA_BOTTLE_FISH)) { if (!func_8008E9C4(this) || ((itemAction >= PLAYER_IA_BOTTLE_POTION_RED) && (itemAction <= PLAYER_IA_BOTTLE_FAIRY))) { @@ -3644,7 +3644,7 @@ s32 func_808375D8(Player* this) { s8 temp2; s32 i; - if ((this->heldItemAction == PLAYER_IA_STICK) || Player_HoldsBrokenKnife(this)) { + if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) || Player_HoldsBrokenKnife(this)) { return 0; } @@ -3735,7 +3735,7 @@ s32 func_80837818(Player* this) { } } } - if (this->heldItemAction == PLAYER_IA_STICK) { + if (this->heldItemAction == PLAYER_IA_DEKU_STICK) { sp18 = PLAYER_MWA_FORWARD_SLASH_1H; } } @@ -5167,35 +5167,35 @@ void func_8083B010(Player* this) { } static u8 D_80854528[] = { - GI_LETTER_ZELDA, // EXCH_ITEM_LETTER_ZELDA - GI_WEIRD_EGG, // EXCH_ITEM_WEIRD_EGG - GI_CHICKEN, // EXCH_ITEM_CHICKEN - GI_BEAN, // EXCH_ITEM_BEAN - GI_POCKET_EGG, // EXCH_ITEM_POCKET_EGG - GI_POCKET_CUCCO, // EXCH_ITEM_POCKET_CUCCO - GI_COJIRO, // EXCH_ITEM_COJIRO - GI_ODD_MUSHROOM, // EXCH_ITEM_ODD_MUSHROOM - GI_ODD_POTION, // EXCH_ITEM_ODD_POTION - GI_SAW, // EXCH_ITEM_SAW - GI_SWORD_BROKEN, // EXCH_ITEM_SWORD_BROKEN - GI_PRESCRIPTION, // EXCH_ITEM_PRESCRIPTION - GI_FROG, // EXCH_ITEM_FROG - GI_EYEDROPS, // EXCH_ITEM_EYEDROPS - GI_CLAIM_CHECK, // EXCH_ITEM_CLAIM_CHECK - GI_MASK_SKULL, // EXCH_ITEM_MASK_SKULL - GI_MASK_SPOOKY, // EXCH_ITEM_MASK_SPOOKY - GI_MASK_KEATON, // EXCH_ITEM_MASK_KEATON - GI_MASK_BUNNY, // EXCH_ITEM_MASK_BUNNY - GI_MASK_TRUTH, // EXCH_ITEM_MASK_TRUTH - GI_MASK_GORON, // EXCH_ITEM_MASK_GORON - GI_MASK_ZORA, // EXCH_ITEM_MASK_ZORA - GI_MASK_GERUDO, // EXCH_ITEM_MASK_GERUDO - GI_LETTER_RUTO, // EXCH_ITEM_FISH - GI_LETTER_RUTO, // EXCH_ITEM_BLUE_FIRE - GI_LETTER_RUTO, // EXCH_ITEM_BUG - GI_LETTER_RUTO, // EXCH_ITEM_POE - GI_LETTER_RUTO, // EXCH_ITEM_BIG_POE - GI_LETTER_RUTO, // EXCH_ITEM_LETTER_RUTO + GI_ZELDAS_LETTER, // EXCH_ITEM_ZELDAS_LETTER + GI_WEIRD_EGG, // EXCH_ITEM_WEIRD_EGG + GI_CHICKEN, // EXCH_ITEM_CHICKEN + GI_MAGIC_BEAN, // EXCH_ITEM_MAGIC_BEAN + GI_POCKET_EGG, // EXCH_ITEM_POCKET_EGG + GI_POCKET_CUCCO, // EXCH_ITEM_POCKET_CUCCO + GI_COJIRO, // EXCH_ITEM_COJIRO + GI_ODD_MUSHROOM, // EXCH_ITEM_ODD_MUSHROOM + GI_ODD_POTION, // EXCH_ITEM_ODD_POTION + GI_POACHERS_SAW, // EXCH_ITEM_POACHERS_SAW + GI_BROKEN_GORONS_SWORD, // EXCH_ITEM_BROKEN_GORONS_SWORD + GI_PRESCRIPTION, // EXCH_ITEM_PRESCRIPTION + GI_EYEBALL_FROG, // EXCH_ITEM_EYEBALL_FROG + GI_EYE_DROPS, // EXCH_ITEM_EYE_DROPS + GI_CLAIM_CHECK, // EXCH_ITEM_CLAIM_CHECK + GI_MASK_SKULL, // EXCH_ITEM_MASK_SKULL + GI_MASK_SPOOKY, // EXCH_ITEM_MASK_SPOOKY + GI_MASK_KEATON, // EXCH_ITEM_MASK_KEATON + GI_MASK_BUNNY_HOOD, // EXCH_ITEM_MASK_BUNNY_HOOD + GI_MASK_TRUTH, // EXCH_ITEM_MASK_TRUTH + GI_MASK_GORON, // EXCH_ITEM_MASK_GORON + GI_MASK_ZORA, // EXCH_ITEM_MASK_ZORA + GI_MASK_GERUDO, // EXCH_ITEM_MASK_GERUDO + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_FISH + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_BLUE_FIRE + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_BUG + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_POE + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_BIG_POE + GI_BOTTLE_RUTOS_LETTER, // EXCH_ITEM_BOTTLE_RUTOS_LETTER }; static LinkAnimationHeader* D_80854548[] = { @@ -5230,14 +5230,14 @@ s32 func_8083B040(Player* this, PlayState* play) { return 1; } - sp2C = this->itemAction - PLAYER_IA_LETTER_ZELDA; + sp2C = this->itemAction - PLAYER_IA_ZELDAS_LETTER; if ((sp2C >= 0) || (sp28 = Player_ActionToBottle(this, this->itemAction) - 1, ((sp28 >= 0) && (sp28 < 6) && ((this->itemAction > PLAYER_IA_BOTTLE_POE) || - ((this->targetActor != NULL) && - (((this->itemAction == PLAYER_IA_BOTTLE_POE) && (this->exchangeItemId == EXCH_ITEM_POE)) || - (this->exchangeItemId == EXCH_ITEM_BLUE_FIRE))))))) { + ((this->targetActor != NULL) && (((this->itemAction == PLAYER_IA_BOTTLE_POE) && + (this->exchangeItemId == EXCH_ITEM_BOTTLE_POE)) || + (this->exchangeItemId == EXCH_ITEM_BOTTLE_BLUE_FIRE))))))) { if ((play->actorCtx.titleCtx.delayTimer == 0) && (play->actorCtx.titleCtx.alpha == 0)) { func_80835DE4(play, this, func_8084F104, 0); @@ -5258,14 +5258,15 @@ s32 func_8083B040(Player* this, PlayState* play) { targetActor = this->targetActor; if ((targetActor != NULL) && - ((this->exchangeItemId == sp2C) || (this->exchangeItemId == EXCH_ITEM_BLUE_FIRE) || - ((this->exchangeItemId == EXCH_ITEM_POE) && + ((this->exchangeItemId == sp2C) || (this->exchangeItemId == EXCH_ITEM_BOTTLE_BLUE_FIRE) || + ((this->exchangeItemId == EXCH_ITEM_BOTTLE_POE) && (this->itemAction == PLAYER_IA_BOTTLE_BIG_POE)) || - ((this->exchangeItemId == EXCH_ITEM_BEAN) && + ((this->exchangeItemId == EXCH_ITEM_MAGIC_BEAN) && (this->itemAction == PLAYER_IA_BOTTLE_BUG))) && - ((this->exchangeItemId != EXCH_ITEM_BEAN) || (this->itemAction == PLAYER_IA_BEAN))) { - if (this->exchangeItemId == EXCH_ITEM_BEAN) { - Inventory_ChangeAmmo(ITEM_BEAN, -1); + ((this->exchangeItemId != EXCH_ITEM_MAGIC_BEAN) || + (this->itemAction == PLAYER_IA_MAGIC_BEAN))) { + if (this->exchangeItemId == EXCH_ITEM_MAGIC_BEAN) { + Inventory_ChangeAmmo(ITEM_MAGIC_BEAN, -1); func_80835DE4(play, this, func_8084279C, 0); this->stateFlags1 |= PLAYER_STATE1_29; this->unk_850 = 0x50; @@ -5273,7 +5274,7 @@ s32 func_8083B040(Player* this, PlayState* play) { } targetActor->flags |= ACTOR_FLAG_8; this->unk_664 = this->targetActor; - } else if (sp2C == EXCH_ITEM_LETTER_RUTO) { + } else if (sp2C == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->unk_84F = 1; this->actor.textId = 0x4005; func_80835EA4(play, 1); @@ -5697,7 +5698,7 @@ void func_8083C50C(Player* this) { s32 func_8083C544(Player* this, PlayState* play) { if (CHECK_BTN_ALL(sControlInput->cur.button, BTN_B)) { if (!(this->stateFlags1 & PLAYER_STATE1_22) && (Player_GetMeleeWeaponHeld(this) != 0) && (this->unk_844 == 1) && - (this->heldItemAction != PLAYER_IA_STICK)) { + (this->heldItemAction != PLAYER_IA_DEKU_STICK)) { if ((this->heldItemAction != PLAYER_IA_SWORD_BGS) || (gSaveContext.swordHealth > 0.0f)) { func_808377DC(play, this); return 1; @@ -5712,7 +5713,7 @@ s32 func_8083C544(Player* this, PlayState* play) { s32 func_8083C61C(PlayState* play, Player* this) { if ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_2) && - (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (AMMO(ITEM_NUT) != 0)) { + (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (AMMO(ITEM_DEKU_NUT) != 0)) { func_80835C58(play, this, func_8084E604, 0); func_80832264(play, this, &gPlayerAnim_link_normal_light_bom); this->unk_6AD = 0; @@ -7989,13 +7990,13 @@ void func_80842A28(PlayState* play, Player* this) { } void func_80842A88(PlayState* play, Player* this) { - Inventory_ChangeAmmo(ITEM_STICK, -1); + Inventory_ChangeAmmo(ITEM_DEKU_STICK, -1); func_80835F44(play, this, ITEM_NONE); } s32 func_80842AC4(PlayState* play, Player* this) { - if ((this->heldItemAction == PLAYER_IA_STICK) && (this->unk_85C > 0.5f)) { - if (AMMO(ITEM_STICK) != 0) { + if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_85C > 0.5f)) { + if (AMMO(ITEM_DEKU_STICK) != 0) { EffectSsStick_Spawn(play, &this->bodyPartsPos[PLAYER_BODYPART_R_HAND], this->actor.shape.rot.y + 0x8000); this->unk_85C = 0.5f; func_80842A88(play, this); @@ -10317,7 +10318,7 @@ void func_80848A04(PlayState* play, Player* this) { temp = 1.0f; if (DECR(this->unk_860) == 0) { - Inventory_ChangeAmmo(ITEM_STICK, -1); + Inventory_ChangeAmmo(ITEM_DEKU_STICK, -1); this->unk_860 = 1; temp = 0.0f; this->unk_85C = temp; @@ -10500,7 +10501,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { func_808473D4(play, this); func_80836BEC(this, play); - if ((this->heldItemAction == PLAYER_IA_STICK) && (this->unk_860 != 0)) { + if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_860 != 0)) { func_80848A04(play, this); } else if ((this->heldItemAction == PLAYER_IA_FISHING_POLE) && (this->unk_860 < 0)) { this->unk_860++; @@ -11284,7 +11285,7 @@ s32 func_8084B3CC(PlayState* play, Player* this) { void func_8084B498(Player* this) { this->itemAction = - (INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY) ? PLAYER_IA_OCARINA_FAIRY : PLAYER_IA_OCARINA_TIME; + (INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY) ? PLAYER_IA_OCARINA_FAIRY : PLAYER_IA_OCARINA_OF_TIME; } s32 func_8084B4D4(PlayState* play, Player* this) { @@ -12435,7 +12436,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) { } } else { if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) { - if (this->getItemId == GI_GAUNTLETS_SILVER) { + if (this->getItemId == GI_SILVER_GAUNTLETS) { play->nextEntranceIndex = ENTR_SPOT11_0; play->transitionTrigger = TRANS_TRIGGER_START; gSaveContext.nextCutsceneIndex = 0xFFF1; @@ -12556,7 +12557,7 @@ void func_8084E604(Player* this, PlayState* play) { if (LinkAnimation_Update(play, &this->skelAnime)) { func_8083A098(this, &gPlayerAnim_link_normal_light_bom_end, play); } else if (LinkAnimation_OnFrame(&this->skelAnime, 3.0f)) { - Inventory_ChangeAmmo(ITEM_NUT, -1); + Inventory_ChangeAmmo(ITEM_DEKU_NUT, -1); Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ARROW, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].x, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].y, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].z, 4000, this->actor.shape.rot.y, 0, ARROW_NUT); @@ -12730,7 +12731,7 @@ void func_8084EAC0(Player* this, PlayState* play) { if ((gSaveContext.healthAccumulator == 0) && (gSaveContext.magicState != MAGIC_STATE_FILL)) { func_80832B78(play, this, &gPlayerAnim_link_bottle_drink_demo_end); this->unk_850 = 2; - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); } func_80832698(this, NA_SE_VO_LI_DRINK - SFX_FLAG); } else if ((this->unk_850 == 2) && LinkAnimation_OnFrame(&this->skelAnime, 29.0f)) { @@ -12739,10 +12740,10 @@ void func_8084EAC0(Player* this, PlayState* play) { } static BottleCatchInfo sBottleCatchInfos[] = { - { ACTOR_EN_ELF, ITEM_FAIRY, PLAYER_IA_BOTTLE_FAIRY, 0x46 }, - { ACTOR_EN_FISH, ITEM_FISH, PLAYER_IA_BOTTLE_FISH, 0x47 }, - { ACTOR_EN_ICE_HONO, ITEM_BLUE_FIRE, PLAYER_IA_BOTTLE_FIRE, 0x5D }, - { ACTOR_EN_INSECT, ITEM_BUG, PLAYER_IA_BOTTLE_BUG, 0x7A }, + { ACTOR_EN_ELF, ITEM_BOTTLE_FAIRY, PLAYER_IA_BOTTLE_FAIRY, 0x46 }, + { ACTOR_EN_FISH, ITEM_BOTTLE_FISH, PLAYER_IA_BOTTLE_FISH, 0x47 }, + { ACTOR_EN_ICE_HONO, ITEM_BOTTLE_BLUE_FIRE, PLAYER_IA_BOTTLE_FIRE, 0x5D }, + { ACTOR_EN_INSECT, ITEM_BOTTLE_BUG, PLAYER_IA_BOTTLE_BUG, 0x7A }, }; void func_8084ECA4(Player* this, PlayState* play) { @@ -12821,7 +12822,7 @@ void func_8084EED8(Player* this, PlayState* play) { if (LinkAnimation_OnFrame(&this->skelAnime, 37.0f)) { Player_SpawnFairy(play, this, &this->leftHandPos, &D_80854A1C, FAIRY_REVIVE_BOTTLE); - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); func_8002F7DC(&this->actor, NA_SE_EV_BOTTLE_CAP_OPEN); func_8002F7DC(&this->actor, NA_SE_EV_FIATY_HEAL - SFX_FLAG); } else if (LinkAnimation_OnFrame(&this->skelAnime, 47.0f)) { @@ -12857,7 +12858,7 @@ void func_8084EFC0(Player* this, PlayState* play) { (Math_CosS(this->actor.shape.rot.y) * 5.0f) + this->leftHandPos.z, 0x4000, this->actor.shape.rot.y, 0, dropInfo->actorParams); - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); return; } @@ -12886,7 +12887,7 @@ void func_8084F104(Player* this, PlayState* play) { } else { GetItemEntry* giEntry = &sGetItemTable[D_80854528[this->exchangeItemId - 1] - 1]; - if (this->itemAction >= PLAYER_IA_LETTER_ZELDA) { + if (this->itemAction >= PLAYER_IA_ZELDAS_LETTER) { this->unk_862 = ABS(giEntry->gi); } diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index aafa2c4dd87..0fba5b67d0d 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -1503,8 +1503,8 @@ void FileSelect_LoadGame(GameState* thisx) { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; swordEquipValue = (gEquipMasks[EQUIP_TYPE_SWORD] & gSaveContext.equips.equipment) >> (EQUIP_TYPE_SWORD * 4); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c index c5a9e5cf0e6..2dceacb56da 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c @@ -29,9 +29,9 @@ static u8 sMaxUpgradeValues[] = { // Item ID corresponding to each slot, aside from bottles and trade items static s16 sSlotItems[] = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, - ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, - ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, }; void KaleidoScope_DrawDebugEditorText(Gfx** gfxp) { @@ -192,7 +192,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { for (j = 0, x = 78; j < 6; j++, slot++, x += 26) { spD8[2] = 0; - if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_BEAN)) { + if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_MAGIC_BEAN)) { spD8[3] = AMMO(gAmmoItems[slot]); } else if (slot == SLOT_OCARINA) { spD8[3] = gSaveContext.inventory.items[slot]; @@ -408,7 +408,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { default: if (curSection < 0x1B) { i = curSection - 3; - if ((i <= SLOT_BOW) || (i == SLOT_SLINGSHOT) || (i == SLOT_BOMBCHU) || (i == SLOT_BEAN)) { + if ((i <= SLOT_BOW) || (i == SLOT_SLINGSHOT) || (i == SLOT_BOMBCHU) || (i == SLOT_MAGIC_BEAN)) { if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) { Inventory_DeleteItem(gAmmoItems[i], SLOT(gAmmoItems[i])); AMMO(gAmmoItems[i]) = 0; @@ -435,14 +435,14 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { gSaveContext.inventory.items[i] = ITEM_OCARINA_FAIRY; } else if ((gSaveContext.inventory.items[i] >= ITEM_OCARINA_FAIRY) && - (gSaveContext.inventory.items[i] < ITEM_OCARINA_TIME)) { + (gSaveContext.inventory.items[i] < ITEM_OCARINA_OF_TIME)) { gSaveContext.inventory.items[i]++; } } else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_OCARINA_TIME; + gSaveContext.inventory.items[i] = ITEM_OCARINA_OF_TIME; } else if ((gSaveContext.inventory.items[i] > ITEM_OCARINA_FAIRY) && - (gSaveContext.inventory.items[i] <= ITEM_OCARINA_TIME)) { + (gSaveContext.inventory.items[i] <= ITEM_OCARINA_OF_TIME)) { gSaveContext.inventory.items[i]--; } } @@ -502,19 +502,20 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { } } else if ((i >= SLOT_BOTTLE_1) && (i <= SLOT_BOTTLE_4)) { if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) { - Inventory_DeleteItem(ITEM_BOTTLE + i - SLOT_BOTTLE_1, SLOT(ITEM_BOTTLE) + i - SLOT_BOTTLE_1); + Inventory_DeleteItem(ITEM_BOTTLE_EMPTY + i - SLOT_BOTTLE_1, + SLOT(ITEM_BOTTLE_EMPTY) + i - SLOT_BOTTLE_1); } else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_BOTTLE; - } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE) && - (gSaveContext.inventory.items[i] <= ITEM_MILK_HALF)) { + gSaveContext.inventory.items[i] = ITEM_BOTTLE_EMPTY; + } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.inventory.items[i] <= ITEM_BOTTLE_MILK_HALF)) { gSaveContext.inventory.items[i]++; } } else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_POE; - } else if ((gSaveContext.inventory.items[i] >= ITEM_POTION_RED) && - (gSaveContext.inventory.items[i] <= ITEM_POE)) { + gSaveContext.inventory.items[i] = ITEM_BOTTLE_POE; + } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_POTION_RED) && + (gSaveContext.inventory.items[i] <= ITEM_BOTTLE_POE)) { gSaveContext.inventory.items[i]--; } } @@ -524,9 +525,9 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (i == SLOT_TRADE_ADULT) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_BEAN; + gSaveContext.inventory.items[i] = ITEM_MAGIC_BEAN; } else { - Inventory_DeleteItem(ITEM_BEAN, SLOT(ITEM_BEAN)); + Inventory_DeleteItem(ITEM_MAGIC_BEAN, SLOT(ITEM_MAGIC_BEAN)); } } else { j = sSlotItems[i]; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c index 7506b9bfd76..0228106022d 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c @@ -5,8 +5,10 @@ static u8 sChildUpgrades[] = { UPG_BULLET_BAG, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; static u8 sAdultUpgrades[] = { UPG_QUIVER, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; -static u8 sChildUpgradeItemBases[] = { ITEM_BULLET_BAG_30, ITEM_BOMB_BAG_20, ITEM_BRACELET, ITEM_SCALE_SILVER }; -static u8 sAdultUpgradeItemBases[] = { ITEM_QUIVER_30, ITEM_BOMB_BAG_20, ITEM_BRACELET, ITEM_SCALE_SILVER }; +static u8 sChildUpgradeItemBases[] = { ITEM_BULLET_BAG_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET, + ITEM_SCALE_SILVER }; +static u8 sAdultUpgradeItemBases[] = { ITEM_QUIVER_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET, + ITEM_SCALE_SILVER }; static u8 sUpgradeItemOffsets[] = { 0x00, 0x03, 0x06, 0x09 }; @@ -426,7 +428,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { if (gSaveContext.bgsFlag != 0) { cursorItem = ITEM_HEART_PIECE_2; } else if (CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) { - cursorItem = ITEM_SWORD_KNIFE; + cursorItem = ITEM_GIANTS_KNIFE; } } @@ -443,7 +445,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { pauseCtx->nameColorSet = 1; } - if (pauseCtx->cursorItem[PAUSE_EQUIP] == ITEM_BRACELET) { + if (pauseCtx->cursorItem[PAUSE_EQUIP] == ITEM_STRENGTH_GORONS_BRACELET) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { pauseCtx->nameColorSet = 0; } else { @@ -479,15 +481,16 @@ void KaleidoScope_DrawEquipment(PlayState* play) { gSaveContext.equips.buttonItems[0] = cursorItem; if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.bgsFlag != 0)) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; gSaveContext.swordHealth = 8; } else { if (gSaveContext.equips.buttonItems[0] == ITEM_HEART_PIECE_2) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; } - if ((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BGS) && (gSaveContext.bgsFlag == 0) && + if ((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BIGGORON) && + (gSaveContext.bgsFlag == 0) && CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE; } } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c index 0b098404e2d..652073218c9 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c @@ -2,8 +2,8 @@ #include "assets/textures/parameter_static/parameter_static.h" u8 gAmmoItems[] = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_SLINGSHOT, ITEM_NONE, - ITEM_BOMBCHU, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_BEAN, ITEM_NONE, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_SLINGSHOT, ITEM_NONE, + ITEM_BOMBCHU, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_MAGIC_BEAN, ITEM_NONE, }; static s16 sEquipState = 0; @@ -34,9 +34,9 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx, } else if ((item == ITEM_BOMB && AMMO(item) == CUR_CAPACITY(UPG_BOMB_BAG)) || (item == ITEM_BOW && AMMO(item) == CUR_CAPACITY(UPG_QUIVER)) || (item == ITEM_SLINGSHOT && AMMO(item) == CUR_CAPACITY(UPG_BULLET_BAG)) || - (item == ITEM_STICK && AMMO(item) == CUR_CAPACITY(UPG_STICKS)) || - (item == ITEM_NUT && AMMO(item) == CUR_CAPACITY(UPG_NUTS)) || (item == ITEM_BOMBCHU && ammo == 50) || - (item == ITEM_BEAN && ammo == 15)) { + (item == ITEM_DEKU_STICK && AMMO(item) == CUR_CAPACITY(UPG_DEKU_STICKS)) || + (item == ITEM_DEKU_NUT && AMMO(item) == CUR_CAPACITY(UPG_DEKU_NUTS)) || + (item == ITEM_BOMBCHU && ammo == 50) || (item == ITEM_MAGIC_BEAN && ammo == 15)) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 120, 255, 0, pauseCtx->alpha); } } @@ -513,7 +513,7 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { D_8082A488--; if (D_8082A488 == 0) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; sEquipMoveTimer = 6; WREG(90) = 320; @@ -590,9 +590,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[1] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[1] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[1]; @@ -607,9 +607,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[1] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[1] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[1]; @@ -624,19 +624,19 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) { if ((gSaveContext.equips.buttonItems[1] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_ARROW_LIGHT))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } } else if (pauseCtx->equipTargetItem == ITEM_BOW) { - if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_ARROW_LIGHT)) { + if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[1]; gSaveContext.equips.cButtonSlots[1] = gSaveContext.equips.cButtonSlots[0]; Interface_LoadItemIcon2(play, 2); - } else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_ARROW_LIGHT)) { + } else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[1]; gSaveContext.equips.cButtonSlots[2] = gSaveContext.equips.cButtonSlots[0]; Interface_LoadItemIcon2(play, 3); @@ -665,9 +665,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[2] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[2] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[2]; @@ -682,9 +682,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[2] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[2] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[2]; @@ -699,18 +699,18 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) { if ((gSaveContext.equips.buttonItems[2] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_ARROW_LIGHT))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } } else if (pauseCtx->equipTargetItem == ITEM_BOW) { - if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_ARROW_LIGHT)) { + if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[2]; Interface_LoadItemIcon2(play, 1); - } else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_ARROW_LIGHT)) { + } else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[2]; Interface_LoadItemIcon2(play, 3); } @@ -738,9 +738,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[3] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[3] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[3]; @@ -755,9 +755,9 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if (gSaveContext.equips.buttonItems[3] != ITEM_NONE) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) && ((gSaveContext.equips.buttonItems[3] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_ARROW_LIGHT)))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } else { gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[3]; @@ -772,18 +772,18 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) { if ((gSaveContext.equips.buttonItems[3] == ITEM_BOW) || - ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_ARROW_LIGHT))) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT))) { + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; pauseCtx->equipTargetSlot = SLOT_BOW; } } else if (pauseCtx->equipTargetItem == ITEM_BOW) { - if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_ARROW_LIGHT)) { + if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[3]; Interface_LoadItemIcon2(play, 1); - } else if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_ARROW_LIGHT)) { + } else if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[3]; Interface_LoadItemIcon2(play, 2); } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c index d90400de770..799b88bb340 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c @@ -57,7 +57,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { } else { pauseCtx->cursorX[PAUSE_MAP] = 1; pauseCtx->cursorPoint[PAUSE_MAP] = 0; - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; if (!CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; @@ -154,7 +154,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorSpecialPos = 0; pauseCtx->cursorX[PAUSE_MAP] = 1; pauseCtx->cursorPoint[PAUSE_MAP] = 0; - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; if (!CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; @@ -189,7 +189,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { if (pauseCtx->cursorSpecialPos == 0) { if (pauseCtx->cursorPoint[PAUSE_MAP] < 3) { - pauseCtx->cursorItem[PAUSE_MAP] = ITEM_KEY_BOSS + pauseCtx->cursorPoint[PAUSE_MAP]; + pauseCtx->cursorItem[PAUSE_MAP] = ITEM_DUNGEON_BOSS_KEY + pauseCtx->cursorPoint[PAUSE_MAP]; } else { pauseCtx->cursorItem[PAUSE_MAP] = PAUSE_ITEM_NONE; } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index 22b5c752f3f..e44767ed9ba 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -2656,7 +2656,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[i] = 0; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[0] = 2; } @@ -2668,7 +2668,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[1] = 2; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[1] = 1; } @@ -2680,7 +2680,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[2] = 2; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[2] = 1; } @@ -2724,7 +2724,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[5] = 1; } - if (INV_CONTENT(ITEM_OCARINA_TIME) == ITEM_OCARINA_TIME) { + if (INV_CONTENT(ITEM_OCARINA_OF_TIME) == ITEM_OCARINA_OF_TIME) { pauseCtx->worldMapPoints[5] = 2; } @@ -2856,16 +2856,16 @@ void KaleidoScope_Update(PlayState* play) { if ((i == ITEM_COJIRO) || (i == ITEM_ODD_POTION)) { pauseCtx->tradeQuestLocation = 9; } - if (i == ITEM_SAW) { + if (i == ITEM_POACHERS_SAW) { pauseCtx->tradeQuestLocation = 2; } - if ((i == ITEM_SWORD_BROKEN) || (i == ITEM_EYEDROPS)) { + if ((i == ITEM_BROKEN_GORONS_SWORD) || (i == ITEM_EYE_DROPS)) { pauseCtx->tradeQuestLocation = 7; } if (i == ITEM_PRESCRIPTION) { pauseCtx->tradeQuestLocation = 11; } - if (i == ITEM_FROG) { + if (i == ITEM_EYEBALL_FROG) { pauseCtx->tradeQuestLocation = 3; } if ((i == ITEM_CLAIM_CHECK) && (gSaveContext.bgsFlag == 0)) { diff --git a/tools/disasm_elf_msg.py b/tools/disasm_elf_msg.py index 81c66064bf0..9030cd2651d 100644 --- a/tools/disasm_elf_msg.py +++ b/tools/disasm_elf_msg.py @@ -3,46 +3,46 @@ import struct, sys item_ids = { - 0x00 : "ITEM_STICK", - 0x01 : "ITEM_NUT", + 0x00 : "ITEM_DEKU_STICK", + 0x01 : "ITEM_DEKU_NUT", 0x02 : "ITEM_BOMB", 0x03 : "ITEM_BOW", 0x04 : "ITEM_ARROW_FIRE", 0x05 : "ITEM_DINS_FIRE", 0x06 : "ITEM_SLINGSHOT", 0x07 : "ITEM_OCARINA_FAIRY", - 0x08 : "ITEM_OCARINA_TIME", + 0x08 : "ITEM_OCARINA_OF_TIME", 0x09 : "ITEM_BOMBCHU", 0x0A : "ITEM_HOOKSHOT", 0x0B : "ITEM_LONGSHOT", 0x0C : "ITEM_ARROW_ICE", 0x0D : "ITEM_FARORES_WIND", 0x0E : "ITEM_BOOMERANG", - 0x0F : "ITEM_LENS", - 0x10 : "ITEM_BEAN", + 0x0F : "ITEM_LENS_OF_TRUTH", + 0x10 : "ITEM_MAGIC_BEAN", 0x11 : "ITEM_HAMMER", 0x12 : "ITEM_ARROW_LIGHT", 0x13 : "ITEM_NAYRUS_LOVE", - 0x14 : "ITEM_BOTTLE", - 0x15 : "ITEM_POTION_RED", - 0x16 : "ITEM_POTION_GREEN", - 0x17 : "ITEM_POTION_BLUE", - 0x18 : "ITEM_FAIRY", - 0x19 : "ITEM_FISH", - 0x1A : "ITEM_MILK_BOTTLE", - 0x1B : "ITEM_LETTER_RUTO", - 0x1C : "ITEM_BLUE_FIRE", - 0x1D : "ITEM_BUG", - 0x1E : "ITEM_BIG_POE", - 0x1F : "ITEM_MILK_HALF", - 0x20 : "ITEM_POE", + 0x14 : "ITEM_BOTTLE_EMPTY", + 0x15 : "ITEM_BOTTLE_POTION_RED", + 0x16 : "ITEM_BOTTLE_POTION_GREEN", + 0x17 : "ITEM_BOTTLE_POTION_BLUE", + 0x18 : "ITEM_BOTTLE_FAIRY", + 0x19 : "ITEM_BOTTLE_FISH", + 0x1A : "ITEM_BOTTLE_MILK_FULL", + 0x1B : "ITEM_BOTTLE_RUTOS_LETTER", + 0x1C : "ITEM_BOTTLE_BLUE_FIRE", + 0x1D : "ITEM_BOTTLE_BUG", + 0x1E : "ITEM_BOTTLE_BIG_POE", + 0x1F : "ITEM_BOTTLE_MILK_HALF", + 0x20 : "ITEM_BOTTLE_POE", 0x21 : "ITEM_WEIRD_EGG", 0x22 : "ITEM_CHICKEN", - 0x23 : "ITEM_LETTER_ZELDA", + 0x23 : "ITEM_ZELDAS_LETTER", 0x24 : "ITEM_MASK_KEATON", 0x25 : "ITEM_MASK_SKULL", 0x26 : "ITEM_MASK_SPOOKY", - 0x27 : "ITEM_MASK_BUNNY", + 0x27 : "ITEM_MASK_BUNNY_HOOD", 0x28 : "ITEM_MASK_GORON", 0x29 : "ITEM_MASK_ZORA", 0x2A : "ITEM_MASK_GERUDO", @@ -53,18 +53,18 @@ 0x2F : "ITEM_COJIRO", 0x30 : "ITEM_ODD_MUSHROOM", 0x31 : "ITEM_ODD_POTION", - 0x32 : "ITEM_SAW", - 0x33 : "ITEM_SWORD_BROKEN", + 0x32 : "ITEM_POACHERS_SAW", + 0x33 : "ITEM_BROKEN_GORONS_SWORD", 0x34 : "ITEM_PRESCRIPTION", - 0x35 : "ITEM_FROG", - 0x36 : "ITEM_EYEDROPS", + 0x35 : "ITEM_EYEBALL_FROG", + 0x36 : "ITEM_EYE_DROPS", 0x37 : "ITEM_CLAIM_CHECK", - 0x38 : "ITEM_BOW_ARROW_FIRE", - 0x39 : "ITEM_BOW_ARROW_ICE", - 0x3A : "ITEM_BOW_ARROW_LIGHT", + 0x38 : "ITEM_BOW_FIRE", + 0x39 : "ITEM_BOW_ICE", + 0x3A : "ITEM_BOW_LIGHT", 0x3B : "ITEM_SWORD_KOKIRI", 0x3C : "ITEM_SWORD_MASTER", - 0x3D : "ITEM_SWORD_BGS", + 0x3D : "ITEM_SWORD_BIGGORON", 0x3E : "ITEM_SHIELD_DEKU", 0x3F : "ITEM_SHIELD_HYLIAN", 0x40 : "ITEM_SHIELD_MIRROR", @@ -83,15 +83,15 @@ 0x4D : "ITEM_BOMB_BAG_20", 0x4E : "ITEM_BOMB_BAG_30", 0x4F : "ITEM_BOMB_BAG_40", - 0x50 : "ITEM_BRACELET", - 0x51 : "ITEM_GAUNTLETS_SILVER", - 0x52 : "ITEM_GAUNTLETS_GOLD", + 0x50 : "ITEM_STRENGTH_GORONS_BRACELET", + 0x51 : "ITEM_STRENGTH_SILVER_GAUNTLETS", + 0x52 : "ITEM_STRENGTH_GOLD_GAUNTLETS", 0x53 : "ITEM_SCALE_SILVER", 0x54 : "ITEM_SCALE_GOLDEN", - 0x55 : "ITEM_SWORD_KNIFE", - 0x56 : "ITEM_WALLET_ADULT", - 0x57 : "ITEM_WALLET_GIANT", - 0x58 : "ITEM_SEEDS", + 0x55 : "ITEM_GIANTS_KNIFE", + 0x56 : "ITEM_ADULTS_WALLET", + 0x57 : "ITEM_GIANTS_WALLET", + 0x58 : "ITEM_DEKU_SEEDS", 0x59 : "ITEM_FISHING_POLE", 0x5A : "ITEM_SONG_MINUET", 0x5B : "ITEM_SONG_BOLERO", @@ -115,16 +115,16 @@ 0x6D : "ITEM_GORON_RUBY", 0x6E : "ITEM_ZORA_SAPPHIRE", 0x6F : "ITEM_STONE_OF_AGONY", - 0x70 : "ITEM_GERUDO_CARD", + 0x70 : "ITEM_GERUDOS_CARD", 0x71 : "ITEM_SKULL_TOKEN", 0x72 : "ITEM_HEART_CONTAINER", 0x73 : "ITEM_HEART_PIECE", - 0x74 : "ITEM_KEY_BOSS", - 0x75 : "ITEM_COMPASS", + 0x74 : "ITEM_DUNGEON_BOSS_KEY", + 0x75 : "ITEM_DUNGEON_COMPASS", 0x76 : "ITEM_DUNGEON_MAP", - 0x77 : "ITEM_KEY_SMALL", - 0x78 : "ITEM_MAGIC_SMALL", - 0x79 : "ITEM_MAGIC_LARGE", + 0x77 : "ITEM_SMALL_KEY", + 0x78 : "ITEM_MAGIC_JAR_SMALL", + 0x79 : "ITEM_MAGIC_JAR_BIG", 0x7A : "ITEM_HEART_PIECE_2", 0x7B : "ITEM_INVALID_1", 0x7C : "ITEM_INVALID_2", @@ -141,24 +141,24 @@ 0x87 : "ITEM_RUPEE_PURPLE", 0x88 : "ITEM_RUPEE_GOLD", 0x89 : "ITEM_INVALID_8", - 0x8A : "ITEM_STICKS_5", - 0x8B : "ITEM_STICKS_10", - 0x8C : "ITEM_NUTS_5", - 0x8D : "ITEM_NUTS_10", + 0x8A : "ITEM_DEKU_STICKS_5", + 0x8B : "ITEM_DEKU_STICKS_10", + 0x8C : "ITEM_DEKU_NUTS_5", + 0x8D : "ITEM_DEKU_NUTS_10", 0x8E : "ITEM_BOMBS_5", 0x8F : "ITEM_BOMBS_10", 0x90 : "ITEM_BOMBS_20", 0x91 : "ITEM_BOMBS_30", - 0x92 : "ITEM_ARROWS_SMALL", - 0x93 : "ITEM_ARROWS_MEDIUM", - 0x94 : "ITEM_ARROWS_LARGE", - 0x95 : "ITEM_SEEDS_30", + 0x92 : "ITEM_ARROWS_5", + 0x93 : "ITEM_ARROWS_10", + 0x94 : "ITEM_ARROWS_30", + 0x95 : "ITEM_DEKU_SEEDS_30", 0x96 : "ITEM_BOMBCHUS_5", 0x97 : "ITEM_BOMBCHUS_20", - 0x98 : "ITEM_STICK_UPGRADE_20", - 0x99 : "ITEM_STICK_UPGRADE_30", - 0x9A : "ITEM_NUT_UPGRADE_30", - 0x9B : "ITEM_NUT_UPGRADE_40", + 0x98 : "ITEM_DEKU_STICK_UPGRADE_20", + 0x99 : "ITEM_DEKU_STICK_UPGRADE_30", + 0x9A : "ITEM_DEKU_NUT_UPGRADE_30", + 0x9B : "ITEM_DEKU_NUT_UPGRADE_40", 0xFC : "ITEM_LAST_USED", 0xFE : "ITEM_NONE_FE", 0xFF : "ITEM_NONE", From 40639e698d0b4681d088194dc72a6a3b910e7d13 Mon Sep 17 00:00:00 2001 From: engineer124 <47598039+engineer124@users.noreply.github.com> Date: Wed, 16 Nov 2022 13:41:27 -0500 Subject: [PATCH 4/5] Document Timers (#1412) * Document Timers, First Draft * some progress * more timer docs * cleanup * small cleanup * more cleanup * comments * more cleanup * extra comment * more docs * brackets * PR Suggestions * cleanup, missed some * more suggestions * more PR Suggestions * small change * environmental --- include/functions.h | 8 +- include/z64player.h | 10 +- include/z64save.h | 60 +- src/code/z_construct.c | 37 +- src/code/z_game_over.c | 6 +- src/code/z_message_PAL.c | 4 +- src/code/z_parameter.c | 555 ++++++++++-------- src/code/z_player_lib.c | 56 +- .../actors/ovl_Bg_Po_Event/z_bg_po_event.c | 10 +- .../ovl_Bg_Relay_Objects/z_bg_relay_objects.c | 2 +- .../actors/ovl_Demo_Kankyo/z_demo_kankyo.c | 2 +- .../ovl_En_Diving_Game/z_en_diving_game.c | 15 +- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 2 +- src/overlays/actors/ovl_En_Eg/z_en_eg.c | 2 +- src/overlays/actors/ovl_En_Go/z_en_go.c | 2 +- src/overlays/actors/ovl_En_Go2/z_en_go2.c | 2 +- .../z_en_horse_game_check.c | 20 +- .../ovl_En_Horse_Zelda/z_en_horse_zelda.c | 10 +- src/overlays/actors/ovl_En_Hs/z_en_hs.c | 4 +- src/overlays/actors/ovl_En_In/z_en_in.c | 11 +- src/overlays/actors/ovl_En_Kz/z_en_kz.c | 4 +- src/overlays/actors/ovl_En_Ma3/z_en_ma3.c | 39 +- src/overlays/actors/ovl_En_Mk/z_en_mk.c | 6 +- src/overlays/actors/ovl_En_Mm2/z_en_mm2.c | 33 +- .../actors/ovl_En_Po_Relay/z_en_po_relay.c | 14 +- .../ovl_En_Syateki_Niw/z_en_syateki_niw.c | 2 +- src/overlays/actors/ovl_En_Ta/z_en_ta.c | 12 +- src/overlays/actors/ovl_En_Zl2/z_en_zl2.c | 2 +- src/overlays/actors/ovl_En_Zl3/z_en_zl3.c | 10 +- .../ovl_Obj_Roomtimer/z_obj_roomtimer.c | 23 +- .../actors/ovl_player_actor/z_player.c | 10 +- .../ovl_file_choose/z_file_choose.c | 4 +- 32 files changed, 546 insertions(+), 431 deletions(-) diff --git a/include/functions.h b/include/functions.h index 5518cb2a922..46dc6299bbf 100644 --- a/include/functions.h +++ b/include/functions.h @@ -996,9 +996,9 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange); void Magic_Fill(PlayState* play); void Magic_Reset(PlayState* play); s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type); -void func_80088AA0(s16 arg0); -void func_80088AF0(PlayState* play); -void func_80088B34(s16 arg0); +void Interface_SetSubTimer(s16 seconds); +void Interface_SetSubTimerToFinalSecond(PlayState* play); +void Interface_SetTimer(s16 seconds); void Interface_Draw(PlayState* play); void Interface_Update(PlayState* play); Path* Path_GetByIndex(PlayState* play, s16 index, s16 max); @@ -1040,7 +1040,7 @@ s32 Player_GetBottleHeld(Player* this); s32 Player_ActionToExplosive(Player* this, s32 itemAction); s32 Player_GetExplosiveHeld(Player* this); s32 func_8008F2BC(Player* this, s32 itemAction); -s32 func_8008F2F8(PlayState* play); +s32 Player_GetEnvironmentalHazard(PlayState* play); void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* data); diff --git a/include/z64player.h b/include/z64player.h index 2eda4d7e2f1..d080a107055 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -61,6 +61,14 @@ typedef enum { /* 0x09 */ PLAYER_MASK_MAX } PlayerMask; +typedef enum { + /* 0x0 */ PLAYER_ENV_HAZARD_NONE, + /* 0x1 */ PLAYER_ENV_HAZARD_HOTROOM, + /* 0x2 */ PLAYER_ENV_HAZARD_UNDERWATER_FLOOR, + /* 0x3 */ PLAYER_ENV_HAZARD_SWIMMING, + /* 0x4 */ PLAYER_ENV_HAZARD_UNDERWATER_FREE +} PlayerEnvHazard; + typedef enum { /* 0x00 */ PLAYER_IA_NONE, /* 0x01 */ PLAYER_IA_LAST_USED, @@ -571,7 +579,7 @@ typedef struct Player { /* 0x0838 */ f32 linearVelocity; /* 0x083C */ s16 currentYaw; /* 0x083E */ s16 targetYaw; - /* 0x0840 */ u16 unk_840; + /* 0x0840 */ u16 underwaterTimer; /* 0x0842 */ s8 meleeWeaponAnimation; /* 0x0843 */ s8 meleeWeaponState; /* 0x0844 */ s8 unk_844; diff --git a/include/z64save.h b/include/z64save.h index 5a0e9103eae..8a3cdde584d 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -99,6 +99,49 @@ typedef struct { /* 0x24 */ s32 tempCollectFlags; } FaroresWindData; // size = 0x28 +typedef enum { + /* 0x0 */ TIMER_STATE_OFF, + /* 0x1 */ TIMER_STATE_ENV_HAZARD_INIT, // Init env timer that counts down, total time based on health, resets on void-out, kills at 0 + /* 0x2 */ TIMER_STATE_ENV_HAZARD_PREVIEW, // Display initial time, keep it fixed at the screen center + /* 0x3 */ TIMER_STATE_ENV_HAZARD_MOVE, // Move to top-left corner + /* 0x4 */ TIMER_STATE_ENV_HAZARD_TICK, // Counting down + /* 0x5 */ TIMER_STATE_DOWN_INIT, // Init timer that counts down + /* 0x6 */ TIMER_STATE_DOWN_PREVIEW, // Display initial time, keep it fixed at the screen center + /* 0x7 */ TIMER_STATE_DOWN_MOVE, // Move to top-left corner + /* 0x8 */ TIMER_STATE_DOWN_TICK, // Counting down + /* 0xA */ TIMER_STATE_STOP = 10, + /* 0xB */ TIMER_STATE_UP_INIT, // Init timer that counts up + /* 0xC */ TIMER_STATE_UP_PREVIEW, // Display initial time, keep it fixed at the screen center + /* 0xD */ TIMER_STATE_UP_MOVE, // Move to top-left corner + /* 0xE */ TIMER_STATE_UP_TICK, // Counting up + /* 0xF */ TIMER_STATE_UP_FREEZE // Stop counting the timer +} TimerState; + +typedef enum { + /* 0x0 */ SUBTIMER_STATE_OFF, + /* 0x1 */ SUBTIMER_STATE_DOWN_INIT, // Init timer that counts down + /* 0x2 */ SUBTIMER_STATE_DOWN_PREVIEW, // Display initial time, keep it fixed at the screen center + /* 0x3 */ SUBTIMER_STATE_DOWN_MOVE, // Move to top-left corner + /* 0x4 */ SUBTIMER_STATE_DOWN_TICK, // Counting down + /* 0x5 */ SUBTIMER_STATE_RESPAWN, // Time is up, trigger a transition, reset button items, spoil trade quest items + /* 0x6 */ SUBTIMER_STATE_STOP, // Time is up, stop counting + /* 0x7 */ SUBTIMER_STATE_UP_INIT, // Init timer that counts up + /* 0x8 */ SUBTIMER_STATE_UP_PREVIEW, // Display initial time, keep it fixed at the screen center + /* 0x9 */ SUBTIMER_STATE_UP_MOVE, // Move to top-left corner + /* 0xA */ SUBTIMER_STATE_UP_TICK // Counting up +} SubTimerState; + +typedef enum { + /* 0 */ TIMER_ID_MAIN, // Takes priority in both counting and drawing. See `timerState` and `timerSeconds` + /* 1 */ TIMER_ID_SUB, // See `subTimerState` and `subTimerSeconds` + /* 2 */ TIMER_ID_MAX +} TimerId; + +#define MARATHON_TIME_LIMIT 240 // 4 minutes + +#define ENV_HAZARD_TEXT_TRIGGER_HOTROOM (1 << 0) +#define ENV_HAZARD_TEXT_TRIGGER_UNDERWATER (1 << 1) + typedef struct { /* 0x0000 */ s32 entranceIndex; // start of `save` substruct, originally called "memory" /* 0x0004 */ s32 linkAge; // 0: Adult; 1: Child (see enum `LinkAge`) @@ -162,17 +205,17 @@ typedef struct { /* 0x13C2 */ char unk_13C2[0x0001]; /* 0x13C3 */ u8 retainWeatherMode; /* 0x13C4 */ s16 dogParams; - /* 0x13C6 */ u8 textTriggerFlags; + /* 0x13C6 */ u8 envHazardTextTriggerFlags; /* 0x13C7 */ u8 showTitleCard; /* 0x13C8 */ s16 nayrusLoveTimer; /* 0x13CA */ char unk_13CA[0x0002]; /* 0x13CC */ s16 rupeeAccumulator; - /* 0x13CE */ s16 timer1State; - /* 0x13D0 */ s16 timer1Value; - /* 0x13D2 */ s16 timer2State; - /* 0x13D4 */ s16 timer2Value; - /* 0x13D6 */ s16 timerX[2]; - /* 0x13DA */ s16 timerY[2]; + /* 0x13CE */ s16 timerState; // See `TimerState` + /* 0x13D0 */ s16 timerSeconds; + /* 0x13D2 */ s16 subTimerState; // See `SubTimerState` + /* 0x13D4 */ s16 subTimerSeconds; + /* 0x13D6 */ s16 timerX[TIMER_ID_MAX]; + /* 0x13DA */ s16 timerY[TIMER_ID_MAX]; /* 0x13DE */ char unk_13DE[0x0002]; /* 0x13E0 */ u8 seqId; /* 0x13E1 */ u8 natureAmbienceId; @@ -748,7 +791,8 @@ typedef enum { (gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & ~EVENTINF_HORSES_0F_MASK) | ((v) << EVENTINF_HORSES_0F_SHIFT) -#define EVENTINF_10 0x10 +// Is the running man race active +#define EVENTINF_MARATHON_ACTIVE 0x10 // 0x20-0x24 #define EVENTINF_20_21_22_23_24_INDEX 2 diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 90a31872b1e..7748c0fba62 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -8,7 +8,7 @@ void Interface_Init(PlayState* play) { InterfaceContext* interfaceCtx = &play->interfaceCtx; u32 parameterSize; u16 doActionOffset; - u8 temp; + u8 timerId; gSaveContext.sunsSongState = SUNSSONG_INACTIVE; gSaveContext.unk_13E8 = gSaveContext.unk_13EA = 0; @@ -109,39 +109,42 @@ void Interface_Init(PlayState* play) { 0x1000, "../z_construct.c", 219); } - osSyncPrintf("EVENT=%d\n", ((void)0, gSaveContext.timer1State)); + osSyncPrintf("EVENT=%d\n", ((void)0, gSaveContext.timerState)); - if ((gSaveContext.timer1State == 4) || (gSaveContext.timer1State == 8) || (gSaveContext.timer2State == 4) || - (gSaveContext.timer2State == 10)) { + if ((gSaveContext.timerState == TIMER_STATE_ENV_HAZARD_TICK) || + (gSaveContext.timerState == TIMER_STATE_DOWN_TICK) || + (gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_TICK) || + (gSaveContext.subTimerState == SUBTIMER_STATE_UP_TICK)) { osSyncPrintf("restart_flag=%d\n", ((void)0, gSaveContext.respawnFlag)); if ((gSaveContext.respawnFlag == -1) || (gSaveContext.respawnFlag == 1)) { - if (gSaveContext.timer1State == 4) { - gSaveContext.timer1State = 1; - gSaveContext.timerX[0] = 140; - gSaveContext.timerY[0] = 80; + if (gSaveContext.timerState == TIMER_STATE_ENV_HAZARD_TICK) { + gSaveContext.timerState = TIMER_STATE_ENV_HAZARD_INIT; + gSaveContext.timerX[TIMER_ID_MAIN] = 140; + gSaveContext.timerY[TIMER_ID_MAIN] = 80; } } - if ((gSaveContext.timer1State == 4) || (gSaveContext.timer1State == 8)) { - temp = 0; + if ((gSaveContext.timerState == TIMER_STATE_ENV_HAZARD_TICK) || + (gSaveContext.timerState == TIMER_STATE_DOWN_TICK)) { + timerId = TIMER_ID_MAIN; } else { - temp = 1; + timerId = TIMER_ID_SUB; } - gSaveContext.timerX[temp] = 26; + gSaveContext.timerX[timerId] = 26; if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[temp] = 54; + gSaveContext.timerY[timerId] = 54; // two rows of hearts } else { - gSaveContext.timerY[temp] = 46; + gSaveContext.timerY[timerId] = 46; // one row of hearts } } - if ((gSaveContext.timer1State >= 11) && (gSaveContext.timer1State < 16)) { - gSaveContext.timer1State = 0; + if ((gSaveContext.timerState >= TIMER_STATE_UP_INIT) && (gSaveContext.timerState <= TIMER_STATE_UP_FREEZE)) { + gSaveContext.timerState = TIMER_STATE_OFF; // "Timer Stop!!!!!!!!!!!!!!!!!!!!!!" - osSyncPrintf("タイマー停止!!!!!!!!!!!!!!!!!!!!! = %d\n", gSaveContext.timer1State); + osSyncPrintf("タイマー停止!!!!!!!!!!!!!!!!!!!!! = %d\n", gSaveContext.timerState); } osSyncPrintf("PARAMETER領域=%x\n", parameterSize + 0x5300); // "Parameter Area = %x" diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c index 733888f5eea..e4731ed3481 100644 --- a/src/code/z_game_over.c +++ b/src/code/z_game_over.c @@ -28,9 +28,9 @@ void GameOver_Update(PlayState* play) { case GAMEOVER_DEATH_START: Message_CloseTextbox(play); - gSaveContext.timer1State = 0; - gSaveContext.timer2State = 0; - CLEAR_EVENTINF(EVENTINF_10); + gSaveContext.timerState = TIMER_STATE_OFF; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); // search inventory for spoiling items and revert if necessary for (i = 0; i < ARRAY_COUNT(gSpoilingItems); i++) { diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c index 640e4c90bf0..189ab1eeedc 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -1283,9 +1283,9 @@ void Message_Decode(PlayState* play) { osSyncPrintf("\nEVENTタイマー = "); digits[0] = digits[1] = digits[2] = 0; if (curChar == MESSAGE_RACE_TIME) { - digits[3] = gSaveContext.timer1Value; + digits[3] = gSaveContext.timerSeconds; } else { - digits[3] = gSaveContext.timer2Value; + digits[3] = gSaveContext.subTimerSeconds; } while (digits[3] >= 60) { diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 1d4e90a90ac..f23bc934837 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -154,8 +154,8 @@ static s16 sExtraItemBases[] = { ITEM_DEKU_NUT, // ITEM_DEKU_NUT_UPGRADE_40 }; -static s16 D_80125A58 = 0; -static s16 D_80125A5C = false; +static s16 sEnvHazard = PLAYER_ENV_HAZARD_NONE; +static s16 sEnvHazardActive = false; static Gfx sSetupDL_80125A60[] = { gsDPPipeSync(), @@ -722,7 +722,8 @@ void func_80083108(PlayState* play) { Interface_ChangeAlpha(50); } } else if (msgCtx->msgMode == MSGMODE_NONE) { - if ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) { + if ((Player_GetEnvironmentalHazard(play) >= PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) && + (Player_GetEnvironmentalHazard(play) <= PLAYER_ENV_HAZARD_UNDERWATER_FREE)) { if (gSaveContext.buttonStatus[0] != BTN_DISABLED) { sp28 = true; } @@ -730,7 +731,7 @@ void func_80083108(PlayState* play) { gSaveContext.buttonStatus[0] = BTN_DISABLED; for (i = 1; i < 4; i++) { - if (func_8008F2F8(play) == 2) { + if (Player_GetEnvironmentalHazard(play) == PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) { if ((gSaveContext.equips.buttonItems[i] != ITEM_HOOKSHOT) && (gSaveContext.equips.buttonItems[i] != ITEM_LONGSHOT)) { if (gSaveContext.buttonStatus[i] == BTN_ENABLED) { @@ -2523,7 +2524,9 @@ void Magic_Update(PlayState* play) { if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0) && (msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) && (play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play)) { - if ((gSaveContext.magic == 0) || ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) || + if ((gSaveContext.magic == 0) || + ((Player_GetEnvironmentalHazard(play) >= PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) && + (Player_GetEnvironmentalHazard(play) <= PLAYER_ENV_HAZARD_UNDERWATER_FREE)) || ((gSaveContext.equips.buttonItems[1] != ITEM_LENS_OF_TRUTH) && (gSaveContext.equips.buttonItems[2] != ITEM_LENS_OF_TRUTH) && (gSaveContext.equips.buttonItems[3] != ITEM_LENS_OF_TRUTH)) || @@ -2672,39 +2675,47 @@ void Magic_DrawMeter(PlayState* play) { CLOSE_DISPS(play->state.gfxCtx, "../z_parameter.c", 2731); } -void func_80088AA0(s16 arg0) { - gSaveContext.timerX[1] = 140; - gSaveContext.timerY[1] = 80; - D_80125A5C = false; - gSaveContext.timer2Value = arg0; +void Interface_SetSubTimer(s16 seconds) { + gSaveContext.timerX[TIMER_ID_SUB] = 140; + gSaveContext.timerY[TIMER_ID_SUB] = 80; + sEnvHazardActive = false; + gSaveContext.subTimerSeconds = seconds; - if (arg0 != 0) { - gSaveContext.timer2State = 1; + if (seconds != 0) { + // count down + gSaveContext.subTimerState = SUBTIMER_STATE_DOWN_INIT; } else { - gSaveContext.timer2State = 7; + // count up + gSaveContext.subTimerState = SUBTIMER_STATE_UP_INIT; } } -void func_80088AF0(PlayState* play) { - if (gSaveContext.timer2State != 0) { - if (GET_EVENTINF(EVENTINF_10)) { - gSaveContext.timer2Value = 239; +/** + * Set the subTimer to 1 second left + */ +void Interface_SetSubTimerToFinalSecond(PlayState* play) { + if (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) { + if (GET_EVENTINF(EVENTINF_MARATHON_ACTIVE)) { + // The running-man race counts up and finished at MARATHON_TIME_LIMIT + gSaveContext.subTimerSeconds = MARATHON_TIME_LIMIT - 1; } else { - gSaveContext.timer2Value = 1; + gSaveContext.subTimerSeconds = 1; } } } -void func_80088B34(s16 arg0) { - gSaveContext.timerX[0] = 140; - gSaveContext.timerY[0] = 80; - D_80125A5C = false; - gSaveContext.timer1Value = arg0; +void Interface_SetTimer(s16 seconds) { + gSaveContext.timerX[TIMER_ID_MAIN] = 140; + gSaveContext.timerY[TIMER_ID_MAIN] = 80; + sEnvHazardActive = false; + gSaveContext.timerSeconds = seconds; - if (arg0 != 0) { - gSaveContext.timer1State = 5; + if (seconds != 0) { + // count down + gSaveContext.timerState = TIMER_STATE_DOWN_INIT; } else { - gSaveContext.timer1State = 11; + // count up + gSaveContext.timerState = TIMER_STATE_UP_INIT; } } @@ -2802,7 +2813,8 @@ void Interface_DrawItemButtons(PlayState* play) { if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) { temp = 0; - } else if ((player->stateFlags1 & PLAYER_STATE1_21) || (func_8008F2F8(play) == 4) || + } else if ((player->stateFlags1 & PLAYER_STATE1_21) || + (Player_GetEnvironmentalHazard(play) == PLAYER_ENV_HAZARD_UNDERWATER_FREE) || (player->stateFlags2 & PLAYER_STATE2_CRAWLING)) { temp = 70; } else { @@ -3062,7 +3074,7 @@ void Interface_Draw(PlayState* play) { static s16 magicArrowEffectsG[] = { 0, 100, 255 }; static s16 magicArrowEffectsB[] = { 0, 255, 100 }; static s16 timerDigitLeftPos[] = { 16, 25, 34, 42, 51 }; - static s16 digitWidth[] = { 9, 9, 8, 9, 9 }; + static s16 sDigitWidths[] = { 9, 9, 8, 9, 9 }; // unused, most likely colors static s16 D_80125B1C[][3] = { { 0, 150, 0 }, { 100, 255, 0 }, { 255, 255, 255 }, { 0, 0, 0 }, { 255, 255, 255 }, @@ -3072,11 +3084,11 @@ void Interface_Draw(PlayState* play) { static s16 spoilingItemEntrances[] = { ENTR_SPOT10_2, ENTR_SPOT07_3, ENTR_SPOT07_3 }; static f32 D_80125B54[] = { -40.0f, -35.0f }; // unused static s16 D_80125B5C[] = { 91, 91 }; // unused - static s16 D_8015FFE0; - static s16 D_8015FFE2; - static s16 D_8015FFE4; - static s16 D_8015FFE6; - static s16 timerDigits[5]; + static s16 sTimerNextSecondTimer; + static s16 sTimerStateTimer; + static s16 sSubTimerNextSecondTimer; + static s16 sSubTimerStateTimer; + static s16 sTimerDigits[5]; InterfaceContext* interfaceCtx = &play->interfaceCtx; PauseContext* pauseCtx = &play->pauseCtx; MessageContext* msgCtx = &play->msgCtx; @@ -3086,7 +3098,7 @@ void Interface_Draw(PlayState* play) { s16 svar3; s16 svar4; s16 svar5; - s16 svar6; + s16 timerId; OPEN_DISPS(play->state.gfxCtx, "../z_parameter.c", 3405); @@ -3417,7 +3429,7 @@ void Interface_Draw(PlayState* play) { if (sHBAScoreDigits[svar1] != 0 || (svar2 != 0) || (svar1 >= 3)) { OVERLAY_DISP = Gfx_TextureI8( OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * sHBAScoreDigits[svar1])), 8, 16, svar5, - (ZREG(15) - 2), digitWidth[0], VREG(42), VREG(43) << 1, VREG(43) << 1); + (ZREG(15) - 2), sDigitWidths[0], VREG(42), VREG(43) << 1, VREG(43) << 1); svar5 += 9; svar2++; } @@ -3428,13 +3440,14 @@ void Interface_Draw(PlayState* play) { } } - if ((gSaveContext.timer2State == 5) && (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) { + if ((gSaveContext.subTimerState == SUBTIMER_STATE_RESPAWN) && + (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) { // Trade quest timer reached 0 - D_8015FFE6 = 40; + sSubTimerStateTimer = 40; gSaveContext.cutsceneIndex = 0; play->transitionTrigger = TRANS_TRIGGER_START; play->transitionType = TRANS_TYPE_FADE_WHITE; - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && @@ -3472,112 +3485,123 @@ void Interface_Draw(PlayState* play) { !(player->stateFlags2 & PLAYER_STATE2_24) && (play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play) && (gSaveContext.minigameState != 1) && (play->shootingGalleryStatus <= 1) && !((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38))) { - svar6 = 0; - switch (gSaveContext.timer1State) { - case 1: - D_8015FFE2 = 20; - D_8015FFE0 = 20; - gSaveContext.timer1Value = gSaveContext.health >> 1; - gSaveContext.timer1State = 2; + + timerId = TIMER_ID_MAIN; + + switch (gSaveContext.timerState) { + case TIMER_STATE_ENV_HAZARD_INIT: + sTimerStateTimer = 20; + sTimerNextSecondTimer = 20; + gSaveContext.timerSeconds = gSaveContext.health >> 1; + gSaveContext.timerState = TIMER_STATE_ENV_HAZARD_PREVIEW; break; - case 2: - D_8015FFE2--; - if (D_8015FFE2 == 0) { - D_8015FFE2 = 20; - gSaveContext.timer1State = 3; + + case TIMER_STATE_ENV_HAZARD_PREVIEW: + sTimerStateTimer--; + if (sTimerStateTimer == 0) { + sTimerStateTimer = 20; + gSaveContext.timerState = TIMER_STATE_ENV_HAZARD_MOVE; } break; - case 5: - case 11: - D_8015FFE2 = 20; - D_8015FFE0 = 20; - if (gSaveContext.timer1State == 5) { - gSaveContext.timer1State = 6; + + case TIMER_STATE_DOWN_INIT: + case TIMER_STATE_UP_INIT: + sTimerStateTimer = 20; + sTimerNextSecondTimer = 20; + if (gSaveContext.timerState == TIMER_STATE_DOWN_INIT) { + gSaveContext.timerState = TIMER_STATE_DOWN_PREVIEW; } else { - gSaveContext.timer1State = 12; + gSaveContext.timerState = TIMER_STATE_UP_PREVIEW; } break; - case 6: - case 12: - D_8015FFE2--; - if (D_8015FFE2 == 0) { - D_8015FFE2 = 20; - if (gSaveContext.timer1State == 6) { - gSaveContext.timer1State = 7; + + case TIMER_STATE_DOWN_PREVIEW: + case TIMER_STATE_UP_PREVIEW: + sTimerStateTimer--; + if (sTimerStateTimer == 0) { + sTimerStateTimer = 20; + if (gSaveContext.timerState == TIMER_STATE_DOWN_PREVIEW) { + gSaveContext.timerState = TIMER_STATE_DOWN_MOVE; } else { - gSaveContext.timer1State = 13; + gSaveContext.timerState = TIMER_STATE_UP_MOVE; } } break; - case 3: - case 7: - svar1 = (gSaveContext.timerX[0] - 26) / D_8015FFE2; - gSaveContext.timerX[0] -= svar1; + + case TIMER_STATE_ENV_HAZARD_MOVE: + case TIMER_STATE_DOWN_MOVE: + svar1 = (gSaveContext.timerX[TIMER_ID_MAIN] - 26) / sTimerStateTimer; + gSaveContext.timerX[TIMER_ID_MAIN] -= svar1; if (gSaveContext.healthCapacity > 0xA0) { - svar1 = (gSaveContext.timerY[0] - 54) / D_8015FFE2; + svar1 = (gSaveContext.timerY[TIMER_ID_MAIN] - 54) / sTimerStateTimer; // two rows of hearts } else { - svar1 = (gSaveContext.timerY[0] - 46) / D_8015FFE2; + svar1 = (gSaveContext.timerY[TIMER_ID_MAIN] - 46) / sTimerStateTimer; // one row of hearts } - gSaveContext.timerY[0] -= svar1; + gSaveContext.timerY[TIMER_ID_MAIN] -= svar1; - D_8015FFE2--; - if (D_8015FFE2 == 0) { - D_8015FFE2 = 20; - gSaveContext.timerX[0] = 26; + sTimerStateTimer--; + if (sTimerStateTimer == 0) { + sTimerStateTimer = 20; + gSaveContext.timerX[TIMER_ID_MAIN] = 26; if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[0] = 54; + gSaveContext.timerY[TIMER_ID_MAIN] = 54; // two rows of hearts } else { - gSaveContext.timerY[0] = 46; + gSaveContext.timerY[TIMER_ID_MAIN] = 46; // one row of hearts } - if (gSaveContext.timer1State == 3) { - gSaveContext.timer1State = 4; + if (gSaveContext.timerState == TIMER_STATE_ENV_HAZARD_MOVE) { + gSaveContext.timerState = TIMER_STATE_ENV_HAZARD_TICK; } else { - gSaveContext.timer1State = 8; + gSaveContext.timerState = TIMER_STATE_DOWN_TICK; } } FALLTHROUGH; - case 4: - case 8: - if ((gSaveContext.timer1State == 4) || (gSaveContext.timer1State == 8)) { + case TIMER_STATE_ENV_HAZARD_TICK: + case TIMER_STATE_DOWN_TICK: + if ((gSaveContext.timerState == TIMER_STATE_ENV_HAZARD_TICK) || + (gSaveContext.timerState == TIMER_STATE_DOWN_TICK)) { if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[0] = 54; + gSaveContext.timerY[TIMER_ID_MAIN] = 54; // two rows of hearts } else { - gSaveContext.timerY[0] = 46; + gSaveContext.timerY[TIMER_ID_MAIN] = 46; // one row of hearts } } - if ((gSaveContext.timer1State >= 3) && (msgCtx->msgLength == 0)) { - D_8015FFE0--; - if (D_8015FFE0 == 0) { - if (gSaveContext.timer1Value != 0) { - gSaveContext.timer1Value--; + if ((gSaveContext.timerState >= TIMER_STATE_ENV_HAZARD_MOVE) && (msgCtx->msgLength == 0)) { + sTimerNextSecondTimer--; + if (sTimerNextSecondTimer == 0) { + if (gSaveContext.timerSeconds != 0) { + gSaveContext.timerSeconds--; } - D_8015FFE0 = 20; + sTimerNextSecondTimer = 20; - if (gSaveContext.timer1Value == 0) { - gSaveContext.timer1State = 10; - if (D_80125A5C) { + if (gSaveContext.timerSeconds == 0) { + // Out of time + gSaveContext.timerState = TIMER_STATE_STOP; + if (sEnvHazardActive) { gSaveContext.health = 0; play->damagePlayer(play, -(gSaveContext.health + 2)); } - D_80125A5C = false; - } else if (gSaveContext.timer1Value > 60) { - if (timerDigits[4] == 1) { + sEnvHazardActive = false; + } else if (gSaveContext.timerSeconds > 60) { + // Beep at "xx:x1" (every 10 seconds) + if (sTimerDigits[4] == 1) { Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_WOMAN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if (gSaveContext.timer1Value >= 11) { - if (timerDigits[4] & 1) { + } else if (gSaveContext.timerSeconds > 10) { + // Beep on alternating seconds + if ((sTimerDigits[4] % 2) != 0) { Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } } else { + // Beep every second Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_E, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -3585,48 +3609,49 @@ void Interface_Draw(PlayState* play) { } } break; - case 13: - svar1 = (gSaveContext.timerX[0] - 26) / D_8015FFE2; - gSaveContext.timerX[0] -= svar1; + + case TIMER_STATE_UP_MOVE: + svar1 = (gSaveContext.timerX[TIMER_ID_MAIN] - 26) / sTimerStateTimer; + gSaveContext.timerX[TIMER_ID_MAIN] -= svar1; if (gSaveContext.healthCapacity > 0xA0) { - svar1 = (gSaveContext.timerY[0] - 54) / D_8015FFE2; + svar1 = (gSaveContext.timerY[TIMER_ID_MAIN] - 54) / sTimerStateTimer; // two rows of hearts } else { - svar1 = (gSaveContext.timerY[0] - 46) / D_8015FFE2; + svar1 = (gSaveContext.timerY[TIMER_ID_MAIN] - 46) / sTimerStateTimer; // one row of hearts } - gSaveContext.timerY[0] -= svar1; + gSaveContext.timerY[TIMER_ID_MAIN] -= svar1; - D_8015FFE2--; - if (D_8015FFE2 == 0) { - D_8015FFE2 = 20; - gSaveContext.timerX[0] = 26; + sTimerStateTimer--; + if (sTimerStateTimer == 0) { + sTimerStateTimer = 20; + gSaveContext.timerX[TIMER_ID_MAIN] = 26; if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[0] = 54; + gSaveContext.timerY[TIMER_ID_MAIN] = 54; // two rows of hearts } else { - gSaveContext.timerY[0] = 46; + gSaveContext.timerY[TIMER_ID_MAIN] = 46; // one row of hearts } - gSaveContext.timer1State = 14; + gSaveContext.timerState = TIMER_STATE_UP_TICK; } FALLTHROUGH; - case 14: - if (gSaveContext.timer1State == 14) { + case TIMER_STATE_UP_TICK: + if (gSaveContext.timerState == TIMER_STATE_UP_TICK) { if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[0] = 54; + gSaveContext.timerY[TIMER_ID_MAIN] = 54; // two rows of hearts } else { - gSaveContext.timerY[0] = 46; + gSaveContext.timerY[TIMER_ID_MAIN] = 46; // one row of hearts } } - if (gSaveContext.timer1State >= 3) { - D_8015FFE0--; - if (D_8015FFE0 == 0) { - gSaveContext.timer1Value++; - D_8015FFE0 = 20; + if (gSaveContext.timerState >= TIMER_STATE_ENV_HAZARD_MOVE) { + sTimerNextSecondTimer--; + if (sTimerNextSecondTimer == 0) { + gSaveContext.timerSeconds++; + sTimerNextSecondTimer = 20; - if (gSaveContext.timer1Value == 3599) { - D_8015FFE2 = 40; - gSaveContext.timer1State = 15; + if (gSaveContext.timerSeconds == 3599) { // 59 minutes, 59 seconds + sTimerStateTimer = 40; + gSaveContext.timerState = TIMER_STATE_UP_FREEZE; } else { Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, @@ -3635,146 +3660,163 @@ void Interface_Draw(PlayState* play) { } } break; - case 10: - if (gSaveContext.timer2State != 0) { - D_8015FFE6 = 20; - D_8015FFE4 = 20; - gSaveContext.timerX[1] = 140; - gSaveContext.timerY[1] = 80; - - if (gSaveContext.timer2State < 7) { - gSaveContext.timer2State = 2; + + case TIMER_STATE_STOP: + if (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) { + sSubTimerStateTimer = 20; + sSubTimerNextSecondTimer = 20; + gSaveContext.timerX[TIMER_ID_SUB] = 140; + gSaveContext.timerY[TIMER_ID_SUB] = 80; + + if (gSaveContext.subTimerState <= SUBTIMER_STATE_STOP) { + gSaveContext.subTimerState = SUBTIMER_STATE_DOWN_PREVIEW; } else { - gSaveContext.timer2State = 8; + gSaveContext.subTimerState = SUBTIMER_STATE_UP_PREVIEW; } - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } else { - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } - case 15: + FALLTHROUGH; + case TIMER_STATE_UP_FREEZE: break; - default: - svar6 = 1; - switch (gSaveContext.timer2State) { - case 1: - case 7: - D_8015FFE6 = 20; - D_8015FFE4 = 20; - gSaveContext.timerX[1] = 140; - gSaveContext.timerY[1] = 80; - if (gSaveContext.timer2State == 1) { - gSaveContext.timer2State = 2; + + default: // TIMER_STATE_OFF + // Process the subTimer only if the main timer is off + timerId = TIMER_ID_SUB; + + switch (gSaveContext.subTimerState) { + case SUBTIMER_STATE_DOWN_INIT: + case SUBTIMER_STATE_UP_INIT: + sSubTimerStateTimer = 20; + sSubTimerNextSecondTimer = 20; + gSaveContext.timerX[TIMER_ID_SUB] = 140; + gSaveContext.timerY[TIMER_ID_SUB] = 80; + if (gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_INIT) { + gSaveContext.subTimerState = SUBTIMER_STATE_DOWN_PREVIEW; } else { - gSaveContext.timer2State = 8; + gSaveContext.subTimerState = SUBTIMER_STATE_UP_PREVIEW; } break; - case 2: - case 8: - D_8015FFE6--; - if (D_8015FFE6 == 0) { - D_8015FFE6 = 20; - if (gSaveContext.timer2State == 2) { - gSaveContext.timer2State = 3; + + case SUBTIMER_STATE_DOWN_PREVIEW: + case SUBTIMER_STATE_UP_PREVIEW: + sSubTimerStateTimer--; + if (sSubTimerStateTimer == 0) { + sSubTimerStateTimer = 20; + if (gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_PREVIEW) { + gSaveContext.subTimerState = SUBTIMER_STATE_DOWN_MOVE; } else { - gSaveContext.timer2State = 9; + gSaveContext.subTimerState = SUBTIMER_STATE_UP_MOVE; } } break; - case 3: - case 9: + + case SUBTIMER_STATE_DOWN_MOVE: + case SUBTIMER_STATE_UP_MOVE: osSyncPrintf("event_xp[1]=%d, event_yp[1]=%d TOTAL_EVENT_TM=%d\n", - ((void)0, gSaveContext.timerX[1]), ((void)0, gSaveContext.timerY[1]), - gSaveContext.timer2Value); - svar1 = (gSaveContext.timerX[1] - 26) / D_8015FFE6; - gSaveContext.timerX[1] -= svar1; + ((void)0, gSaveContext.timerX[TIMER_ID_SUB]), + ((void)0, gSaveContext.timerY[TIMER_ID_SUB]), gSaveContext.subTimerSeconds); + svar1 = (gSaveContext.timerX[TIMER_ID_SUB] - 26) / sSubTimerStateTimer; + gSaveContext.timerX[TIMER_ID_SUB] -= svar1; if (gSaveContext.healthCapacity > 0xA0) { - svar1 = (gSaveContext.timerY[1] - 54) / D_8015FFE6; + // two rows of hearts + svar1 = (gSaveContext.timerY[TIMER_ID_SUB] - 54) / sSubTimerStateTimer; } else { - svar1 = (gSaveContext.timerY[1] - 46) / D_8015FFE6; + // one row of hearts + svar1 = (gSaveContext.timerY[TIMER_ID_SUB] - 46) / sSubTimerStateTimer; } - gSaveContext.timerY[1] -= svar1; + gSaveContext.timerY[TIMER_ID_SUB] -= svar1; - D_8015FFE6--; - if (D_8015FFE6 == 0) { - D_8015FFE6 = 20; - gSaveContext.timerX[1] = 26; + sSubTimerStateTimer--; + if (sSubTimerStateTimer == 0) { + sSubTimerStateTimer = 20; + gSaveContext.timerX[TIMER_ID_SUB] = 26; if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[1] = 54; + gSaveContext.timerY[TIMER_ID_SUB] = 54; // two rows of hearts } else { - gSaveContext.timerY[1] = 46; + gSaveContext.timerY[TIMER_ID_SUB] = 46; // one row of hearts } - if (gSaveContext.timer2State == 3) { - gSaveContext.timer2State = 4; + if (gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_MOVE) { + gSaveContext.subTimerState = SUBTIMER_STATE_DOWN_TICK; } else { - gSaveContext.timer2State = 10; + gSaveContext.subTimerState = SUBTIMER_STATE_UP_TICK; } } FALLTHROUGH; - case 4: - case 10: - if ((gSaveContext.timer2State == 4) || (gSaveContext.timer2State == 10)) { + case SUBTIMER_STATE_DOWN_TICK: + case SUBTIMER_STATE_UP_TICK: + if ((gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_TICK) || + (gSaveContext.subTimerState == SUBTIMER_STATE_UP_TICK)) { if (gSaveContext.healthCapacity > 0xA0) { - gSaveContext.timerY[1] = 54; + gSaveContext.timerY[TIMER_ID_SUB] = 54; // two rows of hearts } else { - gSaveContext.timerY[1] = 46; + gSaveContext.timerY[TIMER_ID_SUB] = 46; // one row of hearts } } - if (gSaveContext.timer2State >= 3) { - D_8015FFE4--; - if (D_8015FFE4 == 0) { - D_8015FFE4 = 20; - if (gSaveContext.timer2State == 4) { - gSaveContext.timer2Value--; - osSyncPrintf("TOTAL_EVENT_TM=%d\n", gSaveContext.timer2Value); + if (gSaveContext.subTimerState >= SUBTIMER_STATE_DOWN_MOVE) { + sSubTimerNextSecondTimer--; + if (sSubTimerNextSecondTimer == 0) { + sSubTimerNextSecondTimer = 20; + if (gSaveContext.subTimerState == SUBTIMER_STATE_DOWN_TICK) { + gSaveContext.subTimerSeconds--; + osSyncPrintf("TOTAL_EVENT_TM=%d\n", gSaveContext.subTimerSeconds); - if (gSaveContext.timer2Value <= 0) { + if (gSaveContext.subTimerSeconds <= 0) { + // Out of time if (!Flags_GetSwitch(play, 0x37) || ((play->sceneId != SCENE_GANON_DEMO) && (play->sceneId != SCENE_GANON_FINAL) && (play->sceneId != SCENE_GANON_SONOGO) && (play->sceneId != SCENE_GANONTIKA_SONOGO))) { - D_8015FFE6 = 40; - gSaveContext.timer2State = 5; + sSubTimerStateTimer = 40; + gSaveContext.subTimerState = SUBTIMER_STATE_RESPAWN; gSaveContext.cutsceneIndex = 0; Message_StartTextbox(play, 0x71B0, NULL); func_8002DF54(play, NULL, 8); } else { - D_8015FFE6 = 40; - gSaveContext.timer2State = 6; + sSubTimerStateTimer = 40; + gSaveContext.subTimerState = SUBTIMER_STATE_STOP; } - } else if (gSaveContext.timer2Value > 60) { - if (timerDigits[4] == 1) { + } else if (gSaveContext.subTimerSeconds > 60) { + // Beep at "xx:x1" (every 10 seconds) + if (sTimerDigits[4] == 1) { Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_WOMAN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if (gSaveContext.timer2Value > 10) { - if (timerDigits[4] & 1) { + } else if (gSaveContext.subTimerSeconds > 10) { + // Beep on alternating seconds + if ((sTimerDigits[4] % 2) != 0) { Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } } else { + // Beep every second Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_E, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else { - gSaveContext.timer2Value++; - if (GET_EVENTINF(EVENTINF_10)) { - if (gSaveContext.timer2Value == 240) { - Message_StartTextbox(play, 0x6083, NULL); - CLEAR_EVENTINF(EVENTINF_10); - gSaveContext.timer2State = 0; - } + } else { // SUBTIMER_STATE_UP_TICK + gSaveContext.subTimerSeconds++; + + // Special case for the running-man race + if (GET_EVENTINF(EVENTINF_MARATHON_ACTIVE) && + (gSaveContext.subTimerSeconds == MARATHON_TIME_LIMIT)) { + // After 4 minutes, cancel the timer + Message_StartTextbox(play, 0x6083, NULL); + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; } } - if ((gSaveContext.timer2Value % 60) == 0) { + // Beep at the minute mark + if ((gSaveContext.subTimerSeconds % 60) == 0) { Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -3782,39 +3824,40 @@ void Interface_Draw(PlayState* play) { } } break; - case 6: - D_8015FFE6--; - if (D_8015FFE6 == 0) { - gSaveContext.timer2State = 0; + + case SUBTIMER_STATE_STOP: + sSubTimerStateTimer--; + if (sSubTimerStateTimer == 0) { + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; } break; } break; } - if (((gSaveContext.timer1State != 0) && (gSaveContext.timer1State != 10)) || - (gSaveContext.timer2State != 0)) { - timerDigits[0] = timerDigits[1] = timerDigits[3] = 0; - timerDigits[2] = 10; // digit 10 is used as ':' (colon) + if (((gSaveContext.timerState != TIMER_STATE_OFF) && (gSaveContext.timerState != TIMER_STATE_STOP)) || + (gSaveContext.subTimerState != SUBTIMER_STATE_OFF)) { + sTimerDigits[0] = sTimerDigits[1] = sTimerDigits[3] = 0; + sTimerDigits[2] = 10; // digit 10 is used as ':' (colon) - if (gSaveContext.timer1State != 0) { - timerDigits[4] = gSaveContext.timer1Value; + if (gSaveContext.timerState != TIMER_STATE_OFF) { + sTimerDigits[4] = gSaveContext.timerSeconds; } else { - timerDigits[4] = gSaveContext.timer2Value; + sTimerDigits[4] = gSaveContext.subTimerSeconds; } - while (timerDigits[4] >= 60) { - timerDigits[1]++; - if (timerDigits[1] >= 10) { - timerDigits[0]++; - timerDigits[1] -= 10; + while (sTimerDigits[4] >= 60) { + sTimerDigits[1]++; + if (sTimerDigits[1] >= 10) { + sTimerDigits[0]++; + sTimerDigits[1] -= 10; } - timerDigits[4] -= 60; + sTimerDigits[4] -= 60; } - while (timerDigits[4] >= 10) { - timerDigits[3]++; - timerDigits[4] -= 10; + while (sTimerDigits[4] >= 10) { + sTimerDigits[3]++; + sTimerDigits[4] -= 10; } // Clock Icon @@ -3822,34 +3865,36 @@ void Interface_Draw(PlayState* play) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, 255); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0); OVERLAY_DISP = - Gfx_TextureIA8(OVERLAY_DISP, gClockIconTex, 16, 16, ((void)0, gSaveContext.timerX[svar6]), - ((void)0, gSaveContext.timerY[svar6]) + 2, 16, 16, 1 << 10, 1 << 10); + Gfx_TextureIA8(OVERLAY_DISP, gClockIconTex, 16, 16, ((void)0, gSaveContext.timerX[timerId]), + ((void)0, gSaveContext.timerY[timerId]) + 2, 16, 16, 1 << 10, 1 << 10); // Timer Counter gDPPipeSync(OVERLAY_DISP++); gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); - if (gSaveContext.timer1State != 0) { - if ((gSaveContext.timer1Value < 10) && (gSaveContext.timer1State < 11)) { + if (gSaveContext.timerState != TIMER_STATE_OFF) { + // TIMER_ID_MAIN + if ((gSaveContext.timerSeconds < 10) && (gSaveContext.timerState <= TIMER_STATE_STOP)) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 50, 0, 255); } else { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, 255); } } else { - if ((gSaveContext.timer2Value < 10) && (gSaveContext.timer2State < 6)) { + // TIMER_ID_SUB + if ((gSaveContext.subTimerSeconds < 10) && (gSaveContext.subTimerState <= SUBTIMER_STATE_RESPAWN)) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 50, 0, 255); } else { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 0, 255); } } - for (svar1 = 0; svar1 < 5; svar1++) { + for (svar1 = 0; svar1 < ARRAY_COUNT(sTimerDigits); svar1++) { OVERLAY_DISP = - Gfx_TextureI8(OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * timerDigits[svar1])), 8, 16, - ((void)0, gSaveContext.timerX[svar6]) + timerDigitLeftPos[svar1], - ((void)0, gSaveContext.timerY[svar6]), digitWidth[svar1], VREG(42), VREG(43) << 1, - VREG(43) << 1); + Gfx_TextureI8(OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * sTimerDigits[svar1])), 8, 16, + ((void)0, gSaveContext.timerX[timerId]) + timerDigitLeftPos[svar1], + ((void)0, gSaveContext.timerY[timerId]), sDigitWidths[svar1], VREG(42), + VREG(43) << 1, VREG(43) << 1); } } } @@ -4021,24 +4066,25 @@ void Interface_Update(PlayState* play) { } Health_UpdateBeatingHeart(play); - D_80125A58 = func_8008F2F8(play); + sEnvHazard = Player_GetEnvironmentalHazard(play); - if (D_80125A58 == 1) { + if (sEnvHazard == PLAYER_ENV_HAZARD_HOTROOM) { if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) == EQUIP_VALUE_TUNIC_GORON) { - D_80125A58 = 0; + sEnvHazard = PLAYER_ENV_HAZARD_NONE; } - } else if ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) { + } else if ((Player_GetEnvironmentalHazard(play) >= PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) && + (Player_GetEnvironmentalHazard(play) <= PLAYER_ENV_HAZARD_UNDERWATER_FREE)) { if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) == EQUIP_VALUE_TUNIC_ZORA) { - D_80125A58 = 0; + sEnvHazard = PLAYER_ENV_HAZARD_NONE; } } Health_UpdateMeter(play); - if ((gSaveContext.timer1State >= 3) && (play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0) && - (msgCtx->msgMode == MSGMODE_NONE) && !(player->stateFlags2 & PLAYER_STATE2_24) && - (play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) && - !Play_InCsMode(play)) {} + if ((gSaveContext.timerState >= TIMER_STATE_ENV_HAZARD_MOVE) && (play->pauseCtx.state == 0) && + (play->pauseCtx.debugState == 0) && (msgCtx->msgMode == MSGMODE_NONE) && + !(player->stateFlags2 & PLAYER_STATE2_24) && (play->transitionTrigger == TRANS_TRIGGER_OFF) && + (play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play)) {} if (gSaveContext.rupeeAccumulator != 0) { if (gSaveContext.rupeeAccumulator > 0) { @@ -4140,16 +4186,19 @@ void Interface_Update(PlayState* play) { Magic_Update(play); } - if (gSaveContext.timer1State == 0) { - if (((D_80125A58 == 1) || (D_80125A58 == 2) || (D_80125A58 == 4)) && ((gSaveContext.health >> 1) != 0)) { - gSaveContext.timer1State = 1; - gSaveContext.timerX[0] = 140; - gSaveContext.timerY[0] = 80; - D_80125A5C = true; + if (gSaveContext.timerState == TIMER_STATE_OFF) { + if (((sEnvHazard == PLAYER_ENV_HAZARD_HOTROOM) || (sEnvHazard == PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) || + (sEnvHazard == PLAYER_ENV_HAZARD_UNDERWATER_FREE)) && + ((gSaveContext.health >> 1) != 0)) { + gSaveContext.timerState = TIMER_STATE_ENV_HAZARD_INIT; + gSaveContext.timerX[TIMER_ID_MAIN] = 140; + gSaveContext.timerY[TIMER_ID_MAIN] = 80; + sEnvHazardActive = true; } } else { - if (((D_80125A58 == 0) || (D_80125A58 == 3)) && (gSaveContext.timer1State < 5)) { - gSaveContext.timer1State = 0; + if (((sEnvHazard == PLAYER_ENV_HAZARD_NONE) || (sEnvHazard == PLAYER_ENV_HAZARD_SWIMMING)) && + (gSaveContext.timerState <= TIMER_STATE_ENV_HAZARD_TICK)) { + gSaveContext.timerState = TIMER_STATE_OFF; } } diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 36313997253..5ccf3aae816 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -3,11 +3,6 @@ #include "assets/objects/object_link_boy/object_link_boy.h" #include "assets/objects/object_link_child/object_link_child.h" -typedef struct { - /* 0x00 */ u8 flag; - /* 0x02 */ u16 textId; -} TextTriggerEntry; // size = 0x04 - typedef struct { /* 0x00 */ Gfx* dList; /* 0x04 */ Vec3f pos; @@ -95,11 +90,16 @@ u8 sActionModelGroups[PLAYER_IA_MAX] = { PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LENS_OF_TRUTH }; -TextTriggerEntry sTextTriggers[] = { - { 1, 0x3040 }, - { 2, 0x401D }, - { 0, 0x0000 }, - { 2, 0x401D }, +typedef struct { + /* 0x0 */ u8 flag; + /* 0x2 */ u16 textId; +} EnvHazardTextTriggerEntry; // size = 0x4 + +EnvHazardTextTriggerEntry sEnvHazardTextTriggers[] = { + { ENV_HAZARD_TEXT_TRIGGER_HOTROOM, 0x3040 }, // PLAYER_ENV_HAZARD_HOTROOM - 1 + { ENV_HAZARD_TEXT_TRIGGER_UNDERWATER, 0x401D }, // PLAYER_ENV_HAZARD_UNDERWATER_FLOOR - 1 + { 0, 0x0000 }, // PLAYER_ENV_HAZARD_SWIMMING - 1 + { ENV_HAZARD_TEXT_TRIGGER_UNDERWATER, 0x401D }, // PLAYER_ENV_HAZARD_UNDERWATER_FREE - 1 }; // Used to map model groups to model types for [animation, left hand, right hand, sheath, waist] @@ -778,35 +778,37 @@ s32 func_8008F2BC(Player* this, s32 itemAction) { return -1; } -s32 func_8008F2F8(PlayState* play) { +s32 Player_GetEnvironmentalHazard(PlayState* play) { Player* this = GET_PLAYER(play); - TextTriggerEntry* triggerEntry; - s32 var; + EnvHazardTextTriggerEntry* triggerEntry; + s32 envHazard; if (play->roomCtx.curRoom.behaviorType2 == ROOM_BEHAVIOR_TYPE2_3) { // Room is hot - var = 0; - } else if ((this->unk_840 > 80) && - ((this->currentBoots == PLAYER_BOOTS_IRON) || (this->unk_840 >= 300))) { // Deep underwater - var = ((this->currentBoots == PLAYER_BOOTS_IRON) && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) ? 1 : 3; + envHazard = PLAYER_ENV_HAZARD_HOTROOM - 1; + } else if ((this->underwaterTimer > 80) && + ((this->currentBoots == PLAYER_BOOTS_IRON) || (this->underwaterTimer >= 300))) { + envHazard = ((this->currentBoots == PLAYER_BOOTS_IRON) && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) + ? (PLAYER_ENV_HAZARD_UNDERWATER_FLOOR - 1) + : (PLAYER_ENV_HAZARD_UNDERWATER_FREE - 1); } else if (this->stateFlags1 & PLAYER_STATE1_27) { // Swimming - var = 2; + envHazard = PLAYER_ENV_HAZARD_SWIMMING - 1; } else { - return 0; + return PLAYER_ENV_HAZARD_NONE; } - // Trigger general textboxes under certain conditions, like "It's so hot in here!" - triggerEntry = &sTextTriggers[var]; + triggerEntry = &sEnvHazardTextTriggers[envHazard]; if (!Player_InCsMode(play)) { - if ((triggerEntry->flag != 0) && !(gSaveContext.textTriggerFlags & triggerEntry->flag) && - (((var == 0) && (this->currentTunic != PLAYER_TUNIC_GORON)) || - (((var == 1) || (var == 3)) && (this->currentBoots == PLAYER_BOOTS_IRON) && - (this->currentTunic != PLAYER_TUNIC_ZORA)))) { + if ((triggerEntry->flag != 0) && !(gSaveContext.envHazardTextTriggerFlags & triggerEntry->flag) && + (((envHazard == (PLAYER_ENV_HAZARD_HOTROOM - 1)) && (this->currentTunic != PLAYER_TUNIC_GORON)) || + (((envHazard == (PLAYER_ENV_HAZARD_UNDERWATER_FLOOR - 1)) || + (envHazard == (PLAYER_ENV_HAZARD_UNDERWATER_FREE - 1))) && + (this->currentBoots == PLAYER_BOOTS_IRON) && (this->currentTunic != PLAYER_TUNIC_ZORA)))) { Message_StartTextbox(play, triggerEntry->textId, NULL); - gSaveContext.textTriggerFlags |= triggerEntry->flag; + gSaveContext.envHazardTextTriggerFlags |= triggerEntry->flag; } } - return var + 1; + return envHazard + 1; } u8 sEyeMouthIndices[][2] = { diff --git a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c index f8cd87105f2..5f5b1ee9221 100644 --- a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c +++ b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c @@ -226,8 +226,8 @@ void BgPoEvent_Destroy(Actor* thisx, PlayState* play) { Collider_DestroyTris(play, &this->collider); } else { DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId); - if ((this->type == 1) && (gSaveContext.timer1Value > 0)) { - gSaveContext.timer1State = 0xA; + if ((this->type == 1) && (gSaveContext.timerSeconds > 0)) { + gSaveContext.timerState = TIMER_STATE_STOP; } } } @@ -316,7 +316,7 @@ void BgPoEvent_BlockFall(BgPoEvent* this, PlayState* play) { } else { Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_STONE_BOUND); Actor_RequestQuakeAndRumble(&this->dyna.actor, play, 5, 5); - func_80088B34(this->timer); + Interface_SetTimer(this->timer); if (firstFall == 0) { firstFall = 1; } else { @@ -342,10 +342,10 @@ void BgPoEvent_BlockIdle(BgPoEvent* this, PlayState* play) { OnePointCutscene_Init(play, 3170, 30, amy, CAM_ID_MAIN); } func_80078884(NA_SE_SY_CORRECT_CHIME); - gSaveContext.timer1State = 0xA; + gSaveContext.timerState = TIMER_STATE_STOP; } } else { - if ((gSaveContext.timer1Value == 0) && (sBlocksAtRest == 5)) { + if ((gSaveContext.timerSeconds == 0) && (sBlocksAtRest == 5)) { player->stateFlags2 &= ~PLAYER_STATE2_4; sPuzzleState = 0x10; sBlocksAtRest = 0; diff --git a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c index 1683fdb2dda..be3f46e8ff3 100644 --- a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c +++ b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c @@ -156,7 +156,7 @@ void func_808A9234(BgRelayObjects* this, PlayState* play) { Flags_UnsetSwitch(play, this->switchFlag); this->dyna.actor.flags &= ~ACTOR_FLAG_4; if (play->roomCtx.curRoom.num == 4) { - gSaveContext.timer1State = 0xF; + gSaveContext.timerState = TIMER_STATE_UP_FREEZE; } this->actionFunc = BgRelayObjects_DoNothing; } diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c index abf7dcf9077..e6f4c78e6e7 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -823,7 +823,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) { this->unk_150[i].unk_22++; } } else if (i + 1 == this->sparkleCounter && play->csCtx.state == CS_STATE_IDLE) { - func_80088AF0(play); + Interface_SetSubTimerToFinalSecond(play); Actor_Kill(&this->actor); } break; diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c index a869b2430da..049ff5fc990 100644 --- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c +++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c @@ -103,7 +103,7 @@ void EnDivingGame_Destroy(Actor* thisx, PlayState* play) { EnDivingGame* this = (EnDivingGame*)thisx; if (this->unk_31F == 0) { - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } Collider_DestroyCylinder(play, &this->collider); } @@ -125,9 +125,9 @@ void EnDivingGame_SpawnRuppy(EnDivingGame* this, PlayState* play) { } s32 EnDivingGame_HasMinigameFinished(EnDivingGame* this, PlayState* play) { - if (gSaveContext.timer1State == 10 && !Play_InCsMode(play)) { + if ((gSaveContext.timerState == TIMER_STATE_STOP) && !Play_InCsMode(play)) { // Failed. - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; func_800F5B58(); func_80078884(NA_SE_SY_FOUND); this->actor.textId = 0x71AD; @@ -145,7 +145,7 @@ s32 EnDivingGame_HasMinigameFinished(EnDivingGame* this, PlayState* play) { } if (this->grabbedRupeesCounter >= rupeesNeeded) { // Won. - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; this->allRupeesThrown = this->state = this->phase = this->unk_2A2 = this->grabbedRupeesCounter = 0; if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->actor.textId = 0x4055; @@ -418,9 +418,9 @@ void func_809EE800(EnDivingGame* this, PlayState* play) { if (this->unk_292 == Message_GetState(&play->msgCtx) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { - func_80088B34(BREG(2) + 50); + Interface_SetTimer(50 + BREG(2)); } else { - func_80088B34(BREG(2) + 50); + Interface_SetTimer(50 + BREG(2)); } func_800F5ACC(NA_BGM_TIMED_MINI_GAME); func_8002DF54(play, NULL, 7); @@ -506,9 +506,10 @@ void EnDivingGame_Update(Actor* thisx, PlayState* play2) { if (1) {} - if (gSaveContext.timer1Value == 10) { + if (gSaveContext.timerSeconds == 10) { Audio_SetFastTempoForTimedMinigame(); } + if (this->eyeTimer == 0) { this->eyeTimer = 2; this->eyeTexIndex++; diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 76c2ce65758..528e915bfa4 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -88,7 +88,7 @@ void EnDs_GiveOddPotion(EnDs* this, PlayState* play) { if (Actor_HasParent(&this->actor, play)) { this->actor.parent = NULL; this->actionFunc = EnDs_DisplayOddPotionText; - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; } else { func_8002F434(&this->actor, play, GI_ODD_POTION, 10000.0f, 50.0f); } diff --git a/src/overlays/actors/ovl_En_Eg/z_en_eg.c b/src/overlays/actors/ovl_En_Eg/z_en_eg.c index 6ef0636c615..c14a5a51671 100644 --- a/src/overlays/actors/ovl_En_Eg/z_en_eg.c +++ b/src/overlays/actors/ovl_En_Eg/z_en_eg.c @@ -48,7 +48,7 @@ void EnEg_Init(Actor* thisx, PlayState* play) { } void func_809FFDC8(EnEg* this, PlayState* play) { - if (!sVoided && (gSaveContext.timer2Value < 1) && Flags_GetSwitch(play, 0x36) && (kREG(0) == 0)) { + if (!sVoided && (gSaveContext.subTimerSeconds <= 0) && Flags_GetSwitch(play, 0x36) && (kREG(0) == 0)) { // Void the player out Play_TriggerRespawn(play); gSaveContext.respawnFlag = -2; 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 c991d27b281..7859bc31bdf 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -865,7 +865,7 @@ void EnGo_BiggoronActionFunc(EnGo* this, PlayState* play) { this->unk_1E0.unk_00 = 0; EnGo_SetupAction(this, EnGo_Eyedrops); play->msgCtx.msgMode = MSGMODE_PAUSED; - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; OnePointCutscene_Init(play, 4190, -99, &this->actor, CAM_ID_MAIN); } else { this->unk_1E0.unk_00 = 0; diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c index 3bae5e685e7..3770dea4d0e 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -1062,7 +1062,7 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, PlayState* play, Player* player) { this->actor.textId = 0x3058; } if (this->actor.textId == 0x3059) { - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; } player->actor.textId = this->actor.textId; diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index 37626580158..5e16c3f3cea 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -128,7 +128,7 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, PlayState* } DREG(25) = 0; play->transitionTrigger = TRANS_TRIGGER_START; - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, PlayState* play) { @@ -140,7 +140,7 @@ s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, PlayState* play) if ((this->startTimer > 50) && !(this->startFlags & INGORACE_SET_TIMER)) { this->startFlags |= INGORACE_SET_TIMER; - func_80088B34(0); + Interface_SetTimer(0); } else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->startFlags & INGORACE_PLAYER_MOVE)) { this->startFlags |= INGORACE_PLAYER_MOVE; horse = (EnHorse*)player->rideActor; @@ -211,7 +211,7 @@ s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, PlayState* play) this->result = INGORACE_INGO_WIN; this->finishTimer = 20; } - if ((gSaveContext.timer1Value >= 180) && (this->startFlags & 2)) { + if ((gSaveContext.timerSeconds >= 180) && (this->startFlags & 2)) { SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0, 0, NA_BGM_HORSE_GOAL); this->result = INGORACE_TIME_UP; this->finishTimer = 20; @@ -298,8 +298,8 @@ void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, PlayState play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST); play->transitionTrigger = TRANS_TRIGGER_START; } else if (this->result == MALONRACE_FAILURE) { - gSaveContext.timer1Value = 240; - gSaveContext.timer1State = 0xF; + gSaveContext.timerSeconds = 240; + gSaveContext.timerState = TIMER_STATE_UP_FREEZE; gSaveContext.cutsceneIndex = 0; play->nextEntranceIndex = ENTR_SPOT20_7; play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST); @@ -328,7 +328,7 @@ s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, PlayState* play } if ((this->startTimer > 50) && !(this->raceFlags & MALONRACE_SET_TIMER)) { this->raceFlags |= MALONRACE_SET_TIMER; - func_80088B34(0); + Interface_SetTimer(0); } else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->raceFlags & MALONRACE_PLAYER_MOVE)) { this->raceFlags |= MALONRACE_PLAYER_MOVE; horse = (EnHorse*)player->rideActor; @@ -383,7 +383,7 @@ s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, PlayState* play &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); this->result = MALONRACE_SUCCESS; this->finishTimer = 70; - gSaveContext.timer1State = 0xF; + gSaveContext.timerState = TIMER_STATE_UP_FREEZE; } else if ((this->fenceCheck[7] == 1) && !(this->raceFlags & MALONRACE_SECOND_LAP)) { this->lapCount = 1; this->raceFlags |= MALONRACE_SECOND_LAP; @@ -400,11 +400,11 @@ s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, PlayState* play this->finishTimer = 30; } } - if ((gSaveContext.timer1Value >= 180) && (this->raceFlags & MALONRACE_SET_TIMER)) { - gSaveContext.timer1Value = 240; + if ((gSaveContext.timerSeconds >= 180) && (this->raceFlags & MALONRACE_SET_TIMER)) { + gSaveContext.timerSeconds = 240; this->result = MALONRACE_TIME_UP; this->finishTimer = 30; - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } } else { if (this->finishTimer > 0) { diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c index 54d9a2da744..dd644e89be0 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c @@ -89,11 +89,11 @@ typedef struct { // these seem to be valid coords on Hyrule field, along with target speeds static HorsePosSpeed sHorseFieldPositions[] = { - { {-1682, -500, 12578}, 7 }, { {-3288, -500, 13013}, 7 }, { {-5142, -417, 11630}, 7 }, - { {-5794, -473, 9573}, 7 }, { {-6765, -500, 8364}, 7 }, { {-6619, -393, 6919}, 7 }, - { {-5193, 124, 5433}, 7 }, { {-2970, 2, 4537}, 7 }, { {-2949, -35, 4527}, 7 }, - { {-1907, -47, 2978}, 7 }, { {2488, 294, 3628}, 7 }, { {3089, 378, 4713}, 7 }, - { {1614, -261, 7596}, 7 }, { {754, -187, 9295}, 7 }, + { { -1682, -500, 12578 }, 7 }, { { -3288, -500, 13013 }, 7 }, { { -5142, -417, 11630 }, 7 }, + { { -5794, -473, 9573 }, 7 }, { { -6765, -500, 8364 }, 7 }, { { -6619, -393, 6919 }, 7 }, + { { -5193, 124, 5433 }, 7 }, { { -2970, 2, 4537 }, 7 }, { { -2949, -35, 4527 }, 7 }, + { { -1907, -47, 2978 }, 7 }, { { 2488, 294, 3628 }, 7 }, { { 3089, 378, 4713 }, 7 }, + { { 1614, -261, 7596 }, 7 }, { { 754, -187, 9295 }, 7 }, }; static InitChainEntry sInitChain[] = { diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c index ca48114a8c1..ff457b1cf9a 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -126,9 +126,9 @@ void func_80A6E5EC(EnHs* this, PlayState* play) { void func_80A6E630(EnHs* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - func_80088AA0(180); + Interface_SetSubTimer(180); func_80A6E3A0(this, func_80A6E6B0); - CLEAR_EVENTINF(EVENTINF_10); + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); } this->unk_2A8 |= 1; 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 16c681c58d4..d2d01f9cb84 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -437,7 +437,7 @@ void func_80A79BAC(EnIn* this, PlayState* play, s32 index, u32 transitionType) { if (index == 0) { AREG(6) = 0; } - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } void func_80A79C78(EnIn* this, PlayState* play) { @@ -580,7 +580,7 @@ void func_80A79FB0(EnIn* this, PlayState* play) { this->actor.targetMode = 3; EnIn_ChangeAnim(this, ENIN_ANIM_2); this->actionFunc = func_80A7A568; - func_80088B34(0x3C); + Interface_SetTimer(60); break; case EVENTINF_HORSES_STATE_3: EnIn_ChangeAnim(this, ENIN_ANIM_4); @@ -657,12 +657,12 @@ void func_80A7A568(EnIn* this, PlayState* play) { if (!GET_EVENTCHKINF(EVENTCHKINF_1B) && (player->stateFlags1 & PLAYER_STATE1_23)) { SET_INFTABLE(INFTABLE_AB); } - if (gSaveContext.timer1State == 10) { + if (gSaveContext.timerState == TIMER_STATE_STOP) { Audio_PlaySfxGeneral(NA_SE_SY_FOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); func_80A79C78(this, play); this->actionFunc = func_80A7B024; - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } else if (this->unk_308.unk_00 == 2) { if (play->msgCtx.choiceIndex == 0) { if (gSaveContext.rupees < 50) { @@ -929,7 +929,8 @@ void EnIn_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); if (this->actionFunc != func_80A7A304) { func_80A79AB4(this, play); - if (gSaveContext.timer2Value < 6 && gSaveContext.timer2State != 0 && this->unk_308.unk_00 == 0) { + if ((gSaveContext.subTimerSeconds < 6) && (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) && + (this->unk_308.unk_00 == 0)) { if (Actor_ProcessTalkRequest(&this->actor, play)) {} } else { func_800343CC(play, &this->actor, &this->unk_308.unk_00, diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c index 97d92801751..8f0bfef8de4 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -441,8 +441,8 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { void EnKz_StartTimer(EnKz* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEBALL_FROG) { - func_80088AA0(180); // start timer2 with 3 minutes - CLEAR_EVENTINF(EVENTINF_10); + Interface_SetSubTimer(180); + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); } this->unk_1E0.unk_00 = 0; this->actionFunc = EnKz_Wait; diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c index 74e90217ad2..663e218a0de 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -73,39 +73,44 @@ static AnimationFrameCountInfo sAnimationInfo[] = { u16 func_80AA2AA0(PlayState* play, Actor* thisx) { Player* player = GET_PLAYER(play); - s16* timer1ValuePtr; // weirdness with this necessary to match if (!GET_INFTABLE(INFTABLE_B8)) { return 0x2000; } - timer1ValuePtr = &gSaveContext.timer1Value; + if (GET_EVENTINF(EVENTINF_HORSES_0A)) { - gSaveContext.timer1Value = gSaveContext.timer1Value; + gSaveContext.timerSeconds = gSaveContext.timerSeconds; thisx->flags |= ACTOR_FLAG_16; - if (gSaveContext.timer1Value >= 0xD3) { + + if (((void)0, gSaveContext.timerSeconds) > 210) { return 0x208E; } - if ((HIGH_SCORE(HS_HORSE_RACE) == 0) || (HIGH_SCORE(HS_HORSE_RACE) >= 0xB4)) { - HIGH_SCORE(HS_HORSE_RACE) = 0xB4; - gSaveContext.timer1Value = *timer1ValuePtr; + + if ((HIGH_SCORE(HS_HORSE_RACE) == 0) || (HIGH_SCORE(HS_HORSE_RACE) >= 180)) { + HIGH_SCORE(HS_HORSE_RACE) = 180; } - if (!GET_EVENTCHKINF(EVENTCHKINF_1E) && (gSaveContext.timer1Value < 0x32)) { + + if (!GET_EVENTCHKINF(EVENTCHKINF_1E) && (((void)0, gSaveContext.timerSeconds) < 50)) { return 0x208F; - } else if (gSaveContext.timer1Value < HIGH_SCORE(HS_HORSE_RACE)) { + } + + if (HIGH_SCORE(HS_HORSE_RACE) > ((void)0, gSaveContext.timerSeconds)) { return 0x2012; - } else { - return 0x2004; } + + return 0x2004; } + if (!(player->stateFlags1 & PLAYER_STATE1_23) && (Actor_FindNearby(play, thisx, ACTOR_EN_HORSE, 1, 1200.0f) == NULL)) { return 0x2001; } + if (!GET_INFTABLE(INFTABLE_B9)) { return 0x2002; - } else { - return 0x2003; } + + return 0x2003; } s16 func_80AA2BD4(PlayState* play, Actor* thisx) { @@ -119,7 +124,7 @@ s16 func_80AA2BD4(PlayState* play, Actor* thisx) { play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST); play->transitionTrigger = TRANS_TRIGGER_START; SET_EVENTINF(EVENTINF_HORSES_0A); - gSaveContext.timer1State = 0xF; + gSaveContext.timerState = TIMER_STATE_UP_FREEZE; } break; case TEXT_STATE_CHOICE: @@ -147,15 +152,15 @@ s16 func_80AA2BD4(PlayState* play, Actor* thisx) { FALLTHROUGH; case 0x2004: case 0x2012: - if (HIGH_SCORE(HS_HORSE_RACE) > gSaveContext.timer1Value) { - HIGH_SCORE(HS_HORSE_RACE) = gSaveContext.timer1Value; + if (HIGH_SCORE(HS_HORSE_RACE) > gSaveContext.timerSeconds) { + HIGH_SCORE(HS_HORSE_RACE) = gSaveContext.timerSeconds; } FALLTHROUGH; case 0x208E: CLEAR_EVENTINF(EVENTINF_HORSES_0A); thisx->flags &= ~ACTOR_FLAG_16; ret = 0; - gSaveContext.timer1State = 0xA; + gSaveContext.timerState = TIMER_STATE_STOP; break; case 0x2002: SET_INFTABLE(INFTABLE_B9); diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c index 2681ae09da2..1165e06b305 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -92,8 +92,8 @@ void func_80AACA94(EnMk* this, PlayState* play) { if (Actor_HasParent(&this->actor, play) != 0) { this->actor.parent = NULL; this->actionFunc = func_80AACA40; - func_80088AA0(240); - CLEAR_EVENTINF(EVENTINF_10); + Interface_SetSubTimer(240); + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); } else { func_8002F434(&this->actor, play, GI_EYE_DROPS, 10000.0f, 50.0f); } @@ -253,7 +253,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { Animation_Change(&this->skelAnime, &object_mk_Anim_000368, 1.0f, 0.0f, Animation_GetLastFrame(&object_mk_Anim_000368), ANIMMODE_ONCE, -4.0f); this->flags &= ~2; - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; func_80078884(NA_SE_SY_TRE_BOX_APPEAR); break; default: diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c index 3667cd67112..84bab04770c 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -103,20 +103,20 @@ void func_80AAEF70(EnMm2* this, PlayState* play) { if (!GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) { this->actor.textId = 0x6086; } else if (GET_INFTABLE(INFTABLE_17F)) { - if (GET_EVENTINF(EVENTINF_10)) { + if (GET_EVENTINF(EVENTINF_MARATHON_ACTIVE)) { this->actor.textId = 0x6082; - } else if (gSaveContext.timer2State != 0) { + } else if (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) { this->actor.textId = 0x6076; } else if (HIGH_SCORE(HS_MARATHON) == 158) { this->actor.textId = 0x607E; } else { this->actor.textId = 0x6081; } - } else if (gSaveContext.timer2State) { + } else if (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) { this->actor.textId = 0x6076; } else { this->actor.textId = 0x607D; - CLEAR_EVENTINF(EVENTINF_10); + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); HIGH_SCORE(HS_MARATHON) = 158; } } @@ -149,7 +149,7 @@ void EnMm2_Init(Actor* thisx, PlayState* play2) { Actor_Kill(&this->actor); } if (this->actor.params == 1) { - if (!GET_INFTABLE(INFTABLE_17F) || !GET_EVENTINF(EVENTINF_10)) { + if (!GET_INFTABLE(INFTABLE_17F) || !GET_EVENTINF(EVENTINF_MARATHON_ACTIVE)) { osSyncPrintf(VT_FGCOL(CYAN) " マラソン 開始されていない \n" VT_RST "\n"); Actor_Kill(&this->actor); } @@ -193,8 +193,8 @@ void func_80AAF330(EnMm2* this, PlayState* play) { if (!(this->unk_1F4 & 2)) { Message_CloseTextbox(play); } - gSaveContext.timer2State = 0; - CLEAR_EVENTINF(EVENTINF_10); + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; + CLEAR_EVENTINF(EVENTINF_MARATHON_ACTIVE); } } @@ -209,7 +209,7 @@ void func_80AAF3C0(EnMm2* this, PlayState* play) { case 0: Message_ContinueTextbox(play, 0x607F); this->actor.textId = 0x607F; - SET_EVENTINF(EVENTINF_10); + SET_EVENTINF(EVENTINF_MARATHON_ACTIVE); break; case 1: Message_ContinueTextbox(play, 0x6080); @@ -219,14 +219,14 @@ void func_80AAF3C0(EnMm2* this, PlayState* play) { if (this->unk_1F4 & 4) { if (1) {} this->unk_1F4 &= ~4; - HIGH_SCORE(HS_MARATHON) += 1; + HIGH_SCORE(HS_MARATHON)++; } } return; case 0x6081: if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->unk_1F4 |= 4; - HIGH_SCORE(HS_MARATHON) -= 1; + HIGH_SCORE(HS_MARATHON)--; Message_ContinueTextbox(play, 0x607E); this->actor.textId = 0x607E; } @@ -235,7 +235,7 @@ void func_80AAF3C0(EnMm2* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { if (this->actor.textId == 0x607F) { - func_80088AA0(0); + Interface_SetSubTimer(0); this->actionFunc = func_80AAF57C; } else { this->actionFunc = func_80AAF57C; @@ -266,19 +266,20 @@ void func_80AAF668(EnMm2* this, PlayState* play) { this->actor.world.rot.y = -0x3E80; this->actor.shape.rot.y = this->actor.world.rot.y; SkelAnime_Update(&this->skelAnime); - if (((void)0, gSaveContext.timer2Value) < HIGH_SCORE(HS_MARATHON)) { + if (((void)0, gSaveContext.subTimerSeconds) < HIGH_SCORE(HS_MARATHON)) { this->actor.textId = 0x6085; } else { this->actor.textId = 0x6084; } if (func_80AAF224(this, play, func_80AAF5EC)) { this->unk_1F6 = 0; - if (((void)0, gSaveContext.timer2Value) < HIGH_SCORE(HS_MARATHON)) { - HIGH_SCORE(HS_MARATHON) = gSaveContext.timer2Value; + if (((void)0, gSaveContext.subTimerSeconds) < HIGH_SCORE(HS_MARATHON)) { + HIGH_SCORE(HS_MARATHON) = gSaveContext.subTimerSeconds; } } else { - LOG_HEX("((z_common_data.event_inf[1]) & (0x0001))", GET_EVENTINF(EVENTINF_10), "../z_en_mm2.c", 541); - if (!GET_EVENTINF(EVENTINF_10)) { + LOG_HEX("((z_common_data.event_inf[1]) & (0x0001))", GET_EVENTINF(EVENTINF_MARATHON_ACTIVE), "../z_en_mm2.c", + 541); + if (!GET_EVENTINF(EVENTINF_MARATHON_ACTIVE)) { this->unk_1F4 |= 2; this->unk_1F4 &= ~1; EnMm2_ChangeAnim(this, RM2_ANIM_STAND, &this->previousAnimation); diff --git a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c index 6d1710fd5a4..fb9806368da 100644 --- a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c +++ b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c @@ -137,7 +137,7 @@ void EnPoRelay_SetupRace(EnPoRelay* this) { EnPoRelay_Vec3sToVec3f(&vec, &D_80AD8C30[this->pathIndex]); this->actionTimer = ((s16)(this->actor.shape.rot.y - this->actor.world.rot.y - 0x8000) >> 0xB) % 32U; - func_80088B34(0); + Interface_SetTimer(0); this->hookshotSlotFull = INV_CONTENT(ITEM_HOOKSHOT) != ITEM_NONE; this->unk_19A = Actor_WorldYawTowardPoint(&this->actor, &vec); this->actor.flags |= ACTOR_FLAG_27; @@ -258,7 +258,7 @@ void EnPoRelay_EndRace(EnPoRelay* this, PlayState* play) { this->actionFunc = EnPoRelay_Talk2; } else if (play->roomCtx.curRoom.num == 5) { Actor_Kill(&this->actor); - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } else if (Actor_IsFacingAndNearPlayer(&this->actor, 150.0f, 0x3000)) { this->actor.textId = this->textId; func_8002F2CC(&this->actor, play, 250.0f); @@ -279,7 +279,7 @@ void EnPoRelay_Talk2(EnPoRelay* this, PlayState* play) { Message_ContinueTextbox(play, this->actor.textId); } } else if (Actor_TextboxIsClosing(&this->actor, play)) { - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; this->actionTimer = 0; this->actionFunc = EnPoRelay_DisappearAndReward; } @@ -326,17 +326,17 @@ void EnPoRelay_DisappearAndReward(EnPoRelay* this, PlayState* play) { sp60.x = this->actor.world.pos.x; sp60.y = this->actor.floorHeight; sp60.z = this->actor.world.pos.z; - if (gSaveContext.timer1Value < HIGH_SCORE(HS_DAMPE_RACE)) { - HIGH_SCORE(HS_DAMPE_RACE) = gSaveContext.timer1Value; + if (gSaveContext.timerSeconds < HIGH_SCORE(HS_DAMPE_RACE)) { + HIGH_SCORE(HS_DAMPE_RACE) = gSaveContext.timerSeconds; } - if (Flags_GetCollectible(play, this->actor.params) == 0 && gSaveContext.timer1Value <= 60) { + if (!Flags_GetCollectible(play, this->actor.params) && (gSaveContext.timerSeconds <= 60)) { Item_DropCollectible2(play, &sp60, (this->actor.params << 8) + (0x4000 | ITEM00_HEART_PIECE)); } else { Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ITEM00, sp60.x, sp60.y, sp60.z, 0, 0, 0, 2); } } else { Flags_SetTempClear(play, 4); - HIGH_SCORE(HS_DAMPE_RACE) = gSaveContext.timer1Value; + HIGH_SCORE(HS_DAMPE_RACE) = gSaveContext.timerSeconds; } Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c index 4b5f7c6bac4..f36237e6589 100644 --- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c +++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c @@ -489,7 +489,7 @@ void func_80B12460(EnSyatekiNiw* this, PlayState* play) { void func_80B128D8(EnSyatekiNiw* this, PlayState* play) { if (this->unk_25E == 1) { - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } } diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 8c0aa4f8a1b..4bb2f57e366 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -278,7 +278,7 @@ void EnTa_Destroy(Actor* thisx, PlayState* play) { if (this->actor.params != ENTA_IN_KAKARIKO && this->actor.params != ENTA_RETURNED_FROM_KAKARIKO && play->sceneId == SCENE_SOUKO) { - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; } if (this->stateFlags & TALON_STATE_FLAG_RESTORE_BGM_ON_DESTROY) { @@ -756,7 +756,7 @@ void EnTa_RunCuccoGame(EnTa* this, PlayState* play) { switch (EnTa_GetSuperCuccosCount(this, play)) { case 1: // Last cucco found, end the game - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; func_8002DF54(play, &this->actor, 1); Message_StartTextbox(play, 0x2084, &this->actor); @@ -796,15 +796,15 @@ void EnTa_RunCuccoGame(EnTa* this, PlayState* play) { } } - if (gSaveContext.timer1Value == 10) { + if (gSaveContext.timerSeconds == 10) { Audio_SetFastTempoForTimedMinigame(); } - if (gSaveContext.timer1Value == 0 && !Play_InCsMode(play)) { + if ((gSaveContext.timerSeconds == 0) && !Play_InCsMode(play)) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0); this->stateFlags &= ~TALON_STATE_FLAG_RESTORE_BGM_ON_DESTROY; func_80078884(NA_SE_SY_FOUND); - gSaveContext.timer1State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; func_8002DF54(play, &this->actor, 1); // Time's up text @@ -881,7 +881,7 @@ void EnTa_StartingCuccoGame3(EnTa* this, PlayState* play) { Animation_GetLastFrame(&gTalonSitHandsUpAnim), ANIMMODE_ONCE, 0.0f); this->timer = 50; - func_80088B34(30); + Interface_SetTimer(30); func_800F5ACC(NA_BGM_TIMED_MINI_GAME); this->stateFlags |= TALON_STATE_FLAG_RESTORE_BGM_ON_DESTROY; Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c index dd64ac14e02..69989faa622 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c @@ -1607,7 +1607,7 @@ void EnZl2_Init(Actor* thisx, PlayState* play) { Audio_SetSfxBanksMute(0x6F); break; case 4: - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; break; } } diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c index bed76a1afc7..8e6ae1b7226 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -2482,7 +2482,7 @@ s32 func_80B59698(EnZl3* this, PlayState* play) { u8 spawn = play->spawn; if ((func_80B54DB4(this) == 0x20) && (spawn == 0) && - ((gSaveContext.timer2Value <= 0) || (gSaveContext.timer2State == 0))) { + ((gSaveContext.subTimerSeconds <= 0) || (gSaveContext.subTimerState == SUBTIMER_STATE_OFF))) { return 1; } } @@ -2497,7 +2497,7 @@ s32 func_80B59768(EnZl3* this, PlayState* play) { if (cond) { u8 spawn = play->spawn; - if ((func_80B54DB4(this) == 0x20) && (spawn == 0) && (gSaveContext.timer2Value <= 0)) { + if ((func_80B54DB4(this) == 0x20) && (spawn == 0) && (gSaveContext.subTimerSeconds <= 0)) { return 1; } } @@ -2524,7 +2524,7 @@ void func_80B59828(EnZl3* this, PlayState* play) { } if (func_80B59698(this, play) != 0) { - func_80088AA0(180); + Interface_SetSubTimer(180); func_80B53468(); gSaveContext.healthAccumulator = 320; Magic_Fill(play); @@ -2569,7 +2569,7 @@ void func_80B59AD0(EnZl3* this, PlayState* play) { Actor* thisx = &this->actor; // unused, necessary to use 'this' first to fix regalloc Flags_SetSwitch(play, 0x36); - func_80088AA0(180); + Interface_SetSubTimer(180); func_80B54EA4(this, play); func_80B53614(this, play); CLEAR_EVENTCHKINF(EVENTCHKINF_C7); @@ -2657,7 +2657,7 @@ void EnZl3_Init(Actor* thisx, PlayState* play) { switch (func_80B54DD4(this)) { case 1: - gSaveContext.timer2State = 0; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; break; case 3: func_80B59A80(this, play); diff --git a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c index a4d3b53ed7e..44a70b168c1 100644 --- a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c +++ b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c @@ -49,14 +49,14 @@ void ObjRoomtimer_Init(Actor* thisx, PlayState* play) { void ObjRoomtimer_Destroy(Actor* thisx, PlayState* play) { ObjRoomtimer* this = (ObjRoomtimer*)thisx; - if ((this->actor.params != 0x3FF) && (gSaveContext.timer1Value > 0)) { - gSaveContext.timer1State = 10; + if ((this->actor.params != 0x3FF) && (gSaveContext.timerSeconds > 0)) { + gSaveContext.timerState = TIMER_STATE_STOP; } } void func_80B9D054(ObjRoomtimer* this, PlayState* play) { if (this->actor.params != 0x3FF) { - func_80088B34(this->actor.params); + Interface_SetTimer(this->actor.params); } Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP); @@ -66,19 +66,20 @@ void func_80B9D054(ObjRoomtimer* this, PlayState* play) { void func_80B9D0B0(ObjRoomtimer* this, PlayState* play) { if (Flags_GetTempClear(play, this->actor.room)) { if (this->actor.params != 0x3FF) { - gSaveContext.timer1State = 10; + gSaveContext.timerState = TIMER_STATE_STOP; } Flags_SetClear(play, this->actor.room); Flags_SetSwitch(play, this->switchFlag); func_80078884(NA_SE_SY_CORRECT_CHIME); Actor_Kill(&this->actor); - } else { - if ((this->actor.params != 0x3FF) && (gSaveContext.timer1Value == 0)) { - Audio_PlaySfxGeneral(NA_SE_OC_ABYSS, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, - &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - Play_TriggerVoidOut(play); - Actor_Kill(&this->actor); - } + return; + } + + if ((this->actor.params != 0x3FF) && (gSaveContext.timerSeconds == 0)) { + Audio_PlaySfxGeneral(NA_SE_OC_ABYSS, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, + &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); + Play_TriggerVoidOut(play); + Actor_Kill(&this->actor); } } diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 75e507ad82f..c3616c310a7 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -2411,7 +2411,7 @@ void func_80834298(Player* this, PlayState* play) { ((this->heldItemAction == this->itemAction) || (this->stateFlags1 & PLAYER_STATE1_22)) && (gSaveContext.health != 0) && (play->csCtx.state == CS_STATE_IDLE) && (this->csMode == 0) && (play->shootingGalleryStatus == 0) && (play->activeCamId == CAM_ID_MAIN) && - (play->transitionTrigger != TRANS_TRIGGER_START) && (gSaveContext.timer1State != 10)) { + (play->transitionTrigger != TRANS_TRIGGER_START) && (gSaveContext.timerState != TIMER_STATE_STOP)) { func_80833DF8(this, play); } @@ -6056,11 +6056,11 @@ void func_8083D36C(PlayState* play, Player* this) { void func_8083D53C(PlayState* play, Player* this) { if (this->actor.yDistToWater < this->ageProperties->unk_2C) { Audio_SetBaseFilter(0); - this->unk_840 = 0; + this->underwaterTimer = 0; } else { Audio_SetBaseFilter(0x20); - if (this->unk_840 < 300) { - this->unk_840++; + if (this->underwaterTimer < 300) { + this->underwaterTimer++; } } @@ -13394,7 +13394,7 @@ void func_8085063C(Player* this, PlayState* play) { play->transitionTrigger = TRANS_TRIGGER_START; play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex; play->transitionType = TRANS_TYPE_FADE_WHITE_FAST; - func_80088AF0(play); + Interface_SetSubTimerToFinalSecond(play); return; } diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index 0fba5b67d0d..49514a17b86 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -1463,8 +1463,8 @@ void FileSelect_LoadGame(GameState* thisx) { gSaveContext.natureAmbienceId = 0xFF; gSaveContext.showTitleCard = true; gSaveContext.dogParams = 0; - gSaveContext.timer1State = 0; - gSaveContext.timer2State = 0; + gSaveContext.timerState = TIMER_STATE_OFF; + gSaveContext.subTimerState = SUBTIMER_STATE_OFF; gSaveContext.eventInf[0] = 0; gSaveContext.eventInf[1] = 0; gSaveContext.eventInf[2] = 0; From 7ecafcfe7d357ff1cbcf49ce4d87a9efedae552e Mon Sep 17 00:00:00 2001 From: Tharo <17233964+Thar0@users.noreply.github.com> Date: Thu, 17 Nov 2022 02:57:02 +0000 Subject: [PATCH 5/5] More documentation for `z_std_dma.c` (#1415) * More documentation for z_std_dma * uintptr casts for rom symbols in z64animation.h and z_kanfont.c * Format * Suggested changes, more defines for static texture sizes * PI Interface -> PI * Further suggested changes * Format * Comments about item_name and map_name texture assumptions --- include/functions.h | 16 +- include/variables.h | 3 - include/z64.h | 29 +- include/z64animation.h | 2 +- include/z64dma.h | 27 +- include/z64item.h | 14 + src/boot/idle.c | 4 +- src/boot/yaz0.c | 12 +- src/boot/z_std_dma.c | 249 ++++++++++++++---- src/code/audioMgr.c | 2 +- src/code/game.c | 2 +- src/code/load.c | 2 +- src/code/z_actor.c | 2 +- src/code/z_construct.c | 74 +++--- src/code/z_kanfont.c | 27 +- src/code/z_kankyo.c | 12 +- src/code/z_map_exp.c | 28 +- src/code/z_message_PAL.c | 53 ++-- src/code/z_parameter.c | 21 +- src/code/z_play.c | 2 +- src/code/z_player_lib.c | 4 +- src/code/z_room.c | 2 +- src/code/z_sample.c | 2 +- src/code/z_scene.c | 8 +- src/code/z_skelanime.c | 2 +- src/code/z_vr_box.c | 130 ++++----- .../actors/ovl_player_actor/z_player.c | 2 +- .../ovl_file_choose/z_file_choose.c | 7 +- src/overlays/gamestates/ovl_select/z_select.c | 3 +- src/overlays/gamestates/ovl_title/z_title.c | 4 +- .../ovl_kaleido_scope/z_kaleido_map_PAL.c | 4 +- .../ovl_kaleido_scope/z_kaleido_scope_PAL.c | 120 +++++---- 32 files changed, 549 insertions(+), 320 deletions(-) diff --git a/include/functions.h b/include/functions.h index 46dc6299bbf..8c60f88b497 100644 --- a/include/functions.h +++ b/include/functions.h @@ -21,24 +21,10 @@ void Main_ThreadEntry(void* arg); void Idle_ThreadEntry(void* arg); void ViConfig_UpdateVi(u32 black); void ViConfig_UpdateBlack(void); -s32 DmaMgr_CompareName(const char* name1, const char* name2); -s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, u32 size); -s32 DmaMgr_DmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction); -void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, const char* errorDesc); -const char* DmaMgr_GetFileNameImpl(uintptr_t vrom); -const char* DmaMgr_GetFileName(uintptr_t vrom); -void DmaMgr_ProcessMsg(DmaRequest* req); -void DmaMgr_ThreadEntry(void* arg); -s32 DmaMgr_SendRequestImpl(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg); -s32 DmaMgr_SendRequest0(void* ram, uintptr_t vrom, u32 size); -void DmaMgr_Init(void); -s32 DmaMgr_SendRequest2(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, - const char* file, s32 line); -s32 DmaMgr_SendRequest1(void* ram, uintptr_t vrom, u32 size, const char* file, s32 line); void* Yaz0_FirstDMA(void); void* Yaz0_NextDMA(u8* curSrcPos); void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst); -void Yaz0_Decompress(uintptr_t romStart, u8* dst, u32 size); +void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size); void Locale_Init(void); void Locale_ResetRegion(void); u32 func_80001F48(void); diff --git a/include/variables.h b/include/variables.h index 44f7a272507..7c838667250 100644 --- a/include/variables.h +++ b/include/variables.h @@ -13,8 +13,6 @@ extern u32 osMemSize; extern u8 osAppNMIBuffer[0x40]; extern s8 D_80009430; -extern u32 gDmaMgrVerbose; -extern u32 gDmaMgrDmaBuffSize; extern vu8 gViConfigBlack; extern u8 gViConfigAdditionalScanLines; extern u32 gViConfigFeatures; @@ -53,7 +51,6 @@ extern OSTime __osCurrentTime; extern u32 __osBaseCounter; extern u32 __osViIntrCount; extern u32 __osTimerCounter; -extern DmaEntry gDmaDataTable[0x60C]; extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX]; extern Gfx D_80116280[]; extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // original name: "actor_dlftbls" 801162A0 diff --git a/include/z64.h b/include/z64.h index 40dabeb5e3b..3fb20884fae 100644 --- a/include/z64.h +++ b/include/z64.h @@ -420,11 +420,14 @@ typedef enum { // TODO get these properties from the textures themselves #define FONT_CHAR_TEX_WIDTH 16 #define FONT_CHAR_TEX_HEIGHT 16 -#define FONT_CHAR_TEX_SIZE ((16 * 16) / 2) // 16x16 I4 texture +#define FONT_CHAR_TEX_SIZE ((FONT_CHAR_TEX_WIDTH * FONT_CHAR_TEX_HEIGHT) / 2) // 16x16 I4 texture // TODO get these properties from the textures themselves #define MESSAGE_STATIC_TEX_SIZE 0x1000 +// TODO get these properties from the textures themselves +#define MESSAGE_TEXTURE_STATIC_TEX_SIZE 0x900 + typedef enum { /* 0x00 */ MSGMODE_NONE, /* 0x01 */ MSGMODE_TEXT_START, @@ -616,6 +619,11 @@ typedef enum { /* 0x1D */ DO_ACTION_MAX } DoAction; +// TODO extract this information from the texture definitions themselves +#define DO_ACTION_TEX_WIDTH 48 +#define DO_ACTION_TEX_HEIGHT 16 +#define DO_ACTION_TEX_SIZE ((DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT) / 2) // (sizeof(gCheckDoActionENGTex)) + typedef struct { /* 0x0000 */ View view; /* 0x0128 */ Vtx* actionVtx; @@ -1427,6 +1435,25 @@ typedef struct { /* 0x6C */ s16* skullFloorIconY; // dungeon big skull icon Y pos } MapData; // size = 0x70 +// TODO get these properties from the textures themselves +#define MAP_I_TEX_WIDTH 96 +#define MAP_I_TEX_HEIGHT 85 +#define MAP_I_TEX_SIZE ((MAP_I_TEX_WIDTH * MAP_I_TEX_HEIGHT) / 2) // 96x85 I4 texture + +#define MAP_48x85_TEX_WIDTH 48 +#define MAP_48x85_TEX_HEIGHT 85 +#define MAP_48x85_TEX_SIZE ((MAP_48x85_TEX_WIDTH * MAP_48x85_TEX_HEIGHT) / 2) // 48x85 CI4 texture + +// Note that z_kaleido_scope_PAL.c assumes that the dimensions and texture format here also matches the dimensions and +// texture format for ITEM_NAME_TEX_* +#define MAP_NAME_TEX1_WIDTH 128 +#define MAP_NAME_TEX1_HEIGHT 16 +#define MAP_NAME_TEX1_SIZE ((MAP_NAME_TEX1_WIDTH * MAP_NAME_TEX1_HEIGHT) / 2) // 128x16 IA4 texture + +#define MAP_NAME_TEX2_WIDTH 80 +#define MAP_NAME_TEX2_HEIGHT 32 +#define MAP_NAME_TEX2_SIZE (MAP_NAME_TEX2_WIDTH * MAP_NAME_TEX2_HEIGHT) // 80x32 IA8 texture + #define PAUSE_MAP_MARK_NONE -1 #define PAUSE_MAP_MARK_CHEST 0 #define PAUSE_MAP_MARK_BOSS 1 diff --git a/include/z64animation.h b/include/z64animation.h index 31d4d84fe21..830befae795 100755 --- a/include/z64animation.h +++ b/include/z64animation.h @@ -10,7 +10,7 @@ struct Actor; struct SkelAnime; #define LINK_ANIMATION_OFFSET(addr, offset) \ - (((u32)_link_animetionSegmentRomStart) + ((u32)addr) - ((u32)_link_animetionSegmentStart) + ((u32)offset)) + (((uintptr_t)_link_animetionSegmentRomStart) + ((uintptr_t)(addr)) - ((uintptr_t)_link_animetionSegmentStart) + (offset)) #define LIMB_DONE 0xFF #define ANIMATION_ENTRY_MAX 50 #define ANIM_FLAG_UPDATEY (1 << 1) diff --git a/include/z64dma.h b/include/z64dma.h index f19c3e767b3..c27aa027396 100755 --- a/include/z64dma.h +++ b/include/z64dma.h @@ -2,11 +2,12 @@ #define Z64_DMA_H #include "ultra64.h" +#include "alignment.h" typedef struct { /* 0x00 */ uintptr_t vromAddr; // VROM address (source) /* 0x04 */ void* dramAddr; // DRAM address (destination) - /* 0x08 */ u32 size; // File Transfer size + /* 0x08 */ size_t size; // File Transfer size /* 0x0C */ const char* filename; // Filename for debugging /* 0x10 */ s32 line; // Line for debugging /* 0x14 */ s32 unk_14; @@ -21,4 +22,28 @@ typedef struct { /* 0x0C */ uintptr_t romEnd; } DmaEntry; +extern DmaEntry gDmaDataTable[]; + +extern u32 gDmaMgrVerbose; +extern size_t gDmaMgrDmaBuffSize; + +#define DMAMGR_DEFAULT_BUFSIZE ALIGN16(0x2000) + +// Standard DMA Requests + +s32 DmaMgr_RequestSync(void* ram, uintptr_t vrom, size_t size); +s32 DmaMgr_RequestSyncDebug(void* ram, uintptr_t vrom, size_t size, const char* file, s32 line); +s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, + OSMesg msg, const char* file, s32 line); + +// Special-purpose DMA Requests + +s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, size_t size); +void DmaMgr_DmaFromDriveRom(void* ram, uintptr_t rom, size_t size); +s32 DmaMgr_AudioDmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction); + +// Initialization + +void DmaMgr_Init(void); + #endif diff --git a/include/z64item.h b/include/z64item.h index 264a63d6ec9..a642841b96f 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -1,6 +1,20 @@ #ifndef Z64ITEM_H #define Z64ITEM_H +#define ICON_ITEM_TEX_WIDTH 32 +#define ICON_ITEM_TEX_HEIGHT 32 +#define ICON_ITEM_TEX_SIZE ((ICON_ITEM_TEX_WIDTH * ICON_ITEM_TEX_HEIGHT) * 4) // 32x32 RGBA32 texture + +#define ICON_ITEM_24_TEX_WIDTH 24 +#define ICON_ITEM_24_TEX_HEIGHT 24 +#define ICON_ITEM_24_TEX_SIZE ((ICON_ITEM_24_TEX_WIDTH * ICON_ITEM_24_TEX_HEIGHT) * 4) // 24x24 RGBA32 texture + +// Note that z_kaleido_scope_PAL.c assumes that the dimensions and texture format here also matches the dimensions and +// texture format for MAP_NAME_TEX1_* +#define ITEM_NAME_TEX_WIDTH 128 +#define ITEM_NAME_TEX_HEIGHT 16 +#define ITEM_NAME_TEX_SIZE ((ITEM_NAME_TEX_WIDTH * ITEM_NAME_TEX_HEIGHT) / 2) // 128x16 IA4 texture + typedef enum { /* 0 */ EQUIP_TYPE_SWORD, /* 1 */ EQUIP_TYPE_SHIELD, diff --git a/src/boot/idle.c b/src/boot/idle.c index 99a0276b446..30c244876cc 100644 --- a/src/boot/idle.c +++ b/src/boot/idle.c @@ -23,8 +23,8 @@ void Main_ThreadEntry(void* arg) { DmaMgr_Init(); osSyncPrintf("codeセグメントロード中..."); time = osGetTime(); - DmaMgr_SendRequest1(_codeSegmentStart, (uintptr_t)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart, - "../idle.c", 238); + DmaMgr_RequestSyncDebug(_codeSegmentStart, (uintptr_t)_codeSegmentRomStart, + _codeSegmentRomEnd - _codeSegmentRomStart, "../idle.c", 238); time -= osGetTime(); osSyncPrintf("\rcodeセグメントロード中...完了\n"); osSyncPrintf("転送時間 %6.3f\n"); diff --git a/src/boot/yaz0.c b/src/boot/yaz0.c index 914560bc41b..80d85092802 100644 --- a/src/boot/yaz0.c +++ b/src/boot/yaz0.c @@ -3,13 +3,13 @@ u8 sYaz0DataBuffer[0x400]; u8* sYaz0DataBufferEnd; uintptr_t sYaz0CurRomStart; -u32 sYaz0CurSize; +size_t sYaz0CurSize; u8* sYaz0MaxPtr; void* Yaz0_FirstDMA(void) { s32 pad[2]; - u32 dmaSize; - u32 bufferSize; + size_t dmaSize; + size_t bufferSize; sYaz0MaxPtr = sYaz0DataBufferEnd - 0x19; @@ -24,8 +24,8 @@ void* Yaz0_FirstDMA(void) { void* Yaz0_NextDMA(u8* curSrcPos) { u8* dst; - u32 restSize; - u32 dmaSize; + size_t restSize; + size_t dmaSize; restSize = sYaz0DataBufferEnd - curSrcPos; dst = (restSize & 7) ? (sYaz0DataBuffer - (restSize & 7)) + 8 : sYaz0DataBuffer; @@ -92,7 +92,7 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst) { } while (dst != dstEnd); } -void Yaz0_Decompress(uintptr_t romStart, u8* dst, u32 size) { +void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size) { sYaz0CurRomStart = romStart; sYaz0CurSize = size; sYaz0DataBufferEnd = sYaz0DataBuffer + sizeof(sYaz0DataBuffer); diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 140b966f9ff..3b6320b85ae 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -1,3 +1,23 @@ +/** + * @file z_std_dma.c + * + * This file implements a system for structuring the ROM image and retrieving data. It is designed to have the same + * external interface regardless of whether the ROM segments are compressed or not. + * + * The ROM image is partitioned into regions that are entered into the DMA data table `gDmaDataTable`. External code + * does not directly address locations on the ROM image directly, instead a "Virtual ROM" addressing is used. Virtual + * ROM is defined to be the ROM address of a segment in a totally uncompressed ROM. For uncompressed ROMs, "physical" + * ROM and VROM addresses coincide. The DMA data table converts VROM to ROM addresses so that code may exclusively use + * VROM addresses even if the ROM is compressed. + * + * External code typically submits requests to the DMA Manager asking for a transfer in terms of Virtual ROM; the DMA + * Manager translates this to the physical ROM address, performs the transfer to RAM and decompresses the data if + * required. + * Requests are processed in the order they are received and may be submitted both synchronously and asynchronously. + * + * There are some additional provisions to ensure that audio DMA is particularly high-speed, the audio data is assumed + * to be uncompressed and the request queue and address translation is skipped. + */ #include "global.h" #include "terminal.h" @@ -10,7 +30,7 @@ const char* sDmaMgrCurFileName; s32 sDmaMgrCurFileLine; u32 gDmaMgrVerbose = 0; -u32 gDmaMgrDmaBuffSize = 0x2000; +size_t gDmaMgrDmaBuffSize = DMAMGR_DEFAULT_BUFSIZE; u32 sDmaMgrIsRomCompressed = false; // dmadata filenames @@ -22,37 +42,54 @@ const char* sDmaMgrFileNames[] = { #undef DEFINE_DMA_ENTRY -s32 DmaMgr_CompareName(const char* name1, const char* name2) { - while (*name1 != '\0') { - if (*name1 > *name2) { +/** + * Compares `str1` and `str2`. + * + * @return + * 0 if str1 and str2 are the same, + * -1 if the first character that does not match has a smaller value in str1 than str2, + * +1 if the first character that does not match has a greater value in str1 than str2 + */ +s32 DmaMgr_StrCmp(const char* str1, const char* str2) { + while (*str1 != '\0') { + if (*str1 > *str2) { return 1; } - - if (*name1 < *name2) { + if (*str1 < *str2) { return -1; } - - name1++; - name2++; + str1++; + str2++; } - if (*name2 > '\0') { + if (*str2 > '\0') { return -1; } - return 0; } -s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, u32 size) { +/** + * Transfer `size` bytes from physical ROM address `rom` to `ram`. + * + * This function is intended for internal use only, however it is possible to use this function externally in which + * case it behaves as a synchronous transfer, data is available as soon as this function returns. + * + * Transfers are divided into chunks based on the current value of `gDmaMgrDmaBuffSize` to avoid congestion of the PI + * so that higher priority transfers can still be carried out in a timely manner. The transfers are sent in a queue to + * the OS PI Manager which performs the transfer. + * + * @return 0 if successful, -1 if the DMA could not be queued with the PI Manager. + */ +s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, size_t size) { OSIoMesg ioMsg; OSMesgQueue queue; OSMesg msg; s32 ret; - u32 buffSize = gDmaMgrDmaBuffSize; + size_t buffSize = gDmaMgrDmaBuffSize; s32 pad[2]; if (buffSize == 0) { - buffSize = 0x2000; + buffSize = DMAMGR_DEFAULT_BUFSIZE; } osInvalICache(ram, size); @@ -60,6 +97,9 @@ s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, u32 size) { osCreateMesgQueue(&queue, &msg, 1); while (size > buffSize) { + // The system avoids large DMAs as these would stall the PI for too long, potentially causing issues with + // audio. To allow audio to continue to DMA whenever it needs to, other DMAs are split into manageable chunks. + if (1) {} // Necessary to match ioMsg.hdr.pri = OS_MESG_PRI_NORMAL; @@ -124,7 +164,17 @@ s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, u32 size) { return ret; } -s32 DmaMgr_DmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { +/** + * Callback function to facilitate audio DMA. Audio DMA does not use the request queue as audio data is often needed + * very soon after the request is sent, requiring a higher priority method for enqueueing a DMA on the OS PI command + * queue. + * + * @param pihandle Cartridge ROM PI Handle. + * @param mb IO Message describing the transfer. + * @param direction Read or write. (Only read is allowed) + * @return 0 if the IO Message was successfully put on the OS PI command queue, < 0 otherwise + */ +s32 DmaMgr_AudioDmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { s32 ret; ASSERT(pihandle == gCartHandle, "pihandle == carthandle", "../z_std_dma.c", 530); @@ -143,7 +193,14 @@ s32 DmaMgr_DmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { return ret; } -void DmaMgr_DmaFromDriveRom(void* ram, uintptr_t rom, u32 size) { +/** + * DMA read from disk drive. Blocks the current thread until DMA completes. + * + * @param ram RAM address to write data to. + * @param rom ROM address to read from. + * @param size Size of transfer. + */ +void DmaMgr_DmaFromDriveRom(void* ram, uintptr_t rom, size_t size) { OSPiHandle* handle = osDriveRomInit(); OSMesgQueue queue; OSMesg msg; @@ -164,20 +221,31 @@ void DmaMgr_DmaFromDriveRom(void* ram, uintptr_t rom, u32 size) { osRecvMesg(&queue, NULL, OS_MESG_BLOCK); } +/** + * DMA error encountered, print error messages and bring up the crash screen. + * + * @param req DMA Request causing the error. + * @param file DMA data filename associated with the operation that errored. + * @param errorName Error name string. + * @param errorDesc Error description string. + * + * This function does not return. + */ void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, const char* errorDesc) { uintptr_t vrom = req->vromAddr; void* ram = req->dramAddr; - u32 size = req->size; + size_t size = req->size; char buff1[80]; char buff2[80]; osSyncPrintf("%c", BEL); osSyncPrintf(VT_FGCOL(RED)); + // "DMA Fatal Error" osSyncPrintf("DMA致命的エラー(%s)\nROM:%X RAM:%X SIZE:%X %s\n", errorDesc != NULL ? errorDesc : (errorName != NULL ? errorName : "???"), vrom, ram, size, file != NULL ? file : "???"); - if (req->filename != NULL) { + if (req->filename != NULL) { // Source file name that issued the DMA request osSyncPrintf("DMA ERROR: %s %d", req->filename, req->line); } else if (sDmaMgrCurFileName != NULL) { osSyncPrintf("DMA ERROR: %s %d", sDmaMgrCurFileName, sDmaMgrCurFileLine); @@ -197,7 +265,14 @@ void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, cons Fault_AddHungupAndCrashImpl(buff1, buff2); } -const char* DmaMgr_GetFileNameImpl(uintptr_t vrom) { +/** + * Searches the filesystem for the entry containing the address `vrom`. Retrieves the name of this entry from + * the array of file names. + * + * @param vrom Virtual ROM location + * @return Pointer to associated filename + */ +const char* DmaMgr_FindFileName(uintptr_t vrom) { DmaEntry* iter = gDmaDataTable; const char** name = sDmaMgrFileNames; @@ -217,46 +292,56 @@ const char* DmaMgr_GetFileNameImpl(uintptr_t vrom) { } const char* DmaMgr_GetFileName(uintptr_t vrom) { - const char* ret = DmaMgr_GetFileNameImpl(vrom); + const char* ret = DmaMgr_FindFileName(vrom); if (ret == NULL) { return "(unknown)"; } - if (DmaMgr_CompareName(ret, "kanji") == 0 || DmaMgr_CompareName(ret, "link_animetion") == 0) { + if (DmaMgr_StrCmp(ret, "kanji") == 0 || DmaMgr_StrCmp(ret, "link_animetion") == 0) { + // This check may be related to these files being too large to be loaded all at once, however a NULL filename + // does not prevent them from being loaded. return NULL; } - return ret; } -void DmaMgr_ProcessMsg(DmaRequest* req) { +void DmaMgr_ProcessRequest(DmaRequest* req) { uintptr_t vrom = req->vromAddr; void* ram = req->dramAddr; - u32 size = req->size; + size_t size = req->size; uintptr_t romStart; - u32 romSize; + size_t romSize; u8 found = false; DmaEntry* iter; const char* filename; if (0) { - // the string is defined in .rodata but not used, suggesting - // a debug print is here but optimized out in some way + // The string is defined in .rodata but not used, suggesting a debug print is here but was optimized out in + // some way. The last arg of this print looks like it may be filename, but filename above this block does not + // match. osSyncPrintf("DMA ROM:%08X RAM:%08X SIZE:%08X %s\n"); - // the last arg of this print looks like it may be filename, but - // filename above this block does not match } + // Get the filename (for debugging) filename = DmaMgr_GetFileName(vrom); - iter = gDmaDataTable; + // Iterate through the DMA data table until the region containing the vrom address for this request is found + iter = gDmaDataTable; while (iter->vromEnd != 0) { if (vrom >= iter->vromStart && vrom < iter->vromEnd) { + // Found the region this request falls into + if (1) {} // Necessary to match if (iter->romEnd == 0) { + // romEnd of 0 indicates that the file is uncompressed. Files that are stored uncompressed can have + // only part of their content loaded into RAM, so DMA only the requested region. + if (iter->vromEnd < vrom + size) { + // Error, vrom + size ends up in a different file than it started in + + // "DMA transfers cannot cross segment boundaries" DmaMgr_Error(req, filename, "Segment Alignment Error", "セグメント境界をまたがってDMA転送することはできません"); } @@ -268,19 +353,29 @@ void DmaMgr_ProcessMsg(DmaRequest* req) { osSyncPrintf("No Press ROM:%08X RAM:%08X SIZE:%08X\n", vrom, ram, size); } } else { + // File is compressed. Files that are stored compressed must be loaded into RAM all at once. + romStart = iter->romStart; romSize = iter->romEnd - iter->romStart; if (vrom != iter->vromStart) { + // Error, requested vrom is not the start of a file + + // "DMA transfer cannot be performed from the middle of a compressed segment" DmaMgr_Error(req, filename, "Can't Transfer Segment", "圧縮されたセグメントの途中からはDMA転送することはできません"); } if (size != iter->vromEnd - iter->vromStart) { + // Error, only part of the file was requested + + // "It is not possible to DMA only part of a compressed segment" DmaMgr_Error(req, filename, "Can't Transfer Segment", "圧縮されたセグメントの一部だけをDMA転送することはできません"); } + // Reduce the thread priority and decompress the file, the decompression routine handles the DMA + // in chunks. Restores the thread priority when done. osSetThreadPri(NULL, THREAD_PRI_DMAMGR_LOW); Yaz0_Decompress(romStart, ram, romSize); osSetThreadPri(NULL, THREAD_PRI_DMAMGR); @@ -296,15 +391,21 @@ void DmaMgr_ProcessMsg(DmaRequest* req) { } if (!found) { + // Requested region was not found in the filesystem + if (sDmaMgrIsRomCompressed) { + // Error, rom is compressed so DMA may only be requested within the filesystem bounds + + // "Corresponding data does not exist" DmaMgr_Error(req, NULL, "DATA DON'T EXIST", "該当するデータが存在しません"); return; - } - - DmaMgr_DmaRomToRam(vrom, ram, size); + } else { + // ROM is uncompressed, allow arbitrary DMA even if the region is not marked in the filesystem + DmaMgr_DmaRomToRam(vrom, ram, size); - if (0) { - osSyncPrintf("No Press ROM:%08X RAM:%08X SIZE:%08X (非公式)\n", vrom, ram, size); + if (0) { + osSyncPrintf("No Press ROM:%08X RAM:%08X SIZE:%08X (非公式)\n", vrom, ram, size); + } } } } @@ -313,8 +414,11 @@ void DmaMgr_ThreadEntry(void* arg) { OSMesg msg; DmaRequest* req; + // "DMA manager thread execution start" osSyncPrintf("DMAマネージャスレッド実行開始\n"); + while (true) { + // Wait for DMA Requests to arrive from other threads osRecvMesg(&sDmaMgrMsgQueue, &msg, OS_MESG_BLOCK); req = (DmaRequest*)msg; if (req == NULL) { @@ -325,7 +429,10 @@ void DmaMgr_ThreadEntry(void* arg) { osSyncPrintf("DMA登録受付 dmap=%08x\n", req); } - DmaMgr_ProcessMsg(req); + // Process the DMA request + DmaMgr_ProcessRequest(req); + + // Notify the sender that the request has been processed if (req->notifyQueue != NULL) { osSendMesg(req->notifyQueue, req->notifyMsg, OS_MESG_NOBLOCK); if (0) { @@ -333,11 +440,24 @@ void DmaMgr_ThreadEntry(void* arg) { } } } + + // "DMA manager thread execution end" osSyncPrintf("DMAマネージャスレッド実行終了\n"); } -s32 DmaMgr_SendRequestImpl(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, u32 unk, OSMesgQueue* queue, - OSMesg msg) { +/** + * Submits a DMA request to the DMA manager. For internal use only. + * + * @param req DMA request, filled out internally. + * @param ram Location in DRAM for data to be written. + * @param vrom Virtual ROM location for data to be read. + * @param size Transfer size. + * @param queue Message queue to notify with `msg` once the transfer is complete. + * @param msg Message to send to `queue` once the transfer is complete. + * @return 0 + */ +s32 DmaMgr_SendRequest(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, + OSMesg msg) { static s32 sDmaMgrQueueFullLogged = 0; if ((1 && (ram == NULL)) || (osMemSize < OS_K0_TO_PHYSICAL(ram) + size) || (vrom & 1) || (vrom > 0x4000000) || @@ -357,6 +477,7 @@ s32 DmaMgr_SendRequestImpl(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, sDmaMgrQueueFullLogged++; osSyncPrintf("%c", BEL); osSyncPrintf(VT_FGCOL(RED)); + // "dmaEntryMsgQ is full. Reconsider your queue size." osSyncPrintf("dmaEntryMsgQが一杯です。キューサイズの再検討をおすすめします。"); LOG_NUM("(sizeof(dmaEntryMsgBufs) / sizeof(dmaEntryMsgBufs[0]))", ARRAY_COUNT(sDmaMgrMsgBuf), "../z_std_dma.c", 952); @@ -367,15 +488,24 @@ s32 DmaMgr_SendRequestImpl(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, return 0; } -s32 DmaMgr_SendRequest0(void* ram, uintptr_t vrom, u32 size) { +/** + * Submit a synchronous DMA request. This will block the current thread until the requested transfer is complete. Data + * is immediately available as soon as this function returns. + * + * @param ram Location in DRAM for data to be written. + * @param vrom Virtual ROM location for data to be read. + * @param size Transfer size. + * @return 0 + */ +s32 DmaMgr_RequestSync(void* ram, uintptr_t vrom, size_t size) { DmaRequest req; OSMesgQueue queue; OSMesg msg; s32 ret; osCreateMesgQueue(&queue, &msg, 1); - ret = DmaMgr_SendRequestImpl(&req, ram, vrom, size, 0, &queue, NULL); - if (ret == -1) { + ret = DmaMgr_SendRequest(&req, ram, vrom, size, 0, &queue, NULL); + if (ret == -1) { // DmaMgr_SendRequest only returns 0 return ret; } @@ -388,6 +518,7 @@ void DmaMgr_Init(void) { s32 idx; DmaEntry* iter; + // DMA the dma data table to RAM DmaMgr_DmaRomToRam((uintptr_t)_dmadataSegmentRomStart, _dmadataSegmentStart, (u32)(_dmadataSegmentRomEnd - _dmadataSegmentRomStart)); osSyncPrintf("dma_rom_ad[]\n"); @@ -397,6 +528,7 @@ void DmaMgr_Init(void) { iter = gDmaDataTable; idx = 0; + // Check if the ROM is compressed (romEnd not 0) while (iter->vromEnd != 0) { if (iter->romEnd != 0) { sDmaMgrIsRomCompressed = true; @@ -415,12 +547,15 @@ void DmaMgr_Init(void) { } } + // Ensure that the boot segment always follows after the makerom segment. if ((uintptr_t)_bootSegmentRomStart != gDmaDataTable[0].vromEnd) { osSyncPrintf("_bootSegmentRomStart(%08x) != dma_rom_ad[0].rom_b(%08x)\n", _bootSegmentRomStart, gDmaDataTable[0].vromEnd); + //! @bug The main code file where fault.c resides is not yet loaded Fault_AddHungupAndCrash("../z_std_dma.c", 1055); } + // Start the DMA manager osCreateMesgQueue(&sDmaMgrMsgQueue, sDmaMgrMsgBuf, ARRAY_COUNT(sDmaMgrMsgBuf)); StackCheck_Init(&sDmaMgrStackInfo, sDmaMgrStack, STACK_TOP(sDmaMgrStack), 0, 0x100, "dmamgr"); osCreateThread(&sDmaMgrThread, THREAD_ID_DMAMGR, DmaMgr_ThreadEntry, NULL, STACK_TOP(sDmaMgrStack), @@ -428,14 +563,34 @@ void DmaMgr_Init(void) { osStartThread(&sDmaMgrThread); } -s32 DmaMgr_SendRequest2(DmaRequest* req, void* ram, uintptr_t vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, - const char* file, s32 line) { +/** + * Submit an asynchronous DMA request. Unlike other DMA requests, this will not block the current thread. Data arrival + * is not immediate however, ensure that the request has completed by awaiting a message sent to `queue` when the DMA + * operation has completed. + * + * @param req DMA request structure, filled out internally. + * @param ram Location in DRAM for data to be written. + * @param vrom Virtual ROM location for data to be read. + * @param size Transfer size. + * @param queue Message queue to notify with `msg` once the transfer is complete. + * @param msg Message to send to `queue` once the transfer is complete. + * @param file Debug filename of caller. + * @param line Debug line number of caller. + * @return 0 + */ +s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, + OSMesg msg, const char* file, s32 line) { req->filename = file; req->line = line; - return DmaMgr_SendRequestImpl(req, ram, vrom, size, unk5, queue, msg); + return DmaMgr_SendRequest(req, ram, vrom, size, unk5, queue, msg); } -s32 DmaMgr_SendRequest1(void* ram, uintptr_t vrom, u32 size, const char* file, s32 line) { +/** + * Synchronous DMA Request with source file and line info for debugging. + * + * @see DmaMgr_RequestSync + */ +s32 DmaMgr_RequestSyncDebug(void* ram, uintptr_t vrom, size_t size, const char* file, s32 line) { DmaRequest req; s32 ret; OSMesgQueue queue; @@ -445,8 +600,8 @@ s32 DmaMgr_SendRequest1(void* ram, uintptr_t vrom, u32 size, const char* file, s req.filename = file; req.line = line; osCreateMesgQueue(&queue, &msg, 1); - ret = DmaMgr_SendRequestImpl(&req, ram, vrom, size, 0, &queue, NULL); - if (ret == -1) { + ret = DmaMgr_SendRequest(&req, ram, vrom, size, 0, &queue, NULL); + if (ret == -1) { // DmaMgr_SendRequest only returns 0 return ret; } diff --git a/src/code/audioMgr.c b/src/code/audioMgr.c index f3701acc266..01bf54397d1 100644 --- a/src/code/audioMgr.c +++ b/src/code/audioMgr.c @@ -56,7 +56,7 @@ void AudioMgr_ThreadEntry(void* arg0) { osSyncPrintf("オーディオマネージャスレッド実行開始\n"); // "Start running audio manager thread" Audio_Init(); - AudioLoad_SetDmaHandler(DmaMgr_DmaHandler); + AudioLoad_SetDmaHandler(DmaMgr_AudioDmaHandler); Audio_InitSound(); osSendMesg(&audioMgr->lockQueue, NULL, OS_MESG_BLOCK); IrqMgr_AddClient(audioMgr->irqMgr, &irqClient, &audioMgr->interruptQueue); diff --git a/src/code/game.c b/src/code/game.c index 88d2f5527e7..7b3a28ed491 100644 --- a/src/code/game.c +++ b/src/code/game.c @@ -88,7 +88,7 @@ void func_800C4344(GameState* gameState) { } gDmaMgrVerbose = HREG(60); - gDmaMgrDmaBuffSize = SREG(21) != 0 ? ALIGN16(SREG(21)) : 0x2000; + gDmaMgrDmaBuffSize = SREG(21) != 0 ? ALIGN16(SREG(21)) : DMAMGR_DEFAULT_BUFSIZE; gSystemArenaLogSeverity = HREG(61); gZeldaArenaLogSeverity = HREG(62); if (HREG(80) == 8) { diff --git a/src/code/load.c b/src/code/load.c index a629a16f586..888f2bdc98a 100644 --- a/src/code/load.c +++ b/src/code/load.c @@ -20,7 +20,7 @@ s32 Overlay_Load(uintptr_t vRomStart, uintptr_t vRomEnd, void* vRamStart, void* osSyncPrintf("TEXT,DATA,RODATA+relをDMA転送します(%08x-%08x)\n", allocatedVRamAddr, end); } - DmaMgr_SendRequest0(allocatedVRamAddr, vRomStart, size); + DmaMgr_RequestSync(allocatedVRamAddr, vRomStart, size); ovlOffset = ((s32*)end)[-1]; diff --git a/src/code/z_actor.c b/src/code/z_actor.c index a588f4f2ee2..0a2317d5b88 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -679,7 +679,7 @@ void TitleCard_InitPlaceName(PlayState* play, TitleCardContext* titleCtx, void* u32 size = loadedScene->titleFile.vromEnd - loadedScene->titleFile.vromStart; if ((size != 0) && (size <= 0x3000)) { - DmaMgr_SendRequest1(texture, loadedScene->titleFile.vromStart, size, "../z_actor.c", 2765); + DmaMgr_RequestSyncDebug(texture, loadedScene->titleFile.vromStart, size, "../z_actor.c", 2765); } titleCtx->texture = texture; diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 7748c0fba62..414d38aeebd 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -37,42 +37,43 @@ void Interface_Init(PlayState* play) { osSyncPrintf("parameter->parameterSegment=%x\n", interfaceCtx->parameterSegment); ASSERT(interfaceCtx->parameterSegment != NULL, "parameter->parameterSegment != NULL", "../z_construct.c", 161); - DmaMgr_SendRequest1(interfaceCtx->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, parameterSize, - "../z_construct.c", 162); + DmaMgr_RequestSyncDebug(interfaceCtx->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, parameterSize, + "../z_construct.c", 162); - interfaceCtx->doActionSegment = GameState_Alloc(&play->state, 0x480, "../z_construct.c", 166); + interfaceCtx->doActionSegment = GameState_Alloc(&play->state, 3 * DO_ACTION_TEX_SIZE, "../z_construct.c", 166); - osSyncPrintf("DOアクション テクスチャ初期=%x\n", 0x480); // "DO Action Texture Initialization" + osSyncPrintf("DOアクション テクスチャ初期=%x\n", 3 * DO_ACTION_TEX_SIZE); // "DO Action Texture Initialization" osSyncPrintf("parameter->do_actionSegment=%x\n", interfaceCtx->doActionSegment); ASSERT(interfaceCtx->doActionSegment != NULL, "parameter->do_actionSegment != NULL", "../z_construct.c", 169); if (gSaveContext.language == LANGUAGE_ENG) { - doActionOffset = 0; + doActionOffset = LANGUAGE_ENG * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } else if (gSaveContext.language == LANGUAGE_GER) { - doActionOffset = 0x2B80; + doActionOffset = LANGUAGE_GER * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } else { - doActionOffset = 0x5700; + doActionOffset = LANGUAGE_FRA * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } - DmaMgr_SendRequest1(interfaceCtx->doActionSegment, (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, - 0x300, "../z_construct.c", 174); + DmaMgr_RequestSyncDebug(interfaceCtx->doActionSegment, (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, + 2 * DO_ACTION_TEX_SIZE, "../z_construct.c", 174); if (gSaveContext.language == LANGUAGE_ENG) { - doActionOffset = 0x480; + doActionOffset = 3 * DO_ACTION_TEX_SIZE + LANGUAGE_ENG * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } else if (gSaveContext.language == LANGUAGE_GER) { - doActionOffset = 0x3000; + doActionOffset = 3 * DO_ACTION_TEX_SIZE + LANGUAGE_GER * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } else { - doActionOffset = 0x5B80; + doActionOffset = 3 * DO_ACTION_TEX_SIZE + LANGUAGE_FRA * DO_ACTION_MAX * DO_ACTION_TEX_SIZE; } - DmaMgr_SendRequest1(interfaceCtx->doActionSegment + 0x300, - (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, 0x180, "../z_construct.c", 178); + DmaMgr_RequestSyncDebug(interfaceCtx->doActionSegment + 2 * DO_ACTION_TEX_SIZE, + (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE, + "../z_construct.c", 178); - interfaceCtx->iconItemSegment = GameState_Alloc(&play->state, 0x4000, "../z_construct.c", 190); + interfaceCtx->iconItemSegment = GameState_Alloc(&play->state, 4 * ICON_ITEM_TEX_SIZE, "../z_construct.c", 190); // "Icon Item Texture Initialization = %x" - osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000); + osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 4 * ICON_ITEM_TEX_SIZE); osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->iconItemSegment); ASSERT(interfaceCtx->iconItemSegment != NULL, "parameter->icon_itemSegment != NULL", "../z_construct.c", 193); @@ -82,31 +83,36 @@ void Interface_Init(PlayState* play) { gSaveContext.equips.buttonItems[3]); if (gSaveContext.equips.buttonItems[0] < 0xF0) { - DmaMgr_SendRequest1(interfaceCtx->iconItemSegment, - (uintptr_t)_icon_item_staticSegmentRomStart + gSaveContext.equips.buttonItems[0] * 0x1000, - 0x1000, "../z_construct.c", 198); + DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment, + (uintptr_t)_icon_item_staticSegmentRomStart + + gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE, + ICON_ITEM_TEX_SIZE, "../z_construct.c", 198); } else if (gSaveContext.equips.buttonItems[0] != 0xFF) { - DmaMgr_SendRequest1(interfaceCtx->iconItemSegment, - (uintptr_t)_icon_item_staticSegmentRomStart + gSaveContext.equips.buttonItems[0] * 0x1000, - 0x1000, "../z_construct.c", 203); + DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment, + (uintptr_t)_icon_item_staticSegmentRomStart + + gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE, + ICON_ITEM_TEX_SIZE, "../z_construct.c", 203); } if (gSaveContext.equips.buttonItems[1] < 0xF0) { - DmaMgr_SendRequest1(interfaceCtx->iconItemSegment + 0x1000, - (uintptr_t)_icon_item_staticSegmentRomStart + gSaveContext.equips.buttonItems[1] * 0x1000, - 0x1000, "../z_construct.c", 209); + DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + ICON_ITEM_TEX_SIZE, + (uintptr_t)_icon_item_staticSegmentRomStart + + gSaveContext.equips.buttonItems[1] * ICON_ITEM_TEX_SIZE, + ICON_ITEM_TEX_SIZE, "../z_construct.c", 209); } if (gSaveContext.equips.buttonItems[2] < 0xF0) { - DmaMgr_SendRequest1(interfaceCtx->iconItemSegment + 0x2000, - (uintptr_t)_icon_item_staticSegmentRomStart + gSaveContext.equips.buttonItems[2] * 0x1000, - 0x1000, "../z_construct.c", 214); + DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 2 * ICON_ITEM_TEX_SIZE, + (uintptr_t)_icon_item_staticSegmentRomStart + + gSaveContext.equips.buttonItems[2] * ICON_ITEM_TEX_SIZE, + ICON_ITEM_TEX_SIZE, "../z_construct.c", 214); } if (gSaveContext.equips.buttonItems[3] < 0xF0) { - DmaMgr_SendRequest1(interfaceCtx->iconItemSegment + 0x3000, - (uintptr_t)_icon_item_staticSegmentRomStart + gSaveContext.equips.buttonItems[3] * 0x1000, - 0x1000, "../z_construct.c", 219); + DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 3 * ICON_ITEM_TEX_SIZE, + (uintptr_t)_icon_item_staticSegmentRomStart + + gSaveContext.equips.buttonItems[3] * ICON_ITEM_TEX_SIZE, + ICON_ITEM_TEX_SIZE, "../z_construct.c", 219); } osSyncPrintf("EVENT=%d\n", ((void)0, gSaveContext.timerState)); @@ -182,7 +188,11 @@ void Message_Init(PlayState* play) { View_Init(&msgCtx->view, play->state.gfxCtx); - msgCtx->textboxSegment = GameState_Alloc(&play->state, 0x2200, "../z_construct.c", 349); + msgCtx->textboxSegment = + GameState_Alloc(&play->state, + MESSAGE_STATIC_TEX_SIZE + + MAX(MAX(ICON_ITEM_TEX_SIZE, ICON_ITEM_24_TEX_SIZE), 2 * MESSAGE_TEXTURE_STATIC_TEX_SIZE), + "../z_construct.c", 349); osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment); diff --git a/src/code/z_kanfont.c b/src/code/z_kanfont.c index 9c706516141..2da6c53a9ae 100644 --- a/src/code/z_kanfont.c +++ b/src/code/z_kanfont.c @@ -9,9 +9,9 @@ void func_8006EE50(Font* font, u16 arg1, u16 arg2) { * at `codePointIndex`. The value of `character` is the ASCII codepoint subtract ' '/0x20. */ void Font_LoadChar(Font* font, u8 character, u16 codePointIndex) { - DmaMgr_SendRequest1(&font->charTexBuf[codePointIndex], - (u32)&_nes_font_staticSegmentRomStart[character * FONT_CHAR_TEX_SIZE], FONT_CHAR_TEX_SIZE, - "../z_kanfont.c", 93); + DmaMgr_RequestSyncDebug(&font->charTexBuf[codePointIndex], + (uintptr_t)_nes_font_staticSegmentRomStart + character * FONT_CHAR_TEX_SIZE, + FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 93); } /** @@ -20,9 +20,10 @@ void Font_LoadChar(Font* font, u8 character, u16 codePointIndex) { * The different icons are given in the MessageBoxIcon enum. */ void Font_LoadMessageBoxIcon(Font* font, u16 icon) { - DmaMgr_SendRequest1(font->iconBuf, - (u32)&_message_staticSegmentRomStart[4 * MESSAGE_STATIC_TEX_SIZE + icon * FONT_CHAR_TEX_SIZE], - FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100); + DmaMgr_RequestSyncDebug(font->iconBuf, + (uintptr_t)_message_staticSegmentRomStart + 4 * MESSAGE_STATIC_TEX_SIZE + + icon * FONT_CHAR_TEX_SIZE, + FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100); } /** @@ -31,18 +32,18 @@ void Font_LoadMessageBoxIcon(Font* font, u16 icon) { */ void Font_LoadOrderedFont(Font* font) { u8* fontBuf; - u32 fontStatic; + uintptr_t fontStatic; s32 len; s32 jj; s32 codePointIndex; s32 fontBufIndex; - u32 offset; + size_t offset; font->msgOffset = _message_0xFFFC_nes - (const char*)_nes_message_data_staticSegmentStart; len = font->msgLength = _message_0xFFFD_nes - _message_0xFFFC_nes; - DmaMgr_SendRequest1(font->msgBuf, (u32)&_nes_message_data_staticSegmentRomStart[font->msgOffset], len, - "../z_kanfont.c", 122); + DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, len, + "../z_kanfont.c", 122); osSyncPrintf("msg_data=%x, msg_data0=%x jj=%x\n", font->msgOffset, font->msgLength, jj = len); len = jj; @@ -54,12 +55,12 @@ void Font_LoadOrderedFont(Font* font) { if (font->msgBuf[codePointIndex] != MESSAGE_NEWLINE) { fontBuf = font->fontBuf + fontBufIndex * 8; - fontStatic = (u32)_nes_font_staticSegmentRomStart; + fontStatic = (uintptr_t)_nes_font_staticSegmentRomStart; osSyncPrintf("nes_mes_buf[%d]=%d\n", codePointIndex, font->msgBuf[codePointIndex]); - offset = (font->msgBuf[codePointIndex] - '\x20') * FONT_CHAR_TEX_SIZE; - DmaMgr_SendRequest1(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134); + offset = (font->msgBuf[codePointIndex] - ' ') * FONT_CHAR_TEX_SIZE; + DmaMgr_RequestSyncDebug(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134); fontBufIndex += FONT_CHAR_TEX_SIZE / 8; } } diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index cc6966f735b..580052287d3 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -708,7 +708,7 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon size = gNormalSkyFiles[newSkybox1Index].file.vromEnd - gNormalSkyFiles[newSkybox1Index].file.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, skyboxCtx->staticSegments[0], + DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->staticSegments[0], gNormalSkyFiles[newSkybox1Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1264); envCtx->skybox1Index = newSkybox1Index; @@ -719,7 +719,7 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon size = gNormalSkyFiles[newSkybox2Index].file.vromEnd - gNormalSkyFiles[newSkybox2Index].file.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, skyboxCtx->staticSegments[1], + DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->staticSegments[1], gNormalSkyFiles[newSkybox2Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1281); envCtx->skybox2Index = newSkybox2Index; @@ -733,14 +733,14 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon gNormalSkyFiles[newSkybox1Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, skyboxCtx->palettes, + DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->palettes, gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1307); } else { size = gNormalSkyFiles[newSkybox1Index].palette.vromEnd - gNormalSkyFiles[newSkybox1Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, + DmaMgr_RequestAsync(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1320); } @@ -754,14 +754,14 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon gNormalSkyFiles[newSkybox2Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, skyboxCtx->palettes, + DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->palettes, gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1342); } else { size = gNormalSkyFiles[newSkybox2Index].palette.vromEnd - gNormalSkyFiles[newSkybox2Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_SendRequest2(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, + DmaMgr_RequestAsync(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, "../z_kankyo.c", 1355); } diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index 3becb670f2d..298a360e85b 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -130,10 +130,10 @@ void Map_InitData(PlayState* play, s16 room) { osSyncPrintf("KKK=%d\n", extendedMapIndex); osSyncPrintf(VT_RST); sEntranceIconMapIndex = extendedMapIndex; - DmaMgr_SendRequest1(interfaceCtx->mapSegment, - (uintptr_t)_map_grand_staticSegmentRomStart + - gMapData->owMinimapTexOffset[extendedMapIndex], - gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309); + DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment, + (uintptr_t)_map_grand_staticSegmentRomStart + + gMapData->owMinimapTexOffset[extendedMapIndex], + gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309); interfaceCtx->unk_258 = mapIndex; break; case SCENE_YDAN: @@ -159,10 +159,10 @@ void Map_InitData(PlayState* play, s16 room) { osSyncPrintf("デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n", room, mapIndex, VREG(30)); osSyncPrintf(VT_RST); - DmaMgr_SendRequest1(play->interfaceCtx.mapSegment, - (uintptr_t)_map_i_staticSegmentRomStart + - ((gMapData->dgnMinimapTexIndexOffset[mapIndex] + room) * 0xFF0), - 0xFF0, "../z_map_exp.c", 346); + DmaMgr_RequestSyncDebug(play->interfaceCtx.mapSegment, + (uintptr_t)_map_i_staticSegmentRomStart + + ((gMapData->dgnMinimapTexIndexOffset[mapIndex] + room) * MAP_I_TEX_SIZE), + MAP_I_TEX_SIZE, "../z_map_exp.c", 346); R_COMPASS_OFFSET_X = gMapData->roomCompassOffsetX[mapIndex][room]; R_COMPASS_OFFSET_Y = gMapData->roomCompassOffsetY[mapIndex][room]; Map_SetFloorPalettesData(play, VREG(30)); @@ -385,13 +385,15 @@ void Minimap_Draw(PlayState* play) { if (CHECK_DUNGEON_ITEM(DUNGEON_MAP, mapIndex)) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha); - gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0, - G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, - G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->mapSegment, G_IM_FMT_I, MAP_I_TEX_WIDTH, + MAP_I_TEX_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOLOD); gSPTextureRectangle(OVERLAY_DISP++, R_DGN_MINIMAP_X << 2, R_DGN_MINIMAP_Y << 2, - (R_DGN_MINIMAP_X + 96) << 2, (R_DGN_MINIMAP_Y + 85) << 2, G_TX_RENDERTILE, - 0, 0, 1 << 10, 1 << 10); + (R_DGN_MINIMAP_X + MAP_I_TEX_WIDTH) << 2, + (R_DGN_MINIMAP_Y + MAP_I_TEX_HEIGHT) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, + 1 << 10); } if (CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, mapIndex)) { diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c index 189ab1eeedc..7dce3ecb61d 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -1166,18 +1166,19 @@ void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 y) { R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem32XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_YPOS = y + 6; R_TEXTBOX_ICON_SIZE = 32; - DmaMgr_SendRequest1(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, - (uintptr_t)_icon_item_staticSegmentRomStart + (itemId * 0x1000), 0x1000, - "../z_message_PAL.c", 1473); + DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, + (uintptr_t)_icon_item_staticSegmentRomStart + (itemId * ICON_ITEM_TEX_SIZE), + ICON_ITEM_TEX_SIZE, "../z_message_PAL.c", 1473); // "Item 32-0" osSyncPrintf("アイテム32-0\n"); } else { R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem24XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_YPOS = y + 10; R_TEXTBOX_ICON_SIZE = 24; - DmaMgr_SendRequest1(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, - (uintptr_t)_icon_item_24_staticSegmentRomStart + (itemId - ITEM_MEDALLION_FOREST) * 0x900, - 0x900, "../z_message_PAL.c", 1482); + DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, + (uintptr_t)_icon_item_24_staticSegmentRomStart + + (itemId - ITEM_MEDALLION_FOREST) * ICON_ITEM_24_TEX_SIZE, + ICON_ITEM_24_TEX_SIZE, "../z_message_PAL.c", 1482); // "Item 24" osSyncPrintf("アイテム24=%d (%d) {%d}\n", itemId, itemId - ITEM_KOKIRI_EMERALD, 84); } @@ -1534,14 +1535,14 @@ void Message_Decode(PlayState* play) { msgCtx->textboxBackgroundBackColorIdx = font->msgBuf[msgCtx->msgBufPos + 2] & 0xF; msgCtx->textboxBackgroundYOffsetIdx = (font->msgBuf[msgCtx->msgBufPos + 3] & 0xF0) >> 4; msgCtx->textboxBackgroundUnkArg = font->msgBuf[msgCtx->msgBufPos + 3] & 0xF; - DmaMgr_SendRequest1(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, - (uintptr_t)_message_texture_staticSegmentRomStart + - msgCtx->textboxBackgroundIdx * 0x900, - 0x900, "../z_message_PAL.c", 1830); - DmaMgr_SendRequest1(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + 0x900, - (uintptr_t)_message_texture_staticSegmentRomStart + - (msgCtx->textboxBackgroundIdx + 1) * 0x900, - 0x900, "../z_message_PAL.c", 1834); + DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, + (uintptr_t)_message_texture_staticSegmentRomStart + + msgCtx->textboxBackgroundIdx * MESSAGE_TEXTURE_STATIC_TEX_SIZE, + MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1830); + DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE, + (uintptr_t)_message_texture_staticSegmentRomStart + + (msgCtx->textboxBackgroundIdx + 1) * MESSAGE_TEXTURE_STATIC_TEX_SIZE, + MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1834); msgCtx->msgBufPos += 3; R_TEXTBOX_BG_YPOS = R_TEXTBOX_Y + 8; numLines = 2; @@ -1636,24 +1637,24 @@ void Message_OpenText(PlayState* play, u16 textId) { if (sTextIsCredits) { Message_FindCreditsMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_SendRequest1(font->msgBuf, (uintptr_t)_staff_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1954); + DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_staff_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1954); } else { if (gSaveContext.language == LANGUAGE_ENG) { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_SendRequest1(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1966); + DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1966); } else if (gSaveContext.language == LANGUAGE_GER) { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_SendRequest1(font->msgBuf, (uintptr_t)_ger_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1978); + DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_ger_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1978); } else { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_SendRequest1(font->msgBuf, (uintptr_t)_fra_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1990); + DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_fra_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1990); } } msgCtx->textBoxProperties = font->charTexBuf[0]; @@ -1663,10 +1664,10 @@ void Message_OpenText(PlayState* play, u16 textId) { // "Text Box Type" osSyncPrintf("吹き出し種類=%d\n", msgCtx->textBoxType); if (textBoxType < TEXTBOX_TYPE_NONE_BOTTOM) { - DmaMgr_SendRequest1(msgCtx->textboxSegment, - (uintptr_t)_message_staticSegmentRomStart + - (messageStaticIndices[textBoxType] * MESSAGE_STATIC_TEX_SIZE), - MESSAGE_STATIC_TEX_SIZE, "../z_message_PAL.c", 2006); + DmaMgr_RequestSyncDebug(msgCtx->textboxSegment, + (uintptr_t)_message_staticSegmentRomStart + + (messageStaticIndices[textBoxType] * MESSAGE_STATIC_TEX_SIZE), + MESSAGE_STATIC_TEX_SIZE, "../z_message_PAL.c", 2006); if (textBoxType == TEXTBOX_TYPE_BLACK) { msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 0; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index f23bc934837..90996bc9f79 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -4,11 +4,6 @@ #include "assets/textures/do_action_static/do_action_static.h" #include "assets/textures/icon_item_static/icon_item_static.h" -// TODO extract this information from the texture definitions themselves -#define DO_ACTION_TEX_WIDTH 48 -#define DO_ACTION_TEX_HEIGHT 16 -#define DO_ACTION_TEX_SIZE ((DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT) / 2) // (sizeof(gCheckDoActionENGTex)) - typedef struct { /* 0x00 */ u8 sceneId; /* 0x01 */ u8 flags1; @@ -1277,10 +1272,10 @@ void Interface_LoadItemIcon1(PlayState* play, u16 button) { InterfaceContext* interfaceCtx = &play->interfaceCtx; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + button * 0x1000, + DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE, (uintptr_t)_icon_item_staticSegmentRomStart + - (gSaveContext.equips.buttonItems[button] * 0x1000), - 0x1000, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171); + (gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE), + ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); } @@ -1288,10 +1283,10 @@ void Interface_LoadItemIcon2(PlayState* play, u16 button) { InterfaceContext* interfaceCtx = &play->interfaceCtx; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + button * 0x1000, + DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE, (uintptr_t)_icon_item_staticSegmentRomStart + - (gSaveContext.equips.buttonItems[button] * 0x1000), - 0x1000, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193); + (gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE), + ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); } @@ -2086,7 +2081,7 @@ void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 l if ((action != DO_ACTION_NONE) && (action != DO_ACTION_MAX + DO_ACTION_NONE) && (action != 2 * DO_ACTION_MAX + DO_ACTION_NONE)) { osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, + DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + (loadOffset * DO_ACTION_TEX_SIZE), (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2145); @@ -2150,7 +2145,7 @@ void Interface_LoadActionLabelB(PlayState* play, u16 action) { interfaceCtx->unk_1FC = action; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE, + DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE, (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2228); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); diff --git a/src/code/z_play.c b/src/code/z_play.c index b2fd9d5aafa..b08f4c61cc6 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -1388,7 +1388,7 @@ void* Play_LoadFile(PlayState* this, RomFile* file) { size = file->vromEnd - file->vromStart; allocp = GameState_Alloc(&this->state, size, "../z_play.c", 4692); - DmaMgr_SendRequest1(allocp, file->vromStart, size, "../z_play.c", 4694); + DmaMgr_RequestSyncDebug(allocp, file->vromStart, size, "../z_play.c", 4694); return allocp; } diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 5ccf3aae816..00fbf40e0ba 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1644,11 +1644,11 @@ u32 func_80091738(PlayState* play, u8* segment, SkelAnime* skelAnime) { size = gObjectTable[OBJECT_GAMEPLAY_KEEP].vromEnd - gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart; ptr = segment + PAUSE_EQUIP_BUFFER_SIZE; - DmaMgr_SendRequest1(ptr, gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart, size, "../z_player_lib.c", 2982); + DmaMgr_RequestSyncDebug(ptr, gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart, size, "../z_player_lib.c", 2982); size = gObjectTable[linkObjectId].vromEnd - gObjectTable[linkObjectId].vromStart; ptr = segment + PAUSE_EQUIP_BUFFER_SIZE + PAUSE_PLAYER_SEGMENT_GAMEPLAY_KEEP_BUFFER_SIZE; - DmaMgr_SendRequest1(ptr, gObjectTable[linkObjectId].vromStart, size, "../z_player_lib.c", 2988); + DmaMgr_RequestSyncDebug(ptr, gObjectTable[linkObjectId].vromStart, size, "../z_player_lib.c", 2988); ptr = (void*)ALIGN16((u32)ptr + size); diff --git a/src/code/z_room.c b/src/code/z_room.c index 9746dba6b27..dcfc35748c7 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -603,7 +603,7 @@ s32 func_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomNum) { roomCtx->unk_34 = (void*)ALIGN16((u32)roomCtx->bufPtrs[roomCtx->unk_30] - ((size + 8) * roomCtx->unk_30 + 7)); osCreateMesgQueue(&roomCtx->loadQueue, &roomCtx->loadMsg, 1); - DmaMgr_SendRequest2(&roomCtx->dmaRequest, roomCtx->unk_34, play->roomList[roomNum].vromStart, size, 0, + DmaMgr_RequestAsync(&roomCtx->dmaRequest, roomCtx->unk_34, play->roomList[roomNum].vromStart, size, 0, &roomCtx->loadQueue, NULL, "../z_room.c", 1036); roomCtx->unk_30 ^= 1; diff --git a/src/code/z_sample.c b/src/code/z_sample.c index 5baafb6f9b3..3b5e1c208f6 100644 --- a/src/code/z_sample.c +++ b/src/code/z_sample.c @@ -80,7 +80,7 @@ void Sample_LoadTitleStatic(SampleState* this) { u32 size = _title_staticSegmentRomEnd - _title_staticSegmentRomStart; this->staticSegment = GameState_Alloc(&this->state, size, "../z_sample.c", 163); - DmaMgr_SendRequest1(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_sample.c", 164); + DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_sample.c", 164); } void Sample_Init(GameState* thisx) { diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 7a376f519fd..9cc1975474f 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -19,8 +19,8 @@ s32 Object_Spawn(ObjectContext* objectCtx, s16 objectId) { "this->num < OBJECT_EXCHANGE_BANK_MAX && (this->status[this->num].Segment + size) < this->endSegment", "../z_scene.c", 142); - DmaMgr_SendRequest1(objectCtx->status[objectCtx->num].segment, gObjectTable[objectId].vromStart, size, - "../z_scene.c", 145); + DmaMgr_RequestSyncDebug(objectCtx->status[objectCtx->num].segment, gObjectTable[objectId].vromStart, size, + "../z_scene.c", 145); if (objectCtx->num < OBJECT_EXCHANGE_BANK_MAX - 1) { objectCtx->status[objectCtx->num + 1].segment = @@ -89,7 +89,7 @@ void Object_UpdateBank(ObjectContext* objectCtx) { objectFile = &gObjectTable[-status->id]; size = objectFile->vromEnd - objectFile->vromStart; osSyncPrintf("OBJECT EXCHANGE BANK-%2d SIZE %8.3fK SEG=%08x\n", i, size / 1024.0f, status->segment); - DmaMgr_SendRequest2(&status->dmaRequest, status->segment, objectFile->vromStart, size, 0, + DmaMgr_RequestAsync(&status->dmaRequest, status->segment, objectFile->vromStart, size, 0, &status->loadQueue, NULL, "../z_scene.c", 266); } else if (osRecvMesg(&status->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) { status->id = -status->id; @@ -131,7 +131,7 @@ void func_800981B8(ObjectContext* objectCtx) { objectCtx->status[i].segment); osSyncPrintf("num=%d adrs=%x end=%x\n", objectCtx->num, (s32)objectCtx->status[i].segment + size, objectCtx->spaceEnd); - DmaMgr_SendRequest1(objectCtx->status[i].segment, gObjectTable[id].vromStart, size, "../z_scene.c", 342); + DmaMgr_RequestSyncDebug(objectCtx->status[i].segment, gObjectTable[id].vromStart, size, "../z_scene.c", 342); } } diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index 92e2e0d834f..43e7e02d801 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -841,7 +841,7 @@ void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animati s32 pad; osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1); - DmaMgr_SendRequest2(&entry->data.load.req, frameTable, + DmaMgr_RequestAsync(&entry->data.load.req, frameTable, LINK_ANIMATION_OFFSET(linkAnimHeader->segment, ((sizeof(Vec3s) * limbCount + 2) * frame)), sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL, "../z_skelanime.c", 2004); diff --git a/src/code/z_vr_box.c b/src/code/z_vr_box.c index 417e23e55cd..56cd74cb380 100644 --- a/src/code/z_vr_box.c +++ b/src/code/z_vr_box.c @@ -410,16 +410,16 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1055); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], gNormalSkyFiles[skybox1Index].file.vromStart, size, - "../z_vr_box.c", 1058); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], gNormalSkyFiles[skybox1Index].file.vromStart, size, + "../z_vr_box.c", 1058); size = gNormalSkyFiles[skybox2Index].file.vromEnd - gNormalSkyFiles[skybox2Index].file.vromStart; skyboxCtx->staticSegments[1] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1060); ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1061); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], gNormalSkyFiles[skybox2Index].file.vromStart, size, - "../z_vr_box.c", 1064); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], gNormalSkyFiles[skybox2Index].file.vromStart, size, + "../z_vr_box.c", 1064); if ((skybox1Index & 1) ^ ((skybox1Index & 4) >> 2)) { size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart; @@ -428,10 +428,10 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1073); - DmaMgr_SendRequest1(skyboxCtx->palettes, gNormalSkyFiles[skybox1Index].palette.vromStart, size, - "../z_vr_box.c", 1075); - DmaMgr_SendRequest1((u8*)skyboxCtx->palettes + size, gNormalSkyFiles[skybox2Index].palette.vromStart, - size, "../z_vr_box.c", 1077); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, gNormalSkyFiles[skybox1Index].palette.vromStart, size, + "../z_vr_box.c", 1075); + DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, + gNormalSkyFiles[skybox2Index].palette.vromStart, size, "../z_vr_box.c", 1077); } else { size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart; @@ -439,10 +439,10 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1086); - DmaMgr_SendRequest1(skyboxCtx->palettes, gNormalSkyFiles[skybox2Index].palette.vromStart, size, - "../z_vr_box.c", 1088); - DmaMgr_SendRequest1((u8*)skyboxCtx->palettes + size, gNormalSkyFiles[skybox1Index].palette.vromStart, - size, "../z_vr_box.c", 1090); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, gNormalSkyFiles[skybox2Index].palette.vromStart, size, + "../z_vr_box.c", 1088); + DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, + gNormalSkyFiles[skybox1Index].palette.vromStart, size, "../z_vr_box.c", 1090); } break; @@ -455,14 +455,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1128); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1129); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1129); start = (uintptr_t)_vr_SP1a_pal_staticSegmentRomStart; size = (uintptr_t)_vr_SP1a_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1132); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1133); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1134); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1134); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_OVERCAST_SUNSET: @@ -472,21 +472,21 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1156); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1159); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1159); skyboxCtx->staticSegments[1] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1162); ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1163); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1166); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1166); start = (uintptr_t)_vr_cloud2_pal_staticSegmentRomStart; size = (uintptr_t)_vr_cloud2_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1170); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1171); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1173); - DmaMgr_SendRequest1((u8*)skyboxCtx->palettes + size, start, size, "../z_vr_box.c", 1175); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1173); + DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, start, size, "../z_vr_box.c", 1175); break; case SKYBOX_MARKET_ADULT: skyboxCtx->unk_140 = 1; @@ -497,7 +497,7 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1183); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1184); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1184); start = (uintptr_t)_vr_RUVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_RUVR_pal_staticSegmentRomEnd - start; @@ -506,7 +506,7 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1188); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1189); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1190); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1190); break; case SKYBOX_CUTSCENE_MAP: start = (uintptr_t)_vr_holy0_staticSegmentRomStart; @@ -515,7 +515,7 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1197); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1200); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1200); start = (uintptr_t)_vr_holy1_staticSegmentRomStart; size = (uintptr_t)_vr_holy1_staticSegmentRomEnd - start; @@ -523,16 +523,16 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1204); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1207); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1207); start = (uintptr_t)_vr_holy0_pal_staticSegmentRomStart; size = (uintptr_t)_vr_holy0_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1211); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1212); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1214); - DmaMgr_SendRequest1((u8*)skyboxCtx->palettes + size, (uintptr_t)_vr_holy1_pal_staticSegmentRomStart, size, - "../z_vr_box.c", 1216); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1214); + DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, (uintptr_t)_vr_holy1_pal_staticSegmentRomStart, + size, "../z_vr_box.c", 1216); break; case SKYBOX_HOUSE_LINK: skyboxCtx->unk_140 = 1; @@ -543,14 +543,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1227); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1228); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1228); start = (uintptr_t)_vr_LHVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_LHVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1231); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1232); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1233); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1233); break; case SKYBOX_MARKET_CHILD_DAY: skyboxCtx->unk_140 = 1; @@ -561,14 +561,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1258); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1259); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1259); start = (uintptr_t)_vr_MDVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MDVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1262); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1263); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1264); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1264); break; case SKYBOX_MARKET_CHILD_NIGHT: skyboxCtx->unk_140 = 1; @@ -579,7 +579,7 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1272); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1273); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1273); start = (uintptr_t)_vr_MNVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MNVR_pal_staticSegmentRomEnd - start; @@ -588,7 +588,7 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1277); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1278); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1279); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1279); break; case SKYBOX_HAPPY_MASK_SHOP: skyboxCtx->unk_140 = 1; @@ -599,14 +599,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1287); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1288); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1288); start = (uintptr_t)_vr_FCVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_FCVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1291); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1292); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1293); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1293); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_HOUSE_KNOW_IT_ALL_BROTHERS: @@ -618,14 +618,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1302); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1303); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1303); start = (uintptr_t)_vr_KHVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KHVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1306); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1307); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1308); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1308); break; case SKYBOX_HOUSE_OF_TWINS: skyboxCtx->unk_140 = 2; @@ -636,14 +636,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1332); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1333); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1333); start = (uintptr_t)_vr_K3VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K3VR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1336); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1337); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1338); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1338); break; case SKYBOX_STABLES: skyboxCtx->unk_140 = 1; @@ -654,14 +654,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1346); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1347); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1347); start = (uintptr_t)_vr_MLVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MLVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1350); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1351); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1352); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1352); break; case SKYBOX_HOUSE_KAKARIKO: skyboxCtx->unk_140 = 1; @@ -672,14 +672,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1360); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1361); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1361); start = (uintptr_t)_vr_KKRVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KKRVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1364); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1365); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1366); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1366); break; case SKYBOX_KOKIRI_SHOP: skyboxCtx->unk_140 = 1; @@ -690,14 +690,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1374); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1375); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1375); start = (uintptr_t)_vr_KSVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KSVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1378); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1379); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1380); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1380); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_GORON_SHOP: @@ -709,14 +709,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1406); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1407); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1407); start = (uintptr_t)_vr_GLVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_GLVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1410); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1411); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1412); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1412); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_ZORA_SHOP: @@ -728,14 +728,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1421); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1422); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1422); start = (uintptr_t)_vr_ZRVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_ZRVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1425); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1426); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1427); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1427); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_POTION_SHOP_KAKARIKO: @@ -747,14 +747,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1452); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1453); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1453); start = (uintptr_t)_vr_DGVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_DGVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1456); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1457); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1458); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1458); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_POTION_SHOP_MARKET: @@ -766,14 +766,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1467); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1468); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1468); start = (uintptr_t)_vr_ALVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_ALVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1471); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1472); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1473); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1473); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_BOMBCHU_SHOP: @@ -785,14 +785,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1482); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1483); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1483); start = (uintptr_t)_vr_NSVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_NSVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1486); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1487); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1488); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1488); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_HOUSE_RICHARD: @@ -804,14 +804,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1513); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1514); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1514); start = (uintptr_t)_vr_IPVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_IPVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1517); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1518); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1519); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1519); break; case SKYBOX_HOUSE_IMPA: skyboxCtx->unk_140 = 1; @@ -822,14 +822,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1527); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1528); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1528); start = (uintptr_t)_vr_LBVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_LBVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1531); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1532); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1533); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1533); break; case SKYBOX_TENT: skyboxCtx->unk_140 = 2; @@ -840,14 +840,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1541); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1542); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1542); start = (uintptr_t)_vr_TTVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_TTVR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1545); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1546); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1547); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1547); break; case SKYBOX_HOUSE_MIDO: skyboxCtx->unk_140 = 2; @@ -858,14 +858,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1561); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1562); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1562); start = (uintptr_t)_vr_K4VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K4VR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1565); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1566); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1567); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1567); break; case SKYBOX_HOUSE_SARIA: skyboxCtx->unk_140 = 2; @@ -876,14 +876,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1575); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1576); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1576); start = (uintptr_t)_vr_K5VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K5VR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1579); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1580); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1581); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1581); break; case SKYBOX_HOUSE_ALLEY: skyboxCtx->unk_140 = 2; @@ -894,14 +894,14 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1589); - DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1590); + DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1590); start = (uintptr_t)_vr_KR3VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KR3VR_pal_staticSegmentRomEnd - start; skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1593); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1594); - DmaMgr_SendRequest1(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1595); + DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1595); break; case SKYBOX_UNSET_27: break; diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index c3616c310a7..a3f22be60f2 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -5139,7 +5139,7 @@ void func_8083AE40(Player* this, s16 objectId) { LOG_HEX("size", size, "../z_player.c", 9090); ASSERT(size <= 1024 * 8, "size <= 1024 * 8", "../z_player.c", 9091); - DmaMgr_SendRequest2(&this->giObjectDmaRequest, this->giObjectSegment, gObjectTable[objectId].vromStart, size, 0, + DmaMgr_RequestAsync(&this->giObjectDmaRequest, this->giObjectSegment, gObjectTable[objectId].vromStart, size, 0, &this->giObjectLoadQueue, NULL, "../z_player.c", 9099); } } diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index 49514a17b86..fd638a0054e 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -1879,13 +1879,14 @@ void FileSelect_Init(GameState* thisx) { this->staticSegment = GameState_Alloc(&this->state, size, "../z_file_choose.c", 3392); ASSERT(this->staticSegment != NULL, "this->staticSegment != NULL", "../z_file_choose.c", 3393); - DmaMgr_SendRequest1(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_file_choose.c", 3394); + DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_file_choose.c", + 3394); size = (uintptr_t)_parameter_staticSegmentRomEnd - (uintptr_t)_parameter_staticSegmentRomStart; this->parameterSegment = GameState_Alloc(&this->state, size, "../z_file_choose.c", 3398); ASSERT(this->parameterSegment != NULL, "this->parameterSegment != NULL", "../z_file_choose.c", 3399); - DmaMgr_SendRequest1(this->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, size, "../z_file_choose.c", - 3400); + DmaMgr_RequestSyncDebug(this->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, size, + "../z_file_choose.c", 3400); Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 50626b02994..48b712d5f86 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -761,7 +761,8 @@ void MapSelect_Init(GameState* thisx) { R_UPDATE_RATE = 1; this->staticSegment = GameState_Alloc(&this->state, size, "../z_select.c", 1114); - DmaMgr_SendRequest1(this->staticSegment, (uintptr_t)_z_select_staticSegmentRomStart, size, "../z_select.c", 1115); + DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_z_select_staticSegmentRomStart, size, "../z_select.c", + 1115); gSaveContext.cutsceneIndex = 0x8000; gSaveContext.linkAge = LINK_AGE_CHILD; } diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 43ff1281d22..30bb737d66a 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -160,8 +160,8 @@ void ConsoleLogo_Init(GameState* thisx) { this->staticSegment = GameState_Alloc(&this->state, size, "../z_title.c", 611); osSyncPrintf("z_title.c\n"); ASSERT(this->staticSegment != NULL, "this->staticSegment != NULL", "../z_title.c", 614); - DmaMgr_SendRequest1(this->staticSegment, (uintptr_t)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", - 615); + DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", + 615); R_UPDATE_RATE = 1; Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c index 799b88bb340..2155493a70c 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c @@ -710,7 +710,9 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 150, 255, 255, pauseCtx->alpha); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, pauseCtx->nameSegment + 0x400, 80, 32, 4); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, + pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + MAP_NAME_TEX2_WIDTH, MAP_NAME_TEX2_HEIGHT, 4); } gDPPipeSync(POLY_OPA_DISP++); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index e44767ed9ba..8185fb26403 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -1140,7 +1140,10 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); } - POLY_OPA_DISP = KaleidoScope_QuadTextureIA4(POLY_OPA_DISP, pauseCtx->nameSegment, 128, 16, 0); + // Note that this is used to draw both item name and map name textures, it expects that the dimensions and + // format for both sets of textures are identical. + POLY_OPA_DISP = KaleidoScope_QuadTextureIA4(POLY_OPA_DISP, pauseCtx->nameSegment, ITEM_NAME_TEX_WIDTH, + ITEM_NAME_TEX_HEIGHT, 0); } if (pauseCtx->pageIndex == PAUSE_MAP) { @@ -1352,12 +1355,13 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) { sp2A += 12; } - DmaMgr_SendRequest1(pauseCtx->nameSegment, (uintptr_t)_map_name_staticSegmentRomStart + (sp2A * 0x400), - 0x400, "../z_kaleido_scope_PAL.c", 2093); + DmaMgr_RequestSyncDebug(pauseCtx->nameSegment, + (uintptr_t)_map_name_staticSegmentRomStart + (sp2A * MAP_NAME_TEX1_SIZE), + MAP_NAME_TEX1_SIZE, "../z_kaleido_scope_PAL.c", 2093); } else { osSyncPrintf("zoom_name=%d\n", pauseCtx->namedItem); - if (gSaveContext.language) { + if (gSaveContext.language) { // != LANGUAGE_ENG sp2A += 123; } if (gSaveContext.language == LANGUAGE_FRA) { @@ -1366,8 +1370,9 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) { osSyncPrintf("J_N=%d point=%d\n", gSaveContext.language, sp2A); - DmaMgr_SendRequest1(pauseCtx->nameSegment, (uintptr_t)_item_name_staticSegmentRomStart + (sp2A * 0x400), - 0x400, "../z_kaleido_scope_PAL.c", 2120); + DmaMgr_RequestSyncDebug(pauseCtx->nameSegment, + (uintptr_t)_item_name_staticSegmentRomStart + (sp2A * ITEM_NAME_TEX_SIZE), + ITEM_NAME_TEX_SIZE, "../z_kaleido_scope_PAL.c", 2120); } pauseCtx->nameDisplayTimer = 0; @@ -2441,13 +2446,13 @@ void KaleidoScope_LoadDungeonMap(PlayState* play) { InterfaceContext* interfaceCtx = &play->interfaceCtx; s32 pad; - DmaMgr_SendRequest1(interfaceCtx->mapSegment, - (uintptr_t)_map_48x85_staticSegmentRomStart + (R_MAP_TEX_INDEX * 2040), 2040, - "../z_kaleido_scope_PAL.c", 3467); + DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment, + (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 0) * MAP_48x85_TEX_SIZE), + MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3467); - DmaMgr_SendRequest1(interfaceCtx->mapSegment + 0x800, - (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 1) * 2040), 2040, - "../z_kaleido_scope_PAL.c", 3471); + DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment + ALIGN16(MAP_48x85_TEX_SIZE), + (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 1) * MAP_48x85_TEX_SIZE), + MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3471); } void KaleidoScope_UpdateDungeonMap(PlayState* play) { @@ -2461,13 +2466,15 @@ void KaleidoScope_UpdateDungeonMap(PlayState* play) { if ((play->sceneId >= SCENE_YDAN) && (play->sceneId <= SCENE_TAKARAYA)) { if ((VREG(30) + 3) == pauseCtx->cursorPoint[PAUSE_MAP]) { - KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment, 2040, interfaceCtx->mapPaletteIndex, 14); + KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment, MAP_48x85_TEX_SIZE, + interfaceCtx->mapPaletteIndex, 14); } } if ((play->sceneId >= SCENE_YDAN) && (play->sceneId <= SCENE_TAKARAYA)) { if ((VREG(30) + 3) == pauseCtx->cursorPoint[PAUSE_MAP]) { - KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment + 0x800, 2040, interfaceCtx->mapPaletteIndex, 14); + KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment + ALIGN16(MAP_48x85_TEX_SIZE), MAP_48x85_TEX_SIZE, + interfaceCtx->mapPaletteIndex, 14); } } } @@ -2536,8 +2543,8 @@ void KaleidoScope_Update(PlayState* play) { size0 = (uintptr_t)_icon_item_staticSegmentRomEnd - (uintptr_t)_icon_item_staticSegmentRomStart; osSyncPrintf("icon_item size0=%x\n", size0); - DmaMgr_SendRequest1(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, size0, - "../z_kaleido_scope_PAL.c", 3662); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, size0, + "../z_kaleido_scope_PAL.c", 3662); gSegments[8] = VIRTUAL_TO_PHYSICAL(pauseCtx->iconItemSegment); @@ -2551,8 +2558,8 @@ void KaleidoScope_Update(PlayState* play) { size = (uintptr_t)_icon_item_24_staticSegmentRomEnd - (uintptr_t)_icon_item_24_staticSegmentRomStart; osSyncPrintf("icon_item24 size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, - "../z_kaleido_scope_PAL.c", 3675); + DmaMgr_RequestSyncDebug(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 3675); pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size); @@ -2579,9 +2586,9 @@ void KaleidoScope_Update(PlayState* play) { size2 = (uintptr_t)_icon_item_dungeon_staticSegmentRomEnd - (uintptr_t)_icon_item_dungeon_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size2=%x\n", size2); - DmaMgr_SendRequest1(pauseCtx->iconItemAltSegment, - (uintptr_t)_icon_item_dungeon_staticSegmentRomStart, size2, - "../z_kaleido_scope_PAL.c", 3712); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, + (uintptr_t)_icon_item_dungeon_staticSegmentRomStart, size2, + "../z_kaleido_scope_PAL.c", 3712); interfaceCtx->mapPalette[28] = 6; interfaceCtx->mapPalette[29] = 99; @@ -2593,8 +2600,9 @@ void KaleidoScope_Update(PlayState* play) { size2 = (uintptr_t)_icon_item_field_staticSegmentRomEnd - (uintptr_t)_icon_item_field_staticSegmentRomStart; osSyncPrintf("icon_item_field field-size2=%x\n", size2); - DmaMgr_SendRequest1(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_field_staticSegmentRomStart, - size2, "../z_kaleido_scope_PAL.c", 3726); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, + (uintptr_t)_icon_item_field_staticSegmentRomStart, size2, + "../z_kaleido_scope_PAL.c", 3726); break; } @@ -2603,18 +2611,18 @@ void KaleidoScope_Update(PlayState* play) { if (gSaveContext.language == LANGUAGE_ENG) { size = (uintptr_t)_icon_item_nes_staticSegmentRomEnd - (uintptr_t)_icon_item_nes_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3739); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 3739); } else if (gSaveContext.language == LANGUAGE_GER) { size = (uintptr_t)_icon_item_ger_staticSegmentRomEnd - (uintptr_t)_icon_item_ger_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3746); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 3746); } else { size = (uintptr_t)_icon_item_fra_staticSegmentRomEnd - (uintptr_t)_icon_item_fra_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3753); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 3753); } pauseCtx->nameSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemLangSegment + size); @@ -2626,24 +2634,28 @@ void KaleidoScope_Update(PlayState* play) { if (((void)0, gSaveContext.worldMapArea) < 22) { if (gSaveContext.language == LANGUAGE_ENG) { - DmaMgr_SendRequest1(pauseCtx->nameSegment + 0x400, - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * 0xA00) + 0x9000, - 0xA00, "../z_kaleido_scope_PAL.c", 3776); + DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_ENG * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3776); } else if (gSaveContext.language == LANGUAGE_GER) { - DmaMgr_SendRequest1(pauseCtx->nameSegment + 0x400, - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * 0xA00) + 0x16C00, - 0xA00, "../z_kaleido_scope_PAL.c", 3780); + DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_GER * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3780); } else { - DmaMgr_SendRequest1(pauseCtx->nameSegment + 0x400, - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * 0xA00) + 0x24800, - 0xA00, "../z_kaleido_scope_PAL.c", 3784); + DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_FRA * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3784); } } - sPreRenderCvg = (void*)ALIGN16((uintptr_t)pauseCtx->nameSegment + 0x400 + 0xA00); + sPreRenderCvg = (void*)ALIGN16((uintptr_t)pauseCtx->nameSegment + + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE) + MAP_NAME_TEX2_SIZE); PreRender_Init(&sPlayerPreRender); PreRender_SetValuesSave(&sPlayerPreRender, PAUSE_EQUIP_PLAYER_WIDTH, PAUSE_EQUIP_PLAYER_HEIGHT, @@ -3150,39 +3162,39 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->iconItemSegment = (void*)(((uintptr_t)play->objectCtx.spaceStart + 0x30) & ~0x3F); size0 = (uintptr_t)_icon_item_staticSegmentRomEnd - (uintptr_t)_icon_item_staticSegmentRomStart; osSyncPrintf("icon_item size0=%x\n", size0); - DmaMgr_SendRequest1(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, size0, - "../z_kaleido_scope_PAL.c", 4356); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, size0, + "../z_kaleido_scope_PAL.c", 4356); pauseCtx->iconItem24Segment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemSegment + size0); size = (uintptr_t)_icon_item_24_staticSegmentRomEnd - (uintptr_t)_icon_item_24_staticSegmentRomStart; osSyncPrintf("icon_item24 size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, - "../z_kaleido_scope_PAL.c", 4363); + DmaMgr_RequestSyncDebug(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 4363); pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size); size2 = (uintptr_t)_icon_item_gameover_staticSegmentRomEnd - (uintptr_t)_icon_item_gameover_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon gameover-size2=%x\n", size2); - DmaMgr_SendRequest1(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_gameover_staticSegmentRomStart, - size2, "../z_kaleido_scope_PAL.c", 4370); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_gameover_staticSegmentRomStart, + size2, "../z_kaleido_scope_PAL.c", 4370); pauseCtx->iconItemLangSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemAltSegment + size2); if (gSaveContext.language == LANGUAGE_ENG) { size = (uintptr_t)_icon_item_nes_staticSegmentRomEnd - (uintptr_t)_icon_item_nes_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4379); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 4379); } else if (gSaveContext.language == LANGUAGE_GER) { size = (uintptr_t)_icon_item_ger_staticSegmentRomEnd - (uintptr_t)_icon_item_ger_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4386); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 4386); } else { size = (uintptr_t)_icon_item_fra_staticSegmentRomEnd - (uintptr_t)_icon_item_fra_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_SendRequest1(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4393); + DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, + size, "../z_kaleido_scope_PAL.c", 4393); } D_8082AB8C = 255;