This commit is contained in:
Dethrace Engineering Department 2026-02-10 18:00:07 +00:00 committed by GitHub
commit acd511a9cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 907 additions and 908 deletions

View File

@ -72,6 +72,8 @@ target_sources(dethrace_obj PRIVATE
common/loading.c
common/piping.c
common/powerup.c
common/netgame.c
common/world.c
common/brucetrk.c
common/brucetrk.h
@ -127,8 +129,7 @@ target_sources(dethrace_obj PRIVATE
common/mainloop.h
common/mainmenu.c
common/mainmenu.h
common/netgame.c
common/netgame.h
common/network.c
common/network.h
common/newgame.c
@ -158,8 +159,7 @@ target_sources(dethrace_obj PRIVATE
common/trig.h
common/utility.c
common/utility.h
common/world.c
common/world.h
constants.h
dr_types.h
pd/net.h
@ -194,8 +194,7 @@ if(MSVC_42_FOR_RECCMP)
set_target_properties(dethrace PROPERTIES OUTPUT_NAME "CARM95")
target_link_options(dethrace PRIVATE /INCREMENTAL:NO /subsystem:windows /ENTRY:mainCRTStartup)
set_source_files_properties(common/powerup.c PROPERTIES COMPILE_FLAGS "/FAs")
set_source_files_properties(common/netgame.c PROPERTIES COMPILE_FLAGS "/FAs")
set_source_files_properties(common/world.c PROPERTIES COMPILE_FLAGS "/FAs")
reccmp_add_target(dethrace ID CARM95)
reccmp_configure()

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,7 @@ extern float* gGroove_funk_bindings[960];
extern br_actor* gDelete_list[500];
extern br_actor* gLight_array[50];
extern br_model* gAdditional_models[1000];
extern br_scalar gSight_distance_squared;
extern br_actor* gSpec_vol_actors[100];
extern tPath_name gAdditional_actor_path;
extern tPath_name gAdditional_model_path;
@ -48,7 +49,6 @@ extern int gDelete_count;
extern br_scalar gNearest_distance;
extern br_actor* gNearest_actor;
extern br_actor* gStandard_lamp;
extern br_scalar gSight_distance_squared;
float MapSawToTriangle(float pNumber);
@ -66,7 +66,7 @@ void DisposeStorageSpace(tBrender_storage* pStorage_space);
void ClearOutStorageSpace(tBrender_storage* pStorage_space);
tAdd_to_storage_result AddPixelmapToStorage(tBrender_storage* pStorage_space, br_pixelmap** pThe_pm);
tAdd_to_storage_result AddPixelmapToStorage(tBrender_storage* pStorage_space, br_pixelmap* pThe_pm);
tAdd_to_storage_result AddShadeTableToStorage(tBrender_storage* pStorage_space, br_pixelmap* pThe_st);

View File

@ -454,22 +454,22 @@ typedef struct tCrush_data {
tCrush_point_spec* crush_points;
} tCrush_data;
typedef struct tSpecial_volume {
br_matrix34 mat;
br_matrix34 inv_mat;
br_bounds bounds;
br_scalar gravity_multiplier;
br_scalar viscosity_multiplier;
float car_damage_per_ms;
float ped_damage_per_ms;
int no_mat;
int camera_special_effect_index;
int sky_col;
int entry_noise;
int exit_noise;
int engine_noise_index;
br_material* screen_material;
int material_modifier_index;
typedef struct tSpecial_volume { // size: 0xa8
br_matrix34 mat; // @0x0
br_matrix34 inv_mat; // @0x30
br_bounds bounds; // @0x60
br_scalar gravity_multiplier; // @0x78
br_scalar viscosity_multiplier; // @0x7c
float car_damage_per_ms; // @0x80
float ped_damage_per_ms; // @0x84
int no_mat; // @0x88
int camera_special_effect_index; // @0x8c
int sky_col; // @0x90
int entry_noise; // @0x94
int exit_noise; // @0x98
int engine_noise_index; // @0x9c
br_material* screen_material; // @0xa0
int material_modifier_index; // @0xa4
} tSpecial_volume;
typedef struct tReduced_matrix {

View File

@ -25,6 +25,8 @@
#define COUNT_OF(array) (int)(sizeof((array)) / sizeof((array)[0]))
#define LEN(array) (sizeof((array)) / sizeof((array)[0]))
#define MAT(m, row, col) (*((br_scalar*)(m) + (row) * 3 + (col)))
#define DEG_TO_RAD(degrees) ((degrees) * 3.141592653589793 / 180.0)
#define V11MODEL(model) (((struct v11model*)model->prepared))
@ -77,7 +79,17 @@
b = x[0]; \
} while (0)
#endif
#define ReadPairOfInts(pF, a, b) \
do { \
int d[2]; \
GetPairOfInts(pF, &d[1], &d[0]); \
a = d[1]; \
b = d[0]; \
} while (0)
#define mGetThreeFloats(pF) \
float x_0, x_1, x_2; \
GetThreeFloats(pF, &x_0, &x_1, &x_2);
// Many switches in the original code did not include handling all values, causing warnings in modern compilers
#ifdef DETHRACE_FIX_BUGS
@ -87,3 +99,6 @@
#else
#define DETHRACE_DEFAULT_BREAK
#endif
// MACROS_H
#endif