From c799176a30c5a1389c720bdfcdf4c1c9f3b07b32 Mon Sep 17 00:00:00 2001 From: Roman971 <32455037+Roman971@users.noreply.github.com> Date: Tue, 10 May 2022 21:51:38 +0200 Subject: [PATCH] Various minor cleanups (#1218) * Fix assert in z_en_horse.c * Fix UB sceneFlags access in z_en_elf.c * Add Object_Spawn to public object functions This function is used externally in MM and works as a standalone, so it most likely belongs to the public interface * Fix float literals to always use lowercase e for the exponent * Remove "mininap" in one of the map data variables sDgnMinimapTexIndexBase is also used for the pause menu map so naming it for the minimap turned out to be inaccurate --- include/functions.h | 1 + include/z64.h | 2 +- src/code/z_collision_check.c | 4 +- src/code/z_map_data.c | 4 +- src/code/z_map_exp.c | 2 +- .../z_bg_toki_swd_cutscene_data_3.c | 6 +-- src/overlays/actors/ovl_En_Elf/z_en_elf.c | 9 ++--- src/overlays/actors/ovl_En_Horse/z_en_horse.c | 4 +- .../ovl_En_Ru1/z_en_ru1_cutscene_data.c | 40 +++++++++---------- 9 files changed, 34 insertions(+), 38 deletions(-) diff --git a/include/functions.h b/include/functions.h index 9d5f3344e6..a1d70dea7b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1191,6 +1191,7 @@ void Sample_Init(GameState* thisx); void Inventory_ChangeEquipment(s16 equipment, u16 value); u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment); void Inventory_ChangeUpgrade(s16 upgrade, s16 value); +s32 Object_Spawn(ObjectContext* objectCtx, s16 objectId); void Object_InitBank(GlobalContext* globalCtx, ObjectContext* objectCtx); void Object_UpdateBank(ObjectContext* objectCtx); s32 Object_GetIndex(ObjectContext* objectCtx, s16 objectId); diff --git a/include/z64.h b/include/z64.h index e7fc4009a0..68ff4f5be5 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1433,7 +1433,7 @@ typedef struct { /* 0x2C */ s16* owMinimapPosX; /* 0x30 */ s16* owMinimapPosY; /* 0x34 */ s16 (*owCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset] - /* 0x38 */ s16* dgnMinimapTexIndexBase; // dungeon minimap texture index base + /* 0x38 */ s16* dgnTexIndexBase; // dungeon texture index base /* 0x3C */ s16 (*dgnCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset] /* 0x40 */ s16* owMinimapWidth; /* 0x44 */ s16* owMinimapHeight; diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 7ccafebc46..6d63f4ffb8 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -846,7 +846,7 @@ s32 Collider_InitQuadDim(GlobalContext* globalCtx, ColliderQuadDim* dim) { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }, { 0, 0, 0 }, { 0, 0, 0 }, - 1.0E38f, + 1.0e38f, }; *dim = init; @@ -858,7 +858,7 @@ s32 Collider_DestroyQuadDim(GlobalContext* globalCtx, ColliderQuadDim* dim) { } s32 Collider_ResetQuadACDist(GlobalContext* globalCtx, ColliderQuadDim* dim) { - dim->acDistSq = 1.0E38f; + dim->acDistSq = 1.0e38f; return true; } diff --git a/src/code/z_map_data.c b/src/code/z_map_data.c index 881950c6df..24721c6234 100644 --- a/src/code/z_map_data.c +++ b/src/code/z_map_data.c @@ -213,7 +213,7 @@ static s16 sOwCompassInfo[24][4] = { { 6, 6, 890, -800 }, { 13, 13, 1080, -260 }, { 11, 11, 1060, -680 }, { 9, 9, 850, -830 }, }; -static s16 sDgnMinimapTexIndexBase[10] = { +static s16 sDgnTexIndexBase[10] = { 0, 10, 14, 18, 26, 36, 44, 52, 60, 66, }; @@ -341,7 +341,7 @@ MapData gMapDataTable = { sMaxPaletteCount, sPaletteRoom, sRoomCompassOffsetX, sRoomCompassOffsetY, sDgnMinimapCount, sDgnMinimapTexIndexOffset, sOwMinimapTexSize, sOwMinimapTexOffset, sOwMinimapPosX, - sOwMinimapPosY, sOwCompassInfo, sDgnMinimapTexIndexBase, + sOwMinimapPosY, sOwCompassInfo, sDgnTexIndexBase, sDgnCompassInfo, sOwMinimapWidth, sOwMinimapHeight, sOwEntranceIconPosX, sOwEntranceIconPosY, sOwEntranceFlag, sFloorCoordY, sSwitchEntryCount, sSwitchFromRoom, diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index b641354b5e..92ef5681a1 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -306,7 +306,7 @@ void Map_Init(GlobalContext* globalCtx) { R_COMPASS_SCALE_Y = gMapData->dgnCompassInfo[mapIndex][1]; R_COMPASS_OFFSET_X = gMapData->dgnCompassInfo[mapIndex][2]; R_COMPASS_OFFSET_Y = gMapData->dgnCompassInfo[mapIndex][3]; - R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE = gMapData->dgnMinimapTexIndexBase[mapIndex]; + R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE = gMapData->dgnTexIndexBase[mapIndex]; Map_InitRoomData(globalCtx, globalCtx->roomCtx.curRoom.num); MapMark_Init(globalCtx); } diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c index 724dc8fe63..8e1106ebe1 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c @@ -7,9 +7,9 @@ CutsceneData D_808BBD90[] = { CS_UNK_DATA_LIST(0x00000021, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000), CS_PLAYER_ACTION_LIST(3), - CS_PLAYER_ACTION(0x0005, 0, 1, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 820, 0.0f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0002, 1, 16, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 720, 0.0f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 16, 176, 0x0000, 0x8000, 0x0000, 0, 0, 720, 0, 0, 720, 0.0f, 0.0f, 1.4E-45f), + CS_PLAYER_ACTION(0x0005, 0, 1, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 820, 0.0f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0002, 1, 16, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 720, 0.0f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 16, 176, 0x0000, 0x8000, 0x0000, 0, 0, 720, 0, 0, 720, 0.0f, 0.0f, 1.4e-45f), CS_NPC_ACTION_LIST(62, 3), CS_NPC_ACTION(0x0004, 40, 70, 0x7D74, 0x0000, 0x0000, -1, 49, 719, 1, 47, 687, 0.06666667f, -0.06666667f, -0.06666667f), CS_NPC_ACTION(0x0004, 70, 220, 0x8010, 0x0000, 0x0000, 1, 47, 687, 0, 134, 21, -0.006666667f, 0.58f, 0.006666667f), diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index ec8a53d8cb..5cef6a1541 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -1406,13 +1406,10 @@ void func_80A053F0(Actor* thisx, GlobalContext* globalCtx) { } else { this->actionFunc(this, globalCtx); thisx->shape.rot.y = this->unk_2BC; - nREG(80) = gSaveContext.sceneFlags[127].chest; + nREG(80) = HIGH_SCORE(HS_HBA); - if (nREG(81) != 0) { - if (gSaveContext.sceneFlags[127].chest) { - LOG_NUM("z_common_data.memory.information.room_inf[127][ 0 ]", gSaveContext.sceneFlags[127].chest, - "../z_en_elf.c", 2595); - } + if ((nREG(81) != 0) && (HIGH_SCORE(HS_HBA) != 0)) { + LOG_NUM("z_common_data.memory.information.room_inf[127][ 0 ]", HIGH_SCORE(HS_HBA), "../z_en_elf.c", 2595); } if (!Gameplay_InCsMode(globalCtx)) { diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c index 5b097995ec..be1cbd37f8 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -871,9 +871,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { this->rider = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_IN, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, this->actor.shape.rot.x, this->actor.shape.rot.y, 1, 1); - if (this->rider == NULL) { - __assert("this->race.rider != NULL", "../z_en_horse.c", 3077); - } + ASSERT(this->rider != NULL, "this->race.rider != NULL", "../z_en_horse.c", 3077); if (!GET_EVENTINF(EVENTINF_HORSES_06)) { this->ingoHorseMaxSpeed = 12.07f; } else { diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.c index 2ca6c77bbc..4c7a008e5d 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.c @@ -5,21 +5,21 @@ static CutsceneData D_80AF0880[] = { CS_BEGIN_CUTSCENE(15, 1306), CS_PLAYER_ACTION_LIST(10), - CS_PLAYER_ACTION(0x0027, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0003, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0002, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0003, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0003, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0002, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037E-29f, 0.0f, 1.4E-45f), + CS_PLAYER_ACTION(0x0027, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0003, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0002, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0003, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0003, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0002, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f), CS_NPC_ACTION_LIST(63, 4), - CS_NPC_ACTION(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_NPC_ACTION(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_NPC_ACTION(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_NPC_ACTION(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f), + CS_NPC_ACTION(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_NPC_ACTION(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_NPC_ACTION(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_NPC_ACTION(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), CS_MISC_LIST(1), CS_MISC(0x000C, 315, 345, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000), CS_TEXT_LIST(4), @@ -115,15 +115,15 @@ static u32 D_80AF10A0 = 0; static CutsceneData D_80AF10A4[] = { CS_BEGIN_CUTSCENE(14, 1299), CS_PLAYER_ACTION_LIST(3), - CS_PLAYER_ACTION(0x0005, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0003, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f), - CS_PLAYER_ACTION(0x0005, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f), + CS_PLAYER_ACTION(0x0005, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0003, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_ACTION(0x0005, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), CS_MISC_LIST(1), CS_MISC(0x000C, 330, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000), CS_NPC_ACTION_LIST(66, 3), - CS_NPC_ACTION(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4E-45f), - CS_NPC_ACTION(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4E-45f), - CS_NPC_ACTION(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4E-45f), + CS_NPC_ACTION(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4e-45f), + CS_NPC_ACTION(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f), + CS_NPC_ACTION(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f), CS_NPC_ACTION_LIST(48, 1), CS_NPC_ACTION(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f), CS_NPC_ACTION_LIST(48, 2),