Fix/global vars ordering (#58)
* reordered global vars based on updated codegen, resolve duplicate symbols
This commit is contained in:
parent
12a500a9ee
commit
6a31e4f6a9
|
@ -1,7 +1,6 @@
|
|||
#include "eventq.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
int _DOSEventQEnabled;
|
||||
host_real_memory _DOSEventMemory;
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
host_real_memory mouseMemory;
|
||||
host_regs regs;
|
||||
br_boolean mouseActive;
|
||||
char rscid[49];
|
||||
unsigned char mouseHandler[245];
|
||||
|
||||
// IDA: br_error __cdecl DOSMouseBegin()
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "fwsetup.h"
|
||||
|
||||
br_boolean active;
|
||||
char rscid[54];
|
||||
|
||||
// IDA: br_error __cdecl BrBegin()
|
||||
br_error BrBegin() {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "brbhook.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __cdecl _BrBeginHook()
|
||||
void _BrBeginHook() {
|
||||
LOG_TRACE("()");
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __cdecl BrNewList(br_list *list)
|
||||
void BrNewList(br_list* list) {
|
||||
list->_null = NULL;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "brprintf.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
br_int_32 BrSprintf(char* buf, char* fmt, ...) {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
// Global variables
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __cdecl BrQsort(void *basep, unsigned int nelems, unsigned int size, br_qsort_cbfn *comp)
|
||||
void BrQsort(void* basep, unsigned int nelems, unsigned int size, br_qsort_cbfn comp) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "bswap.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[47];
|
||||
|
||||
// IDA: br_uint_32 __cdecl BrSwap32(br_uint_32 l)
|
||||
br_uint_32 BrSwap32(br_uint_32 l) {
|
||||
// struct { // size: 0x4
|
||||
|
|
|
@ -112,7 +112,6 @@ struct {
|
|||
int count;
|
||||
} DatafileStack[1024];
|
||||
char* ChunkNames[61];
|
||||
char rscid[52];
|
||||
int DatafileStackTop;
|
||||
|
||||
// IDA: void __usercall DfPush(int type@<EAX>, void *value@<EDX>, int count@<EBX>)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "devlist.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[53];
|
||||
|
||||
// IDA: br_error __cdecl AddRequestedDrivers()
|
||||
br_error AddRequestedDrivers() {
|
||||
char devstr[256];
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include <stdarg.h>
|
||||
|
||||
br_pixelmap* last_begin_screen;
|
||||
char rscid[51];
|
||||
|
||||
// IDA: br_pixelmap* __cdecl BrDevLastBeginQuery()
|
||||
br_pixelmap* BrDevLastBeginQuery() {
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
// Global variables
|
||||
char _diag_scratch[128];
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __cdecl BrFailure(char *s, ...)
|
||||
void BrFailure(const char* s, ...) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "error.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[47];
|
||||
|
||||
// IDA: br_error __cdecl BrLastErrorGet(void **valuep)
|
||||
br_error BrLastErrorGet(void** valuep) {
|
||||
LOG_TRACE("(%p)", valuep);
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __cdecl _BrFileFree(void *res, br_uint_8 res_class, br_size_t size)
|
||||
void _BrFileFree(void* res, br_uint_8 res_class, br_size_t size) {
|
||||
br_file* file;
|
||||
|
|
|
@ -67,8 +67,6 @@ br_image Image_BRCORE1 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
char rscid[53];
|
||||
|
||||
#define NBR_DEV_SLOTS 16
|
||||
|
||||
// IDA: br_error __cdecl BrFwBegin()
|
||||
|
|
|
@ -6,7 +6,6 @@ br_file_struct_member file_info_FM[2];
|
|||
br_file_struct file_info_F;
|
||||
br_file_enum_member file_type_FM[10];
|
||||
br_file_enum file_type_F;
|
||||
char rscid[50];
|
||||
|
||||
// IDA: int __usercall FopRead_END@<EAX>(br_datafile *df@<EAX>, br_uint_32 id@<EDX>, br_uint_32 length@<EBX>, br_uint_32 count@<ECX>)
|
||||
int FopRead_END(br_datafile* df, br_uint_32 id, br_uint_32 length, br_uint_32 count) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "image.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: br_boolean __cdecl BrImageAdd(br_image *img)
|
||||
br_boolean BrImageAdd(br_image* img) {
|
||||
STUB();
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "loader.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_image* __usercall ImageLoad@<EAX>(char *name@<EAX>)
|
||||
br_image* ImageLoad(char* name) {
|
||||
void* fh;
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#include "CORE/STD/brstdlib.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[45];
|
||||
|
||||
// IDA: void* __cdecl BrMemAllocate(br_size_t size, br_uint_8 type)
|
||||
void* BrMemAllocate(br_size_t size, br_uint_8 type) {
|
||||
void* b;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "object.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
|
||||
// IDA: br_error __cdecl _M_br_object_query(br_object *self, br_uint_32 *pvalue, br_token t)
|
||||
br_error _M_br_object_query(br_object* self, br_uint_32* pvalue, br_token t) {
|
||||
LOG_TRACE("(%p, %p, %d)", self, pvalue, t);
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "objectc.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void* __cdecl BrObjectListAllocate(void *res)
|
||||
void* BrObjectListAllocate(void* res) {
|
||||
object_list* hl;
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include <ctype.h>
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_boolean __cdecl BrNamePatternMatch(char *p, char *s)
|
||||
br_boolean BrNamePatternMatch(char* p, char* s) {
|
||||
char* cp;
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#include "pattern.h"
|
||||
#include "resource.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: void* __usercall BrRegistryNew@<EAX>(br_registry *reg@<EAX>)
|
||||
void* BrRegistryNew(br_registry* reg) {
|
||||
BrNewList(®->list);
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: void* __usercall ResToUser@<EAX>(resource_header *r@<EAX>)
|
||||
void* ResToUser(resource_header* r) {
|
||||
br_int_32 align;
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
char rscid[48];
|
||||
|
||||
// IDA: br_resource_class* __cdecl BrResClassAdd(br_resource_class *rclass)
|
||||
br_resource_class* BrResClassAdd(br_resource_class* rclass) {
|
||||
br_resource_class* r;
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include "resource.h"
|
||||
|
||||
char scratchString[512];
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void* __cdecl BrScratchAllocate(br_size_t size)
|
||||
void* BrScratchAllocate(br_size_t size) {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
|
||||
br_token_entry predefinedTokens[457];
|
||||
char rscid[48];
|
||||
token_type tokenTypes[37];
|
||||
|
||||
// IDA: void __cdecl BrTokenBegin()
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include "resource.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: br_tv_template* __cdecl BrTVTemplateAllocate(void *res, br_tv_template_entry *entries, int n_entries)
|
||||
br_tv_template* BrTVTemplateAllocate(void* res, br_tv_template_entry* entries, int n_entries) {
|
||||
br_tv_template* t;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#include "angles.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
order_info OrderAxes[32];
|
||||
|
||||
// IDA: br_matrix34* __cdecl BrEulerToMatrix34(br_matrix34 *mat, br_euler *euler)
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
#include "matrix23.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
br_matrix23 mattmp1;
|
||||
br_matrix23 mattmp2;
|
||||
char rscid[52];
|
||||
br_matrix23 mattmp1_23;
|
||||
br_matrix23 mattmp2_23;
|
||||
|
||||
// IDA: void __cdecl BrMatrix23Copy(br_matrix23 *A, br_matrix23 *B)
|
||||
void BrMatrix23Copy(br_matrix23* A, br_matrix23* B) {
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
br_matrix34 mattmp1;
|
||||
br_matrix34 mattmp2;
|
||||
char rscid[52];
|
||||
|
||||
#define M(x, y) mat->m[x][y]
|
||||
#define A(x, y) A->m[x][y]
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "matrix4.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: void __cdecl BrMatrix4Copy(br_matrix4 *A, br_matrix4 *B)
|
||||
void BrMatrix4Copy(br_matrix4* A, br_matrix4* B) {
|
||||
LOG_TRACE("(%p, %p)", A, B);
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include <math.h>
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_int_32 __cdecl BrPlaneEquation(br_vector4 *eqn, br_vector3 *v0, br_vector3 *v1, br_vector3 *v2)
|
||||
br_int_32 BrPlaneEquation(br_vector4* eqn, br_vector3* v0, br_vector3* v1, br_vector3* v2) {
|
||||
br_vector3 a;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "quat.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
|
||||
// IDA: br_quat* __cdecl BrQuatMul(br_quat *q, br_quat *l, br_quat *r)
|
||||
br_quat* BrQuatMul(br_quat* q, br_quat* l, br_quat* r) {
|
||||
br_scalar x1;
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
#include "CORE/MATH/vector.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[52];
|
||||
|
||||
#define M34 BR_TRANSFORM_MATRIX34
|
||||
#define MLP BR_TRANSFORM_MATRIX34_LP
|
||||
#define QUT BR_TRANSFORM_QUAT
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include <math.h>
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: void __cdecl BrVector2Copy(br_vector2 *v1, br_vector2 *v2)
|
||||
void BrVector2Copy(br_vector2* v1, br_vector2* v2) {
|
||||
LOG_TRACE("(%p, %p)", v1, v2);
|
||||
|
|
|
@ -4,4 +4,3 @@
|
|||
br_font* BrFontProp4x6 = NULL;
|
||||
br_font* BrFontProp7x9 = NULL;
|
||||
br_font* BrFontFixed3x5 = NULL;
|
||||
char rscid[50];
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "genclip.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_clip_result __cdecl PixelmapPointClip(br_point *out, br_point *in, br_pixelmap *pm)
|
||||
br_clip_result PixelmapPointClip(br_point* out, br_point* in, br_pixelmap* pm) {
|
||||
LOG_TRACE("(%p, %p, %p)", out, in, pm);
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "gencopy.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_error __usercall GeneralRectangleCopy@<EAX>(br_device_pixelmap *dest@<EAX>, br_point *p@<EDX>, br_device_pixelmap *src@<EBX>, br_rectangle *r@<ECX>)
|
||||
br_error GeneralRectangleCopy(br_device_pixelmap* dest, br_point* p, br_device_pixelmap* src, br_rectangle* r) {
|
||||
LOG_TRACE("(%p, %p, %p, %p)", dest, p, src, r);
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include "pmmem.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: br_pixelmap* __cdecl BrPixelmapAllocate(br_uint_8 type, br_int_32 w, br_int_32 h, void *pixels, int flags)
|
||||
br_pixelmap* BrPixelmapAllocate(br_uint_8 type, br_int_32 w, br_int_32 h, void* pixels, int flags) {
|
||||
LOG_TRACE("(%d, %d, %d, %p, %d)", type, w, h, pixels, flags);
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
char rscid[65];
|
||||
|
||||
// IDA: br_pixelmap* __cdecl BrPixelmapAllocateSub(br_pixelmap *src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h)
|
||||
br_pixelmap* BrPixelmapAllocateSub(br_pixelmap* src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h) {
|
||||
br_pixelmap* new;
|
||||
|
|
|
@ -43,8 +43,6 @@ br_chunks_table_entry PixelmapLoadEntries[5] = {
|
|||
};
|
||||
br_chunks_table PixelmapLoadTable = { 4, PixelmapLoadEntries };
|
||||
|
||||
char rscid[54];
|
||||
|
||||
#define DF_PIXELMAP 2
|
||||
|
||||
// IDA: int __usercall FopWrite_PIXELMAP@<EAX>(br_datafile *df@<EAX>, br_pixelmap *pixelmap@<EDX>)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "pmgen.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[48];
|
||||
|
||||
// IDA: br_error __cdecl _M_br_device_pixelmap_gen_match(br_device_pixelmap *self, br_device_pixelmap **newpm, br_token_value *tv)
|
||||
br_error _M_br_device_pixelmap_gen_match(br_device_pixelmap* self, br_device_pixelmap** newpm, br_token_value* tv) {
|
||||
LOG_TRACE("(%p, %p, %p)", self, newpm, tv);
|
||||
|
|
|
@ -109,8 +109,6 @@ pm_type_info pmTypeInfo[30] = {
|
|||
{ 0u, 0u, 0u, 0u }
|
||||
};
|
||||
|
||||
char rscid[53];
|
||||
|
||||
// IDA: br_device_pixelmap* __usercall DevicePixelmapMemAllocate@<EAX>(br_uint_8 type@<EAX>, br_uint_16 w@<EDX>, br_uint_16 h@<EBX>, void *pixels@<ECX>, int flags)
|
||||
br_device_pixelmap* DevicePixelmapMemAllocate(br_uint_8 type, br_uint_16 w, br_uint_16 h, void* pixels, int flags) {
|
||||
br_device_pixelmap* pm;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "pmnull.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: br_error __cdecl _M_br_device_pixelmap_null_resize(br_device_pixelmap *self, br_int_32 width, br_int_32 height)
|
||||
br_error _M_br_device_pixelmap_null_resize(br_device_pixelmap* self, br_int_32 width, br_int_32 height) {
|
||||
LOG_TRACE("(%p, %d, %d)", self, width, height);
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
void* exceptionValue;
|
||||
br_exception_handler* _BrExceptionHandler;
|
||||
char rscid[50];
|
||||
|
||||
// IDA: br_exception_handler* __cdecl _BrExceptionBegin()
|
||||
br_exception_handler* _BrExceptionBegin() {
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include <math.h>
|
||||
|
||||
char rscid[46];
|
||||
|
||||
float BrFloatFloor(float f) {
|
||||
return floorf(f);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
br_diaghandler BrStdioDiagHandler;
|
||||
br_diaghandler* _BrDefaultDiagHandler = NULL;
|
||||
char rscid[49];
|
||||
|
||||
void BrStdioWarning(char* message) {
|
||||
NOT_IMPLEMENTED();
|
||||
|
|
|
@ -22,7 +22,6 @@ br_filesystem BrStdioFilesystem = {
|
|||
BrStdioAdvance
|
||||
};
|
||||
br_filesystem* _BrDefaultFilesystem = &BrStdioFilesystem;
|
||||
char rscid[52]; // $Id: stdfile.c 2.7 1996/11/20 18:07:52 STEVEW Exp $
|
||||
|
||||
br_uint_32 BrStdioAttributes() {
|
||||
return BR_FS_ATTR_READABLE | BR_FS_ATTR_WRITEABLE | BR_FS_ATTR_HAS_TEXT | BR_FS_ATTR_HAS_BINARY | BR_FS_ATTR_HAS_ADVANCE;
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
// Global variables
|
||||
// DOSPICK has "$Id: stdlib.c 2.4 1996/12/06 21:18:39 sam Exp $" for this. Do we want to implement these?
|
||||
char rscid[48];
|
||||
|
||||
int BrMemCmp(void* s1, void* s2, size_t n) {
|
||||
return memcmp(s1, s2, n);
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
// Global variables
|
||||
char rscid[48];
|
||||
br_allocator BrStdlibAllocator = { "malloc", BrStdlibAllocate, BrStdlibFree, BrStdlibInquire, BrStdlibAlign };
|
||||
br_allocator* _BrDefaultAllocator = &BrStdlibAllocator;
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "logwrite.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: int __cdecl BrLogWrite(void *buffer, br_size_t s, br_size_t n)
|
||||
int BrLogWrite(void* buffer, br_size_t s, br_size_t n) {
|
||||
LOG_TRACE("(%p, %d, %d)", buffer, s, n);
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
#include "actsupt.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[53];
|
||||
|
||||
// IDA: br_uint_32 __cdecl BrActorEnum(br_actor *parent, br_actor_enum_cbfn *callback, void *arg)
|
||||
br_uint_32 BrActorEnum(br_actor* parent, br_actor_enum_cbfn* callback, void* arg) {
|
||||
br_actor* a;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "custsupt.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[52];
|
||||
|
||||
// IDA: void __cdecl BrModelToScreenQuery(br_matrix4 *dest)
|
||||
void BrModelToScreenQuery(br_matrix4* dest) {
|
||||
br_uint_32 dummy;
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#include "matrix23.h"
|
||||
#include "resource.h"
|
||||
|
||||
char rscid[52];
|
||||
|
||||
// IDA: br_material* __cdecl SetupDefaultMaterial()
|
||||
br_material* SetupDefaultMaterial() {
|
||||
static br_material* default_mat;
|
||||
|
|
|
@ -2,5 +2,4 @@
|
|||
|
||||
br_face default_model_faces[12];
|
||||
br_vertex default_model_vertices[8];
|
||||
br_model _BrDefaultModel = {0};
|
||||
char rscid[49];
|
||||
br_model _BrDefaultModel = { 0 };
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "def_otab.h"
|
||||
|
||||
void* _default_table[256];
|
||||
char rscid[52];
|
||||
br_order_table _BrDefaultOrderTable;
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include <stddef.h>
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: void __usercall actorEnable(br_v1db_enable *e@<EAX>, br_actor *a@<EDX>)
|
||||
void actorEnable(br_v1db_enable* e, br_actor* a) {
|
||||
int i;
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
char rscid[49];
|
||||
|
||||
// IDA: br_material* __cdecl BrMaterialAllocate(char *name)
|
||||
br_material* BrMaterialAllocate(char* name) {
|
||||
br_material* m;
|
||||
|
|
|
@ -27,7 +27,6 @@ void (*RenderStyleCalls[])(
|
|||
v11model bounds_prepared;
|
||||
br_model bounds_model;
|
||||
v11group bounds_face_groups[1];
|
||||
char rscid[49];
|
||||
|
||||
// IDA: void __usercall renderFaces(br_actor *actor@<EAX>, br_model *model@<EDX>, br_material *material@<EBX>, void *render_data@<ECX>, br_uint_8 style, int on_screen)
|
||||
void renderFaces(br_actor* actor, br_model* model, br_material* material, void* render_data, br_uint_8 style, int on_screen) {
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
#include "CORE/V1DB/dbsetup.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: void __cdecl BrModelApplyMap(br_model *model, int map_type, br_matrix34 *xform)
|
||||
void BrModelApplyMap(br_model* model, int map_type, br_matrix34* xform) {
|
||||
int v;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "otable.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[50];
|
||||
|
||||
// IDA: br_order_table* __cdecl BrZsOrderTableAllocate(br_uint_16 size, br_uint_32 flags, br_uint_16 type)
|
||||
br_order_table* BrZsOrderTableAllocate(br_uint_16 size, br_uint_32 flags, br_uint_16 type) {
|
||||
br_order_table* order_table;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "prepmap.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: void __cdecl BrMapUpdate(br_pixelmap *map, br_uint_16 flags)
|
||||
void BrMapUpdate(br_pixelmap* map, br_uint_16 flags) {
|
||||
BrBufferUpdate(map, BRT_COLOUR_MAP_O, flags);
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "prepmatl.h"
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[52];
|
||||
|
||||
// IDA: void __cdecl BrMaterialUpdate(br_material *mat, br_uint_16 flags)
|
||||
void BrMaterialUpdate(br_material* mat, br_uint_16 flags) {
|
||||
br_token_value tva[32];
|
||||
|
|
|
@ -16,7 +16,6 @@ char* pm_edge_scratch;
|
|||
pm_temp_edge** pm_edge_hash;
|
||||
int num_edges;
|
||||
pm_temp_edge* pm_edge_table;
|
||||
char rscid[51];
|
||||
|
||||
#define PREP_ALIGN(f) (f)
|
||||
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
#include "harness_trace.h"
|
||||
#include "prepmap.h"
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: void __cdecl BrTableUpdate(br_pixelmap *table, br_uint_16 flags)
|
||||
void BrTableUpdate(br_pixelmap* table, br_uint_16 flags) {
|
||||
BrBufferUpdate(table, BRT_UNKNOWN, flags);
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
|
||||
#include "harness_trace.h"
|
||||
|
||||
char rscid[51];
|
||||
|
||||
// IDA: br_model* __cdecl BrModelAdd(br_model *model)
|
||||
br_model* BrModelAdd(br_model* model) {
|
||||
BrRegistryAdd(&v1db.reg_models, model);
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
#include "transfrm.h"
|
||||
#include <string.h>
|
||||
|
||||
char rscid[55];
|
||||
|
||||
#define RendererModelMul(self, a1) self->dispatch->_modelMulF(self, a1);
|
||||
#define RendererStatePush(self, a1) self->dispatch->_statePush(self, a1);
|
||||
#define RendererStatePop(self, a1) self->dispatch->_statePop(self, a1);
|
||||
|
|
|
@ -218,8 +218,6 @@ struct {
|
|||
#define DF_TRANSFORM 16
|
||||
#define DF_BOUNDS 19
|
||||
|
||||
char rscid[53];
|
||||
|
||||
// IDA: int __usercall FopWrite_VERTICES@<EAX>(br_datafile *df@<EAX>, br_vertex *vertices@<EDX>, int nvertices@<EBX>)
|
||||
int FopWrite_VERTICES(br_datafile* df, br_vertex* vertices, int nvertices) {
|
||||
LOG_TRACE("(%p, %p, %d)", df, vertices, nvertices);
|
||||
|
|
|
@ -24,11 +24,13 @@
|
|||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
float gEngine_powerup_factor[6] = { 1.3, 1.9, 2.5, 3.2, 4.0, 10.0 };
|
||||
tCar_spec* gLast_car_to_skid[2];
|
||||
tS3_sound_tag gSkid_tag[2];
|
||||
tSave_camera gSave_camera[2];
|
||||
tFace_ref gFace_list[150];
|
||||
int gDoing_physics;
|
||||
br_scalar gDt;
|
||||
// suffix added to avoid duplicate symbol
|
||||
int gCollision_detection_on__car = 1;
|
||||
// suffix added to avoid duplicate symbol
|
||||
br_vector3 gGround_normal__car;
|
||||
// suffix added to avoid duplicate symbol
|
||||
void (*ControlCar[6])(tCar_spec*, br_scalar) = {
|
||||
&ControlCar1,
|
||||
&ControlCar2,
|
||||
|
@ -37,62 +39,63 @@ void (*ControlCar[6])(tCar_spec*, br_scalar) = {
|
|||
&ControlCar5,
|
||||
NULL
|
||||
};
|
||||
tNon_car_spec* gActive_non_car_list[50];
|
||||
int gControl__car = 3; // suffix added to avoid duplicate symbol
|
||||
int gFace_num__car = 1; // suffix added to avoid duplicate symbol
|
||||
br_angle gOld_yaw__car; // suffix added to avoid duplicate symbol
|
||||
br_angle gOld_zoom;
|
||||
br_vector3 gCamera_pos_before_collide;
|
||||
int gMetal_crunch_sound_id__car[5]; // suffix added to avoid duplicate symbol
|
||||
int gMetal_scrape_sound_id__car[3]; // suffix added to avoid duplicate symbol
|
||||
int gCar_car_collisions;
|
||||
int gFreeze_mechanics;
|
||||
tU32 gLast_cunning_stunt;
|
||||
tU32 gWild_start;
|
||||
tU32 gQuite_wild_start;
|
||||
tU32 gQuite_wild_end;
|
||||
tU32 gOn_me_wheels_start;
|
||||
int gWoz_upside_down_at_all;
|
||||
tS3_sound_tag gSkid_tag[2];
|
||||
tCar_spec* gLast_car_to_skid[2];
|
||||
int gEliminate_faces;
|
||||
br_vector3 gZero_v__car; // suffix added to avoid duplicate symbol
|
||||
tU32 gSwitch_time;
|
||||
tSave_camera gSave_camera[2];
|
||||
tU32 gLast_mechanics_time;
|
||||
int gOpponent_viewing_mode;
|
||||
int gNet_player_to_view_index;
|
||||
int gDouble_pling_water;
|
||||
int gStop_opponents_moving;
|
||||
float gDefensive_powerup_factor[6];
|
||||
float gOffensive_powerup_factor[6];
|
||||
float gEngine_powerup_factor[6] = { 1.3, 1.9, 2.5, 3.2, 4.0, 10.0 };
|
||||
br_angle gPanning_camera_angle;
|
||||
br_scalar gPanning_camera_height;
|
||||
int gFace_count;
|
||||
float gCar_simplification_factor[2][5] = {
|
||||
{ 10.0, 3.0, 1.5, 0.75, 0.0 },
|
||||
{ 10.0, 5.0, 2.5, 1.5, 0.0 }
|
||||
};
|
||||
float gDefensive_powerup_factor[6];
|
||||
float gOffensive_powerup_factor[6];
|
||||
int gNet_player_to_view_index;
|
||||
int gCar_simplification_level;
|
||||
int gNum_active_non_cars;
|
||||
int gCamera_has_collided;
|
||||
tFace_ref gFace_list__car[150]; // suffix added to avoid duplicate symbol
|
||||
tNon_car_spec* gActive_non_car_list[50];
|
||||
int gOver_shoot;
|
||||
int gDouble_pling_water;
|
||||
int gOpponent_viewing_mode;
|
||||
br_scalar gMin_world_y;
|
||||
int gMetal_crunch_sound_id[5];
|
||||
int gFreeze_mechanics;
|
||||
int gWoz_upside_down_at_all;
|
||||
tU32 gQuite_wild_end;
|
||||
tU32 gLast_mechanics_time;
|
||||
tU32 gOn_me_wheels_start;
|
||||
int gCar_car_collisions;
|
||||
br_scalar gAccel;
|
||||
br_vector3 gAverage_grid_position;
|
||||
br_actor* gPed_actor;
|
||||
tU32 gWild_start;
|
||||
tU32 gLast_cunning_stunt;
|
||||
int gCollision_count;
|
||||
tU32 gQuite_wild_start;
|
||||
int gCamera_frozen;
|
||||
tU32 gSwitch_time;
|
||||
int gMaterial_index;
|
||||
int gEliminate_faces;
|
||||
int gInTheSea;
|
||||
int gMetal_scrape_sound_id[3];
|
||||
br_vector3 gZero_v;
|
||||
int gCamera_mode;
|
||||
int gDoing_physics;
|
||||
br_scalar gOur_yaw;
|
||||
br_vector3 gCamera_pos_before_collide;
|
||||
br_scalar gGravity;
|
||||
br_vector3 gNew_ground_normal;
|
||||
br_scalar gDt;
|
||||
int gFace_num = 1;
|
||||
int gCollision_detection_on = 1;
|
||||
int gControl = 3;
|
||||
br_vector3 gGround_normal;
|
||||
br_scalar gOur_yaw__car; // suffix added to avoid duplicate symbol
|
||||
br_scalar gGravity__car; // suffix added to avoid duplicate symbol
|
||||
br_vector3 gNew_ground_normal__car; // suffix added to avoid duplicate symbol
|
||||
char gNon_car_spec_list[100];
|
||||
int gCamera_has_collided;
|
||||
int gCar_simplification_level;
|
||||
int gNum_active_non_cars;
|
||||
br_scalar gPanning_camera_height;
|
||||
int gStop_opponents_moving;
|
||||
tU32 gMechanics_time_sync;
|
||||
int gNum_cars_and_non_cars;
|
||||
int gFace_count;
|
||||
br_angle gOld_yaw;
|
||||
br_angle gOld_zoom;
|
||||
br_angle gPanning_camera_angle;
|
||||
|
||||
// IDA: void __usercall DamageUnit(tCar_spec *pCar@<EAX>, int pUnit_type@<EDX>, int pDamage_amount@<EBX>)
|
||||
void DamageUnit(tCar_spec* pCar, int pUnit_type, int pDamage_amount) {
|
||||
|
@ -334,7 +337,7 @@ void InitialiseCar2(tCar_spec* pCar, int pClear_disabled_flag) {
|
|||
break;
|
||||
}
|
||||
PossibleService();
|
||||
pCar->box_face_ref = gFace_num - 2;
|
||||
pCar->box_face_ref = gFace_num__car - 2;
|
||||
pCar->doing_nothing_flag = 0;
|
||||
pCar->end_steering_damage_effect = 0;
|
||||
pCar->end_trans_damage_effect = 0;
|
||||
|
@ -601,7 +604,7 @@ void GetFacesInBox(tCollision_info* c) {
|
|||
}
|
||||
GetNewBoundingBox(&c->bounds_world_space, &bnds.original_bounds, &mat);
|
||||
c->bounds_ws_type = eBounds_ws;
|
||||
if ((c->box_face_ref != gFace_num && (c->box_face_ref != gFace_num - 1 || c->box_face_start <= gFace_count))
|
||||
if ((c->box_face_ref != gFace_num__car && (c->box_face_ref != gFace_num__car - 1 || c->box_face_start <= gFace_count))
|
||||
|| (BrMatrix34Mul(&mat5, &mat, &c->last_box_inv_mat),
|
||||
GetNewBoundingBox(&new_in_old, &bnds.original_bounds, &mat5),
|
||||
c->last_box.max.v[0] <= new_in_old.max.v[0])
|
||||
|
@ -629,11 +632,11 @@ void GetFacesInBox(tCollision_info* c) {
|
|||
bnds.mat = &mat;
|
||||
c->box_face_start = gFace_count;
|
||||
gPling_face = NULL;
|
||||
gFace_count += FindFacesInBox(&bnds, &gFace_list[gFace_count], 150 - gFace_count);
|
||||
gFace_count += FindFacesInBox(&bnds, &gFace_list__car[gFace_count], 150 - gFace_count);
|
||||
if (gFace_count >= 150) {
|
||||
c->box_face_start = 0;
|
||||
gFace_count = FindFacesInBox(&bnds, gFace_list, 150);
|
||||
++gFace_num;
|
||||
gFace_count = FindFacesInBox(&bnds, gFace_list__car, 150);
|
||||
++gFace_num__car;
|
||||
}
|
||||
old_d = c->water_d;
|
||||
if (c->driver == eDriver_local_human
|
||||
|
@ -683,7 +686,7 @@ void GetFacesInBox(tCollision_info* c) {
|
|||
EndPipingSession();
|
||||
}
|
||||
c->box_face_end = gFace_count;
|
||||
c->box_face_ref = gFace_num;
|
||||
c->box_face_ref = gFace_num__car;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -775,7 +778,7 @@ void ControlOurCar(tU32 pTime_difference) {
|
|||
}
|
||||
}
|
||||
ts = (double)pTime_difference / 1000.0;
|
||||
ControlCar[gControl](car, ts);
|
||||
ControlCar[gControl__car](car, ts);
|
||||
RememberSafePosition(car, pTime_difference);
|
||||
if (gCamera_reset) {
|
||||
BrVector3SetFloat(&minus_k, 0.0, 0.0, -1.0);
|
||||
|
@ -1137,8 +1140,8 @@ void ApplyPhysicsToCars(tU32 last_frame_time, tU32 pTime_difference) {
|
|||
}
|
||||
if (!car->disabled
|
||||
&& (!car->doing_nothing_flag || (car->driver >= eDriver_net_human && (!gRecover_timer || car->driver != eDriver_local_human)))) {
|
||||
if (car->box_face_ref != gFace_num
|
||||
&& (car->box_face_ref != gFace_num - 1 || car->box_face_start <= gFace_count)) {
|
||||
if (car->box_face_ref != gFace_num__car
|
||||
&& (car->box_face_ref != gFace_num__car - 1 || car->box_face_start <= gFace_count)) {
|
||||
car_info = (tCollision_info*)car;
|
||||
GetFacesInBox(car_info);
|
||||
}
|
||||
|
@ -1155,8 +1158,8 @@ void ApplyPhysicsToCars(tU32 last_frame_time, tU32 pTime_difference) {
|
|||
non_car->collision_info.dt = (double)(gLast_mechanics_time + PHYSICS_STEP_TIME - non_car->collision_info.message.time) / 1000.0;
|
||||
GetNetPos((tCar_spec*)non_car);
|
||||
}
|
||||
if (non_car->collision_info.box_face_ref != gFace_num
|
||||
&& (non_car->collision_info.box_face_ref != gFace_num - 1
|
||||
if (non_car->collision_info.box_face_ref != gFace_num__car
|
||||
&& (non_car->collision_info.box_face_ref != gFace_num__car - 1
|
||||
|| non_car->collision_info.box_face_start <= gFace_count)) {
|
||||
GetFacesInBox(&non_car->collision_info);
|
||||
}
|
||||
|
@ -1277,7 +1280,7 @@ int CollideCarWithWall(tCollision_info* car, br_scalar dt) {
|
|||
LOG_TRACE("(%p, %f)", car, dt);
|
||||
|
||||
GetFacesInBox(car);
|
||||
if (gCollision_detection_on) {
|
||||
if (gCollision_detection_on__car) {
|
||||
car->collision_flag = 0;
|
||||
while (CollCheck(car, dt)) {
|
||||
car->collision_flag++;
|
||||
|
@ -1308,10 +1311,10 @@ int CollideCarWithWall(tCollision_info* car, br_scalar dt) {
|
|||
void ToggleControls() {
|
||||
LOG_TRACE("()");
|
||||
|
||||
if (!ControlCar[++gControl]) {
|
||||
gControl = 0;
|
||||
if (!ControlCar[++gControl__car]) {
|
||||
gControl__car = 0;
|
||||
}
|
||||
switch (gControl) {
|
||||
switch (gControl__car) {
|
||||
case 0:
|
||||
NewTextHeadupSlot(4, 0, 500, -1, "Original Controls");
|
||||
break;
|
||||
|
@ -2428,7 +2431,7 @@ void DoRevs(tCar_spec* c, br_scalar dt) {
|
|||
c->gear = 0;
|
||||
LOG_DEBUG("changedown2");
|
||||
}
|
||||
if (!c->number_of_wheels_on_ground || (c->wheel_slip & 2) != -1 || !c->gear) {
|
||||
if (!c->number_of_wheels_on_ground || ((c->wheel_slip & 2) + 1) != 0 || !c->gear) {
|
||||
if (c->number_of_wheels_on_ground) {
|
||||
//LOG_DEBUG("spin1");
|
||||
wheel_spin_force = c->force_torque_ratio * c->torque - (double)c->gear * c->acc_force;
|
||||
|
@ -2772,14 +2775,14 @@ void MultiFindFloorInBoxBU(int pNum_rays, br_vector3* a, br_vector3* b, br_vecto
|
|||
LOG_TRACE("(%d, %p, %p, %p, %p, %p, %p)", pNum_rays, a, b, nor, d, c, mat_ref);
|
||||
|
||||
for (i = 0; i < c->box_face_end; i++) {
|
||||
face_ref = &gFace_list[i];
|
||||
face_ref = &gFace_list__car[i];
|
||||
if (!gEliminate_faces || (face_ref->flags & 0x80) == 0) {
|
||||
MultiRayCheckSingleFace(pNum_rays, face_ref, a, b, &nor2, dist);
|
||||
for (j = 0; j < pNum_rays; ++j) {
|
||||
if (d[j] > dist[j]) {
|
||||
d[j] = dist[j];
|
||||
nor[j] = nor2;
|
||||
l = *gFace_list[i].material->identifier - 47;
|
||||
l = *gFace_list__car[i].material->identifier - 47;
|
||||
if (l >= 0 && l < 11) {
|
||||
mat_ref[j] = l;
|
||||
}
|
||||
|
@ -3522,7 +3525,7 @@ void NormalPositionExternalCamera(tCar_spec* c, tU32 pTime) {
|
|||
m1 = &gCamera->t.t.mat;
|
||||
m2 = &c->car_master_actor->t.t.mat;
|
||||
swoop = gCountdown && c->pos.v[1] + 0.001 < gCamera_height;
|
||||
manual_swing = gOld_yaw != gCamera_yaw || swoop;
|
||||
manual_swing = gOld_yaw__car != gCamera_yaw || swoop;
|
||||
manual_zoom = (double)gOld_zoom != gCamera_zoom;
|
||||
old_camera_pos = *(br_vector3*)&m1->m[3][0];
|
||||
if (!gProgram_state.cockpit_on) {
|
||||
|
@ -3580,8 +3583,8 @@ void NormalPositionExternalCamera(tCar_spec* c, tU32 pTime) {
|
|||
a.v[2] = c->pos.v[2] - old_camera_pos.v[2];
|
||||
a.v[1] = 0.0;
|
||||
if (manual_swing) {
|
||||
DrVector3RotateY(&a, (gCamera_sign == 0 ? 1 : -1) * (gCamera_yaw - gOld_yaw));
|
||||
gCamera_yaw = gOld_yaw;
|
||||
DrVector3RotateY(&a, (gCamera_sign == 0 ? 1 : -1) * (gCamera_yaw - gOld_yaw__car));
|
||||
gCamera_yaw = gOld_yaw__car;
|
||||
}
|
||||
scale = sqrt(a.v[1] * a.v[1] + a.v[2] * a.v[2] + a.v[0] * a.v[0]);
|
||||
if (scale <= 2.3841858e-7) {
|
||||
|
@ -3655,7 +3658,7 @@ void NormalPositionExternalCamera(tCar_spec* c, tU32 pTime) {
|
|||
}
|
||||
PointCameraAtCar(c, m2, m1);
|
||||
}
|
||||
gOld_yaw = gCamera_yaw;
|
||||
gOld_yaw__car = gCamera_yaw;
|
||||
gOld_zoom = (br_angle)gCamera_zoom;
|
||||
}
|
||||
|
||||
|
@ -3710,7 +3713,7 @@ void SwingCamera(tCar_spec* c, br_matrix34* m1, br_matrix34* m2, br_vector3* vn,
|
|||
static br_vector3 old_vn;
|
||||
LOG_TRACE("(%p, %p, %p, %p, %d)", c, m1, m2, vn, pTime);
|
||||
|
||||
manual_swing = gOld_yaw != gCamera_yaw;
|
||||
manual_swing = gOld_yaw__car != gCamera_yaw;
|
||||
if (elapsed_time > 500) {
|
||||
elapsed_time = -1;
|
||||
}
|
||||
|
|
|
@ -6,65 +6,65 @@
|
|||
|
||||
#define CAR_MAX_SIMPLIFICATION_LEVEL 4
|
||||
|
||||
extern float gEngine_powerup_factor[6];
|
||||
extern tCar_spec* gLast_car_to_skid[2];
|
||||
extern int gDoing_physics;
|
||||
extern br_scalar gDt;
|
||||
extern int gCollision_detection_on__car; // suffix added to avoid duplicate symbol
|
||||
extern br_vector3 gGround_normal__car; // suffix added to avoid duplicate symbol
|
||||
extern void (*ControlCar__car[6])(tCar_spec*, br_scalar); // suffix added to avoid duplicate symbol
|
||||
extern int gControl__car; // suffix added to avoid duplicate symbol
|
||||
extern int gFace_num__car; // suffix added to avoid duplicate symbol
|
||||
extern br_angle gOld_yaw__car; // suffix added to avoid duplicate symbol
|
||||
extern br_angle gOld_zoom;
|
||||
extern br_vector3 gCamera_pos_before_collide;
|
||||
extern int gMetal_crunch_sound_id__car[5]; // suffix added to avoid duplicate symbol
|
||||
extern int gMetal_scrape_sound_id__car[3]; // suffix added to avoid duplicate symbol
|
||||
extern int gCar_car_collisions;
|
||||
extern int gFreeze_mechanics;
|
||||
extern tU32 gLast_cunning_stunt;
|
||||
extern tU32 gWild_start;
|
||||
extern tU32 gQuite_wild_start;
|
||||
extern tU32 gQuite_wild_end;
|
||||
extern tU32 gOn_me_wheels_start;
|
||||
extern int gWoz_upside_down_at_all;
|
||||
extern tS3_sound_tag gSkid_tag[2];
|
||||
extern tCar_spec* gLast_car_to_skid[2];
|
||||
extern int gEliminate_faces;
|
||||
extern br_vector3 gZero_v__car; // suffix added to avoid duplicate symbol
|
||||
extern tU32 gSwitch_time;
|
||||
extern tSave_camera gSave_camera[2];
|
||||
extern tFace_ref gFace_list[150];
|
||||
extern void (*ControlCar[6])(tCar_spec*, br_scalar);
|
||||
extern tNon_car_spec* gActive_non_car_list[50];
|
||||
extern float gCar_simplification_factor[2][CAR_MAX_SIMPLIFICATION_LEVEL + 1];
|
||||
extern tU32 gLast_mechanics_time;
|
||||
extern int gOpponent_viewing_mode;
|
||||
extern int gNet_player_to_view_index;
|
||||
extern int gDouble_pling_water;
|
||||
extern int gStop_opponents_moving;
|
||||
extern float gDefensive_powerup_factor[6];
|
||||
extern float gOffensive_powerup_factor[6];
|
||||
extern int gNet_player_to_view_index;
|
||||
extern float gEngine_powerup_factor[6];
|
||||
extern br_angle gPanning_camera_angle;
|
||||
extern br_scalar gPanning_camera_height;
|
||||
extern int gFace_count;
|
||||
extern float gCar_simplification_factor[2][5];
|
||||
extern int gCar_simplification_level;
|
||||
extern int gNum_active_non_cars;
|
||||
extern int gCamera_has_collided;
|
||||
extern tFace_ref gFace_list__car[150]; // suffix added to avoid duplicate symbol
|
||||
extern tNon_car_spec* gActive_non_car_list[50];
|
||||
extern int gOver_shoot;
|
||||
extern int gDouble_pling_water;
|
||||
extern int gOpponent_viewing_mode;
|
||||
extern br_scalar gMin_world_y;
|
||||
extern int gMetal_crunch_sound_id[5];
|
||||
extern int gFreeze_mechanics;
|
||||
extern int gWoz_upside_down_at_all;
|
||||
extern tU32 gQuite_wild_end;
|
||||
extern tU32 gLast_mechanics_time;
|
||||
extern tU32 gOn_me_wheels_start;
|
||||
extern int gCar_car_collisions;
|
||||
extern br_scalar gAccel;
|
||||
extern br_vector3 gAverage_grid_position;
|
||||
extern br_actor* gPed_actor;
|
||||
extern tU32 gWild_start;
|
||||
extern tU32 gLast_cunning_stunt;
|
||||
extern int gCollision_count;
|
||||
extern tU32 gQuite_wild_start;
|
||||
extern int gCamera_frozen;
|
||||
extern tU32 gSwitch_time;
|
||||
extern int gMaterial_index;
|
||||
extern int gEliminate_faces;
|
||||
extern int gInTheSea;
|
||||
extern int gMetal_scrape_sound_id[3];
|
||||
extern br_vector3 gZero_v;
|
||||
extern int gCamera_mode;
|
||||
extern int gDoing_physics;
|
||||
extern br_scalar gOur_yaw;
|
||||
extern br_vector3 gCamera_pos_before_collide;
|
||||
extern br_scalar gGravity;
|
||||
extern br_vector3 gNew_ground_normal;
|
||||
extern br_scalar gDt;
|
||||
extern int gFace_num;
|
||||
extern int gCollision_detection_on;
|
||||
extern int gControl;
|
||||
extern br_vector3 gGround_normal;
|
||||
extern br_scalar gOur_yaw__car; // suffix added to avoid duplicate symbol
|
||||
extern br_scalar gGravity__car; // suffix added to avoid duplicate symbol
|
||||
extern br_vector3 gNew_ground_normal__car; // suffix added to avoid duplicate symbol
|
||||
extern char gNon_car_spec_list[100];
|
||||
extern int gCamera_has_collided;
|
||||
extern int gCar_simplification_level;
|
||||
extern int gNum_active_non_cars;
|
||||
extern br_scalar gPanning_camera_height;
|
||||
extern int gStop_opponents_moving;
|
||||
extern tU32 gMechanics_time_sync;
|
||||
extern int gNum_cars_and_non_cars;
|
||||
extern int gFace_count;
|
||||
extern br_angle gOld_yaw;
|
||||
extern br_angle gOld_zoom;
|
||||
extern br_angle gPanning_camera_angle;
|
||||
|
||||
void DamageUnit(tCar_spec* pCar, int pUnit_type, int pDamage_amount);
|
||||
|
||||
|
|
|
@ -25,54 +25,6 @@
|
|||
#include "world.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
tCheat gKev_keys[44] = {
|
||||
{ .code = 0xA11EE75D, .code2 = 0xF805EDDD, .action_proc = SetFlag, .num = 0x0A11EE75D },
|
||||
{ .code = 0x564E78B9, .code2 = 0x99155115, .action_proc = SetFlag, .num = 0x564E78B9 },
|
||||
{ .code = 0x1F47E5E8, .code2 = 0xA715222C, .action_proc = SetFlag2, .num = 1 },
|
||||
{ .code = 0x39D4C4C4, .code2 = 0xF0A2C5B0, .action_proc = FinishLap, .num = 0 },
|
||||
{ .code = 0x2654216C, .code2 = 0xF8256D15, .action_proc = GetPowerup, .num = 1 },
|
||||
{ .code = 0x4294EC89, .code2 = 0xC38AD60E, .action_proc = GetPowerup, .num = 2 },
|
||||
{ .code = 0x2CEB2850, .code2 = 0xA0C2D27E, .action_proc = GetPowerup, .num = 3 },
|
||||
{ .code = 0x2D5F3125, .code2 = 0x9CE8A541, .action_proc = GetPowerup, .num = 4 },
|
||||
{ .code = 0x2169C78B, .code2 = 0x7F3C9229, .action_proc = GetPowerup, .num = 5 },
|
||||
{ .code = 0x2203C0CB, .code2 = 0x79729BE4, .action_proc = GetPowerup, .num = 6 },
|
||||
{ .code = 0x34F4E3EC, .code2 = 0x868C534D, .action_proc = GetPowerup, .num = 7 },
|
||||
{ .code = 0x34010316, .code2 = 0x591D1EB2, .action_proc = GetPowerup, .num = 8 },
|
||||
{ .code = 0x214FE3BC, .code2 = 0x87285111, .action_proc = GetPowerup, .num = 9 },
|
||||
{ .code = 0x2FABC390, .code2 = 0xC93D9F7, .action_proc = GetPowerup, .num = 10 },
|
||||
{ .code = 0x2902E890, .code2 = 0x40969F67, .action_proc = GetPowerup, .num = 11 },
|
||||
{ .code = 0x2F458288, .code2 = 0x58074E2, .action_proc = GetPowerup, .num = 12 },
|
||||
{ .code = 0x249DA152, .code2 = 0x8F287346, .action_proc = GetPowerup, .num = 13 },
|
||||
{ .code = 0x23AAE08B, .code2 = 0xA668103D, .action_proc = GetPowerup, .num = 14 },
|
||||
{ .code = 0x32130661, .code2 = 0x56F03459, .action_proc = GetPowerup, .num = 15 },
|
||||
{ .code = 0x2734E944, .code2 = 0xFE1E4639, .action_proc = GetPowerup, .num = 16 },
|
||||
{ .code = 0x28341139, .code2 = 0x355F6D02, .action_proc = GetPowerup, .num = 17 },
|
||||
{ .code = 0x20508831, .code2 = 0x123D1961, .action_proc = GetPowerup, .num = 18 },
|
||||
{ .code = 0x346B8BCB, .code2 = 0x4ABA696C, .action_proc = GetPowerup, .num = 19 },
|
||||
{ .code = 0x3FC93DF0, .code2 = 0x29FA9EFB, .action_proc = GetPowerup, .num = 20 },
|
||||
{ .code = 0x2A80B09B, .code2 = 0x58516F5, .action_proc = GetPowerup, .num = 21 },
|
||||
{ .code = 0x2F548FD1, .code2 = 0x696744DA, .action_proc = GetPowerup, .num = 22 },
|
||||
{ .code = 0x3CB74F32, .code2 = 0xB915D88D, .action_proc = GetPowerup, .num = 23 },
|
||||
{ .code = 0x297B53BA, .code2 = 0x218D4D2D, .action_proc = GetPowerup, .num = 24 },
|
||||
{ .code = 0x351BC37D, .code2 = 0xB2A63343, .action_proc = GetPowerup, .num = 25 },
|
||||
{ .code = 0x2B624386, .code2 = 0x9BA6260E, .action_proc = GetPowerup, .num = 26 },
|
||||
{ .code = 0x2BA4AE23, .code2 = 0xC163A76C, .action_proc = GetPowerup, .num = 27 },
|
||||
{ .code = 0x2FB92DCA, .code2 = 0x4AD7D54E, .action_proc = GetPowerup, .num = 32 },
|
||||
{ .code = 0x3A42191B, .code2 = 0xEFF70F4C, .action_proc = GetPowerup, .num = 35 },
|
||||
{ .code = 0x2ACA3190, .code2 = 0xD9004F25, .action_proc = GetPowerup, .num = 36 },
|
||||
{ .code = 0x37C1F613, .code2 = 0xB7FAF351, .action_proc = GetPowerup, .num = 37 },
|
||||
{ .code = 0x2BA3F603, .code2 = 0x29F2425C, .action_proc = GetPowerup, .num = 38 },
|
||||
{ .code = 0x416EFF61, .code2 = 0x2667DF4B, .action_proc = GetPowerup, .num = 39 },
|
||||
{ .code = 0x2554125C, .code2 = 0x393CA35D, .action_proc = GetPowerup, .num = 41 },
|
||||
{ .code = 0x3FFF84D5, .code2 = 0x84A42DF4, .action_proc = GetPowerup, .num = 42 },
|
||||
{ .code = 0x37E83018, .code2 = 0xB609AEE6, .action_proc = GetPowerup, .num = 43 },
|
||||
{ .code = 0x2DB03B19, .code2 = 0x924A84B7, .action_proc = GetPowerup, .num = 44 },
|
||||
{ .code = 0x30A19FAB, .code2 = 0x2B0C2782, .action_proc = GetPowerup, .num = 45 },
|
||||
{ .code = 0x0, .code2 = 0x0, .action_proc = 0x0, .num = 0x0 }
|
||||
};
|
||||
char* gAbuse_text[10];
|
||||
tEdit_func* gEdit_funcs[10][18][8];
|
||||
char* gEdit_mode_names[10];
|
||||
tToggle_element gToggle_array[] = {
|
||||
{ 34, -2, 1, 1, 0, ToggleMirror },
|
||||
{ 56, -2, 1, 1, 0, ToggleMap },
|
||||
|
@ -118,20 +70,67 @@ tToggle_element gToggle_array[] = {
|
|||
{ 26, 8, 1, 1, 0, ToggleInfo },
|
||||
{ 26, 7, 1, 1, 0, ToggleInfo }
|
||||
};
|
||||
|
||||
int gRepair_last_time;
|
||||
int gHad_auto_recover;
|
||||
tU32 gLast_repair_time;
|
||||
tEdit_mode gWhich_edit_mode;
|
||||
char* gEdit_mode_names[10];
|
||||
tEdit_func* gEdit_funcs[10][18][8];
|
||||
tCheat gKev_keys[44] = {
|
||||
{ .code = 0xA11EE75D, .code2 = 0xF805EDDD, .action_proc = SetFlag, .num = 0x0A11EE75D },
|
||||
{ .code = 0x564E78B9, .code2 = 0x99155115, .action_proc = SetFlag, .num = 0x564E78B9 },
|
||||
{ .code = 0x1F47E5E8, .code2 = 0xA715222C, .action_proc = SetFlag2, .num = 1 },
|
||||
{ .code = 0x39D4C4C4, .code2 = 0xF0A2C5B0, .action_proc = FinishLap, .num = 0 },
|
||||
{ .code = 0x2654216C, .code2 = 0xF8256D15, .action_proc = GetPowerup, .num = 1 },
|
||||
{ .code = 0x4294EC89, .code2 = 0xC38AD60E, .action_proc = GetPowerup, .num = 2 },
|
||||
{ .code = 0x2CEB2850, .code2 = 0xA0C2D27E, .action_proc = GetPowerup, .num = 3 },
|
||||
{ .code = 0x2D5F3125, .code2 = 0x9CE8A541, .action_proc = GetPowerup, .num = 4 },
|
||||
{ .code = 0x2169C78B, .code2 = 0x7F3C9229, .action_proc = GetPowerup, .num = 5 },
|
||||
{ .code = 0x2203C0CB, .code2 = 0x79729BE4, .action_proc = GetPowerup, .num = 6 },
|
||||
{ .code = 0x34F4E3EC, .code2 = 0x868C534D, .action_proc = GetPowerup, .num = 7 },
|
||||
{ .code = 0x34010316, .code2 = 0x591D1EB2, .action_proc = GetPowerup, .num = 8 },
|
||||
{ .code = 0x214FE3BC, .code2 = 0x87285111, .action_proc = GetPowerup, .num = 9 },
|
||||
{ .code = 0x2FABC390, .code2 = 0xC93D9F7, .action_proc = GetPowerup, .num = 10 },
|
||||
{ .code = 0x2902E890, .code2 = 0x40969F67, .action_proc = GetPowerup, .num = 11 },
|
||||
{ .code = 0x2F458288, .code2 = 0x58074E2, .action_proc = GetPowerup, .num = 12 },
|
||||
{ .code = 0x249DA152, .code2 = 0x8F287346, .action_proc = GetPowerup, .num = 13 },
|
||||
{ .code = 0x23AAE08B, .code2 = 0xA668103D, .action_proc = GetPowerup, .num = 14 },
|
||||
{ .code = 0x32130661, .code2 = 0x56F03459, .action_proc = GetPowerup, .num = 15 },
|
||||
{ .code = 0x2734E944, .code2 = 0xFE1E4639, .action_proc = GetPowerup, .num = 16 },
|
||||
{ .code = 0x28341139, .code2 = 0x355F6D02, .action_proc = GetPowerup, .num = 17 },
|
||||
{ .code = 0x20508831, .code2 = 0x123D1961, .action_proc = GetPowerup, .num = 18 },
|
||||
{ .code = 0x346B8BCB, .code2 = 0x4ABA696C, .action_proc = GetPowerup, .num = 19 },
|
||||
{ .code = 0x3FC93DF0, .code2 = 0x29FA9EFB, .action_proc = GetPowerup, .num = 20 },
|
||||
{ .code = 0x2A80B09B, .code2 = 0x58516F5, .action_proc = GetPowerup, .num = 21 },
|
||||
{ .code = 0x2F548FD1, .code2 = 0x696744DA, .action_proc = GetPowerup, .num = 22 },
|
||||
{ .code = 0x3CB74F32, .code2 = 0xB915D88D, .action_proc = GetPowerup, .num = 23 },
|
||||
{ .code = 0x297B53BA, .code2 = 0x218D4D2D, .action_proc = GetPowerup, .num = 24 },
|
||||
{ .code = 0x351BC37D, .code2 = 0xB2A63343, .action_proc = GetPowerup, .num = 25 },
|
||||
{ .code = 0x2B624386, .code2 = 0x9BA6260E, .action_proc = GetPowerup, .num = 26 },
|
||||
{ .code = 0x2BA4AE23, .code2 = 0xC163A76C, .action_proc = GetPowerup, .num = 27 },
|
||||
{ .code = 0x2FB92DCA, .code2 = 0x4AD7D54E, .action_proc = GetPowerup, .num = 32 },
|
||||
{ .code = 0x3A42191B, .code2 = 0xEFF70F4C, .action_proc = GetPowerup, .num = 35 },
|
||||
{ .code = 0x2ACA3190, .code2 = 0xD9004F25, .action_proc = GetPowerup, .num = 36 },
|
||||
{ .code = 0x37C1F613, .code2 = 0xB7FAF351, .action_proc = GetPowerup, .num = 37 },
|
||||
{ .code = 0x2BA3F603, .code2 = 0x29F2425C, .action_proc = GetPowerup, .num = 38 },
|
||||
{ .code = 0x416EFF61, .code2 = 0x2667DF4B, .action_proc = GetPowerup, .num = 39 },
|
||||
{ .code = 0x2554125C, .code2 = 0x393CA35D, .action_proc = GetPowerup, .num = 41 },
|
||||
{ .code = 0x3FFF84D5, .code2 = 0x84A42DF4, .action_proc = GetPowerup, .num = 42 },
|
||||
{ .code = 0x37E83018, .code2 = 0xB609AEE6, .action_proc = GetPowerup, .num = 43 },
|
||||
{ .code = 0x2DB03B19, .code2 = 0x924A84B7, .action_proc = GetPowerup, .num = 44 },
|
||||
{ .code = 0x30A19FAB, .code2 = 0x2B0C2782, .action_proc = GetPowerup, .num = 45 },
|
||||
{ .code = 0x0, .code2 = 0x0, .action_proc = 0x0, .num = 0x0 }
|
||||
};
|
||||
int gAllow_car_flying;
|
||||
int gEntering_message;
|
||||
tU32 gPalette_fade_time;
|
||||
char* gAbuse_text[10];
|
||||
char gString[84];
|
||||
int gToo_late;
|
||||
int gAllow_car_flying;
|
||||
int gRecover_timer;
|
||||
tU32 gLast_repair_time;
|
||||
int gHad_auto_recover;
|
||||
tEdit_mode gWhich_edit_mode;
|
||||
int gRepair_last_time;
|
||||
int gRecovery_voucher_count;
|
||||
int gInstant_handbrake;
|
||||
int gAuto_repair;
|
||||
tU32 gPalette_fade_time;
|
||||
int gEntering_message;
|
||||
|
||||
int _unittest_controls_lastGetPowerup = 0;
|
||||
|
||||
|
|
|
@ -4,21 +4,24 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern tToggle_element gToggle_array[43];
|
||||
extern int gRepair_last_time;
|
||||
extern int gHad_auto_recover;
|
||||
extern tU32 gLast_repair_time;
|
||||
extern tEdit_mode gWhich_edit_mode;
|
||||
extern char* gEdit_mode_names[10];
|
||||
extern tEdit_func* gEdit_funcs[10][18][8];
|
||||
extern tCheat gKev_keys[44];
|
||||
extern int gAllow_car_flying;
|
||||
extern int gEntering_message;
|
||||
extern tU32 gPalette_fade_time;
|
||||
extern char* gAbuse_text[10];
|
||||
extern char gString[84];
|
||||
extern int gToo_late;
|
||||
extern int gAllow_car_flying;
|
||||
extern int gRecover_timer;
|
||||
extern tU32 gLast_repair_time;
|
||||
extern int gHad_auto_recover;
|
||||
extern tEdit_mode gWhich_edit_mode;
|
||||
extern int gRepair_last_time;
|
||||
extern int gRecovery_voucher_count;
|
||||
extern int gInstant_handbrake;
|
||||
extern int gAuto_repair;
|
||||
extern tU32 gPalette_fade_time;
|
||||
extern int gEntering_message;
|
||||
|
||||
extern int _unittest_controls_lastGetPowerup;
|
||||
|
||||
void AbortRace();
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
|
||||
float gWobble_spam_y[8];
|
||||
float gWobble_spam_z[8];
|
||||
int gSteal_ranks[5];
|
||||
tU8 gSmoke_damage_step[12];
|
||||
br_scalar gWheel_circ_to_width;
|
||||
tU8 gSmoke_damage_step[12];
|
||||
int gSteal_ranks[5];
|
||||
|
||||
// IDA: int __usercall ReadCrushData@<EAX>(FILE *pF@<EAX>, tCrush_data *pCrush_data@<EDX>)
|
||||
int ReadCrushData(FILE* pF, tCrush_data* pCrush_data) {
|
||||
|
|
|
@ -4,6 +4,12 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern float gWobble_spam_y[8];
|
||||
extern float gWobble_spam_z[8];
|
||||
extern br_scalar gWheel_circ_to_width;
|
||||
extern tU8 gSmoke_damage_step[12];
|
||||
extern int gSteal_ranks[5];
|
||||
|
||||
int ReadCrushData(FILE* pF, tCrush_data* pCrush_data);
|
||||
|
||||
float SkipCrushData(FILE* pF);
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern tS32 gLast_demo_end_anim;
|
||||
|
||||
void ShowCutScene(int pIndex, int pWait_end, int pSound_ID, br_scalar pDelay);
|
||||
|
||||
void DoSCILogo();
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern int gLast_demo;
|
||||
|
||||
void DoDemo();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
tDepth_effect gDistance_depth_effects[4];
|
||||
int gSky_on;
|
||||
int gDepth_cueing_on;
|
||||
tDepth_effect_type gSwap_depth_effect_type;
|
||||
br_scalar gSky_height;
|
||||
br_scalar gSky_x_multiplier;
|
||||
br_scalar gSky_width;
|
||||
|
@ -17,8 +20,6 @@ tU32 gLast_depth_change;
|
|||
br_scalar gOld_yon;
|
||||
br_pixelmap* gWater_shade_table;
|
||||
br_material* gHorizon_material;
|
||||
int gDepth_cueing_on;
|
||||
int gSky_on;
|
||||
br_model* gRearview_sky_model;
|
||||
int gFog_shade_table_power;
|
||||
br_actor* gRearview_sky_actor;
|
||||
|
@ -31,7 +32,6 @@ br_pixelmap* gFog_shade_table;
|
|||
int gSwap_depth_effect_start;
|
||||
br_pixelmap* gDepth_shade_table;
|
||||
tSpecial_volume* gLast_camera_special_volume;
|
||||
tDepth_effect_type gSwap_depth_effect_type;
|
||||
br_pixelmap* gAcid_shade_table;
|
||||
int gSwap_depth_effect_end;
|
||||
br_pixelmap* gSwap_sky_texture;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
#include "dr_types.h"
|
||||
|
||||
extern tDepth_effect gDistance_depth_effects[4];
|
||||
extern int gSky_on;
|
||||
extern int gDepth_cueing_on;
|
||||
extern tDepth_effect_type gSwap_depth_effect_type;
|
||||
extern br_scalar gSky_height;
|
||||
extern br_scalar gSky_x_multiplier;
|
||||
extern br_scalar gSky_width;
|
||||
|
@ -13,8 +16,6 @@ extern tU32 gLast_depth_change;
|
|||
extern br_scalar gOld_yon;
|
||||
extern br_pixelmap* gWater_shade_table;
|
||||
extern br_material* gHorizon_material;
|
||||
extern int gDepth_cueing_on;
|
||||
extern int gSky_on;
|
||||
extern br_model* gRearview_sky_model;
|
||||
extern int gFog_shade_table_power;
|
||||
extern br_actor* gRearview_sky_actor;
|
||||
|
@ -27,7 +28,6 @@ extern br_pixelmap* gFog_shade_table;
|
|||
extern int gSwap_depth_effect_start;
|
||||
extern br_pixelmap* gDepth_shade_table;
|
||||
extern tSpecial_volume* gLast_camera_special_volume;
|
||||
extern tDepth_effect_type gSwap_depth_effect_type;
|
||||
extern br_pixelmap* gAcid_shade_table;
|
||||
extern int gSwap_depth_effect_end;
|
||||
extern br_pixelmap* gSwap_sky_texture;
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
#include "utility.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
int gLast_fancy_index;
|
||||
int gLast_credit_headup__displays; // suffix added to avoid duplicate symbol
|
||||
int gLast_time_credit_headup;
|
||||
tDR_font* gCached_font;
|
||||
br_font* gBR_fonts[4];
|
||||
tQueued_headup gQueued_headups[4];
|
||||
int gOld_times[10];
|
||||
|
@ -22,10 +26,6 @@ int gQueued_headup_count;
|
|||
tU32 gLast_earn_time;
|
||||
tU32 gLast_time_credit_amount;
|
||||
int gLast_credit_amount;
|
||||
tDR_font* gCached_font;
|
||||
int gLast_time_credit_headup;
|
||||
int gLast_fancy_index;
|
||||
int gLast_credit_headup;
|
||||
tHeadup gHeadups[15];
|
||||
int gLaps_headup;
|
||||
int gCar_kill_count_headup;
|
||||
|
@ -92,7 +92,7 @@ void ClearHeadups() {
|
|||
}
|
||||
}
|
||||
gLast_fancy_index = -1;
|
||||
gLast_credit_headup = -1;
|
||||
gLast_credit_headup__displays = -1;
|
||||
gLast_time_credit_headup = -1;
|
||||
gLast_earn_time = 0;
|
||||
gLast_fancy_time = 0;
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern int gLast_fancy_index;
|
||||
extern int gLast_credit_headup__displays; // suffix added to avoid duplicate symbol
|
||||
extern int gLast_time_credit_headup;
|
||||
extern tDR_font* gCached_font;
|
||||
extern br_font* gBR_fonts[4];
|
||||
extern tQueued_headup gQueued_headups[4];
|
||||
extern int gOld_times[10];
|
||||
|
@ -15,10 +19,6 @@ extern int gQueued_headup_count;
|
|||
extern tU32 gLast_earn_time;
|
||||
extern tU32 gLast_time_credit_amount;
|
||||
extern int gLast_credit_amount;
|
||||
extern tDR_font* gCached_font;
|
||||
extern int gLast_time_credit_headup;
|
||||
extern int gLast_fancy_index;
|
||||
extern int gLast_credit_headup;
|
||||
extern tHeadup gHeadups[15];
|
||||
extern int gLaps_headup;
|
||||
extern int gCar_kill_count_headup;
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
#include "loading.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
br_filesystem* gOld_file_system;
|
||||
br_filesystem gFilesystem = {
|
||||
"Carmageddon",
|
||||
NULL,
|
||||
|
@ -19,6 +18,7 @@ br_filesystem gFilesystem = {
|
|||
NULL,
|
||||
NULL
|
||||
};
|
||||
br_filesystem* gOld_file_system;
|
||||
|
||||
// Added by Jeff
|
||||
#define DR_MEMORY_FILESYSTEM 140
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern br_filesystem gFilesystem;
|
||||
extern br_filesystem* gOld_file_system;
|
||||
|
||||
void* DRStdioOpenRead(char* name, br_size_t n_magics, br_mode_test_cbfn* identify, int* mode_result);
|
||||
|
||||
void* DRStdioOpenWrite(char* name, int mode);
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
#include "errors.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
br_resource_class gStainless_classes[118];
|
||||
br_allocator gAllocator = { "Death Race", DRStdlibAllocate, DRStdlibFree, DRStdlibInquire, Claim4ByteAlignment };
|
||||
int gNon_fatal_allocation_errors = 0;
|
||||
char* gMem_names[247] = {
|
||||
NULL,
|
||||
"BR_MEMORY_SCRATCH",
|
||||
|
@ -252,9 +253,7 @@ char* gMem_names[247] = {
|
|||
"kMem_action_replay_buffer",
|
||||
"kMem_misc"
|
||||
};
|
||||
|
||||
int gNon_fatal_allocation_errors = 0;
|
||||
br_allocator gAllocator = { "Death Race", DRStdlibAllocate, DRStdlibFree, DRStdlibInquire, Claim4ByteAlignment };
|
||||
br_resource_class gStainless_classes[118];
|
||||
|
||||
// IDA: void __cdecl SetNonFatalAllocationErrors()
|
||||
void SetNonFatalAllocationErrors() {
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern br_allocator gAllocator;
|
||||
extern int gNon_fatal_allocation_errors;
|
||||
extern char* gMem_names[247];
|
||||
extern br_resource_class gStainless_classes[118];
|
||||
|
||||
void SetNonFatalAllocationErrors();
|
||||
|
||||
void ResetNonFatalAllocationErrors();
|
||||
|
|
|
@ -128,10 +128,10 @@ char* gError_messages[126] = {
|
|||
"Random number out of range (%)"
|
||||
};
|
||||
int gError_code;
|
||||
char* gPalette_copy;
|
||||
int gPixel_buffer_size;
|
||||
int gMouse_was_started__;
|
||||
char* gPixels_copy;
|
||||
char* gPalette_copy__errors; // suffix added to avoid duplicate symbol
|
||||
int gPixel_buffer_size__errors; // suffix added to avoid duplicate symbol
|
||||
int gMouse_was_started__errors; // suffix added to avoid duplicate symbol
|
||||
char* gPixels_copy__errors; // suffix added to avoid duplicate symbol
|
||||
|
||||
// IDA: void __cdecl FatalError(int pStr_index, ...)
|
||||
void FatalError(int pStr_index, ...) {
|
||||
|
|
|
@ -4,6 +4,13 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern char* gError_messages[126];
|
||||
extern int gError_code;
|
||||
extern char* gPalette_copy__errors; // suffix added to avoid duplicate symbol
|
||||
extern int gPixel_buffer_size__errors; // suffix added to avoid duplicate symbol
|
||||
extern int gMouse_was_started__errors; // suffix added to avoid duplicate symbol
|
||||
extern char* gPixels_copy__errors; // suffix added to avoid duplicate symbol
|
||||
|
||||
void FatalError(int pStr_index, ...);
|
||||
|
||||
void NonFatalError(int pStr_index, ...);
|
||||
|
|
|
@ -6,38 +6,39 @@
|
|||
#include "world.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
br_matrix34 gPick_model_to_view;
|
||||
int gPling_materials = 1;
|
||||
br_material* gSub_material;
|
||||
br_material* gReal_material;
|
||||
int gNfaces;
|
||||
br_matrix34 gPick_model_to_view__finteray; // suffix added to avoid duplicate symbol
|
||||
int gTemp_group;
|
||||
br_model* gNearest_model;
|
||||
int gNfaces;
|
||||
br_model* gSelected_model;
|
||||
int gNearest_face_group;
|
||||
br_material* gSub_material;
|
||||
int gNearest_face;
|
||||
br_material* gReal_material;
|
||||
br_scalar gNearest_T;
|
||||
tFace_ref* gPling_face;
|
||||
|
||||
// IDA: int __cdecl BadDiv(br_scalar a, br_scalar b)
|
||||
int BadDiv_finteray(br_scalar a, br_scalar b) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int BadDiv__finteray(br_scalar a, br_scalar b) {
|
||||
//LOG_TRACE("(%f, %f)", a, b);
|
||||
|
||||
return fabs(b) < 1.0 && fabs(a) > fabs(b) * BR_SCALAR_MAX;
|
||||
}
|
||||
|
||||
// IDA: void __usercall DRVector2AccumulateScale(br_vector2 *a@<EAX>, br_vector2 *b@<EDX>, br_scalar s)
|
||||
void DRVector2AccumulateScale_finteray(br_vector2* a, br_vector2* b, br_scalar s) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
void DRVector2AccumulateScale__finteray(br_vector2* a, br_vector2* b, br_scalar s) {
|
||||
LOG_TRACE("(%p, %p, %f)", a, b, s);
|
||||
|
||||
a->v[0] = b->v[0] * s + a->v[0];
|
||||
a->v[1] = b->v[1] * s + a->v[1];
|
||||
}
|
||||
|
||||
// Offset: 180
|
||||
// Size: 0x228
|
||||
//IDA: int __usercall PickBoundsTestRay@<EAX>(br_bounds *b@<EAX>, br_vector3 *rp@<EDX>, br_vector3 *rd@<EBX>, br_scalar t_near, br_scalar t_far, br_scalar *new_t_near, br_scalar *new_t_far)
|
||||
int PickBoundsTestRay_finteray(br_bounds* b, br_vector3* rp, br_vector3* rd, br_scalar t_near, br_scalar t_far, br_scalar* new_t_near, br_scalar* new_t_far) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int PickBoundsTestRay__finteray(br_bounds* b, br_vector3* rp, br_vector3* rd, br_scalar t_near, br_scalar t_far, br_scalar* new_t_near, br_scalar* new_t_far) {
|
||||
int i;
|
||||
float s;
|
||||
float t;
|
||||
|
@ -135,7 +136,7 @@ int ActorRayPick2D(br_actor* ap, br_vector3* pPosition, br_vector3* pDir, br_mod
|
|||
pDir = &dir;
|
||||
}
|
||||
if (ap->type == BR_ACTOR_MODEL) {
|
||||
if (PickBoundsTestRay_finteray(&this_model->bounds, pPosition, pDir, t_near, t_far, &t_near, &t_far)) {
|
||||
if (PickBoundsTestRay__finteray(&this_model->bounds, pPosition, pDir, t_near, t_far, &t_near, &t_far)) {
|
||||
t_near = 0.0;
|
||||
if (gNearest_T >= 1.0) {
|
||||
t_far = 1.0;
|
||||
|
@ -151,7 +152,7 @@ int ActorRayPick2D(br_actor* ap, br_vector3* pPosition, br_vector3* pDir, br_mod
|
|||
return r;
|
||||
}
|
||||
} else if (ap->type >= BR_ACTOR_BOUNDS && ap->type <= BR_ACTOR_BOUNDS_CORRECT) {
|
||||
if (PickBoundsTestRay_finteray((br_bounds*)ap->type_data, pPosition, pDir, t_near, t_far, &t_near, &t_far)) {
|
||||
if (PickBoundsTestRay__finteray((br_bounds*)ap->type_data, pPosition, pDir, t_near, t_far, &t_near, &t_far)) {
|
||||
for (a = ap->children; a; a = a->next) {
|
||||
r = ActorRayPick2D(a, pPosition, pDir, this_model, this_material, callback);
|
||||
if (r) {
|
||||
|
@ -174,14 +175,13 @@ int ActorRayPick2D(br_actor* ap, br_vector3* pPosition, br_vector3* pDir, br_mod
|
|||
int DRSceneRayPick2D(br_actor* world, br_vector3* pPosition, br_vector3* pDir, dr_pick2d_cbfn* callback) {
|
||||
LOG_TRACE("(%p, %p, %p, %p)", world, pPosition, pDir, callback);
|
||||
|
||||
BrMatrix34Inverse(&gPick_model_to_view, &world->t.t.mat);
|
||||
BrMatrix34Inverse(&gPick_model_to_view__finteray, &world->t.t.mat);
|
||||
return ActorRayPick2D(world, pPosition, pDir, NULL, NULL, callback);
|
||||
}
|
||||
|
||||
// Offset: 1544
|
||||
// Size: 0x80b
|
||||
//IDA: int __usercall DRModelPick2D@<EAX>(br_model *model@<EAX>, br_material *material@<EDX>, br_vector3 *ray_pos@<EBX>, br_vector3 *ray_dir@<ECX>, br_scalar t_near, br_scalar t_far, dr_modelpick2d_cbfn *callback, void *arg)
|
||||
int DRModelPick2D_finteray(br_model* model, br_material* material, br_vector3* ray_pos, br_vector3* ray_dir, br_scalar t_near, br_scalar t_far, dr_modelpick2d_cbfn* callback, void* arg) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int DRModelPick2D__finteray(br_model* model, br_material* material, br_vector3* ray_pos, br_vector3* ray_dir, br_scalar t_near, br_scalar t_far, dr_modelpick2d_cbfn* callback, void* arg) {
|
||||
DR_FACE* fp;
|
||||
int f;
|
||||
int axis_m;
|
||||
|
@ -232,7 +232,7 @@ int DRModelPick2D_finteray(br_model* model, br_material* material, br_vector3* r
|
|||
+ fp->eqn.v[2] * ray_pos->v[2]
|
||||
+ fp->eqn.v[0] * ray_pos->v[0]
|
||||
- fp->eqn.v[3];
|
||||
if (!BadDiv_finteray(numerator, d)) {
|
||||
if (!BadDiv__finteray(numerator, d)) {
|
||||
t = -(numerator / d);
|
||||
if (t >= t_near && t <= t_far) {
|
||||
p.v[0] = ray_dir->v[0] * t;
|
||||
|
@ -300,11 +300,11 @@ int DRModelPick2D_finteray(br_model* model, br_material* material, br_vector3* r
|
|||
s_beta = beta;
|
||||
map.v[0] = V11MODEL(model)->groups[group].vertices[fp->vertices[1]].map.v[0] * s_alpha;
|
||||
map.v[1] = V11MODEL(model)->groups[group].vertices[fp->vertices[1]].map.v[1] * s_alpha;
|
||||
DRVector2AccumulateScale_finteray(
|
||||
DRVector2AccumulateScale__finteray(
|
||||
&map,
|
||||
&V11MODEL(model)->groups[group].vertices[fp->vertices[2]].map,
|
||||
s_beta);
|
||||
DRVector2AccumulateScale_finteray(
|
||||
DRVector2AccumulateScale__finteray(
|
||||
&map,
|
||||
&V11MODEL(model)->groups[group].vertices[fp->vertices[0]].map,
|
||||
1.0 - (s_alpha + s_beta));
|
||||
|
@ -340,7 +340,8 @@ int DRModelPick2D_finteray(br_model* model, br_material* material, br_vector3* r
|
|||
}
|
||||
|
||||
// IDA: int __cdecl FindHighestPolyCallBack(br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pT, int pF, int pE, int pV, br_vector3 *pPoint, br_vector2 *pMap, void *pArg)
|
||||
int FindHighestPolyCallBack_finteray(br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT, int pF, int pE, int pV, br_vector3* pPoint, br_vector2* pMap, void* pArg) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int FindHighestPolyCallBack__finteray(br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT, int pF, int pE, int pV, br_vector3* pPoint, br_vector2* pMap, void* pArg) {
|
||||
LOG_TRACE("(%p, %p, %p, %p, %f, %d, %d, %d, %p, %p, %p)", pModel, pMaterial, pRay_pos, pRay_dir, pT, pF, pE, pV, pPoint, pMap, pArg);
|
||||
|
||||
if (pT < (double)gNearest_T) {
|
||||
|
@ -353,12 +354,13 @@ int FindHighestPolyCallBack_finteray(br_model* pModel, br_material* pMaterial, b
|
|||
}
|
||||
|
||||
// IDA: int __cdecl FindHighestCallBack(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pT_near, br_scalar pT_far, void *pArg)
|
||||
int FindHighestCallBack_finteray(br_actor* pActor, br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT_near, br_scalar pT_far, void* pArg) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int FindHighestCallBack__finteray(br_actor* pActor, br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT_near, br_scalar pT_far, void* pArg) {
|
||||
LOG_TRACE("(%p, %p, %p, %p, %p, %f, %f, %p)", pActor, pModel, pMaterial, pRay_pos, pRay_dir, pT_near, pT_far, pArg);
|
||||
|
||||
if (gProgram_state.current_car.current_car_actor < 0
|
||||
|| gProgram_state.current_car.car_model_actors[gProgram_state.current_car.current_car_actor].actor != pActor) {
|
||||
DRModelPick2D_finteray(pModel, pMaterial, pRay_pos, pRay_dir, pT_near, pT_far, FindHighestPolyCallBack_finteray, pArg);
|
||||
DRModelPick2D__finteray(pModel, pMaterial, pRay_pos, pRay_dir, pT_near, pT_far, FindHighestPolyCallBack__finteray, pArg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -369,7 +371,7 @@ void FindFace(br_vector3* pPosition, br_vector3* pDir, br_vector3* nor, br_scala
|
|||
LOG_TRACE("(%p, %p, %p, %p, %p)", pPosition, pDir, nor, t, material);
|
||||
|
||||
gNearest_T = 100.0;
|
||||
DRSceneRayPick2D(gTrack_actor, pPosition, pDir, FindHighestCallBack_finteray);
|
||||
DRSceneRayPick2D(gTrack_actor, pPosition, pDir, FindHighestCallBack__finteray);
|
||||
*t = gNearest_T;
|
||||
if (*t < 100.0) {
|
||||
group = gNearest_face_group;
|
||||
|
@ -518,7 +520,7 @@ void MultiRayCheckSingleFace(int pNum_rays, tFace_ref* pFace, br_vector3* ray_po
|
|||
tv.v[1] = ray_pos[i].v[1] - pFace->v[0].v[1];
|
||||
tv.v[2] = ray_pos[i].v[2] - pFace->v[0].v[2];
|
||||
numerator = pFace->normal.v[2] * tv.v[2] + pFace->normal.v[1] * tv.v[1] + pFace->normal.v[0] * tv.v[0];
|
||||
if (BadDiv_finteray(numerator, d)) {
|
||||
if (BadDiv__finteray(numerator, d)) {
|
||||
return;
|
||||
}
|
||||
if (d > 0.0) {
|
||||
|
@ -716,13 +718,13 @@ int ActorBoxPick(tBounds* bnds, br_actor* ap, br_model* model, br_material* mate
|
|||
new_bounds.radius = bnds->radius;
|
||||
GetNewBoundingBox(&new_bounds.real_bounds, &new_bounds.original_bounds, new_bounds.mat);
|
||||
if (ap->identifier[1] >= '0' && ap->identifier[1] <= '9') {
|
||||
if (!BoundsOverlapTest_finteray(&new_bounds.real_bounds, &this_model->bounds)) {
|
||||
if (!BoundsOverlapTest__finteray(&new_bounds.real_bounds, &this_model->bounds)) {
|
||||
return max_face;
|
||||
}
|
||||
BrMatrix34LPInverse(&invmat, bnds->mat);
|
||||
BrMatrix34Mul(&box_to_actor, &ap->t.t.mat, &invmat);
|
||||
GetNewBoundingBox(&br_bnds, &ap->model->bounds, &box_to_actor);
|
||||
if (!BoundsOverlapTest_finteray(&br_bnds, &bnds->original_bounds)) {
|
||||
if (!BoundsOverlapTest__finteray(&br_bnds, &bnds->original_bounds)) {
|
||||
return max_face;
|
||||
}
|
||||
if (PullActorFromWorld(ap)) {
|
||||
|
@ -732,7 +734,7 @@ int ActorBoxPick(tBounds* bnds, br_actor* ap, br_model* model, br_material* mate
|
|||
bnds = &new_bounds;
|
||||
}
|
||||
if (ap->type == BR_ACTOR_MODEL) {
|
||||
if (BoundsOverlapTest_finteray(&bnds->real_bounds, &this_model->bounds)) {
|
||||
if (BoundsOverlapTest__finteray(&bnds->real_bounds, &this_model->bounds)) {
|
||||
n = ModelPickBox(ap, bnds, this_model, this_material, &face_list[i], max_face, pMat);
|
||||
if (pMat && max_face != n) {
|
||||
StopGroovidelic(ap);
|
||||
|
@ -741,7 +743,7 @@ int ActorBoxPick(tBounds* bnds, br_actor* ap, br_model* model, br_material* mate
|
|||
max_face = n;
|
||||
}
|
||||
} else if (ap->type >= 5u && ap->type <= 6u) {
|
||||
test_children = BoundsOverlapTest_finteray(&bnds->real_bounds, (br_bounds*)ap->type_data);
|
||||
test_children = BoundsOverlapTest__finteray(&bnds->real_bounds, (br_bounds*)ap->type_data);
|
||||
}
|
||||
if (test_children) {
|
||||
for (a = ap->children; a; a = next_a) {
|
||||
|
@ -990,7 +992,8 @@ void ClipToPlaneLE(br_vector3* p, int* nv, int i, br_scalar limit) {
|
|||
}
|
||||
|
||||
// IDA: int __usercall BoundsOverlapTest@<EAX>(br_bounds *b1@<EAX>, br_bounds *b2@<EDX>)
|
||||
int BoundsOverlapTest_finteray(br_bounds* b1, br_bounds* b2) {
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int BoundsOverlapTest__finteray(br_bounds* b1, br_bounds* b2) {
|
||||
LOG_TRACE("(%p, %p)", b1, b2);
|
||||
|
||||
return b1->min.v[0] <= b2->max.v[0]
|
||||
|
|
|
@ -4,23 +4,40 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern int gPling_materials;
|
||||
extern br_material* gSub_material;
|
||||
extern br_material* gReal_material;
|
||||
extern int gNfaces;
|
||||
extern br_matrix34 gPick_model_to_view__finteray; // suffix added to avoid duplicate symbol
|
||||
extern int gTemp_group;
|
||||
extern br_model* gNearest_model;
|
||||
extern br_model* gSelected_model;
|
||||
extern int gNearest_face_group;
|
||||
extern int gNearest_face;
|
||||
extern br_scalar gNearest_T;
|
||||
extern tFace_ref* gPling_face;
|
||||
|
||||
int BadDiv_finteray(br_scalar a, br_scalar b);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int BadDiv__finteray(br_scalar a, br_scalar b);
|
||||
|
||||
void DRVector2AccumulateScale_finteray(br_vector2* a, br_vector2* b, br_scalar s);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
void DRVector2AccumulateScale__finteray(br_vector2* a, br_vector2* b, br_scalar s);
|
||||
|
||||
int PickBoundsTestRay_finteray(br_bounds* b, br_vector3* rp, br_vector3* rd, br_scalar t_near, br_scalar t_far, br_scalar* new_t_near, br_scalar* new_t_far);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int PickBoundsTestRay__finteray(br_bounds* b, br_vector3* rp, br_vector3* rd, br_scalar t_near, br_scalar t_far, br_scalar* new_t_near, br_scalar* new_t_far);
|
||||
|
||||
int ActorRayPick2D(br_actor* ap, br_vector3* pPosition, br_vector3* pDir, br_model* model, br_material* material, dr_pick2d_cbfn* callback);
|
||||
|
||||
int DRSceneRayPick2D(br_actor* world, br_vector3* pPosition, br_vector3* pDir, dr_pick2d_cbfn* callback);
|
||||
|
||||
int DRModelPick2D_finteray(br_model* model, br_material* material, br_vector3* ray_pos, br_vector3* ray_dir, br_scalar t_near, br_scalar t_far, dr_modelpick2d_cbfn* callback, void* arg);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int DRModelPick2D__finteray(br_model* model, br_material* material, br_vector3* ray_pos, br_vector3* ray_dir, br_scalar t_near, br_scalar t_far, dr_modelpick2d_cbfn* callback, void* arg);
|
||||
|
||||
int FindHighestPolyCallBack_finteray(br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT, int pF, int pE, int pV, br_vector3* pPoint, br_vector2* pMap, void* pArg);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int FindHighestPolyCallBack__finteray(br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT, int pF, int pE, int pV, br_vector3* pPoint, br_vector2* pMap, void* pArg);
|
||||
|
||||
int FindHighestCallBack_finteray(br_actor* pActor, br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT_near, br_scalar pT_far, void* pArg);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int FindHighestCallBack__finteray(br_actor* pActor, br_model* pModel, br_material* pMaterial, br_vector3* pRay_pos, br_vector3* pRay_dir, br_scalar pT_near, br_scalar pT_far, void* pArg);
|
||||
|
||||
void FindFace(br_vector3* pPosition, br_vector3* pDir, br_vector3* nor, br_scalar* t, br_material** material);
|
||||
|
||||
|
@ -46,7 +63,8 @@ void ClipToPlaneGE(br_vector3* p, int* nv, int i, br_scalar limit);
|
|||
|
||||
void ClipToPlaneLE(br_vector3* p, int* nv, int i, br_scalar limit);
|
||||
|
||||
int BoundsOverlapTest_finteray(br_bounds* b1, br_bounds* b2);
|
||||
// Suffix added to avoid duplicate symbol
|
||||
int BoundsOverlapTest__finteray(br_bounds* b1, br_bounds* b2);
|
||||
|
||||
int BoundsTransformTest(br_bounds* b1, br_bounds* b2, br_matrix34* M);
|
||||
|
||||
|
|
|
@ -13,34 +13,16 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int gFlic_bunch8[16] = { 290, 291, 292, 293, 294, 295, 296, 297, 42, 43, 154, 301, 42, 43, 304, 305 };
|
||||
int gFlic_bunch4[22] = {
|
||||
80,
|
||||
81,
|
||||
82,
|
||||
83,
|
||||
84,
|
||||
85,
|
||||
42,
|
||||
43,
|
||||
88,
|
||||
45,
|
||||
110,
|
||||
111,
|
||||
42,
|
||||
43,
|
||||
45,
|
||||
115,
|
||||
116,
|
||||
117,
|
||||
118,
|
||||
119,
|
||||
120,
|
||||
121
|
||||
};
|
||||
|
||||
int gFlic_bunch2[8] = { 70, 71, 72, 73, 74, 56, 57, 59 };
|
||||
|
||||
int gPalette_allocate_count;
|
||||
int gPalette_fuck_prevention;
|
||||
int gDark_mode;
|
||||
int gTransparency_on;
|
||||
int gPanel_flic_disable;
|
||||
int gPending_flic = -1;
|
||||
int gPlay_from_disk;
|
||||
int gTrans_enabled = 1;
|
||||
br_pixelmap* gPanel_buffer[2];
|
||||
tU32 gSound_time;
|
||||
tFlic_spec gMain_flic_list[372] = {
|
||||
{ "xxxxxxxx.FLI", 1, 0, 0, 0, 0, 25, NULL, 0u },
|
||||
{ "DEMSTRT2.FLI", 1, 0, 0, 0, 0, 0, NULL, 0u },
|
||||
|
@ -383,70 +365,6 @@ tFlic_spec gMain_flic_list[372] = {
|
|||
{ "MAI2OPFL.FLI", 0, 0, 0, 0, 0, 0, NULL, 0u },
|
||||
{ "MAI2OPGL.FLI", 0, 0, 0, 0, 0, 0, NULL, 0u }
|
||||
};
|
||||
|
||||
tU32 gPanel_flic_data_length[2];
|
||||
tU32 gLast_panel_frame_time[2];
|
||||
tU8* gPanel_flic_data[2];
|
||||
int gPanel_flic_top[2];
|
||||
tFlic_descriptor gPanel_flic[2];
|
||||
br_pixelmap* gPanel_buffer[2];
|
||||
int gPanel_flic_left[2];
|
||||
int gFlic_bunch6[51] = {
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
42,
|
||||
43,
|
||||
195,
|
||||
200,
|
||||
201,
|
||||
210,
|
||||
212,
|
||||
213,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
230,
|
||||
231,
|
||||
42,
|
||||
43,
|
||||
154,
|
||||
45,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
250,
|
||||
251,
|
||||
42,
|
||||
43,
|
||||
254,
|
||||
255,
|
||||
256,
|
||||
154,
|
||||
42,
|
||||
43,
|
||||
260,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
280,
|
||||
281,
|
||||
42,
|
||||
43,
|
||||
284
|
||||
};
|
||||
int gFlic_bunch7[7] = { 130, 131, 132, 42, 43, 135, 45 };
|
||||
int gFlic_bunch5[5] = { 100, 101, 42, 43, 45 };
|
||||
int gFlic_bunch3[13] = { 40, 41, 42, 43, 44, 45, 50, 51, 73, 74, 56, 57, 59 };
|
||||
int gFlic_bunch0[29] = {
|
||||
10,
|
||||
11,
|
||||
|
@ -511,25 +429,88 @@ int gFlic_bunch1[31] = {
|
|||
43,
|
||||
154
|
||||
};
|
||||
tU32 gSound_time;
|
||||
int gTrans_enabled = 1;
|
||||
int gPanel_flic_disable;
|
||||
int gDark_mode;
|
||||
int gPending_pending_flic;
|
||||
int gTransparency_on;
|
||||
int gSound_ID;
|
||||
int gPlay_from_disk = 0;
|
||||
int gTranslation_count;
|
||||
int gPending_flic = -1;
|
||||
tDR_font* gTrans_fonts[15];
|
||||
int gPalette_fuck_prevention;
|
||||
tTranslation_record* gTranslations;
|
||||
br_pixelmap* gPalette;
|
||||
void* gPalette_pixels;
|
||||
int gPalette_allocate_count;
|
||||
tFlic_descriptor* gFirst_flic;
|
||||
char gLast_flic_name[14];
|
||||
|
||||
int gFlic_bunch2[8] = { 70, 71, 72, 73, 74, 56, 57, 59 };
|
||||
int gFlic_bunch3[13] = { 40, 41, 42, 43, 44, 45, 50, 51, 73, 74, 56, 57, 59 };
|
||||
int gFlic_bunch4[22] = {
|
||||
80,
|
||||
81,
|
||||
82,
|
||||
83,
|
||||
84,
|
||||
85,
|
||||
42,
|
||||
43,
|
||||
88,
|
||||
45,
|
||||
110,
|
||||
111,
|
||||
42,
|
||||
43,
|
||||
45,
|
||||
115,
|
||||
116,
|
||||
117,
|
||||
118,
|
||||
119,
|
||||
120,
|
||||
121
|
||||
};
|
||||
int gFlic_bunch5[5] = { 100, 101, 42, 43, 45 };
|
||||
int gFlic_bunch6[51] = {
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
42,
|
||||
43,
|
||||
195,
|
||||
200,
|
||||
201,
|
||||
210,
|
||||
212,
|
||||
213,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
230,
|
||||
231,
|
||||
42,
|
||||
43,
|
||||
154,
|
||||
45,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
250,
|
||||
251,
|
||||
42,
|
||||
43,
|
||||
254,
|
||||
255,
|
||||
256,
|
||||
154,
|
||||
42,
|
||||
43,
|
||||
260,
|
||||
220,
|
||||
221,
|
||||
222,
|
||||
220,
|
||||
221,
|
||||
225,
|
||||
280,
|
||||
281,
|
||||
42,
|
||||
43,
|
||||
284
|
||||
};
|
||||
int gFlic_bunch7[7] = { 130, 131, 132, 42, 43, 135, 45 };
|
||||
int gFlic_bunch8[16] = { 290, 291, 292, 293, 294, 295, 296, 297, 42, 43, 154, 301, 42, 43, 304, 305 };
|
||||
tFlic_bunch gFlic_bunch[9] = {
|
||||
{ 29, gFlic_bunch0 },
|
||||
{ 31, gFlic_bunch1 },
|
||||
|
@ -541,6 +522,21 @@ tFlic_bunch gFlic_bunch[9] = {
|
|||
{ 7, gFlic_bunch7 },
|
||||
{ 16, gFlic_bunch8 }
|
||||
};
|
||||
char gLast_flic_name[14];
|
||||
tU32 gPanel_flic_data_length[2];
|
||||
tU32 gLast_panel_frame_time[2];
|
||||
tU8* gPanel_flic_data[2];
|
||||
int gPanel_flic_top[2];
|
||||
tFlic_descriptor gPanel_flic[2];
|
||||
int gPanel_flic_left[2];
|
||||
int gPending_pending_flic = -1;
|
||||
int gSound_ID;
|
||||
int gTranslation_count;
|
||||
tDR_font* gTrans_fonts[15];
|
||||
tTranslation_record* gTranslations;
|
||||
br_pixelmap* gPalette;
|
||||
void* gPalette_pixels;
|
||||
tFlic_descriptor* gFirst_flic;
|
||||
|
||||
// IDA: void __cdecl EnableTranslationText()
|
||||
void EnableTranslationText() {
|
||||
|
|
|
@ -4,7 +4,42 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern int gPalette_allocate_count;
|
||||
extern int gPalette_fuck_prevention;
|
||||
extern int gDark_mode;
|
||||
extern int gTransparency_on;
|
||||
extern int gPanel_flic_disable;
|
||||
extern int gPending_flic;
|
||||
extern int gPlay_from_disk;
|
||||
extern int gTrans_enabled;
|
||||
extern br_pixelmap* gPanel_buffer[2];
|
||||
extern tU32 gSound_time;
|
||||
extern tFlic_spec gMain_flic_list[372];
|
||||
extern int gFlic_bunch0[29];
|
||||
extern int gFlic_bunch1[31];
|
||||
extern int gFlic_bunch2[8];
|
||||
extern int gFlic_bunch3[13];
|
||||
extern int gFlic_bunch4[22];
|
||||
extern int gFlic_bunch5[5];
|
||||
extern int gFlic_bunch6[51];
|
||||
extern int gFlic_bunch7[7];
|
||||
extern int gFlic_bunch8[16];
|
||||
extern tFlic_bunch gFlic_bunch[9];
|
||||
extern char gLast_flic_name[14];
|
||||
extern tU32 gPanel_flic_data_length[2];
|
||||
extern tU32 gLast_panel_frame_time[2];
|
||||
extern tU8* gPanel_flic_data[2];
|
||||
extern int gPanel_flic_top[2];
|
||||
extern tFlic_descriptor gPanel_flic[2];
|
||||
extern int gPanel_flic_left[2];
|
||||
extern int gPending_pending_flic;
|
||||
extern int gSound_ID;
|
||||
extern int gTranslation_count;
|
||||
extern tDR_font* gTrans_fonts[15];
|
||||
extern tTranslation_record* gTranslations;
|
||||
extern br_pixelmap* gPalette;
|
||||
extern void* gPalette_pixels;
|
||||
extern tFlic_descriptor* gFirst_flic;
|
||||
|
||||
void EnableTranslationText();
|
||||
|
||||
|
|
|
@ -1,19 +1,47 @@
|
|||
#include "globvars.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
int gTyping;
|
||||
int gArrow_mode;
|
||||
int gInfo_on;
|
||||
int gHost_abandon_game;
|
||||
int gRecover_car;
|
||||
int gDisallow_abandon_race;
|
||||
int gPipe_reg_snap_before_new_game;
|
||||
int gPipe_reg_snap_before_our_car;
|
||||
int gPipe_reg_snap_after_our_car;
|
||||
int gAction_replay_mode;
|
||||
int gDefault_engine_noise_index;
|
||||
int gAusterity_mode;
|
||||
int gSausage_override;
|
||||
int gAustere_override;
|
||||
int gSound_override;
|
||||
int gKey_map_index;
|
||||
int gInterface_within_race_mode;
|
||||
int gCut_scene_override;
|
||||
int gGame_to_load = -1;
|
||||
int gCD_is_in_drive;
|
||||
br_pixelmap* gRearview_screen;
|
||||
br_scalar gCut_delay_1;
|
||||
br_scalar gCut_delay_2;
|
||||
br_scalar gCut_delay_3;
|
||||
br_scalar gCut_delay_4;
|
||||
br_scalar gYon_multiplier;
|
||||
tSave_game* gPre_race_saved_game;
|
||||
FILE* gDiagnostic_file;
|
||||
br_vector3 gDisabled_vector;
|
||||
tU32 gI_am_cheating;
|
||||
char gNet_player_name[32];
|
||||
br_matrix34 gRearview_camera_to_world;
|
||||
tSpecial_volume gDefault_default_water_spec_vol;
|
||||
br_matrix34 gCamera_to_world;
|
||||
tRace_list_spec gRace_list[100];
|
||||
tPath_name gApplication_path;
|
||||
tU32 gI_am_cheating;
|
||||
float gPinball_factor;
|
||||
float gOpponent_speed_factor;
|
||||
float gCar_crush_min_fold;
|
||||
float gNet_recovery_cost[7];
|
||||
float gCar_crush_softness;
|
||||
br_vector3 gDisabled_vector;
|
||||
br_vector3* gOur_pos;
|
||||
float gCar_crush_max_fold;
|
||||
tBrender_storage gNet_cars_storage_space;
|
||||
|
@ -37,15 +65,12 @@ tOpponent* gOpponents;
|
|||
tU32 gLast_credit_tick;
|
||||
tBrender_storage gTheir_cars_storage_space;
|
||||
br_font* gHeadup_font;
|
||||
tSave_game* gPre_race_saved_game;
|
||||
tU32 gRace_finished;
|
||||
FILE* gDiagnostic_file;
|
||||
tU32 gFrame_start_time;
|
||||
tProgram_state gProgram_state;
|
||||
tU32 gCredit_period_single[3];
|
||||
tU32 gRace_start;
|
||||
tBrender_storage gTrack_storage_space;
|
||||
br_scalar gYon_multiplier;
|
||||
tU32 gFrame_period;
|
||||
tU32 gCredit_period;
|
||||
tU32 gCredit_period_network[7];
|
||||
|
@ -54,17 +79,12 @@ tU32 gFox_start_time;
|
|||
br_font* gBig_font;
|
||||
tBrender_storage gPedestrians_storage_space;
|
||||
tRace_info gCurrent_race;
|
||||
br_scalar gCut_delay_4;
|
||||
br_actor* gSelf;
|
||||
br_scalar gCut_delay_1;
|
||||
br_scalar gCut_delay_2;
|
||||
br_actor* gDont_render_actor;
|
||||
br_scalar gCut_delay_3;
|
||||
br_pixelmap* gScreen;
|
||||
br_pixelmap* gRender_screen;
|
||||
br_actor* gRearview_camera;
|
||||
br_scalar gCamera_hither;
|
||||
br_pixelmap* gRearview_screen;
|
||||
br_pixelmap* gBack_screen;
|
||||
br_scalar gCamera_angle;
|
||||
br_pixelmap* gDigits_pix;
|
||||
|
@ -77,26 +97,16 @@ br_actor* gCamera;
|
|||
br_actor* gArrow_actor;
|
||||
br_pixelmap* gIcons_pix_low_res;
|
||||
br_pixelmap* gDepth_buffer;
|
||||
int gSound_override;
|
||||
int gAustere_override;
|
||||
int gInitial_net_credits[5];
|
||||
float gCar_cred_value[3];
|
||||
int gNo_races_yet;
|
||||
int gDefault_engine_noise_index;
|
||||
int gGame_to_load = -1;
|
||||
int gJump_start_fine[3];
|
||||
int gSausage_override;
|
||||
int gAusterity_mode;
|
||||
int gReal_graf_data_index;
|
||||
float gCar_time_value[3];
|
||||
int gTyping_slot;
|
||||
int gCunning_stunt_bonus[3];
|
||||
int gKnobbled_frame_period;
|
||||
int gCD_is_in_drive;
|
||||
int gInterface_within_race_mode;
|
||||
br_actor* gNon_track_actor;
|
||||
int gCut_scene_override;
|
||||
int gKey_map_index;
|
||||
int gWait_for_it;
|
||||
int gCheck_point_cash[3];
|
||||
int gPoints_per_second[3];
|
||||
|
@ -104,25 +114,18 @@ br_actor* gUniverse_actor;
|
|||
br_actor* gTrack_actor;
|
||||
int gMap_mode;
|
||||
int gPed_time_value[3];
|
||||
int gHost_abandon_game;
|
||||
int gAbandon_game;
|
||||
int gLap;
|
||||
int gShow_opponents;
|
||||
int gPipe_reg_snap_before_new_game;
|
||||
int gTotal_laps;
|
||||
int gDisallow_abandon_race;
|
||||
int gFree_repairs;
|
||||
int gFreeze_timer;
|
||||
int gRoll_over_creds[3];
|
||||
int gShow_peds_on_map;
|
||||
int gOn_drugs;
|
||||
int gWasted_time[3];
|
||||
int gAction_replay_mode;
|
||||
int gPipe_reg_snap_after_our_car;
|
||||
int gRecover_car;
|
||||
int gCheckpoint;
|
||||
int gRoll_over_time[3];
|
||||
int gPipe_reg_snap_before_our_car;
|
||||
int gWasted_creds[3];
|
||||
int gTimer;
|
||||
int gCheckpoint_count;
|
||||
|
@ -130,10 +133,7 @@ int gCountdown;
|
|||
int gFrame_rate;
|
||||
int gNumber_of_racers;
|
||||
int gSound_enabled;
|
||||
int gInfo_on;
|
||||
int gGraf_spec_index = 0;
|
||||
int gTyping;
|
||||
int gGraf_spec_index;
|
||||
int gSound_available;
|
||||
int gNumber_of_races;
|
||||
int gArrow_mode;
|
||||
char gDir_separator[3] = "";
|
||||
|
|
|
@ -4,19 +4,47 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern int gTyping;
|
||||
extern int gArrow_mode;
|
||||
extern int gInfo_on;
|
||||
extern int gHost_abandon_game;
|
||||
extern int gRecover_car;
|
||||
extern int gDisallow_abandon_race;
|
||||
extern int gPipe_reg_snap_before_new_game;
|
||||
extern int gPipe_reg_snap_before_our_car;
|
||||
extern int gPipe_reg_snap_after_our_car;
|
||||
extern int gAction_replay_mode;
|
||||
extern int gDefault_engine_noise_index;
|
||||
extern int gAusterity_mode;
|
||||
extern int gSausage_override;
|
||||
extern int gAustere_override;
|
||||
extern int gSound_override;
|
||||
extern int gKey_map_index;
|
||||
extern int gInterface_within_race_mode;
|
||||
extern int gCut_scene_override;
|
||||
extern int gGame_to_load;
|
||||
extern int gCD_is_in_drive;
|
||||
extern br_pixelmap* gRearview_screen;
|
||||
extern br_scalar gCut_delay_1;
|
||||
extern br_scalar gCut_delay_2;
|
||||
extern br_scalar gCut_delay_3;
|
||||
extern br_scalar gCut_delay_4;
|
||||
extern br_scalar gYon_multiplier;
|
||||
extern tSave_game* gPre_race_saved_game;
|
||||
extern FILE* gDiagnostic_file;
|
||||
extern br_vector3 gDisabled_vector;
|
||||
extern tU32 gI_am_cheating;
|
||||
extern char gNet_player_name[32];
|
||||
extern br_matrix34 gRearview_camera_to_world;
|
||||
extern tSpecial_volume gDefault_default_water_spec_vol;
|
||||
extern br_matrix34 gCamera_to_world;
|
||||
extern tRace_list_spec gRace_list[100];
|
||||
extern tPath_name gApplication_path;
|
||||
extern tU32 gI_am_cheating;
|
||||
extern float gPinball_factor;
|
||||
extern float gOpponent_speed_factor;
|
||||
extern float gCar_crush_min_fold;
|
||||
extern float gNet_recovery_cost[7];
|
||||
extern float gCar_crush_softness;
|
||||
extern br_vector3 gDisabled_vector;
|
||||
extern br_vector3* gOur_pos;
|
||||
extern float gCar_crush_max_fold;
|
||||
extern tBrender_storage gNet_cars_storage_space;
|
||||
|
@ -40,15 +68,12 @@ extern tOpponent* gOpponents;
|
|||
extern tU32 gLast_credit_tick;
|
||||
extern tBrender_storage gTheir_cars_storage_space;
|
||||
extern br_font* gHeadup_font;
|
||||
extern tSave_game* gPre_race_saved_game;
|
||||
extern tU32 gRace_finished;
|
||||
extern FILE* gDiagnostic_file;
|
||||
extern tU32 gFrame_start_time;
|
||||
extern tProgram_state gProgram_state;
|
||||
extern tU32 gCredit_period_single[3];
|
||||
extern tU32 gRace_start;
|
||||
extern tBrender_storage gTrack_storage_space;
|
||||
extern br_scalar gYon_multiplier;
|
||||
extern tU32 gFrame_period;
|
||||
extern tU32 gCredit_period;
|
||||
extern tU32 gCredit_period_network[7];
|
||||
|
@ -57,17 +82,12 @@ extern tU32 gFox_start_time;
|
|||
extern br_font* gBig_font;
|
||||
extern tBrender_storage gPedestrians_storage_space;
|
||||
extern tRace_info gCurrent_race;
|
||||
extern br_scalar gCut_delay_4;
|
||||
extern br_actor* gSelf;
|
||||
extern br_scalar gCut_delay_1;
|
||||
extern br_scalar gCut_delay_2;
|
||||
extern br_actor* gDont_render_actor;
|
||||
extern br_scalar gCut_delay_3;
|
||||
extern br_pixelmap* gScreen;
|
||||
extern br_pixelmap* gRender_screen;
|
||||
extern br_actor* gRearview_camera;
|
||||
extern br_scalar gCamera_hither;
|
||||
extern br_pixelmap* gRearview_screen;
|
||||
extern br_pixelmap* gBack_screen;
|
||||
extern br_scalar gCamera_angle;
|
||||
extern br_pixelmap* gDigits_pix;
|
||||
|
@ -80,26 +100,16 @@ extern br_actor* gCamera;
|
|||
extern br_actor* gArrow_actor;
|
||||
extern br_pixelmap* gIcons_pix_low_res;
|
||||
extern br_pixelmap* gDepth_buffer;
|
||||
extern int gSound_override;
|
||||
extern int gAustere_override;
|
||||
extern int gInitial_net_credits[5];
|
||||
extern float gCar_cred_value[3];
|
||||
extern int gNo_races_yet;
|
||||
extern int gDefault_engine_noise_index;
|
||||
extern int gGame_to_load;
|
||||
extern int gJump_start_fine[3];
|
||||
extern int gSausage_override;
|
||||
extern int gAusterity_mode;
|
||||
extern int gReal_graf_data_index;
|
||||
extern float gCar_time_value[3];
|
||||
extern int gTyping_slot;
|
||||
extern int gCunning_stunt_bonus[3];
|
||||
extern int gKnobbled_frame_period;
|
||||
extern int gCD_is_in_drive;
|
||||
extern int gInterface_within_race_mode;
|
||||
extern br_actor* gNon_track_actor;
|
||||
extern int gCut_scene_override;
|
||||
extern int gKey_map_index;
|
||||
extern int gWait_for_it;
|
||||
extern int gCheck_point_cash[3];
|
||||
extern int gPoints_per_second[3];
|
||||
|
@ -107,25 +117,18 @@ extern br_actor* gUniverse_actor;
|
|||
extern br_actor* gTrack_actor;
|
||||
extern int gMap_mode;
|
||||
extern int gPed_time_value[3];
|
||||
extern int gHost_abandon_game;
|
||||
extern int gAbandon_game;
|
||||
extern int gLap;
|
||||
extern int gShow_opponents;
|
||||
extern int gPipe_reg_snap_before_new_game;
|
||||
extern int gTotal_laps;
|
||||
extern int gDisallow_abandon_race;
|
||||
extern int gFree_repairs;
|
||||
extern int gFreeze_timer;
|
||||
extern int gRoll_over_creds[3];
|
||||
extern int gShow_peds_on_map;
|
||||
extern int gOn_drugs;
|
||||
extern int gWasted_time[3];
|
||||
extern int gAction_replay_mode;
|
||||
extern int gPipe_reg_snap_after_our_car;
|
||||
extern int gRecover_car;
|
||||
extern int gCheckpoint;
|
||||
extern int gRoll_over_time[3];
|
||||
extern int gPipe_reg_snap_before_our_car;
|
||||
extern int gWasted_creds[3];
|
||||
extern int gTimer;
|
||||
extern int gCheckpoint_count;
|
||||
|
@ -133,12 +136,9 @@ extern int gCountdown;
|
|||
extern int gFrame_rate;
|
||||
extern int gNumber_of_racers;
|
||||
extern int gSound_enabled;
|
||||
extern int gInfo_on;
|
||||
extern int gGraf_spec_index;
|
||||
extern int gTyping;
|
||||
extern int gSound_available;
|
||||
extern int gNumber_of_races;
|
||||
extern int gArrow_mode;
|
||||
extern char gDir_separator[3];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "globvrbm.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
br_scalar gYon_factor;
|
||||
br_material* gMaterial[2];
|
||||
int g16bit_palette_valid;
|
||||
tException_list gExceptions;
|
||||
|
@ -29,7 +30,6 @@ int gPerspective_is_fast;
|
|||
int gUse_mip_maps;
|
||||
int gBlitting_is_slow;
|
||||
int gTextures_need_powers_of_2;
|
||||
br_scalar gYon_factor;
|
||||
int gMax_texture_side;
|
||||
int gDevious_2d;
|
||||
int gMax_texture_aspect_ratio;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern br_scalar gYon_factor;
|
||||
extern br_material* gMaterial[2];
|
||||
extern int g16bit_palette_valid;
|
||||
extern tException_list gExceptions;
|
||||
|
@ -32,7 +33,6 @@ extern int gPerspective_is_fast;
|
|||
extern int gUse_mip_maps;
|
||||
extern int gBlitting_is_slow;
|
||||
extern int gTextures_need_powers_of_2;
|
||||
extern br_scalar gYon_factor;
|
||||
extern int gMax_texture_side;
|
||||
extern int gDevious_2d;
|
||||
extern int gMax_texture_aspect_ratio;
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#include "globvrkm.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
br_scalar gCamera_zoom = 0.2f;
|
||||
br_angle gCamera_yaw;
|
||||
br_vector3 gView_direction = { { 0.0, 0.0, -1.0 } };
|
||||
int gCamera_sign;
|
||||
int gCar_flying;
|
||||
int gCamera_reset;
|
||||
tCar_spec* gCar_to_view;
|
||||
br_actor* gCamera_list[2];
|
||||
tCar_spec* gActive_car_list[25];
|
||||
int gNum_active_cars;
|
||||
tCar_spec* gCar_to_view;
|
||||
float gRecovery_cost[3];
|
||||
br_scalar gCamera_zoom = 0.2f;
|
||||
br_scalar gCamera_height;
|
||||
br_vector3 gView_direction = { { 0.0, 0.0, -1.0 } };
|
||||
br_scalar gMin_camera_car_distance;
|
||||
int gCar_flying;
|
||||
int gCamera_sign;
|
||||
int gCamera_reset;
|
||||
br_angle gCamera_yaw;
|
||||
|
|
|
@ -4,18 +4,18 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern br_scalar gCamera_zoom;
|
||||
extern br_angle gCamera_yaw;
|
||||
extern br_vector3 gView_direction;
|
||||
extern int gCamera_sign;
|
||||
extern int gCar_flying;
|
||||
extern int gCamera_reset;
|
||||
extern tCar_spec* gCar_to_view;
|
||||
extern br_actor* gCamera_list[2];
|
||||
extern tCar_spec* gActive_car_list[25];
|
||||
extern int gNum_active_cars;
|
||||
extern tCar_spec* gCar_to_view;
|
||||
extern float gRecovery_cost[3];
|
||||
extern br_scalar gCamera_zoom;
|
||||
extern br_scalar gCamera_height;
|
||||
extern br_vector3 gView_direction;
|
||||
extern br_scalar gMin_camera_car_distance;
|
||||
extern int gCar_flying;
|
||||
extern int gCamera_sign;
|
||||
extern int gCamera_reset;
|
||||
extern br_angle gCamera_yaw;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -4,4 +4,7 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern tCar_spec* gViewable_car_list[50];
|
||||
extern int gNum_viewable_cars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "globvrpb.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
tNet_mode gNet_mode;
|
||||
tNet_game_player_info gNet_players[6];
|
||||
br_matrix34 gRoot_to_camera;
|
||||
tCar_detail_info gCar_details[60];
|
||||
|
@ -8,7 +9,6 @@ int gThis_net_player_index;
|
|||
br_scalar gPedestrian_distance_squared;
|
||||
int gPending_race;
|
||||
tPlayer_ID gLocal_net_ID;
|
||||
tNet_mode gNet_mode = 0;
|
||||
int gNumber_of_net_players;
|
||||
int gStart_race_sent;
|
||||
int gSynch_race_start;
|
||||
|
@ -21,6 +21,4 @@ int gNetwork_available;
|
|||
int gPedestrian_image;
|
||||
int gHighest_pedestrian_value;
|
||||
int gNeed_to_send_start_race;
|
||||
int gRendering_mirror;
|
||||
|
||||
int dword_551424;
|
||||
int gRendering_mirror;
|
|
@ -4,6 +4,7 @@
|
|||
#include "br_types.h"
|
||||
#include "dr_types.h"
|
||||
|
||||
extern tNet_mode gNet_mode;
|
||||
extern tNet_game_player_info gNet_players[6];
|
||||
extern br_matrix34 gRoot_to_camera;
|
||||
extern tCar_detail_info gCar_details[60];
|
||||
|
@ -11,7 +12,6 @@ extern int gThis_net_player_index;
|
|||
extern br_scalar gPedestrian_distance_squared;
|
||||
extern int gPending_race;
|
||||
extern tPlayer_ID gLocal_net_ID;
|
||||
extern tNet_mode gNet_mode;
|
||||
extern int gNumber_of_net_players;
|
||||
extern int gStart_race_sent;
|
||||
extern int gSynch_race_start;
|
||||
|
@ -26,6 +26,4 @@ extern int gHighest_pedestrian_value;
|
|||
extern int gNeed_to_send_start_race;
|
||||
extern int gRendering_mirror;
|
||||
|
||||
extern int dword_551424;
|
||||
|
||||
#endif
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue