diff --git a/include/enums.h b/include/enums.h index a2b9c07e..ad9d44ec 100644 --- a/include/enums.h +++ b/include/enums.h @@ -3,78 +3,14 @@ #include "sound_ids.h" #include "sequence_ids.h" +#include "asset_enums.h" /* All the enums defined here can be used in asset files */ -typedef enum MapId { - /* 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; +// Alias for brevity. +typedef AssetLevelHeadersEnum MapId; -// There are a few instances of comparing AssetLevelHeadersEnums with special, negative values. +// There are a few instances of comparing MapId with special, negative values. typedef enum SpecialMapId { SPECIAL_MAP_ID_UNK_NEG10 = -10, SPECIAL_MAP_ID_UNK_NEG2 = -2, diff --git a/src/game.c b/src/game.c index bd4a1ff1..3aab5c21 100644 --- a/src/game.c +++ b/src/game.c @@ -394,7 +394,7 @@ void load_level(MapId levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehi } maxLevelCount--; if (levelId >= maxLevelCount) { - levelId = MAP_ID_OVERWORLD; + levelId = ASSET_LEVEL_CENTRALAREAHUB; } offset = gTempAssetTable[levelId]; size = gTempAssetTable[levelId + 1] - offset; @@ -1223,7 +1223,7 @@ void ingame_logic_loop(s32 updateRate) { render_second_multiplayer_borders(&gCurrDisplayList); if (D_800DD39C != 0) { if (func_800214C4() != 0) { - gPlayableMapId = MAP_ID_FUTURE_FUN_LAND; + gPlayableMapId = ASSET_LEVEL_FUTUREFUNLANDHUB; D_801234F8 = 1; D_80123504 = 0; D_800DD39C = 0; @@ -1234,8 +1234,8 @@ void ingame_logic_loop(s32 updateRate) { D_800DD390 -= updateRate; if (D_800DD390 <= 0) { D_800DD390 = 0; - func_8006C1AC(MAP_ID_OVERWORLD, 0, VEHICLE_CAR, 0); - func_8006C1AC(MAP_ID_WIZPIG_AMULET_CUTSCENE, 0, -1, 0xA); + func_8006C1AC(ASSET_LEVEL_CENTRALAREAHUB, 0, VEHICLE_CAR, 0); + func_8006C1AC(ASSET_LEVEL_WIZPIGAMULETSEQUENCE, 0, -1, 0xA); sp3C = TRUE; } } @@ -1273,8 +1273,8 @@ void ingame_logic_loop(s32 updateRate) { func_8006C22C(&gPlayableMapId, &D_80123504, &i, &D_80123508); func_8006F42C(); if (gPlayableMapId < 0) { - if (gPlayableMapId == SPECIAL_MAP_ID_UNK_NEG1 || gPlayableMapId == SPECIAL_MAP_ID_UNK_NEG10) { - if (gPlayableMapId == SPECIAL_MAP_ID_UNK_NEG10 && is_in_two_player_adventure()) { + if (gPlayableMapId == (MapId)SPECIAL_MAP_ID_UNK_NEG1 || gPlayableMapId == (MapId)SPECIAL_MAP_ID_UNK_NEG10) { + if (gPlayableMapId == (MapId)SPECIAL_MAP_ID_UNK_NEG10 && is_in_two_player_adventure()) { func_8006F398(); } buttonHeldInputs |= L_TRIG; @@ -1581,7 +1581,7 @@ void func_8006DCF8(s32 updateRate) { load_menu_with_level_background(MENU_TRACK_SELECT, -1, 1); break; case 14: - gPlayableMapId = MAP_ID_OVERWORLD; + gPlayableMapId = ASSET_LEVEL_CENTRALAREAHUB; D_80123504 = 0; D_80123508 = 0x64; sRenderContext = DRAW_GAME; @@ -1670,7 +1670,7 @@ void load_level_for_menu(MapId levelId, s32 numberOfPlayers, s32 cutsceneId) { gSPEndDisplayList(gCurrDisplayList++); } } - if (levelId != SPECIAL_MAP_ID_UNK_NEG1) { + if (levelId != (MapId)SPECIAL_MAP_ID_UNK_NEG1) { load_level_3(levelId, numberOfPlayers, 0, VEHICLE_PLANE, cutsceneId); gIsLoading = FALSE; return; diff --git a/src/menu.c b/src/menu.c index 67629018..d605d8f8 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; -MapId gTrackIdForPreview = MAP_ID_OVERWORLD; +MapId gTrackIdForPreview = ASSET_LEVEL_CENTRALAREAHUB; 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(MAP_ID_CHARACTER_SELECT, -1, sp28); + load_level_for_menu(ASSET_LEVEL_CHARACTERSELECT, -1, sp28); func_8008AEB4(0, NULL); menu_init(3U); return 0; } D_800DF460 = 0; - load_level_for_menu(MAP_ID_MAIN_MENU, -1, 0); + load_level_for_menu(ASSET_LEVEL_OPTIONSBACKGROUND, -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(MAP_ID_INTRO_CUTSCENE1, -1, 0); + load_level_for_menu(ASSET_LEVEL_FRONTEND, -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(MAP_ID_MAIN_MENU, -1, 0); + load_level_for_menu(ASSET_LEVEL_OPTIONSBACKGROUND, -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(SPECIAL_MAP_ID_UNK_NEG1, -1, 0); + load_level_for_menu((MapId)SPECIAL_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(MAP_ID_CHARACTER_SELECT, -1, charSelectScene); + load_level_for_menu(ASSET_LEVEL_CHARACTERSELECT, -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(MAP_ID_CHARACTER_SELECT, -1, cutsceneId); + load_level_for_menu(ASSET_LEVEL_CHARACTERSELECT, -1, cutsceneId); func_8008AEB4(0, NULL); menu_init(MENU_CHARACTER_SELECT); return 0; } - load_level_for_menu(MAP_ID_MAIN_MENU, -1, 0); + load_level_for_menu(ASSET_LEVEL_OPTIONSBACKGROUND, -1, 0); menu_init(MENU_GAME_SELECT); return 0; } @@ -6014,7 +6014,7 @@ void menu_5_init(void) { s16 temp; settings = get_settings(); - gTrackIdForPreview = MAP_ID_OVERWORLD; + gTrackIdForPreview = ASSET_LEVEL_CENTRALAREAHUB; gOptionBlinkTimer = 0; gMenuDelay = 0; mapId = settings->unk4C->unk2; diff --git a/src/unknown_05CEF0.c b/src/unknown_05CEF0.c index 060f0b6a..96daa488 100644 --- a/src/unknown_05CEF0.c +++ b/src/unknown_05CEF0.c @@ -295,21 +295,21 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { } if (settings->worldId == WORLD_CENTRAL_AREA) { if (racerUnk1AC == 1) { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG2, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG2, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset68Byte5, 0, -1, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 1); } else { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 2); } } else if (racerUnk1AC == 1) { set_eeprom_settings_value(1); //Set Adventure Two Unlocked - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG2, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG2, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset68Byte7, 0, -1, 0); func_8006C1AC(miscAsset68Byte6, 0, -1, 0); func_8006C1AC(miscAsset67CourseByte, 0, -1, 1); } else { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 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(SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset67CourseByte, 4, -1, 4); } else if (!(settings->bosses & (bossId << 6))) { settings->bosses |= bossId << 6; @@ -352,21 +352,21 @@ void func_8005CB68(Object_Racer *racer, s8 *arg1) { settings->wizpigAmulet = var_t1; } if (var_t1 != 0) { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); func_8006C1AC(ASSET_LEVELNAME_WIZPIGAMULETSEQUENCE, 0, -1, settings->wizpigAmulet - 1); func_8006C1AC(miscAsset67CourseByte, 6, -1, 6); } else { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset67CourseByte, 4, -1, 4); } } else { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG1, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset67CourseByte, 4, -1, 4); } func_8006F140(4); func_8000E128(); } else { - func_8006C1AC(SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 0); + func_8006C1AC((MapId)SPECIAL_MAP_ID_UNK_NEG10, 0, VEHICLE_CAR, 0); func_8006C1AC(miscAsset67CourseByte, 5, -1, 5); func_8006F140(3); }