annotate round 4

This commit is contained in:
Dethrace Labs 2025-06-17 08:24:42 +12:00
parent fffd355cc7
commit 8fe9366923
33 changed files with 119 additions and 0 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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()

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -1,6 +1,7 @@
#include "globvrme.h"
#include <stdlib.h>
// GLOBAL: CARM95 0x5508f0
tCar_spec* gViewable_car_list[50];
// GLOBAL: CARM95 0x5509b8
int gNum_viewable_cars;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -12,6 +12,7 @@
#include "sound.h"
#include <stdlib.h>
// GLOBAL: CARM95 0x53a4d8
int gDisabled_choices[10];
// GLOBAL: CARM95 0x53a500
int gCurrent_mode;

View File

@ -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;

View File

@ -22,6 +22,7 @@
#include <stdlib.h>
#include <string.h>
// GLOBAL: CARM95 0x536278
tSave_game* gSaved_games[8];
// GLOBAL: CARM95 0x536270
int gStarted_typing;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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()

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -24,9 +24,11 @@
#include "utility.h"
#include <stdlib.h>
// 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;

View File

@ -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;

View File

@ -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@<EAX>, br_vector3 *pFrom@<EDX>, br_vector3 *pTo@<EBX>, br_scalar pTexture_start)

View File

@ -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;

View File

@ -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

View File

@ -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@<EAX>, br_angle rz@<EDX>)
// FUNCTION: CARM95 0x4aae1e
void DRMatrix23Rotate(br_matrix23* mat, br_angle rz) {
br_scalar s;
br_scalar c;

View File

@ -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;