From 8fe9366923649670628d6668e4faa1a97f69565d Mon Sep 17 00:00:00 2001 From: Dethrace Labs <78985374+dethrace-labs@users.noreply.github.com> Date: Tue, 17 Jun 2025 08:24:42 +1200 Subject: [PATCH] annotate round 4 --- src/DETHRACE/common/car.c | 3 +++ src/DETHRACE/common/controls.c | 2 ++ src/DETHRACE/common/displays.c | 5 +++++ src/DETHRACE/common/drmem.c | 1 + src/DETHRACE/common/flicplay.c | 9 +++++++++ src/DETHRACE/common/globvars.c | 21 +++++++++++++++++++++ src/DETHRACE/common/globvrbm.c | 1 + src/DETHRACE/common/globvrkm.c | 3 +++ src/DETHRACE/common/globvrme.c | 1 + src/DETHRACE/common/globvrpb.c | 2 ++ src/DETHRACE/common/graphics.c | 12 ++++++++++++ src/DETHRACE/common/init.c | 2 ++ src/DETHRACE/common/input.c | 4 ++++ src/DETHRACE/common/intrface.c | 1 + src/DETHRACE/common/loading.c | 3 +++ src/DETHRACE/common/loadsave.c | 1 + src/DETHRACE/common/mainloop.c | 1 + src/DETHRACE/common/network.c | 2 ++ src/DETHRACE/common/newgame.c | 3 +++ src/DETHRACE/common/oil.c | 2 ++ src/DETHRACE/common/opponent.c | 2 ++ src/DETHRACE/common/options.c | 2 ++ src/DETHRACE/common/pedestrn.c | 8 ++++++++ src/DETHRACE/common/piping.c | 1 + src/DETHRACE/common/powerup.c | 2 ++ src/DETHRACE/common/racestrt.c | 1 + src/DETHRACE/common/racesumm.c | 2 ++ src/DETHRACE/common/replay.c | 1 + src/DETHRACE/common/skidmark.c | 1 + src/DETHRACE/common/sound.c | 1 + src/DETHRACE/common/spark.c | 9 +++++++++ src/DETHRACE/common/trig.c | 3 +++ src/DETHRACE/common/world.c | 7 +++++++ 33 files changed, 119 insertions(+) diff --git a/src/DETHRACE/common/car.c b/src/DETHRACE/common/car.c index 49340788..e179d088 100644 --- a/src/DETHRACE/common/car.c +++ b/src/DETHRACE/common/car.c @@ -107,6 +107,7 @@ int gEliminate_faces = 0; br_vector3 gZero_v__car = { { 0 } }; // suffix added to avoid duplicate symbol // GLOBAL: CARM95 0x514d74 tU32 gSwitch_time = 0; +// GLOBAL: CARM95 0x514d78 tSave_camera gSave_camera[2]; // GLOBAL: CARM95 0x514d90 tU32 gLast_mechanics_time; @@ -141,7 +142,9 @@ int gCar_simplification_level = 0; int gNum_active_non_cars = 0; // GLOBAL: CARM95 0x514e30 int gCamera_has_collided = 0; +// GLOBAL: CARM95 0x53a5b8 tFace_ref gFace_list__car[150]; // suffix added to avoid duplicate symbol +// GLOBAL: CARM95 0x550680 tNon_car_spec* gActive_non_car_list[50]; // GLOBAL: CARM95 0x53a57c int gOver_shoot; diff --git a/src/DETHRACE/common/controls.c b/src/DETHRACE/common/controls.c index 0217a57a..ebbc851d 100644 --- a/src/DETHRACE/common/controls.c +++ b/src/DETHRACE/common/controls.c @@ -542,7 +542,9 @@ int gAllow_car_flying; int gEntering_message; // GLOBAL: CARM95 0x51cf38 tU32 gPalette_fade_time; // was gRecover_timer +// GLOBAL: CARM95 0x53d608 char* gAbuse_text[10]; +// GLOBAL: CARM95 0x53d648 char gString[84]; // GLOBAL: CARM95 0x53d5f8 int gToo_late; diff --git a/src/DETHRACE/common/displays.c b/src/DETHRACE/common/displays.c index ecd0be69..213ed0c1 100644 --- a/src/DETHRACE/common/displays.c +++ b/src/DETHRACE/common/displays.c @@ -25,8 +25,11 @@ int gLast_credit_headup__displays; // suffix added to avoid duplicate symbol int gLast_time_credit_headup; // GLOBAL: CARM95 0x521684 tDR_font* gCached_font; +// GLOBAL: CARM95 0x541598 br_font* gBR_fonts[4]; +// GLOBAL: CARM95 0x541160 tQueued_headup gQueued_headups[4]; +// GLOBAL: CARM95 0x544e30 int gOld_times[10]; // GLOBAL: CARM95 0x541590 int gLast_fancy_headup; @@ -44,6 +47,7 @@ tU32 gLast_earn_time; tU32 gLast_time_credit_amount; // GLOBAL: CARM95 0x541150 int gLast_credit_amount; +// GLOBAL: CARM95 0x53fdd8 tHeadup gHeadups[15]; // GLOBAL: CARM95 0x544e60 int gLaps_headup; @@ -57,6 +61,7 @@ int gTime_awarded_headup; int gPed_kill_count_headup; // GLOBAL: CARM95 0x544eec int gDim_amount; +// GLOBAL: CARM95 0x544e70 br_pixelmap* gHeadup_images[32]; // Modified by DethRace for the demo // GLOBAL: CARM95 0x544e58 int gNet_cash_headup; diff --git a/src/DETHRACE/common/drmem.c b/src/DETHRACE/common/drmem.c index be3f9dca..8815f60b 100644 --- a/src/DETHRACE/common/drmem.c +++ b/src/DETHRACE/common/drmem.c @@ -260,6 +260,7 @@ char* gMem_names[246] = { }; // Is 118 in DOS executable, with last entry unused +// GLOBAL: CARM95 0x537960 br_resource_class gStainless_classes[117]; // IDA: void __cdecl SetNonFatalAllocationErrors() diff --git a/src/DETHRACE/common/flicplay.c b/src/DETHRACE/common/flicplay.c index 719fdfd1..1e48c7f7 100644 --- a/src/DETHRACE/common/flicplay.c +++ b/src/DETHRACE/common/flicplay.c @@ -31,6 +31,7 @@ int gPending_flic = -1; int gPlay_from_disk; // GLOBAL: CARM95 0x514fbc int gTrans_enabled = 1; +// GLOBAL: CARM95 0x514fc0 br_pixelmap* gPanel_buffer[2]; // GLOBAL: CARM95 0x514fc8 tU32 gSound_time; @@ -544,12 +545,19 @@ tFlic_bunch gFlic_bunch[9] = { { COUNT_OF(gFlic_bunch7), gFlic_bunch7 }, { COUNT_OF(gFlic_bunch8), gFlic_bunch8 }, }; +// GLOBAL: CARM95 0x518758 char gLast_flic_name[14]; +// GLOBAL: CARM95 0x53d060 tU32 gPanel_flic_data_length[2]; +// GLOBAL: CARM95 0x53d1b8 tU32 gLast_panel_frame_time[2]; +// GLOBAL: CARM95 0x53d0b8 tU8* gPanel_flic_data[2]; +// GLOBAL: CARM95 0x53d0c0 int gPanel_flic_top[2]; +// GLOBAL: CARM95 0x53d0d8 tFlic_descriptor gPanel_flic[2]; +// GLOBAL: CARM95 0x53d0b0 int gPanel_flic_left[2]; // GLOBAL: CARM95 0x53d0cc int gPending_pending_flic = -1; @@ -557,6 +565,7 @@ int gPending_pending_flic = -1; int gSound_ID; // GLOBAL: CARM95 0x53d06c int gTranslation_count; +// GLOBAL: CARM95 0x53d070 tDR_font* gTrans_fonts[15]; // GLOBAL: CARM95 0x53d0d0 tTranslation_record* gTranslations; diff --git a/src/DETHRACE/common/globvars.c b/src/DETHRACE/common/globvars.c index c13e7374..b002093c 100644 --- a/src/DETHRACE/common/globvars.c +++ b/src/DETHRACE/common/globvars.c @@ -56,6 +56,7 @@ FILE* gDiagnostic_file; br_vector3 gDisabled_vector; // GLOBAL: CARM95 0x52136c tU32 gI_am_cheating; +// GLOBAL: CARM95 0x54b220 char gNet_player_name[32]; // GLOBAL: CARM95 0x545440 br_matrix34 gRearview_camera_to_world; @@ -63,6 +64,7 @@ br_matrix34 gRearview_camera_to_world; tSpecial_volume gDefault_default_water_spec_vol; // GLOBAL: CARM95 0x545400 br_matrix34 gCamera_to_world; +// GLOBAL: CARM95 0x5454d0 tRace_list_spec gRace_list[100]; // GLOBAL: CARM95 0x546820 tPath_name gApplication_path; @@ -72,6 +74,7 @@ float gPinball_factor; float gOpponent_speed_factor; // GLOBAL: CARM95 0x54b250 float gCar_crush_min_fold; +// GLOBAL: CARM95 0x549fc0 float gNet_recovery_cost[7]; // GLOBAL: CARM95 0x545474 float gCar_crush_softness; @@ -81,11 +84,13 @@ br_vector3* gOur_pos; float gCar_crush_max_fold; // GLOBAL: CARM95 0x54a020 tBrender_storage gNet_cars_storage_space; +// GLOBAL: CARM95 0x545380 float gNet_softness[7]; // GLOBAL: CARM95 0x54a094 tS32 gJoystick_deadzone; // GLOBAL: CARM95 0x54b270 float gCar_crush_limit_deviant; +// GLOBAL: CARM95 0x5452e0 float gNet_offensive[7]; // GLOBAL: CARM95 0x545470 float gCar_crush_split_chance; @@ -93,6 +98,7 @@ float gCar_crush_split_chance; float gGravity_multiplier; // GLOBAL: CARM95 0x545364 float gCar_crush_wibble; +// GLOBAL: CARM95 0x549fe0 float gRepair_cost[3]; // GLOBAL: CARM95 0x5454c0 float gCop_speed_factor; @@ -102,6 +108,7 @@ float gDefault_gravity; tU32 gKeys_pressed; // GLOBAL: CARM95 0x54a054 tSpecial_volume* gDefault_water_spec_vol; +// GLOBAL: CARM95 0x549f60 float gNet_repair_cost[7]; // GLOBAL: CARM95 0x54537c br_font* gFont_7; @@ -121,6 +128,7 @@ tU32 gRace_finished; tU32 gFrame_start_time; // GLOBAL: CARM95 0x546930 tProgram_state gProgram_state; +// GLOBAL: CARM95 0x545370 tU32 gCredit_period_single[3]; // GLOBAL: CARM95 0x54b240 tU32 gRace_start; @@ -130,6 +138,7 @@ tBrender_storage gTrack_storage_space; tU32 gFrame_period; // GLOBAL: CARM95 0x5467ac tU32 gCredit_period; +// GLOBAL: CARM95 0x545300 tU32 gCredit_period_network[7]; // GLOBAL: CARM95 0x5467c0 tBrender_storage gOur_car_storage_space; @@ -175,16 +184,21 @@ br_actor* gArrow_actor; br_pixelmap* gIcons_pix_low_res; // GLOBAL: CARM95 0x545324 br_pixelmap* gDepth_buffer; +// GLOBAL: CARM95 0x54a080 int gInitial_net_credits[5]; +// GLOBAL: CARM95 0x5467a0 float gCar_cred_value[3]; // GLOBAL: CARM95 0x545430 int gNo_races_yet; +// GLOBAL: CARM95 0x5453a0 int gJump_start_fine[3]; // GLOBAL: CARM95 0x5454bc int gReal_graf_data_index; +// GLOBAL: CARM95 0x549ff0 float gCar_time_value[3]; // GLOBAL: CARM95 0x54679c int gTyping_slot; +// GLOBAL: CARM95 0x54b260 int gCunning_stunt_bonus[3]; // GLOBAL: CARM95 0x54b258 int gKnobbled_frame_period; @@ -192,7 +206,9 @@ int gKnobbled_frame_period; br_actor* gNon_track_actor; // GLOBAL: CARM95 0x546790 int gWait_for_it; +// GLOBAL: CARM95 0x54a070 int gCheck_point_cash[3]; +// GLOBAL: CARM95 0x54a010 int gPoints_per_second[3]; // GLOBAL: CARM95 0x5453fc br_actor* gUniverse_actor; @@ -200,6 +216,7 @@ br_actor* gUniverse_actor; br_actor* gTrack_actor; // GLOBAL: CARM95 0x5467f4 int gMap_mode; +// GLOBAL: CARM95 0x54b290 int gPed_time_value[3]; // GLOBAL: CARM95 0x545328 int gAbandon_game; @@ -213,15 +230,19 @@ int gTotal_laps; int gFree_repairs; // GLOBAL: CARM95 0x546924 int gFreeze_timer; +// GLOBAL: CARM95 0x549ea0 int gRoll_over_creds[3]; // GLOBAL: CARM95 0x545320 int gShow_peds_on_map; // GLOBAL: CARM95 0x5453f4 int gOn_drugs; +// GLOBAL: CARM95 0x54b280 int gWasted_time[3]; // GLOBAL: CARM95 0x54a008 int gCheckpoint; +// GLOBAL: CARM95 0x546800 int gRoll_over_time[3]; +// GLOBAL: CARM95 0x545350 int gWasted_creds[3]; // GLOBAL: CARM95 0x54a004 int gTimer; diff --git a/src/DETHRACE/common/globvrbm.c b/src/DETHRACE/common/globvrbm.c index a324d415..11ac7c26 100644 --- a/src/DETHRACE/common/globvrbm.c +++ b/src/DETHRACE/common/globvrbm.c @@ -3,6 +3,7 @@ // GLOBAL: CARM95 0x520038 br_scalar gYon_factor; +// GLOBAL: CARM95 0x530c80 br_material* gMaterial[2]; int g16bit_palette_valid; tException_list gExceptions; diff --git a/src/DETHRACE/common/globvrkm.c b/src/DETHRACE/common/globvrkm.c index 2ee03469..085d719d 100644 --- a/src/DETHRACE/common/globvrkm.c +++ b/src/DETHRACE/common/globvrkm.c @@ -16,10 +16,13 @@ int gCar_flying; int gCamera_reset; // GLOBAL: CARM95 0x50d3a0 tCar_spec* gCar_to_view = &gProgram_state.current_car; +// GLOBAL: CARM95 0x551438 br_actor* gCamera_list[2]; +// GLOBAL: CARM95 0x551450 tCar_spec* gActive_car_list[25]; // GLOBAL: CARM95 0x5514cc int gNum_active_cars; +// GLOBAL: CARM95 0x5514c0 float gRecovery_cost[3]; // GLOBAL: CARM95 0x5514d0 br_scalar gCamera_height; diff --git a/src/DETHRACE/common/globvrme.c b/src/DETHRACE/common/globvrme.c index 8d777bab..25b72a4b 100644 --- a/src/DETHRACE/common/globvrme.c +++ b/src/DETHRACE/common/globvrme.c @@ -1,6 +1,7 @@ #include "globvrme.h" #include +// GLOBAL: CARM95 0x5508f0 tCar_spec* gViewable_car_list[50]; // GLOBAL: CARM95 0x5509b8 int gNum_viewable_cars; diff --git a/src/DETHRACE/common/globvrpb.c b/src/DETHRACE/common/globvrpb.c index 7e3a1235..b8cab70e 100644 --- a/src/DETHRACE/common/globvrpb.c +++ b/src/DETHRACE/common/globvrpb.c @@ -3,8 +3,10 @@ // GLOBAL: CARM95 0x50dd94 tNet_mode gNet_mode; +// GLOBAL: CARM95 0x550fa0 tNet_game_player_info gNet_players[6]; br_matrix34 gRoot_to_camera; +// GLOBAL: CARM95 0x550af0 tCar_detail_info gCar_details[60]; // GLOBAL: CARM95 0x550ae0 int gThis_net_player_index; diff --git a/src/DETHRACE/common/graphics.c b/src/DETHRACE/common/graphics.c index 7a796a43..a894499a 100644 --- a/src/DETHRACE/common/graphics.c +++ b/src/DETHRACE/common/graphics.c @@ -226,17 +226,27 @@ br_pixelmap* gCurrent_splash; br_pixelmap* gCurrent_conversion_table; // GLOBAL: CARM95 0x5209e0 int gMap_colours[4] = { 4, 0, 52, 132 }; +// GLOBAL: CARM95 0x53e798 br_vector3 gShadow_points[8]; // GLOBAL: CARM95 0x53f940 tConcussion gConcussion; +// GLOBAL: CARM95 0x53f080 tClip_details gShadow_clip_planes[8]; +// GLOBAL: CARM95 0x53e5f8 br_actor* gLollipops[100]; +// GLOBAL: CARM95 0x53f8d8 tWobble_spec gWobble_array[5]; +// GLOBAL: CARM95 0x53f0c0 tSaved_table gSaved_shade_tables[100]; +// GLOBAL: CARM95 0x53e808 tCursor_giblet gCursor_giblets[45]; +// GLOBAL: CARM95 0x53f3f0 tTransient_bm gTransient_bitmaps[50]; +// GLOBAL: CARM95 0x54ff30 float gCosine_array[64]; +// GLOBAL: CARM95 0x54b300 br_pixelmap* gCursors[8]; +// GLOBAL: CARM95 0x550040 br_pixelmap* gCursor_giblet_images[18]; // GLOBAL: CARM95 0x53e790 br_pixelmap* gEval_1; @@ -285,9 +295,11 @@ br_pixelmap* gCurrent_palette; br_pixelmap* gRender_palette; // GLOBAL: CARM95 0x54ff08 float gCamera_to_horiz_angle; +// GLOBAL: CARM95 0x54b2d0 int gColours[9]; // GLOBAL: CARM95 0x550088 br_pixelmap* gFlic_palette; +// GLOBAL: CARM95 0x54b330 tDR_font gFonts[21]; // GLOBAL: CARM95 0x550094 char* gCurrent_palette_pixels; diff --git a/src/DETHRACE/common/init.c b/src/DETHRACE/common/init.c index c8e4f885..b91f3aee 100644 --- a/src/DETHRACE/common/init.c +++ b/src/DETHRACE/common/init.c @@ -55,7 +55,9 @@ int gRender_indent; tU32 gAustere_time; // GLOBAL: CARM95 0x54b2bc int gInitial_rank; +// GLOBAL: CARM95 0x54b2b0 int gCredits_per_rank[3]; +// GLOBAL: CARM95 0x54b2c0 int gInitial_credits[3]; // GLOBAL: CARM95 0x54b2a0 int gNet_mode_of_last_game; diff --git a/src/DETHRACE/common/input.c b/src/DETHRACE/common/input.c index bc5449e2..5847988e 100644 --- a/src/DETHRACE/common/input.c +++ b/src/DETHRACE/common/input.c @@ -31,9 +31,11 @@ tRolling_letter* gRolling_letters; int gCurrent_cursor; // GLOBAL: CARM95 0x53a4c0 int gCurrent_position; +// GLOBAL: CARM95 0x53a200 int gLetter_x_coords[15]; // GLOBAL: CARM95 0x53a240 int gVisible_length; +// GLOBAL: CARM95 0x53a1b8 int gLetter_y_coords[15]; int gThe_key; // GLOBAL: CARM95 0x53a444 @@ -44,7 +46,9 @@ int gThe_length; tU32 gLast_roll; // GLOBAL: CARM95 0x53a244 int gLast_key_down; +// GLOBAL: CARM95 0x5507e0 int gKey_mapping[67]; +// GLOBAL: CARM95 0x53a450 char gCurrent_typing[110]; #define NBR_ROLLING_LETTERS 500 diff --git a/src/DETHRACE/common/intrface.c b/src/DETHRACE/common/intrface.c index 53b809ef..b1ba8cc3 100644 --- a/src/DETHRACE/common/intrface.c +++ b/src/DETHRACE/common/intrface.c @@ -12,6 +12,7 @@ #include "sound.h" #include +// GLOBAL: CARM95 0x53a4d8 int gDisabled_choices[10]; // GLOBAL: CARM95 0x53a500 int gCurrent_mode; diff --git a/src/DETHRACE/common/loading.c b/src/DETHRACE/common/loading.c index 944ccacd..2ea69c94 100644 --- a/src/DETHRACE/common/loading.c +++ b/src/DETHRACE/common/loading.c @@ -127,7 +127,9 @@ int gAllow_open_to_fail = 1; int gDecode_thing = '@'; // GLOBAL: CARM95 0x50a5d0 char gDecode_string[] = { 0x9B, 0x52, 0x93, 0x9F, 0x52, 0x98, 0x9B, 0x96, 0x96, 0x9E, 0x9B, 0xA0, 0x99, 0x0 }; +// GLOBAL: CARM95 0x531f00 int gFunk_groove_flags[30]; +// GLOBAL: CARM95 0x531f80 char gDef_def_water_screen_name[32]; // GLOBAL: CARM95 0x531dfc br_material* gDestn_screen_mat; @@ -141,6 +143,7 @@ int gGroove_funk_offset; int gDemo_armour; // GLOBAL: CARM95 0x551db0 int gDemo_rank; +// GLOBAL: CARM95 0x551d90 int gDemo_opponents[5]; // GLOBAL: CARM95 0x551da4 int gDemo_power; diff --git a/src/DETHRACE/common/loadsave.c b/src/DETHRACE/common/loadsave.c index 3ba6dc63..ef90ead2 100644 --- a/src/DETHRACE/common/loadsave.c +++ b/src/DETHRACE/common/loadsave.c @@ -22,6 +22,7 @@ #include #include +// GLOBAL: CARM95 0x536278 tSave_game* gSaved_games[8]; // GLOBAL: CARM95 0x536270 int gStarted_typing; diff --git a/src/DETHRACE/common/mainloop.c b/src/DETHRACE/common/mainloop.c index ca5e0a29..e826af22 100644 --- a/src/DETHRACE/common/mainloop.c +++ b/src/DETHRACE/common/mainloop.c @@ -69,6 +69,7 @@ int gWasted_flash_state; int gLast_time_headup; // GLOBAL: CARM95 0x53a1a0 int gTime_bonus_headup; +// GLOBAL: CARM95 0x53a0f0 int gQueued_wasted_massages[5]; // GLOBAL: CARM95 0x53a124 tU32 gTime_bonus_start; diff --git a/src/DETHRACE/common/network.c b/src/DETHRACE/common/network.c index 1e024752..a9dd4be0 100644 --- a/src/DETHRACE/common/network.c +++ b/src/DETHRACE/common/network.c @@ -57,7 +57,9 @@ int gRace_only_flags[33] = { }; // GLOBAL: CARM95 0x50d2cc int gJoin_list_mode; +// GLOBAL: CARM95 0x535dd0 tNet_game_player_info gNew_net_players[6]; +// GLOBAL: CARM95 0x534c90 tGuaranteed_message gGuarantee_list[100]; // DOS debug symbols has this as [150] // GLOBAL: CARM95 0x534c70 tMid_message* gMid_messages; diff --git a/src/DETHRACE/common/newgame.c b/src/DETHRACE/common/newgame.c index 86543cba..b488cdf9 100644 --- a/src/DETHRACE/common/newgame.c +++ b/src/DETHRACE/common/newgame.c @@ -51,10 +51,13 @@ char _name1[] = "xxxxxxxx.TXT"; // keep compiler happy char _name2[] = "yyyyyyyy.TXT"; // keep compiler happy // GLOBAL: CARM95 0x51ea80 char* gBasic_car_names[2] = { _name1, _name2 }; +// GLOBAL: CARM95 0x5500c0 tNet_game_options gNet_settings[8]; +// GLOBAL: CARM95 0x53e5c0 tJoinable_game gGames_to_join[6]; // GLOBAL: CARM95 0x53e5b8 tNet_game_options* gOptions; +// GLOBAL: CARM95 0x5500a0 int gNet_target[7]; // GLOBAL: CARM95 0x53e5f0 int gLast_graph_sel__newgame; // suffix added to avoid duplicate symbol diff --git a/src/DETHRACE/common/oil.c b/src/DETHRACE/common/oil.c index 7b6bd5b1..63f88bed 100644 --- a/src/DETHRACE/common/oil.c +++ b/src/DETHRACE/common/oil.c @@ -17,7 +17,9 @@ char* gOil_pixie_names[1] = { "OIL.PIX" }; int gNext_oil_pixie = 0; br_scalar gZ_buffer_diff; br_scalar gMin_z_diff; +// GLOBAL: CARM95 0x551dc0 br_pixelmap* gOil_pixies[1]; +// GLOBAL: CARM95 0x551dd0 tOil_spill_info gOily_spills[15]; // IDA: void __cdecl InitOilSpills() diff --git a/src/DETHRACE/common/opponent.c b/src/DETHRACE/common/opponent.c index 710bf2b6..9346ec1e 100644 --- a/src/DETHRACE/common/opponent.c +++ b/src/DETHRACE/common/opponent.c @@ -69,6 +69,7 @@ int gOppo_paths_shown; int gMade_path_filename; // GLOBAL: CARM95 0x507130 int gBIG_APC_index = -1; +// GLOBAL: CARM95 0x507138 char* gPath_section_type_names[3]; // GLOBAL: CARM95 0x507144 int gMin_bangness = 100; @@ -90,6 +91,7 @@ int gSFS_total_cycles; int gSFS_max_cycles; // GLOBAL: CARM95 0x50716c float gOpponent_nastyness_frigger = 1.f; +// GLOBAL: CARM95 0x530ca8 char gOppo_path_filename[256]; // GLOBAL: CARM95 0x530df0 br_scalar gIn_view_distance; diff --git a/src/DETHRACE/common/options.c b/src/DETHRACE/common/options.c index 2351d4ee..4702bc65 100644 --- a/src/DETHRACE/common/options.c +++ b/src/DETHRACE/common/options.c @@ -48,11 +48,13 @@ tRadio_bastards gRadio_bastards__options[13] = { int gKey_count; // GLOBAL: CARM95 0x53d1d0 int gLast_graph_sel__options; // suffix added to avoid duplicate symbol +// GLOBAL: CARM95 0x53d2f0 char* gKey_names[125]; // GLOBAL: CARM95 0x53d4e4 int gPending_entry; // GLOBAL: CARM95 0x53d2ec tInterface_spec* gThe_interface_spec__options; // suffix added to avoid duplicate symbol +// GLOBAL: CARM95 0x53d1e0 int gOrig_key_mapping[67]; // GLOBAL: CARM95 0x53d1d8 br_pixelmap* gDials_pix; diff --git a/src/DETHRACE/common/pedestrn.c b/src/DETHRACE/common/pedestrn.c index 2bff6d9d..94947eba 100644 --- a/src/DETHRACE/common/pedestrn.c +++ b/src/DETHRACE/common/pedestrn.c @@ -71,7 +71,9 @@ char* gInstruc_commands[10] = { }; // GLOBAL: CARM95 0x511798 float gMin_ped_gib_speeds[4] = { 10000.f, .005f, .002f, .001f }; +// GLOBAL: CARM95 0x5117a8 float gPed_gib_distrib[4] = { 0.f, 0.33f, 0.34f, 0.33f }; +// GLOBAL: CARM95 0x5117b8 float gPed_gib_speeds[4] = { 0.f, 1.f, 1.f, 1.f }; // GLOBAL: CARM95 0x5117c8 int gPed_size_counts[4] = { 3, 5, 5, 5 }; @@ -89,6 +91,7 @@ char* gPed_geb_names[4][5] = { { "GHAND.PIX", "GCHUNK02.PIX", "GEYEBALL.PIX", "GCOLON.PIX", "GCHUNK01.PIX" }, { "GCHUNK04.PIX", "GSPLAT1.PIX", "GCHUNK03.PIX", "GSPLAT2.PIX", "GSPLATOT.PIX" } }; +// GLOBAL: CARM95 0x511878 int gPed_gib_maxes[4][5] = { { 1, 1, 1, 0, 0 }, { 3, 3, 3, 3, 3 }, @@ -113,10 +116,15 @@ int gPedestrians_on = 0; int gVesuvian_corpses = 0; // GLOBAL: CARM95 0x5118e4 br_material* gPed_material = NULL; +// GLOBAL: CARM95 0x5378c8 int gPed_gib_counts[4][5]; +// GLOBAL: CARM95 0x536c48 tPedestrian_instruction gPed_instrucs[100]; +// GLOBAL: CARM95 0x537418 tPed_gib gPed_gibs[30]; +// GLOBAL: CARM95 0x536ab0 tPed_gib_materials gPed_gib_materials[4]; +// GLOBAL: CARM95 0x536b58 tProximity_ray gProximity_rays[20]; int gPed_colliding; // GLOBAL: CARM95 0x550a90 diff --git a/src/DETHRACE/common/piping.c b/src/DETHRACE/common/piping.c index 4866f038..8d4ab61e 100644 --- a/src/DETHRACE/common/piping.c +++ b/src/DETHRACE/common/piping.c @@ -78,6 +78,7 @@ tPipe_chunk* gMr_chunky; tCar_spec* gCar_ptr; // GLOBAL: CARM95 0x532068 br_vector3 gZero_vector; +// GLOBAL: CARM95 0x532050 tPipe_chunk_type gReentrancy_array[5]; // GLOBAL: CARM95 0x532000 tU32 gLast_time; diff --git a/src/DETHRACE/common/powerup.c b/src/DETHRACE/common/powerup.c index 99f4e1f5..3faa5dd7 100644 --- a/src/DETHRACE/common/powerup.c +++ b/src/DETHRACE/common/powerup.c @@ -142,7 +142,9 @@ char* gFizzle_names[3] = { "CIRCLES.PIX", "SQUARES.PIX", "DIAMONDS.PIX" }; br_vector3 gZero_v__powerup; // suffix added to avoid duplicate symbol // GLOBAL: CARM95 0x50bc58 int gPed_harvest_sounds[4] = { 4010, 4012, 4030, 4032 }; +// GLOBAL: CARM95 0x5320a0 tHeadup_icon gIcon_list[20]; +// GLOBAL: CARM95 0x5321f0 br_pixelmap* gFizzle_in[3]; // GLOBAL: CARM95 0x5321fc int gNumber_of_powerups; diff --git a/src/DETHRACE/common/racestrt.c b/src/DETHRACE/common/racestrt.c index 0a079b7f..334a1f66 100644 --- a/src/DETHRACE/common/racestrt.c +++ b/src/DETHRACE/common/racestrt.c @@ -61,6 +61,7 @@ tGrid_draw gDraw_grid_status; tNet_sequence_type gNet_race_sequence__racestrt; // suffix added to avoid duplicate symbol // GLOBAL: CARM95 0x53642c br_pixelmap* gTaken_image; +// GLOBAL: CARM95 0x536370 int gGrid_number_x_coords[31]; // GLOBAL: CARM95 0x5363f4 int gGrid_transition_stage; diff --git a/src/DETHRACE/common/racesumm.c b/src/DETHRACE/common/racesumm.c index 926da62e..6b6c9169 100644 --- a/src/DETHRACE/common/racesumm.c +++ b/src/DETHRACE/common/racesumm.c @@ -24,9 +24,11 @@ #include "utility.h" #include +// GLOBAL: CARM95 0x530e38 int gPlayer_lookup[6]; // GLOBAL: CARM95 0x530e58 tMouse_area gOld_back_button; +// GLOBAL: CARM95 0x530ec0 tWreck_info gWreck_array[30]; // GLOBAL: CARM95 0x530e94 br_actor* gWreck_root; diff --git a/src/DETHRACE/common/replay.c b/src/DETHRACE/common/replay.c index 1eb2136b..d05f1c63 100644 --- a/src/DETHRACE/common/replay.c +++ b/src/DETHRACE/common/replay.c @@ -52,6 +52,7 @@ int gProgress_line_left[2] = { 70, 141 }; int gProgress_line_right[2] = { 279, 558 }; // GLOBAL: CARM95 0x50a1f8 int gProgress_line_top[2] = { 178, 429 }; +// GLOBAL: CARM95 0x531dd0 br_pixelmap* gReplay_pixies[10]; // GLOBAL: CARM95 0x531db8 int gKey_down; diff --git a/src/DETHRACE/common/skidmark.c b/src/DETHRACE/common/skidmark.c index e39c510e..1b4862fa 100644 --- a/src/DETHRACE/common/skidmark.c +++ b/src/DETHRACE/common/skidmark.c @@ -16,6 +16,7 @@ char* gBoring_material_names[2] = { "OILSMEAR.MAT", "ROBSMEAR.MAT" }; // GLOBAL: CARM95 0x507038 char* gMaterial_names[2] = { "OILSMEAR.MAT", "GIBSMEAR.MAT" }; +// GLOBAL: CARM95 0x530190 tSkid gSkids[100]; // IDA: void __usercall StretchMark(tSkid *pMark@, br_vector3 *pFrom@, br_vector3 *pTo@, br_scalar pTexture_start) diff --git a/src/DETHRACE/common/sound.c b/src/DETHRACE/common/sound.c index 65375299..35abe6a1 100644 --- a/src/DETHRACE/common/sound.c +++ b/src/DETHRACE/common/sound.c @@ -57,6 +57,7 @@ tS3_outlet_ptr gPedestrians_outlet; // GLOBAL: CARM95 0x5149a8 tS3_outlet_ptr gMusic_outlet; tS3_sound_id gMIDI_id; +// GLOBAL: CARM95 0x550a20 tS3_outlet_ptr gIndexed_outlets[6]; // GLOBAL: CARM95 0x538284 tU32 gLast_sound_service; diff --git a/src/DETHRACE/common/spark.c b/src/DETHRACE/common/spark.c index fdf518ee..c385872a 100644 --- a/src/DETHRACE/common/spark.c +++ b/src/DETHRACE/common/spark.c @@ -31,6 +31,7 @@ int gSpark_flags; int gNext_shrapnel; // GLOBAL: CARM95 0x5149f4 int gShrapnel_flags; +// GLOBAL: CARM95 0x5149f8 br_model* gShrapnel_model[2]; // GLOBAL: CARM95 0x514a00 int gSmoke_flags; @@ -57,17 +58,24 @@ int gIt_type; br_pixelmap* gIt_shade_table; // GLOBAL: CARM95 0x514a30 br_pixelmap** gDust_table = &gShade_list[8]; +// GLOBAL: CARM95 0x538618 br_pixelmap* gFlame_map[20]; tBRender_smoke* gBR_smoke_pointers[30]; +// GLOBAL: CARM95 0x538298 tSplash gSplash[32]; +// GLOBAL: CARM95 0x538b00 br_material* gSplash_material[20]; tBRender_smoke gBR_smoke_structs[30]; +// GLOBAL: CARM95 0x538de8 tSmoke_column gSmoke_column[25]; // GLOBAL: CARM95 0x538668 br_matrix4 gCameraToScreen; +// GLOBAL: CARM95 0x5398d8 tSpark gSparks[32]; +// GLOBAL: CARM95 0x5509c0 br_pixelmap* gShade_list[16]; int gN_BR_smoke_structs; +// GLOBAL: CARM95 0x5386b0 tSmoke gSmoke[25]; // GLOBAL: CARM95 0x53a0e0 tU32 gSplash_flags; @@ -85,6 +93,7 @@ int gDust_rotate; br_camera* gSpark_cam; // GLOBAL: CARM95 0x538288 br_material* gBlack_material; +// GLOBAL: CARM95 0x538b50 tShrapnel gShrapnel[15]; // gSmoke_column has 25 elements but all the code just checks the first 5 elements diff --git a/src/DETHRACE/common/trig.c b/src/DETHRACE/common/trig.c index f195aa2b..c60ed3d5 100644 --- a/src/DETHRACE/common/trig.c +++ b/src/DETHRACE/common/trig.c @@ -99,7 +99,9 @@ float gFloat_sine_table[91] = { 1.0f, }; br_fixed_ls gFixed_sine_table[91]; +// GLOBAL: CARM95 0x53e4b8 br_matrix23 mat23tmp1; +// GLOBAL: CARM95 0x53e4d0 br_matrix23 mat23tmp2; // GLOBAL: CARM95 0x53e4e8 br_matrix34 mattmp1__trig; // suffix added to avoid duplicate symbol @@ -549,6 +551,7 @@ void DRMatrix34PostRotate(br_matrix34* mat, br_angle r, br_vector3* axis) { } // IDA: void __usercall DRMatrix23Rotate(br_matrix23 *mat@, br_angle rz@) +// FUNCTION: CARM95 0x4aae1e void DRMatrix23Rotate(br_matrix23* mat, br_angle rz) { br_scalar s; br_scalar c; diff --git a/src/DETHRACE/common/world.c b/src/DETHRACE/common/world.c index 812594d5..81c9fcf3 100644 --- a/src/DETHRACE/common/world.c +++ b/src/DETHRACE/common/world.c @@ -82,16 +82,23 @@ int gRendering_accessories; int gNumber_of_actors; // GLOBAL: CARM95 0x50c7e4 int gNumber_of_lights; +// GLOBAL: CARM95 0x5514e0 br_actor* gActor_array[500]; +// GLOBAL: CARM95 0x532af0 float* gGroove_funk_bindings[960]; +// GLOBAL: CARM95 0x532220 br_actor* gDelete_list[500]; +// GLOBAL: CARM95 0x551cb0 br_actor* gLight_array[50]; +// GLOBAL: CARM95 0x533b18 br_model* gAdditional_models[1000]; +// GLOBAL: CARM95 0x534ac0 br_actor* gSpec_vol_actors[100]; // GLOBAL: CARM95 0x533a00 tPath_name gAdditional_actor_path; // GLOBAL: CARM95 0x5329f0 tPath_name gAdditional_model_path; +// GLOBAL: CARM95 0x533b00 tU32 gPrevious_groove_times[2]; // GLOBAL: CARM95 0x551d78 int gRace_file_version;