From 63538d6fb6c7c170ab1704d3d69c2bac295cb921 Mon Sep 17 00:00:00 2001 From: Antonio Castelli Date: Sat, 5 Nov 2022 22:59:42 -0700 Subject: [PATCH] Add map ID enum. --- include/enums.h | 71 ++++++++++++++++++++++++++++++++++++++++++++ src/game.c | 64 +++++++++++++++++++-------------------- src/game.h | 26 ++++++++-------- src/menu.c | 60 ++++++++++++++++++------------------- src/menu.h | 4 +-- src/objects.c | 6 ++-- src/racer.c | 12 ++++---- src/racer.h | 6 ++-- src/unknown_05CEF0.c | 18 +++++------ 9 files changed, 169 insertions(+), 98 deletions(-) diff --git a/include/enums.h b/include/enums.h index 5dafdc14..8f915b0f 100644 --- a/include/enums.h +++ b/include/enums.h @@ -6,6 +6,77 @@ /* All the enums defined here can be used in asset files */ +typedef enum MapId { + MAP_ID_UNK_NEG10 = -10, + MAP_ID_UNK_NEG2 = -2, + MAP_ID_UNK_NEG1 = -1, + /* 0x00 */ MAP_ID_OVERWORLD, + /* 0x01 */ MAP_ID_BLUEY1, + /* 0x02 */ MAP_ID_DRAGON_FOREST, + /* 0x03 */ MAP_ID_FOSSIL_CANYON, + /* 0x04 */ MAP_ID_PIRATE_LAGOON, + /* 0x05 */ MAP_ID_ANCIENT_LAKE, + /* 0x06 */ MAP_ID_WALRUS_COVE, + /* 0x07 */ MAP_ID_HOT_TOP_VOLCANO, + /* 0x08 */ MAP_ID_WHALE_BAY, + /* 0x09 */ MAP_ID_SNOWBALL_VALLEY, + /* 0x0A */ MAP_ID_CRESCENT_ISLAND, + /* 0x0B */ MAP_ID_FIRE_MOUNTAIN, + /* 0x0C */ MAP_ID_DINO_DOMAIN, + /* 0x0D */ MAP_ID_EVERFROST_PEAK, + /* 0x0E */ MAP_ID_SHERBET_ISLAND, + /* 0x0F */ MAP_ID_SPACEPORT_ALPHA, + /* 0x10 */ MAP_ID_HORSESHOE_GULTCH, + /* 0x11 */ MAP_ID_SPACEDUST_ALLEY, + /* 0x12 */ MAP_ID_GREENWOOD_VILLAGE, + /* 0x13 */ MAP_ID_BOULDER_CANYON, + /* 0x14 */ MAP_ID_WINDMILL_PLAINS, + /* 0x15 */ MAP_ID_INTRO_CUTSCENE1, + /* 0x16 */ MAP_ID_CHARACTER_SELECT, + /* 0x17 */ MAP_ID_INTRO_CUTSCENE2, + /* 0x18 */ MAP_ID_SNOWFLAKE_MOUNTAIN, + /* 0x19 */ MAP_ID_SMOKEY_CASTLE, + /* 0x1A */ MAP_ID_DARKWATER_BEACH, + /* 0x1B */ MAP_ID_ICICLE_PYRAMID, + /* 0x1C */ MAP_ID_FROSTY_VILLAGE, + /* 0x1D */ MAP_ID_JUNGLE_FALLS, + /* 0x1E */ MAP_ID_TREASURE_CAVES, + /* 0x1F */ MAP_ID_HAUNTED_WOODS, + /* 0x20 */ MAP_ID_DARKMOON_CAVERNS, + /* 0x21 */ MAP_ID_STAR_CITY, + /* 0x22 */ MAP_ID_TROPHY_RACE_DISPLAY, + /* 0x23 */ MAP_ID_FUTURE_FUN_LAND, + /* 0x24 */ MAP_ID_OVERWORLD_CUTSCENE_AREA, + /* 0x25 */ MAP_ID_WIZPIG1, + /* 0x26 */ MAP_ID_TRICKY1, + /* 0x27 */ MAP_ID_MAIN_MENU, + /* 0x28 */ MAP_ID_BUBBLER1, + /* 0x29 */ MAP_ID_SMOKEY1, + /* 0x2A */ MAP_ID_WIZPIG_MOUTH_CUTSCENE, + /* 0x2B */ MAP_ID_WIZPIG_AMULET_CUTSCENE, + /* 0x2C */ MAP_ID_TT_AMULET_CUTSCENE, + /* 0x2D */ MAP_ID_LIGHTHOUSE_CUTSCENE, + /* 0x2E */ MAP_ID_TRICKY2, + /* 0x2F */ MAP_ID_DINO_TROPHY_CUTSCENE, + /* 0x30 */ MAP_ID_SNOWFLAKE_TROPHY_CUTSCENE, + /* 0x31 */ MAP_ID_SHERBET_TROPY_CUTSCENE, + /* 0x32 */ MAP_ID_DRAGON_TROPHY_CUTSCENE, + /* 0x33 */ MAP_ID_FFL_TROPHY_CUTSCENE, + /* 0x34 */ MAP_ID_BLUEY2, + /* 0x35 */ MAP_ID_BUBBLER2, + /* 0x36 */ MAP_ID_SMOKEY2, + /* 0x37 */ MAP_ID_WIZPIG2, + /* 0x38 */ MAP_ID_PARTY_CUTSCENE, + /* 0x39 */ MAP_ID_TRICKY_CUTSCENE, + /* 0x3A */ MAP_ID_SMOKEY_CUTSCENE, + /* 0x3B */ MAP_ID_BLUEY_CUTSCENE, + /* 0x3C */ MAP_ID_WIZPIG1_CUTSCENE, + /* 0x3D */ MAP_ID_BUBBLER_CUTSCENE, + /* 0x3E */ MAP_ID_WIZPIG2_CUTSCENE, + /* 0x3F */ MAP_ID_FINAL_CUTSCENE1, + /* 0x40 */ MAP_ID_FINAL_CUTSCENE2, +} MapId; + typedef enum Vehicle { VEHICLE_CAR, VEHICLE_HOVERCRAFT, diff --git a/src/game.c b/src/game.c index 358f0d95..b8bc4295 100644 --- a/src/game.c +++ b/src/game.c @@ -123,7 +123,7 @@ extern s32 gShowControllerPakMenu; /************ .bss ************/ s32 *gTempAssetTable; -s32 D_80121164; +MapId D_80121164; LevelHeader *gCurrentLevelHeader; u8 **gLevelNames; s32 gNumberOfLevelHeaders; @@ -152,7 +152,7 @@ UNUSED u8 D_80121268[0x2000]; // 0x2000 / 8192 bytes Padding? s32 gSPTaskNum; s32 sRenderContext; s32 D_801234F0; -s32 D_801234F4; +MapId D_801234F4; s32 D_801234F8; s32 D_801234FC; s32 D_80123500; @@ -298,16 +298,16 @@ s32 func_8006B054(s8 arg0) { return out; } -s32 func_8006B0AC(s32 arg0) { - if (arg0 > 0 && arg0 < gNumberOfLevelHeaders) { - return D_8012117C[arg0].unk2 & 0xF; +s32 func_8006B0AC(MapId mapId) { + if (mapId > 0 && mapId < gNumberOfLevelHeaders) { + return D_8012117C[mapId].unk2 & 0xF; } return 0; } -s32 func_8006B0F8(s32 arg0) { - if (arg0 > 0 && arg0 < gNumberOfLevelHeaders) { - s32 temp = D_8012117C[arg0].unk2; +s32 func_8006B0F8(MapId mapId) { + if (mapId > 0 && mapId < gNumberOfLevelHeaders) { + s32 temp = D_8012117C[mapId].unk2; if (temp != 0) { return (temp >> 4) & 0xF; } @@ -315,21 +315,21 @@ s32 func_8006B0F8(s32 arg0) { return 1; } -s8 func_8006B14C(s32 arg0) { - if (arg0 >= 0 && arg0 < gNumberOfLevelHeaders) { - return D_8012117C[arg0].unk1; +s8 func_8006B14C(MapId mapId) { + if (mapId >= 0 && mapId < gNumberOfLevelHeaders) { + return D_8012117C[mapId].unk1; } return -1; } -s8 func_8006B190(s32 arg0) { - if (arg0 >= 0 && arg0 < gNumberOfLevelHeaders) { - return D_8012117C[arg0].unk0; +s8 func_8006B190(MapId mapId) { + if (mapId >= 0 && mapId < gNumberOfLevelHeaders) { + return D_8012117C[mapId].unk0; } return 0; } -s32 get_hub_area_id(s32 worldId) { +MapId get_hub_area_id(s32 worldId) { s8 *hubAreaIds; if (worldId < 0 || worldId >= gNumberOfWorlds) { @@ -352,9 +352,9 @@ s32 func_8006B240(void) { // This isn't matching, but there shouldn't be any issues (hopefully). #ifdef NON_EQUIVALENT -void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId) { +void load_level(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId) { s32 maxLevelCount; - s32 sp44; + MapId sp44; s32 noPlayers; s32 phi_s0; s32 vehicle; @@ -393,7 +393,7 @@ void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, } maxLevelCount--; if (levelId >= maxLevelCount) { - levelId = 0; + levelId = MAP_ID_OVERWORLD; } offset = gTempAssetTable[levelId]; size = gTempAssetTable[levelId + 1] - offset; @@ -611,7 +611,7 @@ void func_8006BD10(f32 arg0) { } } -s32 func_8006BD88(void) { +MapId func_8006BD88(void) { return D_80121164; } @@ -640,7 +640,7 @@ UNUSED u8 get_total_level_header_count(void) { /** * Returns the name of the level from the passed ID */ -u8 *get_level_name(s32 levelId) { +u8 *get_level_name(MapId levelId) { u8 *levelName; u8 numberOfNullPointers = 0; @@ -764,7 +764,7 @@ s8 func_8006C19C(void) { } // Push a stack onto D_801211C8 -void func_8006C1AC(s32 levelId, s32 entranceId, s32 vehicleId, s32 cutsceneId) { +void func_8006C1AC(MapId levelId, s32 entranceId, s32 vehicleId, s32 cutsceneId) { D_801211C8[D_800DD328++] = levelId; D_801211C8[D_800DD328++] = entranceId; D_801211C8[D_800DD328++] = vehicleId; @@ -1030,7 +1030,7 @@ void func_8006CAE4(s32 arg0, s32 arg1, s32 arg2) { * which is the value at D_80123508. Also does some other stuff. * Needs a better name! */ -void load_level_2(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId) { +void load_level_2(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId) { func_8006ECFC(numberOfPlayers); set_free_queue_state(0); func_80065EA0(); @@ -1222,7 +1222,7 @@ void ingame_logic_loop(s32 updateRate) { render_second_multiplayer_borders(&gCurrDisplayList); if (D_800DD39C != 0) { if (func_800214C4() != 0) { - D_801234F4 = 0x23; + D_801234F4 = MAP_ID_FUTURE_FUN_LAND; D_801234F8 = 1; D_80123504 = 0; D_800DD39C = 0; @@ -1233,8 +1233,8 @@ void ingame_logic_loop(s32 updateRate) { D_800DD390 -= updateRate; if (D_800DD390 <= 0) { D_800DD390 = 0; - func_8006C1AC(0, 0, 0, 0); - func_8006C1AC(0x2B, 0, -1, 0xA); + func_8006C1AC(MAP_ID_OVERWORLD, 0, 0, 0); + func_8006C1AC(MAP_ID_WIZPIG_AMULET_CUTSCENE, 0, -1, 0xA); sp3C = TRUE; } } @@ -1272,8 +1272,8 @@ void ingame_logic_loop(s32 updateRate) { func_8006C22C(&D_801234F4, &D_80123504, &i, &D_80123508); func_8006F42C(); if (D_801234F4 < 0) { - if (D_801234F4 == -1 || D_801234F4 == -10) { - if (D_801234F4 == -10 && is_in_two_player_adventure()) { + if (D_801234F4 == MAP_ID_UNK_NEG1 || D_801234F4 == MAP_ID_UNK_NEG10) { + if (D_801234F4 == MAP_ID_UNK_NEG10 && is_in_two_player_adventure()) { func_8006F398(); } buttonHeldInputs |= L_TRIG; @@ -1500,7 +1500,7 @@ s32 get_level_default_vehicle(void) { * Calls load_level() with the same arguments, but also does some other stuff. * Needs a better name! */ -void load_level_3(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId) { +void load_level_3(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId) { set_free_queue_state(0); func_80065EA0(); func_800C3048(); @@ -1580,7 +1580,7 @@ void func_8006DCF8(s32 updateRate) { load_menu_with_level_background(MENU_TRACK_SELECT, -1, 1); break; case 14: - D_801234F4 = 0; + D_801234F4 = MAP_ID_OVERWORLD; D_80123504 = 0; D_80123508 = 0x64; sRenderContext = DRAW_GAME; @@ -1660,7 +1660,7 @@ void func_8006DCF8(s32 updateRate) { GLOBAL_ASM("asm/non_matchings/game/func_8006DCF8.s") #endif -void load_level_for_menu(s32 levelId, s32 numberOfPlayers, s32 cutsceneId) { +void load_level_for_menu(MapId levelId, s32 numberOfPlayers, s32 cutsceneId) { if (!gIsLoading) { func_8006DBE4(); if (get_thread30_level_id_to_load() == 0) { @@ -1669,7 +1669,7 @@ void load_level_for_menu(s32 levelId, s32 numberOfPlayers, s32 cutsceneId) { gSPEndDisplayList(gCurrDisplayList++); } } - if (levelId != -1) { + if (levelId != MAP_ID_UNK_NEG1) { load_level_3(levelId, numberOfPlayers, 0, 2, cutsceneId); gIsLoading = FALSE; return; @@ -1830,7 +1830,7 @@ s32 is_reset_pressed(void) { return gNMIMesgBuf[0]; } -s32 func_8006EB14(void) { +MapId func_8006EB14(void) { return D_801234F4; } diff --git a/src/game.h b/src/game.h index 77890029..a7076744 100644 --- a/src/game.h +++ b/src/game.h @@ -84,25 +84,25 @@ void func_80070B04(s32 videoLastFrameBuffer, s32 VideoCurrFrameBuffer, s32 size) s16 func_8006ABB4(s32 arg0); s32 func_8006B018(s8 arg0); s32 func_8006B054(s8 arg0); -s32 func_8006B0AC(s32 arg0); -s32 func_8006B0F8(s32 arg0); -s8 func_8006B14C(s32 arg0); -s8 func_8006B190(s32 arg0); -s32 get_hub_area_id(s32 worldId); +s32 func_8006B0AC(MapId mapId); +s32 func_8006B0F8(MapId mapId); +s8 func_8006B14C(MapId mapId); +s8 func_8006B190(MapId mapId); +MapId get_hub_area_id(s32 worldId); void get_number_of_levels_and_worlds(s32 *outLevelCount, s32 *outWorldCount); s32 func_8006B240(void); void func_8006BD10(f32 arg0); -s32 func_8006BD88(void); +MapId func_8006BD88(void); u8 get_current_level_race_type(void); LevelHeader *get_current_level_header(void); u8 get_total_level_header_count(void); -u8 *get_level_name(s32 levelId); +u8 *get_level_name(MapId levelId); void func_8006BEFC(void); void func_8006BFC8(s8 *arg0); void func_8006C164(void); TempStruct5 *func_8006C18C(void); s8 func_8006C19C(void); -void func_8006C1AC(s32 levelId, s32 entranceId, s32 vehicleId, s32 cutsceneId); +void func_8006C1AC(MapId levelId, s32 entranceId, s32 vehicleId, s32 cutsceneId); void func_8006C22C(s32 *levelId, s32 *entranceId, s32 *vehicleId, s32 *cutsceneId); void func_8006C2E4(void); s16 func_8006C2F0(void); @@ -111,7 +111,7 @@ void thread3_main(UNUSED void *unused); void init_game(void); void main_game_loop(void); void func_8006CAE4(s32 arg0, s32 arg1, s32 arg2); -void load_level_2(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId); +void load_level_2(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId); void func_8006CC14(void); void func_8006D8A4(void); void func_8006D8E0(s32 arg0); @@ -123,10 +123,10 @@ void load_menu_with_level_background(s32 menuId, s32 levelId, s32 cutsceneId); void set_level_default_vehicle(s32 arg0); void func_8006DB20(s32 vehicleId); s32 get_level_default_vehicle(void); -void load_level_3(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId); +void load_level_3(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId); void func_8006DBE4(void); void func_8006DC58(s32 arg0); -void load_level_for_menu(s32 levelId, s32 numberOfPlayers, s32 cutsceneId); +void load_level_for_menu(MapId levelId, s32 numberOfPlayers, s32 cutsceneId); void calc_and_alloc_heap_for_settings(void); void func_8006E5BC(void); void func_8006E770(Settings *settings, s32 arg1); @@ -136,7 +136,7 @@ Settings *get_settings(void); s8 is_game_paused(void); s8 func_8006EAB0(void); s32 is_reset_pressed(void); -s32 func_8006EB14(void); +MapId func_8006EB14(void); void func_8006EB24(void); void func_8006EB40(void); void func_8006EB5C(void); @@ -168,7 +168,7 @@ void ingame_logic_loop(s32 updateRate); void func_8006ECFC(s32 numberOfPlayers); void func_8006DCF8(s32 arg0); void func_8006EFDC(void); -void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId); +void load_level(MapId levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId); void func_8006A6B0(void); void func_80010994(s32 updateRate); diff --git a/src/menu.c b/src/menu.c index 43bbd766..813afdbb 100644 --- a/src/menu.c +++ b/src/menu.c @@ -321,7 +321,7 @@ s32 D_800DF4B4 = 0; s32 gIsInTracksMode = 1; s32 gNumberOfActivePlayers = 1; s32 gIsInTwoPlayerAdventure = 0; -s32 gTrackIdForPreview = 0; +MapId gTrackIdForPreview = MAP_ID_OVERWORLD; s32 gTrackSelectRow = 0; // 1 = Dino Domain, 2 = Sherbet Island, etc. s32 gSaveFileIndex = 0; s32 D_800DF4D0 = 0; // Unused? @@ -2639,13 +2639,13 @@ s32 menu_title_screen_loop(s32 updateRate) { if (is_tt_unlocked()) { sp28 ^= 3; } - load_level_for_menu(0x16, -1, sp28); + load_level_for_menu(MAP_ID_CHARACTER_SELECT, -1, sp28); func_8008AEB4(0, NULL); menu_init(3U); return 0; } D_800DF460 = 0; - load_level_for_menu(0x27, -1, 0); + load_level_for_menu(MAP_ID_MAIN_MENU, -1, 0); menu_init(MENU_OPTIONS); return 0; } @@ -3933,7 +3933,7 @@ s32 menu_controller_pak_loop(s32 updateRate) { func_800895A4(); menu_init(MENU_LOGOS); - load_level_for_menu(21, -1, 0); + load_level_for_menu(MAP_ID_INTRO_CUTSCENE1, -1, 0); } } return 0; @@ -4560,7 +4560,7 @@ s32 menu_character_select_loop(s32 updateRate) { gIsInTracksMode = 1; if (phi_t3 >= gNumberOfActivePlayers) { func_80000B18(); - load_level_for_menu(0x27, -1, 0); + load_level_for_menu(MAP_ID_MAIN_MENU, -1, 0); if (gNumberOfActivePlayers == 1 && !gPlayerHasSeenCautionMenu) { menu_init(MENU_CAUTION); } else { @@ -4816,7 +4816,7 @@ s32 menu_game_select_loop(s32 updateRate) { func_80000B28(); gIsInTracksMode = TRUE; func_8006E5BC(); - load_level_for_menu(-1, -1, 0); + load_level_for_menu(MAP_ID_UNK_NEG1, -1, 0); menu_init(MENU_TRACK_SELECT); } else { gIsInAdventureTwo = D_800DF460; @@ -4835,7 +4835,7 @@ s32 menu_game_select_loop(s32 updateRate) { if (is_tt_unlocked()) { charSelectScene ^= 3; } - load_level_for_menu(0x16, -1, charSelectScene); + load_level_for_menu(MAP_ID_CHARACTER_SELECT, -1, charSelectScene); func_8008AEB4(0, 0); menu_init(MENU_CHARACTER_SELECT); return 0; @@ -5611,12 +5611,12 @@ s32 menu_track_select_loop(s32 updateRate) { if (is_tt_unlocked()) { cutsceneId ^= 3; } - load_level_for_menu(22, -1, cutsceneId); + load_level_for_menu(MAP_ID_CHARACTER_SELECT, -1, cutsceneId); func_8008AEB4(0, NULL); menu_init(MENU_CHARACTER_SELECT); return 0; } - load_level_for_menu(0x27, -1, 0); + load_level_for_menu(MAP_ID_MAIN_MENU, -1, 0); menu_init(MENU_GAME_SELECT); return 0; } @@ -5976,7 +5976,7 @@ GLOBAL_ASM("asm/non_matchings/menu/render_track_select_setup_ui.s") GLOBAL_ASM("asm/non_matchings/menu/func_80092188.s") -s32 func_80092BE0(s32 arg0) { +s32 func_80092BE0(MapId mapId) { s8 *trackIdArray; s32 index; s32 temp; @@ -5987,7 +5987,7 @@ s32 func_80092BE0(s32 arg0) { temp = -1; if (trackIdArray[0] != -1) { while (temp < 0) { - if (arg0 == trackIdArray[index]) { + if (mapId == trackIdArray[index]) { temp = index; } index++; @@ -6010,24 +6010,24 @@ s32 func_80092BE0(s32 arg0) { void menu_5_init(void) { Settings *settings; s32 result; - s32 s0; + MapId mapId; s16 temp; settings = get_settings(); - gTrackIdForPreview = 0; + gTrackIdForPreview = MAP_ID_OVERWORLD; gOptionBlinkTimer = 0; gMenuDelay = 0; - s0 = settings->unk4C->unk2; - gPlayerSelectVehicle[PLAYER_ONE] = func_8006B0AC(s0); - result = func_8006B14C(s0); - if ((result == 5) || (result == 8) || (!(result & 0x40) && (!(settings->courseFlagsPtr[s0] & 2)))) { - temp = D_800E0758[s0]; + mapId = settings->unk4C->unk2; + gPlayerSelectVehicle[PLAYER_ONE] = func_8006B0AC(mapId); + result = func_8006B14C(mapId); + if ((result == 5) || (result == 8) || (!(result & 0x40) && (!(settings->courseFlagsPtr[mapId] & 2)))) { + temp = D_800E0758[mapId]; if (temp != -1) { func_80000FDC(temp, 0, 1.0f); } D_801263E0 = -1; } else { - temp = D_800E0758[s0]; + temp = D_800E0758[mapId]; if (temp != -1) { func_80000FDC(temp, 0, 0.5f); } @@ -6052,11 +6052,11 @@ void menu_5_init(void) { gMenuDelay = 0; D_800E0980 = 30; load_font(ASSET_FONTS_BIGFONT); - load_level_for_menu(s0, -1, 1); + load_level_for_menu(mapId, -1, 1); } assign_dialogue_box_id(7); - if (func_8006B14C(s0) & 0x40) { - func_800C31EC(func_8006B190(s0) + 0x3B); + if (func_8006B14C(mapId) & 0x40) { + func_800C31EC(func_8006B190(mapId) + 0x3B); } } @@ -6067,7 +6067,7 @@ s32 menu_5_loop(s32 updateRate) { s32 sp30; s32 vehicle2; s32 sp28; - s32 sp24; + MapId mapId; s32 sp20; s32 sp1C; Settings *settings; @@ -6076,16 +6076,16 @@ s32 menu_5_loop(s32 updateRate) { return gTrackIdForPreview | 0x80; } settings = get_settings(); - sp24 = ((Settings4C *)((u8 *)settings->unk4C + gTrackIdForPreview))->unk2; + mapId = ((Settings4C *)((u8 *)settings->unk4C + gTrackIdForPreview))->unk2; sp28 = FALSE; sp1C = 0; - if (settings->courseFlagsPtr[sp24] & 2) { + if (settings->courseFlagsPtr[mapId] & 2) { sp1C = 1; } - if (settings->courseFlagsPtr[sp24] & 4) { + if (settings->courseFlagsPtr[mapId] & 4) { sp1C = 2; } - if (func_8006B14C(sp24) & 0x40) { + if (func_8006B14C(mapId) & 0x40) { sp28 = TRUE; } sp20 = FALSE; @@ -6099,10 +6099,10 @@ s32 menu_5_loop(s32 updateRate) { gOptionBlinkTimer = (gOptionBlinkTimer + updateRate) & 0x3F; func_80092E94(updateRate, sp1C, sp20); if (sp1C < 2) { - gPlayerSelectVehicle[PLAYER_ONE] = func_8006B0AC(sp24); + gPlayerSelectVehicle[PLAYER_ONE] = func_8006B0AC(mapId); } vehicle = gPlayerSelectVehicle[PLAYER_ONE]; - sp30 = func_8006B0F8(sp24); + sp30 = func_8006B0F8(mapId); vehicle2 = vehicle; func_8008E4EC(); if (gMenuDelay == 0) { @@ -6927,7 +6927,7 @@ void func_80098208(void) { #ifdef NON_MATCHING void menu_trophy_race_round_init(void) { - s32 levelId; + MapId levelId; s32 i; Settings *settings; s8 *levelIds; diff --git a/src/menu.h b/src/menu.h index 23e6a9ae..91a8f282 100644 --- a/src/menu.h +++ b/src/menu.h @@ -302,7 +302,7 @@ extern s32 D_800DF4B4; extern s32 gIsInTracksMode; extern s32 gNumberOfActivePlayers; extern s32 gIsInTwoPlayerAdventure; -extern s32 gTrackIdForPreview; +extern MapId gTrackIdForPreview; extern s32 gTrackSelectRow; extern s32 gSaveFileIndex; @@ -766,7 +766,7 @@ void assign_vehicle_icon_textures(void); void func_8008E4B0(void); void func_8008F534(void); void func_80090ED8(s32 updateRate); -s32 func_80092BE0(s32 arg0); +s32 func_80092BE0(MapId mapId); void menu_5_init(void); void func_80093A0C(void); void n_alSynRemovePlayer(void); diff --git a/src/objects.c b/src/objects.c index 7c435d19..9d20f190 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1465,10 +1465,10 @@ s32 func_8001B668(s32 arg0) { s16 sp2E; s16 sp2C; s32 temp_v0; - s32 sp24; + MapId mapId; - sp24 = func_800599A8(); - if ((func_8006BD88() != sp24) || (D_800DC728 != D_8011AE82)) { + mapId = func_800599A8(); + if ((func_8006BD88() != mapId) || (D_800DC728 != D_8011AE82)) { temp_v0 = func_800599B8(arg0, func_8006BD88(), D_8011AE82, &sp2E, &sp2C); if (temp_v0 == 0) { D_800DC728 = D_8011AE82; diff --git a/src/racer.c b/src/racer.c index 7c9854d4..fec116a9 100644 --- a/src/racer.c +++ b/src/racer.c @@ -3486,21 +3486,21 @@ void func_80059984(s32 arg0) { D_8011D5AC = arg0; } -s32 func_800599A8(void) { +MapId func_800599A8(void) { return D_8011D5AC; } -s32 func_800599B8(s32 arg0, s32 arg1, s16 arg2, s16 *arg3, s16 *arg4) { +s32 func_800599B8(s32 arg0, MapId mapId, s16 arg2, s16 *arg3, s16 *arg4) { s32 temp_v0; s32 temp_t8; s16 sp2E; temp_t8 = (D_8011D59C + 1) & 1; - temp_v0 = func_80074B34(arg0, (s16)arg1, arg2, arg3, arg4, &sp2E, gGhostData[temp_t8]); + temp_v0 = func_80074B34(arg0, (s16)mapId, arg2, arg3, arg4, &sp2E, gGhostData[temp_t8]); if (arg3 != 0) { if (temp_v0 == 0) { D_8011D5A0[temp_t8] = sp2E; - D_8011D5AC = arg1; + D_8011D5AC = mapId; } else { D_8011D5AC = -1; } @@ -3540,8 +3540,8 @@ void free_tt_ghost_data(void) { gGhostData[2] = NULL; } -s32 func_80059B7C(s32 controllerIndex, s32 arg1, s16 arg2, s16 arg3, s16 arg4) { - return func_80075000(controllerIndex, (s16)arg1, arg2, arg3, arg4, D_8011D5A0[D_8011D59C], gGhostData[D_8011D59C]); +s32 func_80059B7C(s32 controllerIndex, MapId mapId, s16 arg2, s16 arg3, s16 arg4) { + return func_80075000(controllerIndex, (s16)mapId, arg2, arg3, arg4, D_8011D5A0[D_8011D59C], gGhostData[D_8011D59C]); } GLOBAL_ASM("asm/non_matchings/racer/func_80059BF0.s") diff --git a/src/racer.h b/src/racer.h index 305ee586..1617f8e4 100644 --- a/src/racer.h +++ b/src/racer.h @@ -222,11 +222,11 @@ void get_timestamp_from_frames(s32 frameCount, s32 *minutes, s32 *seconds, s32 * void func_800598D0(void); void func_80059944(void); void func_80059984(s32 arg0); -s32 func_800599A8(void); -s32 func_800599B8(s32 arg0, s32 arg1, s16 arg2, s16 *arg3, s16 *arg4); +MapId func_800599A8(void); +s32 func_800599B8(s32 arg0, MapId mapId, s16 arg2, s16 *arg3, s16 *arg4); s32 load_tt_ghost(s32 ghostOffset, s32 size, s16 *outTime); void free_tt_ghost_data(void); -s32 func_80059B7C(s32 controllerIndex, s32 arg1, s16 arg2, s16 arg3, s16 arg4); +s32 func_80059B7C(s32 controllerIndex, MapId mapId, s16 arg2, s16 arg3, s16 arg4); s16 func_80059E20(void); void func_8005A3B0(void); void func_8005A3C0(void); diff --git a/src/unknown_05CEF0.c b/src/unknown_05CEF0.c index 33821494..0ec13649 100644 --- a/src/unknown_05CEF0.c +++ b/src/unknown_05CEF0.c @@ -250,9 +250,9 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { s32 bossId; s32 racerUnk1AC; s8 *miscAsset67; - s32 miscAsset68Byte5; - s32 miscAsset68Byte6; - s32 miscAsset68Byte7; + MapId miscAsset68Byte5; + MapId miscAsset68Byte6; + MapId miscAsset68Byte7; s8 miscAsset67CourseByte; s32 var_t1; s32 i; @@ -295,21 +295,21 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { } if (settings->worldId == WORLD_CENTRAL_AREA) { if (racerUnk1AC == 1) { - func_8006C1AC(-2, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG2, 0, 0, 0); func_8006C1AC(miscAsset68Byte5, 0, -1, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 1); } else { - func_8006C1AC(-10, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG10, 0, 0, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 2); } } else if (racerUnk1AC == 1) { set_eeprom_settings_value(1); //Set Adventure Two Unlocked - func_8006C1AC(-2, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG2, 0, 0, 0); func_8006C1AC(miscAsset68Byte7, 0, -1, 0); func_8006C1AC(miscAsset68Byte6, 0, -1, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 1); } else { - func_8006C1AC(-10, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG10, 0, 0, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 2); } if (racerUnk1AC == 1) { @@ -339,7 +339,7 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { settings->courseFlagsPtr[settings->courseId] |= 2; if (!(settings->bosses & bossId)) { settings->bosses |= bossId; - func_8006C1AC(-1, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG1, 0, 0, 0); func_8006C1AC(miscAsset67CourseByte, 4, -1, 4); } else if (!(settings->bosses & (bossId << 6))) { settings->bosses |= bossId << 6; @@ -352,7 +352,7 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { settings->wizpigAmulet = var_t1; } if (var_t1 != 0) { - func_8006C1AC(-1, 0, 0, 0); + func_8006C1AC(MAP_ID_UNK_NEG1, 0, 0, 0); func_8006C1AC(ASSET_LEVELNAME_WIZPIGAMULETSEQUENCE, 0, -1, settings->wizpigAmulet - 1); func_8006C1AC(miscAsset67CourseByte, 6, -1, 6); } else {