Add map ID enum.

This commit is contained in:
Antonio Castelli
2022-11-05 23:03:32 -07:00
parent bf8d3e22cf
commit 63538d6fb6
9 changed files with 169 additions and 98 deletions
+71
View File
@@ -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,
+32 -32
View File
@@ -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;
}
+13 -13
View File
@@ -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);
+30 -30
View File
@@ -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;
+2 -2
View File
@@ -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);
+3 -3
View File
@@ -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;
+6 -6
View File
@@ -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")
+3 -3
View File
@@ -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);
+9 -9
View File
@@ -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 {