Make MapId alias AssetLevelHeadersEnum

This commit is contained in:
Antonio Castelli
2022-11-07 23:31:13 -08:00
parent eac875afa0
commit d57b96d4c6
4 changed files with 31 additions and 95 deletions
+4 -68
View File
@@ -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,
+8 -8
View File
@@ -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;
+10 -10
View File
@@ -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;
+9 -9
View File
@@ -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);
}