diff --git a/.gitignore b/.gitignore index 378eac25..d76b74e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build +.DS_Store diff --git a/README.md b/README.md index 90f99e06..34021fe9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # dethrace ![](https://github.com/jeff-1amstudios/dethrace/workflows/CI/badge.svg) [Discord channel](https://discord.gg/f5StsuP) + +## Tools diff --git a/src/BRSRC13/CORE/DOSIO/eventq.c b/src/BRSRC13/CORE/DOSIO/eventq.c index 61c063f2..0354baf6 100644 --- a/src/BRSRC13/CORE/DOSIO/eventq.c +++ b/src/BRSRC13/CORE/DOSIO/eventq.c @@ -1,6 +1,5 @@ #include "eventq.h" -// Global variables char rscid[48]; int _DOSEventQEnabled; host_real_memory _DOSEventMemory; @@ -8,7 +7,7 @@ host_real_memory _DOSEventMemory; // Offset: 14 // Size: 200 br_error DOSEventBegin() { - int s; + int s; } // Offset: 226 @@ -19,6 +18,6 @@ void DOSEventEnd() { // Offset: 302 // Size: 407 br_boolean DOSEventWait(dosio_event *event, br_boolean block) { - int t; + int t; } diff --git a/src/BRSRC13/CORE/DOSIO/eventq.h b/src/BRSRC13/CORE/DOSIO/eventq.h index 7a1e6259..a53e4ed2 100644 --- a/src/BRSRC13/CORE/DOSIO/eventq.h +++ b/src/BRSRC13/CORE/DOSIO/eventq.h @@ -1,5 +1,9 @@ +#ifndef _EVENTQ_H_ +#define _EVENTQ_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 200 br_error DOSEventBegin(); @@ -12,3 +16,4 @@ void DOSEventEnd(); // Size: 407 br_boolean DOSEventWait(dosio_event *event, br_boolean block); +#endif diff --git a/src/BRSRC13/CORE/DOSIO/readmse.c b/src/BRSRC13/CORE/DOSIO/readmse.c index 7c5c5703..c3a026c4 100644 --- a/src/BRSRC13/CORE/DOSIO/readmse.c +++ b/src/BRSRC13/CORE/DOSIO/readmse.c @@ -1,6 +1,5 @@ #include "readmse.h" -// Global variables host_real_memory mouseMemory; host_regs regs; br_boolean mouseActive; @@ -20,9 +19,9 @@ void DOSMouseEnd() { // Offset: 489 // Size: 217 br_error DOSMouseRead(br_int_32 *mouse_x, br_int_32 *mouse_y, br_uint_32 *mouse_buttons) { - br_int_16 mx; - br_int_16 my; - br_int_16 ox; - br_int_16 oy; + br_int_16 mx; + br_int_16 my; + br_int_16 ox; + br_int_16 oy; } diff --git a/src/BRSRC13/CORE/DOSIO/readmse.h b/src/BRSRC13/CORE/DOSIO/readmse.h index 09b13c16..394418f6 100644 --- a/src/BRSRC13/CORE/DOSIO/readmse.h +++ b/src/BRSRC13/CORE/DOSIO/readmse.h @@ -1,5 +1,9 @@ +#ifndef _READMSE_H_ +#define _READMSE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 358 br_error DOSMouseBegin(); @@ -12,3 +16,4 @@ void DOSMouseEnd(); // Size: 217 br_error DOSMouseRead(br_int_32 *mouse_x, br_int_32 *mouse_y, br_uint_32 *mouse_buttons); +#endif diff --git a/src/BRSRC13/CORE/FW/assocarr.c b/src/BRSRC13/CORE/FW/assocarr.c index 3af404a2..c7f6d423 100644 --- a/src/BRSRC13/CORE/FW/assocarr.c +++ b/src/BRSRC13/CORE/FW/assocarr.c @@ -1,11 +1,10 @@ #include "assocarr.h" -// Global variables // Offset: 27 // Size: 145 br_associative_array* BrAssociativeArrayAllocate() { - br_associative_array *pArray; + br_associative_array *pArray; } // Offset: 200 @@ -13,8 +12,7 @@ br_associative_array* BrAssociativeArrayAllocate() { // EAX: pArray // EDX: index // EBX: v -br_error Set_Associative_Array_Value(br_associative_array *pArray, int index) { - br_value v; +br_error Set_Associative_Array_Value(br_associative_array *pArray, int index, br_value v) { } // Offset: 434 @@ -22,20 +20,18 @@ br_error Set_Associative_Array_Value(br_associative_array *pArray, int index) { // EAX: pArray // EDX: t // EBX: v -br_error BrAssociativeArraySetEntry(br_associative_array *pArray, br_token t) { - br_value v; - br_uint_16 i; - br_token_value *temp; +br_error BrAssociativeArraySetEntry(br_associative_array *pArray, br_token t, br_value v) { + br_uint_16 i; + br_token_value *temp; } // Offset: 999 // Size: 363 // EAX: pArray // EDX: t -br_error BrAssociativeArrayRemoveEntry(br_associative_array *pArray) { - br_token t; - br_uint_16 i; - br_boolean bFound; +br_error BrAssociativeArrayRemoveEntry(br_associative_array *pArray, br_token t) { + br_uint_16 i; + br_boolean bFound; } // Offset: 1386 @@ -43,8 +39,7 @@ br_error BrAssociativeArrayRemoveEntry(br_associative_array *pArray) { // EAX: pArray // EDX: t // EBX: pValue -br_error BrAssociativeArrayQuery(br_associative_array *pArray, br_token t) { - br_value *pValue; - br_uint_16 i; +br_error BrAssociativeArrayQuery(br_associative_array *pArray, br_token t, br_value *pValue) { + br_uint_16 i; } diff --git a/src/BRSRC13/CORE/FW/assocarr.h b/src/BRSRC13/CORE/FW/assocarr.h index 22c1e79d..1099adb0 100644 --- a/src/BRSRC13/CORE/FW/assocarr.h +++ b/src/BRSRC13/CORE/FW/assocarr.h @@ -1,5 +1,9 @@ +#ifndef _ASSOCARR_H_ +#define _ASSOCARR_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 27 // Size: 145 br_associative_array* BrAssociativeArrayAllocate(); @@ -9,25 +13,26 @@ br_associative_array* BrAssociativeArrayAllocate(); // EAX: pArray // EDX: index // EBX: v -br_error Set_Associative_Array_Value(br_associative_array *pArray, int index); +br_error Set_Associative_Array_Value(br_associative_array *pArray, int index, br_value v); // Offset: 434 // Size: 535 // EAX: pArray // EDX: t // EBX: v -br_error BrAssociativeArraySetEntry(br_associative_array *pArray, br_token t); +br_error BrAssociativeArraySetEntry(br_associative_array *pArray, br_token t, br_value v); // Offset: 999 // Size: 363 // EAX: pArray // EDX: t -br_error BrAssociativeArrayRemoveEntry(br_associative_array *pArray); +br_error BrAssociativeArrayRemoveEntry(br_associative_array *pArray, br_token t); // Offset: 1386 // Size: 202 // EAX: pArray // EDX: t // EBX: pValue -br_error BrAssociativeArrayQuery(br_associative_array *pArray, br_token t); +br_error BrAssociativeArrayQuery(br_associative_array *pArray, br_token t, br_value *pValue); +#endif diff --git a/src/BRSRC13/CORE/FW/brbegin.c b/src/BRSRC13/CORE/FW/brbegin.c index 7e04d19c..9e3b763e 100644 --- a/src/BRSRC13/CORE/FW/brbegin.c +++ b/src/BRSRC13/CORE/FW/brbegin.c @@ -1,6 +1,5 @@ #include "brbegin.h" -// Global variables br_boolean active; char rscid[54]; diff --git a/src/BRSRC13/CORE/FW/brbegin.h b/src/BRSRC13/CORE/FW/brbegin.h index 2ba74a03..76caf94c 100644 --- a/src/BRSRC13/CORE/FW/brbegin.h +++ b/src/BRSRC13/CORE/FW/brbegin.h @@ -1,5 +1,9 @@ +#ifndef _BRBEGIN_H_ +#define _BRBEGIN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 8 // Size: 88 br_error BrBegin(); @@ -8,3 +12,4 @@ br_error BrBegin(); // Size: 126 br_error BrEnd(); +#endif diff --git a/src/BRSRC13/CORE/FW/brbhook.c b/src/BRSRC13/CORE/FW/brbhook.c index b50211ee..795bbebd 100644 --- a/src/BRSRC13/CORE/FW/brbhook.c +++ b/src/BRSRC13/CORE/FW/brbhook.c @@ -1,6 +1,5 @@ #include "brbhook.h" -// Global variables char rscid[49]; // Offset: 13 diff --git a/src/BRSRC13/CORE/FW/brbhook.h b/src/BRSRC13/CORE/FW/brbhook.h index 0d257354..83ed78fa 100644 --- a/src/BRSRC13/CORE/FW/brbhook.h +++ b/src/BRSRC13/CORE/FW/brbhook.h @@ -1,5 +1,9 @@ +#ifndef _BRBHOOK_H_ +#define _BRBHOOK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 13 // Size: 30 void _BrBeginHook(); @@ -8,3 +12,4 @@ void _BrBeginHook(); // Size: 30 void _BrEndHook(); +#endif diff --git a/src/BRSRC13/CORE/FW/brlists.c b/src/BRSRC13/CORE/FW/brlists.c index dec75b2a..303ee362 100644 --- a/src/BRSRC13/CORE/FW/brlists.c +++ b/src/BRSRC13/CORE/FW/brlists.c @@ -1,6 +1,5 @@ #include "brlists.h" -// Global variables char rscid[49]; // Offset: 10 @@ -21,13 +20,13 @@ void BrAddTail(br_list *list, br_node *node) { // Offset: 241 // Size: 77 br_node* BrRemHead(br_list *list) { - br_node *n; + br_node *n; } // Offset: 328 // Size: 77 br_node* BrRemTail(br_list *list) { - br_node *n; + br_node *n; } // Offset: 414 @@ -53,7 +52,7 @@ void BrSimpleAddHead(br_simple_list *list, br_simple_node *node) { // Offset: 720 // Size: 65 br_simple_node* BrSimpleRemHead(br_simple_list *list) { - br_simple_node *node; + br_simple_node *node; } // Offset: 800 diff --git a/src/BRSRC13/CORE/FW/brlists.h b/src/BRSRC13/CORE/FW/brlists.h index c28146c3..cd879988 100644 --- a/src/BRSRC13/CORE/FW/brlists.h +++ b/src/BRSRC13/CORE/FW/brlists.h @@ -1,5 +1,9 @@ +#ifndef _BRLISTS_H_ +#define _BRLISTS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 60 void BrNewList(br_list *list); @@ -48,3 +52,4 @@ void BrSimpleInsert(br_simple_list *list, br_simple_node *here, br_simple_node * // Size: 93 br_simple_node* BrSimpleRemove(br_simple_node *node); +#endif diff --git a/src/BRSRC13/CORE/FW/brqsort.h b/src/BRSRC13/CORE/FW/brqsort.h index b41ef3c0..df4a32c3 100644 --- a/src/BRSRC13/CORE/FW/brqsort.h +++ b/src/BRSRC13/CORE/FW/brqsort.h @@ -1,5 +1,9 @@ +#ifndef _BRQSORT_H_ +#define _BRQSORT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 8 // Size: 560 void BrQsort(void *basep, unsigned int nelems, unsigned int size, br_qsort_cbfn comp); @@ -25,3 +29,4 @@ void swap_ints(char *ap, char *bp, unsigned int nints); // EBX: nints void swap_int_1(char *ap, char *bp, unsigned int nints); +#endif diff --git a/src/BRSRC13/CORE/FW/bswap.c b/src/BRSRC13/CORE/FW/bswap.c index 2ac87e7e..718299e1 100644 --- a/src/BRSRC13/CORE/FW/bswap.c +++ b/src/BRSRC13/CORE/FW/bswap.c @@ -1,40 +1,39 @@ #include "bswap.h" -// Global variables char rscid[47]; // Offset: 9 // Size: 81 br_uint_32 BrSwap32(br_uint_32 l) { - struct { - unsigned long l; - unsigned char c[4]; - } u; + struct { + unsigned long l; + unsigned char c[4]; + }; } // Offset: 99 // Size: 64 br_uint_16 BrSwap16(br_uint_16 s) { - struct { - unsigned short s; - unsigned char c[2]; - } u; + struct { + unsigned short s; + unsigned char c[2]; + }; } // Offset: 175 // Size: 92 br_float BrSwapFloat(br_float f) { - struct { - br_float f; - unsigned char c[4]; - } u; + struct { + br_float f; + unsigned char c[4]; + }; } // Offset: 279 // Size: 781 void* BrSwapBlock(void *block, int count, int size) { - br_uint_8 *cp; - int i; - int k; + br_uint_8 *cp; + int i; + int k; } diff --git a/src/BRSRC13/CORE/FW/bswap.h b/src/BRSRC13/CORE/FW/bswap.h index 23452369..c431e408 100644 --- a/src/BRSRC13/CORE/FW/bswap.h +++ b/src/BRSRC13/CORE/FW/bswap.h @@ -1,5 +1,9 @@ +#ifndef _BSWAP_H_ +#define _BSWAP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 9 // Size: 81 br_uint_32 BrSwap32(br_uint_32 l); @@ -16,3 +20,4 @@ br_float BrSwapFloat(br_float f); // Size: 781 void* BrSwapBlock(void *block, int count, int size); +#endif diff --git a/src/BRSRC13/CORE/FW/datafile.c b/src/BRSRC13/CORE/FW/datafile.c index df0a1899..b4a4a085 100644 --- a/src/BRSRC13/CORE/FW/datafile.c +++ b/src/BRSRC13/CORE/FW/datafile.c @@ -1,6 +1,5 @@ #include "datafile.h" -// Global variables br_file_primitives _BrFilePrimsNull; br_file_primitives _BrFilePrimsReadBinary; br_file_primitives _BrFilePrimsWriteText; @@ -8,10 +7,10 @@ br_file_primitives _BrFilePrimsWriteBinary; br_file_primitives _BrFilePrimsReadText; char *member_type_names[32]; struct { - int type; - void *value; - int count; - } DatafileStack; + int type; + void *value; + int count; + }; char *ChunkNames[61]; char rscid[52]; int DatafileStackTop; @@ -48,7 +47,8 @@ int DfTopType() { // EAX: df // EDX: ident // EBX: data -int TextReadLine(br_datafile *df, char **ident, char **data, unsigned char cp, int (__unk4__)(br_datafile*, br_uint_32, br_uint_32)) { +int TextReadLine(br_datafile *df, char **ident, char **data) { + char *cp; } // Offset: 1083 @@ -63,15 +63,16 @@ br_uint_16 scalarTypeConvert(br_datafile *df, br_uint_16 t) { // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructWriteBinary(br_datafile *df, br_file_struct *str, void *base, char m) { - int i; - int n; - unsigned char *mp; - br_file_struct_member *sm; - struct { - unsigned char b[8]; - float f; - } conv; +br_uint_32 DfStructWriteBinary(br_datafile *df, br_file_struct *str, void *base) { + unsigned int m; + int i; + int n; + unsigned char *mp; + br_file_struct_member *sm; + struct { + unsigned char b[8]; + float f; + }; } // Offset: 2769 @@ -79,17 +80,18 @@ br_uint_32 DfStructWriteBinary(br_datafile *df, br_file_struct *str, void *base, // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructReadBinary(br_datafile *df, br_file_struct *str, void *base, char tmp_string) { - unsigned int m; - int i; - int c; - int n; - unsigned char *mp; - br_file_struct_member *sm; - struct { - unsigned char b[8]; - float f; - } conv; +br_uint_32 DfStructReadBinary(br_datafile *df, br_file_struct *str, void *base) { + char tmp_string[256]; + unsigned int m; + int i; + int c; + int n; + unsigned char *mp; + br_file_struct_member *sm; + struct { + unsigned char b[8]; + float f; + }; } // Offset: 4182 @@ -97,28 +99,27 @@ br_uint_32 DfStructReadBinary(br_datafile *df, br_file_struct *str, void *base, // EAX: df // EDX: str // EBX: base -int DfStructSizeBinary(br_datafile *df, br_file_struct *str, void *base, char mp) { - unsigned int m; - br_file_struct_member *sm; - int bytes; +int DfStructSizeBinary(br_datafile *df, br_file_struct *str, void *base) { + unsigned char *mp; + unsigned int m; + br_file_struct_member *sm; + int bytes; } // Offset: 4624 // Size: 177 // EAX: e // EDX: str -int EnumFromString(br_file_enum *e) { - char *str; - unsigned int m; +int EnumFromString(br_file_enum *e, char *str) { + unsigned int m; } // Offset: 4814 // Size: 138 // EAX: e // EDX: num -char* EnumToString(br_file_enum *e) { - int num; - unsigned int m; +char* EnumToString(br_file_enum *e, int num) { + unsigned int m; } // Offset: 4970 @@ -126,7 +127,7 @@ char* EnumToString(br_file_enum *e) { // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base, char __unk3__) { +br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base) { } // Offset: 5081 @@ -135,12 +136,13 @@ br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base, c // EDX: str // EBX: base // ECX: indent -br_uint_32 StructWriteTextSub(br_datafile *df, br_file_struct *str, void *base, int indent, int m) { - int i; - int w; - int add_comment; - void *mp; - br_file_struct_member *sm; +br_uint_32 StructWriteTextSub(br_datafile *df, br_file_struct *str, void *base, int indent) { + unsigned int m; + int i; + int w; + int add_comment; + void *mp; + br_file_struct_member *sm; } // Offset: 6925 @@ -148,8 +150,9 @@ br_uint_32 StructWriteTextSub(br_datafile *df, br_file_struct *str, void *base, // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructReadText(br_datafile *df, br_file_struct *str, void *base, char id) { - char *data; +br_uint_32 DfStructReadText(br_datafile *df, br_file_struct *str, void *base) { + char *id; + char *data; } // Offset: 7099 @@ -157,17 +160,18 @@ br_uint_32 DfStructReadText(br_datafile *df, br_file_struct *str, void *base, ch // EAX: df // EDX: str // EBX: base -br_uint_32 StructReadTextSub(br_datafile *df, br_file_struct *str, void *base, char m) { - unsigned int r; - unsigned int g; - unsigned int b; - int i; - int n; - void *mp; - br_file_struct_member *sm; - char *id; - char *data; - char *ep; +br_uint_32 StructReadTextSub(br_datafile *df, br_file_struct *str, void *base) { + unsigned int m; + unsigned int r; + unsigned int g; + unsigned int b; + int i; + int n; + void *mp; + br_file_struct_member *sm; + char *id; + char *data; + char *ep; } // Offset: 8725 @@ -175,9 +179,10 @@ br_uint_32 StructReadTextSub(br_datafile *df, br_file_struct *str, void *base, c // EAX: df // EDX: str // EBX: base -int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base, char m) { - br_file_struct_member *sm; - int lines; +int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base) { + unsigned int m; + br_file_struct_member *sm; + int lines; } // Offset: 8888 @@ -186,8 +191,9 @@ int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base, char m) { // EDX: str // EBX: base // ECX: n -br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, int n, int cp) { - int i; +br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, int n) { + char *cp; + int i; } // Offset: 9015 @@ -196,8 +202,9 @@ br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, // EDX: str // EBX: base // ECX: n -br_uint_32 DfStructReadArray(br_datafile *df, br_file_struct *str, void *base, int n, int cp) { - int i; +br_uint_32 DfStructReadArray(br_datafile *df, br_file_struct *str, void *base, int n) { + char *cp; + int i; } // Offset: 9158 @@ -213,9 +220,9 @@ int DfChunkWriteText(br_datafile *df, br_uint_32 id, br_uint_32 length) { // EAX: df // EDX: plength int DfChunkReadText(br_datafile *df, br_uint_32 *plength) { - int i; - char *id; - char *data; + int i; + char *id; + char *data; } // Offset: 9581 @@ -224,7 +231,7 @@ int DfChunkReadText(br_datafile *df, br_uint_32 *plength) { // EDX: id // EBX: length int DfChunkWriteBinary(br_datafile *df, br_uint_32 id, br_uint_32 length) { - br_uint_32 l; + br_uint_32 l; } // Offset: 9720 @@ -232,8 +239,8 @@ int DfChunkWriteBinary(br_datafile *df, br_uint_32 id, br_uint_32 length) { // EAX: df // EDX: plength int DfChunkReadBinary(br_datafile *df, br_uint_32 *plength) { - br_uint_32 id; - br_uint_32 l; + br_uint_32 id; + br_uint_32 l; } // Offset: 9947 @@ -247,8 +254,8 @@ void DfCountWriteText(br_datafile *df, br_uint_32 count) { // Size: 109 // EAX: df br_uint_32 DfCountReadText(br_datafile *df) { - char *id; - char *data; + char *id; + char *data; } // Offset: 10152 @@ -256,14 +263,14 @@ br_uint_32 DfCountReadText(br_datafile *df) { // EAX: df // EDX: count void DfCountWriteBinary(br_datafile *df, br_uint_32 count) { - br_uint_32 l; + br_uint_32 l; } // Offset: 10244 // Size: 76 // EAX: df br_uint_32 DfCountReadBinary(br_datafile *df) { - br_uint_32 l; + br_uint_32 l; } // Offset: 10336 @@ -285,10 +292,10 @@ int DfCountSizeBinary(br_datafile *df) { // EBX: block_stride // ECX: block_count br_uint_8* BlockWriteSetup(void *base, int block_size, int block_stride, int block_count, int size) { - int b; - br_uint_8 *block; - br_uint_8 *sp; - br_uint_8 *dp; + int b; + br_uint_8 *block; + br_uint_8 *sp; + br_uint_8 *dp; } // Offset: 10708 @@ -298,10 +305,10 @@ br_uint_8* BlockWriteSetup(void *base, int block_size, int block_stride, int blo // EBX: block_size // ECX: block_stride int DfBlockWriteText(br_datafile *df, void *base, int block_size, int block_stride, int block_count, int size) { - int i; - br_uint_8 *cp; - br_uint_8 *block; - int count; + int i; + br_uint_8 *cp; + br_uint_8 *block; + int count; } // Offset: 11082 @@ -311,12 +318,12 @@ int DfBlockWriteText(br_datafile *df, void *base, int block_size, int block_stri // EBX: count // ECX: size void* DfBlockReadText(br_datafile *df, void *base, int *count, int size, int mtype) { - char *id; - char *data; - int l; - int s; - int a; - char b[3]; + char *id; + char *data; + int l; + int s; + int a; + char b[3]; } // Offset: 11599 @@ -326,10 +333,10 @@ void* DfBlockReadText(br_datafile *df, void *base, int *count, int size, int mty // EBX: block_size // ECX: block_stride int DfBlockWriteBinary(br_datafile *df, void *base, int block_size, int block_stride, int block_count, int size) { - int count; - br_uint_32 l; - br_uint_32 s; - void *block; + int count; + br_uint_32 l; + br_uint_32 s; + void *block; } // Offset: 11820 @@ -339,8 +346,8 @@ int DfBlockWriteBinary(br_datafile *df, void *base, int block_size, int block_st // EBX: count // ECX: size void* DfBlockReadBinary(br_datafile *df, void *base, int *count, int size, int mtype) { - int l; - int s; + int l; + int s; } // Offset: 12136 @@ -366,8 +373,8 @@ int DfBlockSizeBinary(br_datafile *df, void *base, int block_size, int block_str // EAX: df // EDX: name char* DfNameReadText(br_datafile *df, char *name) { - char *id; - char *data; + char *id; + char *data; } // Offset: 12482 @@ -389,8 +396,8 @@ int DfNameSizeText(br_datafile *df, char *name) { // EAX: df // EDX: name char* DfNameReadBinary(br_datafile *df, char *name) { - int c; - int i; + int c; + int i; } // Offset: 12796 @@ -412,8 +419,8 @@ int DfNameSizeBinary(br_datafile *df, char *name) { // EAX: df // EDX: length int DfSkipText(br_datafile *df, br_uint_32 length) { - char *id; - char *data; + char *id; + char *data; } // Offset: 13102 @@ -427,11 +434,12 @@ int DfSkipBinary(br_datafile *df, br_uint_32 length) { // Size: 241 // EAX: df // EDX: table -int DfChunksInterpret(br_datafile *df, br_chunks_table *table, signed char length) { - br_uint_32 count; - br_uint_32 id; - int r; - int i; +int DfChunksInterpret(br_datafile *df, br_chunks_table *table) { + br_uint_32 length; + br_uint_32 count; + br_uint_32 id; + int r; + int i; } // Offset: 13438 @@ -442,8 +450,8 @@ void BrNullOther() { // Offset: 13512 // Size: 168 int DfFileIdentify(br_uint_8 *magics, br_size_t n_magics) { - char text_magics[8]; - char binary_magics[8]; + char text_magics[8]; + char binary_magics[8]; } // Offset: 13687 @@ -452,21 +460,21 @@ int DfFileIdentify(br_uint_8 *magics, br_size_t n_magics) { // EDX: write // EBX: scalar_type br_datafile* DfOpen(char *name, int write, br_token scalar_type) { - int mode; - br_datafile *df; - void *h; + int mode; + br_datafile *df; + void *h; } // Offset: 13973 // Size: 198 // EAX: df void DfClose(br_datafile *df) { - br_datafile *dfp; + br_datafile *dfp; } // Offset: 14186 // Size: 94 int BrWriteModeSet(int mode) { - int old; + int old; } diff --git a/src/BRSRC13/CORE/FW/datafile.h b/src/BRSRC13/CORE/FW/datafile.h index 3424507b..560465f7 100644 --- a/src/BRSRC13/CORE/FW/datafile.h +++ b/src/BRSRC13/CORE/FW/datafile.h @@ -1,5 +1,9 @@ +#ifndef _DATAFILE_H_ +#define _DATAFILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 7 // Size: 209 // EAX: type @@ -28,7 +32,7 @@ int DfTopType(); // EAX: df // EDX: ident // EBX: data -int TextReadLine(br_datafile *df, char **ident, char **data, unsigned char cp, int (__unk4__)(br_datafile*, br_uint_32, br_uint_32)); +int TextReadLine(br_datafile *df, char **ident, char **data); // Offset: 1083 // Size: 436 @@ -41,40 +45,40 @@ br_uint_16 scalarTypeConvert(br_datafile *df, br_uint_16 t); // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructWriteBinary(br_datafile *df, br_file_struct *str, void *base, char m); +br_uint_32 DfStructWriteBinary(br_datafile *df, br_file_struct *str, void *base); // Offset: 2769 // Size: 1394 // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructReadBinary(br_datafile *df, br_file_struct *str, void *base, char tmp_string); +br_uint_32 DfStructReadBinary(br_datafile *df, br_file_struct *str, void *base); // Offset: 4182 // Size: 427 // EAX: df // EDX: str // EBX: base -int DfStructSizeBinary(br_datafile *df, br_file_struct *str, void *base, char mp); +int DfStructSizeBinary(br_datafile *df, br_file_struct *str, void *base); // Offset: 4624 // Size: 177 // EAX: e // EDX: str -int EnumFromString(br_file_enum *e); +int EnumFromString(br_file_enum *e, char *str); // Offset: 4814 // Size: 138 // EAX: e // EDX: num -char* EnumToString(br_file_enum *e); +char* EnumToString(br_file_enum *e, int num); // Offset: 4970 // Size: 92 // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base, char __unk3__); +br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base); // Offset: 5081 // Size: 1827 @@ -82,28 +86,28 @@ br_uint_32 DfStructWriteText(br_datafile *df, br_file_struct *str, void *base, c // EDX: str // EBX: base // ECX: indent -br_uint_32 StructWriteTextSub(br_datafile *df, br_file_struct *str, void *base, int indent, int m); +br_uint_32 StructWriteTextSub(br_datafile *df, br_file_struct *str, void *base, int indent); // Offset: 6925 // Size: 156 // EAX: df // EDX: str // EBX: base -br_uint_32 DfStructReadText(br_datafile *df, br_file_struct *str, void *base, char id); +br_uint_32 DfStructReadText(br_datafile *df, br_file_struct *str, void *base); // Offset: 7099 // Size: 1609 // EAX: df // EDX: str // EBX: base -br_uint_32 StructReadTextSub(br_datafile *df, br_file_struct *str, void *base, char m); +br_uint_32 StructReadTextSub(br_datafile *df, br_file_struct *str, void *base); // Offset: 8725 // Size: 144 // EAX: df // EDX: str // EBX: base -int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base, char m); +int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base); // Offset: 8888 // Size: 109 @@ -111,7 +115,7 @@ int DfStructSizeText(br_datafile *df, br_file_struct *str, void *base, char m); // EDX: str // EBX: base // ECX: n -br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, int n, int cp); +br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, int n); // Offset: 9015 // Size: 126 @@ -119,7 +123,7 @@ br_uint_32 DfStructWriteArray(br_datafile *df, br_file_struct *str, void *base, // EDX: str // EBX: base // ECX: n -br_uint_32 DfStructReadArray(br_datafile *df, br_file_struct *str, void *base, int n, int cp); +br_uint_32 DfStructReadArray(br_datafile *df, br_file_struct *str, void *base, int n); // Offset: 9158 // Size: 150 @@ -287,7 +291,7 @@ int DfSkipBinary(br_datafile *df, br_uint_32 length); // Size: 241 // EAX: df // EDX: table -int DfChunksInterpret(br_datafile *df, br_chunks_table *table, signed char length); +int DfChunksInterpret(br_datafile *df, br_chunks_table *table); // Offset: 13438 // Size: 59 @@ -313,3 +317,4 @@ void DfClose(br_datafile *df); // Size: 94 int BrWriteModeSet(int mode); +#endif diff --git a/src/BRSRC13/CORE/FW/devlist.c b/src/BRSRC13/CORE/FW/devlist.c index 82e3bff7..b6c83167 100644 --- a/src/BRSRC13/CORE/FW/devlist.c +++ b/src/BRSRC13/CORE/FW/devlist.c @@ -1,13 +1,12 @@ #include "devlist.h" -// Global variables char rscid[53]; // Offset: 20 // Size: 112 br_error AddRequestedDrivers() { - char devstr[256]; - br_boolean bAlreadyDone; + char devstr[256]; + br_boolean bAlreadyDone; } // Offset: 139 @@ -16,98 +15,87 @@ br_error AddRequestedDrivers() { // EDX: dev_begin // EBX: args // ECX: image -br_error devAdd(br_device **pdev, br_device_begin_fn *dev_begin, char *args) { - br_image *image; - int i; - br_device *dev; - br_open_device *new_slots; +br_error devAdd(br_device **pdev, br_device_begin_fn *dev_begin, char *args, br_image *image) { + int i; + br_device *dev; + br_open_device *new_slots; } // Offset: 541 // Size: 161 -br_error BrDevAdd(br_device **pdev, char *image) { - char *args; - br_image *dev_image; - br_device_begin_fn *dev_begin; +br_error BrDevAdd(br_device **pdev, char *image, char *args) { + br_image *dev_image; + br_device_begin_fn *dev_begin; } // Offset: 717 // Size: 52 -br_error BrDevAddStatic(br_device **pdev, br_device_begin_fn *dev_begin) { - char *args; +br_error BrDevAddStatic(br_device **pdev, br_device_begin_fn *dev_begin, char *args) { } // Offset: 783 // Size: 85 -br_error BrDevCheckAdd(br_device **pdev, char *name) { - char *args; +br_error BrDevCheckAdd(br_device **pdev, char *name, char *args) { } // Offset: 883 // Size: 342 br_error BrDevAddConfig(char *config) { - char *end; - char *dev; - char *arg; - char tmp[512]; - int n; + char *end; + char *dev; + char *arg; + char tmp[512]; + int n; } // Offset: 1237 // Size: 196 br_error BrDevRemove(br_device *dev) { - int i; + int i; } // Offset: 1443 // Size: 195 -br_error BrDevFind(br_device **pdev) { - char *pattern; - int i; - int c; +br_error BrDevFind(br_device **pdev, char *pattern) { + int i; + int c; } // Offset: 1652 // Size: 225 -br_error BrDevFindMany(br_device **devices, br_int_32 *ndevices, br_int_32 max_devices) { - char *pattern; - int i; - int c; +br_error BrDevFindMany(br_device **devices, br_int_32 *ndevices, br_int_32 max_devices, char *pattern) { + int i; + int c; } // Offset: 1888 // Size: 179 -br_error BrDevCount(br_int_32 *ndevices) { - char *pattern; - int i; - int c; +br_error BrDevCount(br_int_32 *ndevices, char *pattern) { + int i; + int c; } // Offset: 2086 // Size: 164 -br_error BrDevContainedFind(br_object **ph, br_token type, char *pattern) { - br_token_value *tv; - int i; +br_error BrDevContainedFind(br_object **ph, br_token type, char *pattern, br_token_value *tv) { + int i; } // Offset: 2273 // Size: 222 -br_error BrDevContainedFindMany(br_object **objects, br_int_32 max_objects, br_int_32 *pnum_objects, br_token type) { - char *pattern; - br_token_value *tv; - int i; - br_int_32 n; - br_int_32 total; - br_error r; +br_error BrDevContainedFindMany(br_object **objects, br_int_32 max_objects, br_int_32 *pnum_objects, br_token type, char *pattern, br_token_value *tv) { + int i; + br_int_32 n; + br_int_32 total; + br_error r; } // Offset: 2515 // Size: 193 -br_error BrDevContainedCount(br_int_32 *pcount, br_token type, char *pattern) { - br_token_value *tv; - int i; - br_int_32 n; - br_int_32 total; - br_error r; +br_error BrDevContainedCount(br_int_32 *pcount, br_token type, char *pattern, br_token_value *tv) { + int i; + br_int_32 n; + br_int_32 total; + br_error r; } diff --git a/src/BRSRC13/CORE/FW/devlist.h b/src/BRSRC13/CORE/FW/devlist.h index 6be72519..15d5bfaa 100644 --- a/src/BRSRC13/CORE/FW/devlist.h +++ b/src/BRSRC13/CORE/FW/devlist.h @@ -1,5 +1,9 @@ +#ifndef _DEVLIST_H_ +#define _DEVLIST_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 20 // Size: 112 br_error AddRequestedDrivers(); @@ -10,19 +14,19 @@ br_error AddRequestedDrivers(); // EDX: dev_begin // EBX: args // ECX: image -br_error devAdd(br_device **pdev, br_device_begin_fn *dev_begin, char *args); +br_error devAdd(br_device **pdev, br_device_begin_fn *dev_begin, char *args, br_image *image); // Offset: 541 // Size: 161 -br_error BrDevAdd(br_device **pdev, char *image); +br_error BrDevAdd(br_device **pdev, char *image, char *args); // Offset: 717 // Size: 52 -br_error BrDevAddStatic(br_device **pdev, br_device_begin_fn *dev_begin); +br_error BrDevAddStatic(br_device **pdev, br_device_begin_fn *dev_begin, char *args); // Offset: 783 // Size: 85 -br_error BrDevCheckAdd(br_device **pdev, char *name); +br_error BrDevCheckAdd(br_device **pdev, char *name, char *args); // Offset: 883 // Size: 342 @@ -34,25 +38,26 @@ br_error BrDevRemove(br_device *dev); // Offset: 1443 // Size: 195 -br_error BrDevFind(br_device **pdev); +br_error BrDevFind(br_device **pdev, char *pattern); // Offset: 1652 // Size: 225 -br_error BrDevFindMany(br_device **devices, br_int_32 *ndevices, br_int_32 max_devices); +br_error BrDevFindMany(br_device **devices, br_int_32 *ndevices, br_int_32 max_devices, char *pattern); // Offset: 1888 // Size: 179 -br_error BrDevCount(br_int_32 *ndevices); +br_error BrDevCount(br_int_32 *ndevices, char *pattern); // Offset: 2086 // Size: 164 -br_error BrDevContainedFind(br_object **ph, br_token type, char *pattern); +br_error BrDevContainedFind(br_object **ph, br_token type, char *pattern, br_token_value *tv); // Offset: 2273 // Size: 222 -br_error BrDevContainedFindMany(br_object **objects, br_int_32 max_objects, br_int_32 *pnum_objects, br_token type); +br_error BrDevContainedFindMany(br_object **objects, br_int_32 max_objects, br_int_32 *pnum_objects, br_token type, char *pattern, br_token_value *tv); // Offset: 2515 // Size: 193 -br_error BrDevContainedCount(br_int_32 *pcount, br_token type, char *pattern); +br_error BrDevContainedCount(br_int_32 *pcount, br_token type, char *pattern, br_token_value *tv); +#endif diff --git a/src/BRSRC13/CORE/FW/devsetup.c b/src/BRSRC13/CORE/FW/devsetup.c index 796e8837..8878e68e 100644 --- a/src/BRSRC13/CORE/FW/devsetup.c +++ b/src/BRSRC13/CORE/FW/devsetup.c @@ -1,6 +1,5 @@ #include "devsetup.h" -// Global variables br_pixelmap *last_begin_screen; char rscid[51]; @@ -18,10 +17,10 @@ void BrDevLastBeginSet(br_pixelmap *pm) { // Offset: 142 // Size: 214 br_error BrDevBeginVar(br_pixelmap **ppm, char *setup_string, ...) { - va_list vl; - br_uint_32 i; - br_uint_32 n; - br_token_value tv[64]; + va_list vl; + br_uint_32 i; + br_uint_32 n; + br_token_value tv[64]; } // Offset: 367 @@ -31,28 +30,29 @@ br_error BrDevBegin(br_pixelmap **ppm, char *setup_string) { // Offset: 434 // Size: 1353 -br_error BrDevBeginTV(br_pixelmap **ppm, char *setup_string, br_token_value *setup_tv, signed char str) { - char *args; - char *devname; - char *devargs; - char devices_str[512]; - char *device_name; - char *device_args; - char *next_device; - br_token_value args_tv[64]; - br_token_value *tv; - br_output_facility *output_facility; - br_device *device; - br_pixelmap *screen; - int i; - int n; - br_error r; +br_error BrDevBeginTV(br_pixelmap **ppm, char *setup_string, br_token_value *setup_tv) { + char str[512]; + char *args; + char *devname; + char *devargs; + char devices_str[512]; + char *device_name; + char *device_args; + char *next_device; + br_token_value args_tv[64]; + br_token_value *tv; + br_output_facility *output_facility; + br_device *device; + br_pixelmap *screen; + int i; + int n; + br_error r; } // Offset: 1801 // Size: 96 br_pixelmap* BrDevBeginOld(char *setup_string) { - br_pixelmap *s; + br_pixelmap *s; } // Offset: 1909 @@ -72,36 +72,33 @@ void BrDevPaletteSetEntryOld(int i, br_colour colour) { // Offset: 2153 // Size: 455 -br_error BrRendererFacilityFind(br_renderer_facility **prf, br_device_pixelmap *destination) { - br_token scalar_type; - br_renderer_facility *renderer_facility; - br_error r; - br_output_facility *ot; - char object_name[23]; - char image_name[9]; - br_boolean scalar_is_valid; +br_error BrRendererFacilityFind(br_renderer_facility **prf, br_device_pixelmap *destination, br_token scalar_type) { + br_renderer_facility *renderer_facility; + br_error r; + br_output_facility *ot; + char object_name[23]; + char image_name[9]; + br_boolean scalar_is_valid; } // Offset: 2631 // Size: 455 -br_error BrPrimitiveLibraryFind(br_primitive_library **ppl, br_device_pixelmap *destination) { - br_token scalar_type; - br_primitive_library *primitive_library; - br_error r; - br_output_facility *ot; - char object_name[25]; - char image_name[9]; - br_boolean scalar_is_valid; +br_error BrPrimitiveLibraryFind(br_primitive_library **ppl, br_device_pixelmap *destination, br_token scalar_type) { + br_primitive_library *primitive_library; + br_error r; + br_output_facility *ot; + char object_name[25]; + char image_name[9]; + br_boolean scalar_is_valid; } // Offset: 3107 // Size: 547 -br_error BrGeometryFormatFind(br_geometry **pgf, br_renderer *renderer, br_renderer_facility *renderer_facility, br_token scalar_type) { - br_token format_type; - br_error r; - br_geometry *gf; - char object_name[21]; - char image_name[9]; - br_boolean scalar_is_valid; +br_error BrGeometryFormatFind(br_geometry **pgf, br_renderer *renderer, br_renderer_facility *renderer_facility, br_token scalar_type, br_token format_type) { + br_error r; + br_geometry *gf; + char object_name[21]; + char image_name[9]; + br_boolean scalar_is_valid; } diff --git a/src/BRSRC13/CORE/FW/devsetup.h b/src/BRSRC13/CORE/FW/devsetup.h index 6fd30523..a66e7cd1 100644 --- a/src/BRSRC13/CORE/FW/devsetup.h +++ b/src/BRSRC13/CORE/FW/devsetup.h @@ -1,5 +1,9 @@ +#ifndef _DEVSETUP_H_ +#define _DEVSETUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 20 // Size: 45 br_pixelmap* BrDevLastBeginQuery(); @@ -19,7 +23,7 @@ br_error BrDevBegin(br_pixelmap **ppm, char *setup_string); // Offset: 434 // Size: 1353 -br_error BrDevBeginTV(br_pixelmap **ppm, char *setup_string, br_token_value *setup_tv, signed char str); +br_error BrDevBeginTV(br_pixelmap **ppm, char *setup_string, br_token_value *setup_tv); // Offset: 1801 // Size: 96 @@ -39,13 +43,14 @@ void BrDevPaletteSetEntryOld(int i, br_colour colour); // Offset: 2153 // Size: 455 -br_error BrRendererFacilityFind(br_renderer_facility **prf, br_device_pixelmap *destination); +br_error BrRendererFacilityFind(br_renderer_facility **prf, br_device_pixelmap *destination, br_token scalar_type); // Offset: 2631 // Size: 455 -br_error BrPrimitiveLibraryFind(br_primitive_library **ppl, br_device_pixelmap *destination); +br_error BrPrimitiveLibraryFind(br_primitive_library **ppl, br_device_pixelmap *destination, br_token scalar_type); // Offset: 3107 // Size: 547 -br_error BrGeometryFormatFind(br_geometry **pgf, br_renderer *renderer, br_renderer_facility *renderer_facility, br_token scalar_type); +br_error BrGeometryFormatFind(br_geometry **pgf, br_renderer *renderer, br_renderer_facility *renderer_facility, br_token scalar_type, br_token format_type); +#endif diff --git a/src/BRSRC13/CORE/FW/diag.h b/src/BRSRC13/CORE/FW/diag.h index 679e1fb7..0c32b60f 100644 --- a/src/BRSRC13/CORE/FW/diag.h +++ b/src/BRSRC13/CORE/FW/diag.h @@ -1,3 +1,6 @@ +#ifndef _DIAG_H_ +#define _DIAG_H_ + #include "dr_types.h" #include "br_types.h" // Offset: 10 @@ -20,3 +23,4 @@ void _BrAssert(const char *condition, const char *file, unsigned int line); // Size: 95 void _BrUAssert(const char *condition, const char *file, unsigned int line); +#endif diff --git a/src/BRSRC13/CORE/FW/error.c b/src/BRSRC13/CORE/FW/error.c index 3246c71c..70dbfcc9 100644 --- a/src/BRSRC13/CORE/FW/error.c +++ b/src/BRSRC13/CORE/FW/error.c @@ -1,6 +1,5 @@ #include "error.h" -// Global variables char rscid[47]; // Offset: 15 diff --git a/src/BRSRC13/CORE/FW/error.h b/src/BRSRC13/CORE/FW/error.h index 17fcb729..dc97706a 100644 --- a/src/BRSRC13/CORE/FW/error.h +++ b/src/BRSRC13/CORE/FW/error.h @@ -1,5 +1,9 @@ +#ifndef _ERROR_H_ +#define _ERROR_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 15 // Size: 55 br_error BrLastErrorGet(void **valuep); @@ -8,3 +12,4 @@ br_error BrLastErrorGet(void **valuep); // Size: 46 void BrLastErrorSet(br_error type, void *value); +#endif diff --git a/src/BRSRC13/CORE/FW/file.c b/src/BRSRC13/CORE/FW/file.c index 2fa1d5b4..9bbd9634 100644 --- a/src/BRSRC13/CORE/FW/file.c +++ b/src/BRSRC13/CORE/FW/file.c @@ -1,12 +1,11 @@ #include "file.h" -// Global variables char rscid[49]; // Offset: 12 // Size: 86 void _BrFileFree(void *res, br_uint_8 res_class, br_size_t size) { - br_file *file; + br_file *file; } // Offset: 115 @@ -17,16 +16,16 @@ br_uint_32 BrFileAttributes() { // Offset: 207 // Size: 267 void* BrFileOpenRead(char *name, br_size_t n_magics, br_mode_test_cbfn *mode_test, int *mode_result) { - void *raw_file; - br_file *file; - int bin_mode; + void *raw_file; + br_file *file; + int bin_mode; } // Offset: 490 // Size: 230 void* BrFileOpenWrite(char *name, int mode) { - void *raw_file; - br_file *file; + void *raw_file; + br_file *file; } // Offset: 732 @@ -77,7 +76,7 @@ void BrFileAdvance(long count, void *f) { // Offset: 1960 // Size: 173 int BrFilePrintf(void *f, char *fmt, ...) { - int n; - va_list args; + int n; + va_list args; } diff --git a/src/BRSRC13/CORE/FW/file.h b/src/BRSRC13/CORE/FW/file.h index 40b136d9..a88f75f0 100644 --- a/src/BRSRC13/CORE/FW/file.h +++ b/src/BRSRC13/CORE/FW/file.h @@ -1,5 +1,9 @@ +#ifndef _FILE_H_ +#define _FILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 86 void _BrFileFree(void *res, br_uint_8 res_class, br_size_t size); @@ -56,3 +60,4 @@ void BrFileAdvance(long count, void *f); // Size: 173 int BrFilePrintf(void *f, char *fmt, ...); +#endif diff --git a/src/BRSRC13/CORE/FW/fwsetup.c b/src/BRSRC13/CORE/FW/fwsetup.c index 7c227df9..4bc7e88d 100644 --- a/src/BRSRC13/CORE/FW/fwsetup.c +++ b/src/BRSRC13/CORE/FW/fwsetup.c @@ -1,6 +1,5 @@ #include "fwsetup.h" -// Global variables br_image Image_BRCORE1; br_framework_state fw; void *functionPointers_BRCORE1[185]; @@ -22,18 +21,18 @@ br_error BrFwEnd() { // Offset: 466 // Size: 73 br_diaghandler* BrDiagHandlerSet(br_diaghandler *newdh) { - br_diaghandler *old; + br_diaghandler *old; } // Offset: 555 // Size: 73 br_filesystem* BrFilesystemSet(br_filesystem *newfs) { - br_filesystem *old; + br_filesystem *old; } // Offset: 643 // Size: 73 br_allocator* BrAllocatorSet(br_allocator *newal) { - br_allocator *old; + br_allocator *old; } diff --git a/src/BRSRC13/CORE/FW/fwsetup.h b/src/BRSRC13/CORE/FW/fwsetup.h index 973ce358..371e9497 100644 --- a/src/BRSRC13/CORE/FW/fwsetup.h +++ b/src/BRSRC13/CORE/FW/fwsetup.h @@ -1,5 +1,9 @@ +#ifndef _FWSETUP_H_ +#define _FWSETUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 324 br_error BrFwBegin(); @@ -20,3 +24,4 @@ br_filesystem* BrFilesystemSet(br_filesystem *newfs); // Size: 73 br_allocator* BrAllocatorSet(br_allocator *newal); +#endif diff --git a/src/BRSRC13/CORE/FW/genfile.c b/src/BRSRC13/CORE/FW/genfile.c index 8bbcc6e5..6d2c8d48 100644 --- a/src/BRSRC13/CORE/FW/genfile.c +++ b/src/BRSRC13/CORE/FW/genfile.c @@ -1,6 +1,5 @@ #include "genfile.h" -// Global variables br_file_struct_member file_info_FM[2]; br_file_struct file_info_F; br_file_enum_member file_type_FM[10]; @@ -13,9 +12,7 @@ char rscid[50]; // EDX: id // EBX: length // ECX: count -int FopRead_END(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; +int FopRead_END(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { } // Offset: 75 @@ -29,6 +26,6 @@ int FopWrite_END(br_datafile *df) { // EAX: df // EDX: type int FopWrite_FILE_INFO(br_datafile *df, br_uint_32 type) { - file_info fi; + file_info fi; } diff --git a/src/BRSRC13/CORE/FW/genfile.h b/src/BRSRC13/CORE/FW/genfile.h index a93e49a0..35c8bae5 100644 --- a/src/BRSRC13/CORE/FW/genfile.h +++ b/src/BRSRC13/CORE/FW/genfile.h @@ -1,12 +1,16 @@ +#ifndef _GENFILE_H_ +#define _GENFILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 50 // EAX: df // EDX: id // EBX: length // ECX: count -int FopRead_END(br_datafile *df, br_uint_32 id); +int FopRead_END(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 75 // Size: 63 @@ -19,3 +23,4 @@ int FopWrite_END(br_datafile *df); // EDX: type int FopWrite_FILE_INFO(br_datafile *df, br_uint_32 type); +#endif diff --git a/src/BRSRC13/CORE/FW/image.c b/src/BRSRC13/CORE/FW/image.c index 2980c9c9..79c88410 100644 --- a/src/BRSRC13/CORE/FW/image.c +++ b/src/BRSRC13/CORE/FW/image.c @@ -1,6 +1,5 @@ #include "image.h" -// Global variables char rscid[50]; // Offset: 11 @@ -16,24 +15,24 @@ br_boolean BrImageRemove(br_image *img) { // Offset: 147 // Size: 201 br_image* BrImageFind(char *pattern) { - char *c; - br_image *img; + char *c; + br_image *img; } // Offset: 362 // Size: 140 // EAX: name br_image* imageLoadHost(char *name) { - br_image *img; - void *host_image; + br_image *img; + void *host_image; } // Offset: 519 // Size: 454 br_image* BrImageReference(char *name) { - char *suffix; - char *scratch; - br_image *img; + char *suffix; + char *scratch; + br_image *img; } // Offset: 989 @@ -42,16 +41,16 @@ br_image* BrImageReference(char *name) { // EDX: name // EBX: hint void* imageLookupName(br_image *img, char *name, br_uint_32 hint) { - int c; - int limit; - int base; + int c; + int limit; + int base; } // Offset: 1339 // Size: 231 void* BrImageLookupName(br_image *img, char *name, br_uint_32 hint) { - char *scratch; - void *p; + char *scratch; + void *p; } // Offset: 1591 @@ -67,7 +66,7 @@ void BrImageDereference(br_image *image) { // Offset: 1891 // Size: 90 void BrImageFree(br_image *image) { - int i; + int i; } // Offset: 1994 diff --git a/src/BRSRC13/CORE/FW/image.h b/src/BRSRC13/CORE/FW/image.h index 4da0a85a..fee11ae1 100644 --- a/src/BRSRC13/CORE/FW/image.h +++ b/src/BRSRC13/CORE/FW/image.h @@ -1,5 +1,9 @@ +#ifndef _IMAGE_H_ +#define _IMAGE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 11 // Size: 58 br_boolean BrImageAdd(br_image *img); @@ -48,3 +52,4 @@ void BrImageFree(br_image *image); // Size: 42 void _BrImageFree(void *res, br_uint_8 res_class, br_size_t size); +#endif diff --git a/src/BRSRC13/CORE/FW/lexer.c b/src/BRSRC13/CORE/FW/lexer.c index f249e457..3ad0c0a1 100644 --- a/src/BRSRC13/CORE/FW/lexer.c +++ b/src/BRSRC13/CORE/FW/lexer.c @@ -1,30 +1,27 @@ #include "lexer.h" -// Global variables // Offset: 11 // Size: 30 -void lexerError(br_lexer *l) { - char *string; +void lexerError(br_lexer *l, char *string) { } // Offset: 57 // Size: 167 br_lexer* BrLexerAllocate(br_lexer_keyword *keywords, int nkeywords) { - br_lexer *l; + br_lexer *l; } // Offset: 242 // Size: 57 -char BrLexerCommentSet(br_lexer *l) { - char eol_comment; - char old; +char BrLexerCommentSet(br_lexer *l, char eol_comment) { + char old; } // Offset: 315 // Size: 94 br_lexer_error_cbfn* BrLexerErrorSet(br_lexer *l, br_lexer_error_cbfn *error) { - br_lexer_error_cbfn *old; + br_lexer_error_cbfn *old; } // Offset: 421 @@ -39,116 +36,107 @@ void fileGetchar(br_lexer_source *source) { // Offset: 543 // Size: 211 -br_error BrLexerPushFile(br_lexer *l) { - char *file; - br_lexer_source *s; - void *f; - int mode; +br_error BrLexerPushFile(br_lexer *l, char *file) { + br_lexer_source *s; + void *f; + int mode; } // Offset: 768 // Size: 88 void stringGetchar(br_lexer_source *source) { - char *cp; + char *cp; } // Offset: 874 // Size: 147 -br_error BrLexerPushString(br_lexer *l, char *string) { - char *name; - br_lexer_source *s; +br_error BrLexerPushString(br_lexer *l, char *string, char *name) { + br_lexer_source *s; } // Offset: 1032 // Size: 83 br_lexer_source* BrLexerPop(br_lexer *l) { - br_lexer_source *s; + br_lexer_source *s; } // Offset: 1128 // Size: 1264 // EAX: l void lexerAdvance(br_lexer *l) { - int n; - br_boolean got_point; + int n; + br_boolean got_point; } // Offset: 2409 // Size: 529 // EAX: l void lexerAdvanceDump(br_lexer *l) { - char *tname; - char *tvalue; - char val[40]; - char tmp[256]; + char *tname; + char *tvalue; + char val[40]; + char tmp[256]; } // Offset: 2953 // Size: 86 -br_error BrLexerDumpSet(br_lexer *l, br_putline_cbfn *putline) { - void *putline_arg; +br_error BrLexerDumpSet(br_lexer *l, br_putline_cbfn *putline, void *putline_arg) { } // Offset: 3057 // Size: 539 -void BrLexerTokenError(br_lexer *l) { - br_lexer_token_id t; - int i; - char tmp[256]; +void BrLexerTokenError(br_lexer *l, br_lexer_token_id t) { + int i; + char tmp[256]; } // Offset: 3612 // Size: 126 -void BrLexerPosition(br_lexer *l, char *buf) { - br_size_t buf_size; +void BrLexerPosition(br_lexer *l, char *buf, br_size_t buf_size) { } // Offset: 3751 // Size: 213 br_scalar BrParseFixed(br_lexer *l) { - br_boolean neg; - br_fixed_ls x; + br_boolean neg; + br_fixed_ls x; } // Offset: 3977 // Size: 209 br_float BrParseFloat(br_lexer *l) { - br_boolean neg; - br_float f; + br_boolean neg; + br_float f; } // Offset: 4201 // Size: 170 br_int_32 BrParseInteger(br_lexer *l) { - br_boolean neg; - br_int_32 i; + br_boolean neg; + br_int_32 i; } // Offset: 4390 // Size: 213 -br_int_32 BrParseVectorFixed(br_lexer *l, br_fixed_ls *v) { - br_int_32 max; - int n; +br_int_32 BrParseVectorFixed(br_lexer *l, br_fixed_ls *v, br_int_32 max) { + int n; } // Offset: 4622 // Size: 213 -br_int_32 BrParseVectorFloat(br_lexer *l, br_float *v) { - br_int_32 max; - int n; +br_int_32 BrParseVectorFloat(br_lexer *l, br_float *v, br_int_32 max) { + int n; } // Offset: 4854 // Size: 218 -br_int_32 BrParseMatrixFixed(br_lexer *l, br_fixed_ls *m, br_int_32 width) { - br_int_32 max_h; - int n; +br_int_32 BrParseMatrixFixed(br_lexer *l, br_fixed_ls *m, br_int_32 width, br_int_32 max_h) { + int n; } // Offset: 5091 // Size: 218 -br_int_32 BrParseMatrixFloat(br_lexer *l, br_float *m, br_int_32 width) { - br_int_32 max_h; - int n; +br_int_32 BrParseMatrixFloat(br_lexer *l, br_float *m, br_int_32 width, br_int_32 max_h) { + int n; } diff --git a/src/BRSRC13/CORE/FW/lexer.h b/src/BRSRC13/CORE/FW/lexer.h index 0efd8de1..fafcd879 100644 --- a/src/BRSRC13/CORE/FW/lexer.h +++ b/src/BRSRC13/CORE/FW/lexer.h @@ -1,8 +1,12 @@ +#ifndef _LEXER_H_ +#define _LEXER_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 11 // Size: 30 -void lexerError(br_lexer *l); +void lexerError(br_lexer *l, char *string); // Offset: 57 // Size: 167 @@ -10,7 +14,7 @@ br_lexer* BrLexerAllocate(br_lexer_keyword *keywords, int nkeywords); // Offset: 242 // Size: 57 -char BrLexerCommentSet(br_lexer *l); +char BrLexerCommentSet(br_lexer *l, char eol_comment); // Offset: 315 // Size: 94 @@ -26,7 +30,7 @@ void fileGetchar(br_lexer_source *source); // Offset: 543 // Size: 211 -br_error BrLexerPushFile(br_lexer *l); +br_error BrLexerPushFile(br_lexer *l, char *file); // Offset: 768 // Size: 88 @@ -34,7 +38,7 @@ void stringGetchar(br_lexer_source *source); // Offset: 874 // Size: 147 -br_error BrLexerPushString(br_lexer *l, char *string); +br_error BrLexerPushString(br_lexer *l, char *string, char *name); // Offset: 1032 // Size: 83 @@ -52,15 +56,15 @@ void lexerAdvanceDump(br_lexer *l); // Offset: 2953 // Size: 86 -br_error BrLexerDumpSet(br_lexer *l, br_putline_cbfn *putline); +br_error BrLexerDumpSet(br_lexer *l, br_putline_cbfn *putline, void *putline_arg); // Offset: 3057 // Size: 539 -void BrLexerTokenError(br_lexer *l); +void BrLexerTokenError(br_lexer *l, br_lexer_token_id t); // Offset: 3612 // Size: 126 -void BrLexerPosition(br_lexer *l, char *buf); +void BrLexerPosition(br_lexer *l, char *buf, br_size_t buf_size); // Offset: 3751 // Size: 213 @@ -76,17 +80,18 @@ br_int_32 BrParseInteger(br_lexer *l); // Offset: 4390 // Size: 213 -br_int_32 BrParseVectorFixed(br_lexer *l, br_fixed_ls *v); +br_int_32 BrParseVectorFixed(br_lexer *l, br_fixed_ls *v, br_int_32 max); // Offset: 4622 // Size: 213 -br_int_32 BrParseVectorFloat(br_lexer *l, br_float *v); +br_int_32 BrParseVectorFloat(br_lexer *l, br_float *v, br_int_32 max); // Offset: 4854 // Size: 218 -br_int_32 BrParseMatrixFixed(br_lexer *l, br_fixed_ls *m, br_int_32 width); +br_int_32 BrParseMatrixFixed(br_lexer *l, br_fixed_ls *m, br_int_32 width, br_int_32 max_h); // Offset: 5091 // Size: 218 -br_int_32 BrParseMatrixFloat(br_lexer *l, br_float *m, br_int_32 width); +br_int_32 BrParseMatrixFloat(br_lexer *l, br_float *m, br_int_32 width, br_int_32 max_h); +#endif diff --git a/src/BRSRC13/CORE/FW/loader.c b/src/BRSRC13/CORE/FW/loader.c index c46e5bf4..3b28ecde 100644 --- a/src/BRSRC13/CORE/FW/loader.c +++ b/src/BRSRC13/CORE/FW/loader.c @@ -1,25 +1,24 @@ #include "loader.h" -// Global variables char rscid[49]; // Offset: 10 // Size: 2401 // EAX: name br_image* ImageLoad(char *name) { - void *fh; - int mode; - msdos_header dos_header; - coff_header coff_header; - nt_optional_header nt_header; - section_header section_header; - br_uint_32 pe; - br_image *img; - br_uint_8 *arena_base; - int arena_size; - int arena_align; - int i; - br_uint_32 offset; - unsigned int n; + void *fh; + int mode; + msdos_header dos_header; + coff_header coff_header; + nt_optional_header nt_header; + section_header section_header; + br_uint_32 pe; + br_image *img; + br_uint_8 *arena_base; + int arena_size; + int arena_align; + int i; + br_uint_32 offset; + unsigned int n; } diff --git a/src/BRSRC13/CORE/FW/loader.h b/src/BRSRC13/CORE/FW/loader.h index 24fe07ba..b8301362 100644 --- a/src/BRSRC13/CORE/FW/loader.h +++ b/src/BRSRC13/CORE/FW/loader.h @@ -1,7 +1,12 @@ +#ifndef _LOADER_H_ +#define _LOADER_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 2401 // EAX: name br_image* ImageLoad(char *name); +#endif diff --git a/src/BRSRC13/CORE/FW/mem.c b/src/BRSRC13/CORE/FW/mem.c index 27585f6f..8d5bc3a9 100644 --- a/src/BRSRC13/CORE/FW/mem.c +++ b/src/BRSRC13/CORE/FW/mem.c @@ -1,12 +1,11 @@ #include "mem.h" -// Global variables char rscid[45]; // Offset: 14 // Size: 153 void* BrMemAllocate(br_size_t size, br_uint_8 type) { - void *b; + void *b; } // Offset: 177 @@ -17,25 +16,25 @@ void BrMemFree(void *block) { // Offset: 296 // Size: 131 br_size_t BrMemInquire(br_uint_8 type) { - br_size_t i; + br_size_t i; } // Offset: 438 // Size: 116 br_int_32 BrMemAlign(br_uint_8 type) { - br_int_32 i; + br_int_32 i; } // Offset: 566 // Size: 161 void* BrMemCalloc(int nelems, br_size_t size, br_uint_8 type) { - void *b; + void *b; } // Offset: 739 // Size: 120 char* BrMemStrDup(char *str) { - int l; - char *nstr; + int l; + char *nstr; } diff --git a/src/BRSRC13/CORE/FW/mem.h b/src/BRSRC13/CORE/FW/mem.h index a9e4b902..ea3f7363 100644 --- a/src/BRSRC13/CORE/FW/mem.h +++ b/src/BRSRC13/CORE/FW/mem.h @@ -1,5 +1,9 @@ +#ifndef _MEM_H_ +#define _MEM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 153 void* BrMemAllocate(br_size_t size, br_uint_8 type); @@ -24,3 +28,4 @@ void* BrMemCalloc(int nelems, br_size_t size, br_uint_8 type); // Size: 120 char* BrMemStrDup(char *str); +#endif diff --git a/src/BRSRC13/CORE/FW/object.c b/src/BRSRC13/CORE/FW/object.c index 05fbb7a5..1c0d4db0 100644 --- a/src/BRSRC13/CORE/FW/object.c +++ b/src/BRSRC13/CORE/FW/object.c @@ -1,24 +1,20 @@ #include "object.h" -// Global variables char rscid[48]; // Offset: 19 // Size: 76 -br_error _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) { } // Offset: 120 // Size: 80 -br_error _M_br_object_queryBuffer(br_object *self, br_uint_32 *pvalue, br_uint_32 *buffer, br_size_t buffer_size) { - br_token t; +br_error _M_br_object_queryBuffer(br_object *self, br_uint_32 *pvalue, br_uint_32 *buffer, br_size_t buffer_size, br_token t) { } // Offset: 223 // Size: 80 -br_error _M_br_object_queryMany(br_object *self, br_token_value *tv, void *extra, br_size_t extra_size) { - br_int_32 *pcount; +br_error _M_br_object_queryMany(br_object *self, br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount) { } // Offset: 330 @@ -28,8 +24,7 @@ br_error _M_br_object_queryManySize(br_object *self, br_size_t *pextra_size, br_ // Offset: 424 // Size: 72 -br_error _M_br_object_queryAll(br_object *self, br_token_value *buffer) { - br_size_t buffer_size; +br_error _M_br_object_queryAll(br_object *self, br_token_value *buffer, br_size_t buffer_size) { } // Offset: 522 @@ -40,6 +35,6 @@ br_error _M_br_object_queryAllSize(br_object *self, br_size_t *psize) { // Offset: 604 // Size: 67 void _BrObjectFree(void *res, br_uint_8 res_class, br_size_t size) { - br_object *o; + br_object *o; } diff --git a/src/BRSRC13/CORE/FW/object.h b/src/BRSRC13/CORE/FW/object.h index 67e53f78..d61b2453 100644 --- a/src/BRSRC13/CORE/FW/object.h +++ b/src/BRSRC13/CORE/FW/object.h @@ -1,16 +1,20 @@ +#ifndef _OBJECT_H_ +#define _OBJECT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 19 // Size: 76 -br_error _M_br_object_query(br_object *self, br_uint_32 *pvalue); +br_error _M_br_object_query(br_object *self, br_uint_32 *pvalue, br_token t); // Offset: 120 // Size: 80 -br_error _M_br_object_queryBuffer(br_object *self, br_uint_32 *pvalue, br_uint_32 *buffer, br_size_t buffer_size); +br_error _M_br_object_queryBuffer(br_object *self, br_uint_32 *pvalue, br_uint_32 *buffer, br_size_t buffer_size, br_token t); // Offset: 223 // Size: 80 -br_error _M_br_object_queryMany(br_object *self, br_token_value *tv, void *extra, br_size_t extra_size); +br_error _M_br_object_queryMany(br_object *self, br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount); // Offset: 330 // Size: 72 @@ -18,7 +22,7 @@ br_error _M_br_object_queryManySize(br_object *self, br_size_t *pextra_size, br_ // Offset: 424 // Size: 72 -br_error _M_br_object_queryAll(br_object *self, br_token_value *buffer); +br_error _M_br_object_queryAll(br_object *self, br_token_value *buffer, br_size_t buffer_size); // Offset: 522 // Size: 68 @@ -28,3 +32,4 @@ br_error _M_br_object_queryAllSize(br_object *self, br_size_t *psize); // Size: 67 void _BrObjectFree(void *res, br_uint_8 res_class, br_size_t size); +#endif diff --git a/src/BRSRC13/CORE/FW/objectc.c b/src/BRSRC13/CORE/FW/objectc.c index a0d9559c..6bba75e9 100644 --- a/src/BRSRC13/CORE/FW/objectc.c +++ b/src/BRSRC13/CORE/FW/objectc.c @@ -1,95 +1,88 @@ #include "objectc.h" -// Global variables char rscid[49]; // Offset: 21 // Size: 74 void* BrObjectListAllocate(void *res) { - object_list *hl; + object_list *hl; } // Offset: 127 // Size: 136 br_error _M_br_object_container_addFront(br_object_container *self, br_object *ph) { - object_list *hl; - object_list_entry *he; + object_list *hl; + object_list_entry *he; } // Offset: 293 // Size: 160 br_error _M_br_object_container_remove(br_object_container *self, br_object *h) { - object_list *hl; - object_list_entry *he; + object_list *hl; + object_list_entry *he; } // Offset: 488 // Size: 135 br_error _M_br_object_container_removeFront(br_object_container *self, br_object **ph) { - object_list *hl; - object_list_entry *he; + object_list *hl; + object_list_entry *he; } // Offset: 651 // Size: 300 -br_error _M_br_object_container_find(br_object_container *self, br_object **ph, br_token type, char *pattern) { - br_token_value *tv; - object_list *hl; - object_list_entry *he; - void *tvarg; - br_error r; +br_error _M_br_object_container_find(br_object_container *self, br_object **ph, br_token type, char *pattern, br_token_value *tv) { + object_list *hl; + object_list_entry *he; + void *tvarg; + br_error r; } // Offset: 983 // Size: 337 -br_error _M_br_object_container_findMany(br_object_container *self, br_object **objects, br_int_32 max_objects, br_int_32 *num_objects, br_token type, char *pattern) { - br_token_value *tv; - object_list *hl; - object_list_entry *he; - void *tvarg; - int n; +br_error _M_br_object_container_findMany(br_object_container *self, br_object **objects, br_int_32 max_objects, br_int_32 *num_objects, br_token type, char *pattern, br_token_value *tv) { + object_list *hl; + object_list_entry *he; + void *tvarg; + int n; } // Offset: 1349 // Size: 301 -br_error _M_br_object_container_count(br_object_container *self, br_uint_32 *pcount, br_token type, char *pattern) { - br_token_value *tv; - object_list *hl; - object_list_entry *he; - void *tvarg; - int n; +br_error _M_br_object_container_count(br_object_container *self, br_uint_32 *pcount, br_token type, char *pattern, br_token_value *tv) { + object_list *hl; + object_list_entry *he; + void *tvarg; + int n; } // Offset: 1690 // Size: 194 void* _M_br_object_container_tokensMatchBegin(br_object_container *self, br_token t, br_token_value *tv) { - token_match *tm; - br_int_32 i; + token_match *tm; + br_int_32 i; } // Offset: 1919 // Size: 214 -br_boolean _M_br_object_container_tokensMatch(br_object_container *self, br_object *h) { - void *arg; - token_match *tm; - br_size_t s; - br_int_32 n; +br_boolean _M_br_object_container_tokensMatch(br_object_container *self, br_object *h, void *arg) { + token_match *tm; + br_size_t s; + br_int_32 n; } // Offset: 2171 // Size: 48 -void _M_br_object_container_tokensMatchEnd(br_object_container *self) { - void *arg; +void _M_br_object_container_tokensMatchEnd(br_object_container *self, void *arg) { } // Offset: 2241 // Size: 270 -br_error BrObjectContainerFree(br_object_container *self, br_token type, char *pattern) { - br_token_value *tv; - br_error r; - br_object **handles; - br_int_32 count; - br_int_32 n; - br_int_32 i; +br_error BrObjectContainerFree(br_object_container *self, br_token type, char *pattern, br_token_value *tv) { + br_error r; + br_object **handles; + br_int_32 count; + br_int_32 n; + br_int_32 i; } diff --git a/src/BRSRC13/CORE/FW/objectc.h b/src/BRSRC13/CORE/FW/objectc.h index 55f9aabd..c9b367d6 100644 --- a/src/BRSRC13/CORE/FW/objectc.h +++ b/src/BRSRC13/CORE/FW/objectc.h @@ -1,5 +1,9 @@ +#ifndef _OBJECTC_H_ +#define _OBJECTC_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 21 // Size: 74 void* BrObjectListAllocate(void *res); @@ -18,15 +22,15 @@ br_error _M_br_object_container_removeFront(br_object_container *self, br_object // Offset: 651 // Size: 300 -br_error _M_br_object_container_find(br_object_container *self, br_object **ph, br_token type, char *pattern); +br_error _M_br_object_container_find(br_object_container *self, br_object **ph, br_token type, char *pattern, br_token_value *tv); // Offset: 983 // Size: 337 -br_error _M_br_object_container_findMany(br_object_container *self, br_object **objects, br_int_32 max_objects, br_int_32 *num_objects, br_token type, char *pattern); +br_error _M_br_object_container_findMany(br_object_container *self, br_object **objects, br_int_32 max_objects, br_int_32 *num_objects, br_token type, char *pattern, br_token_value *tv); // Offset: 1349 // Size: 301 -br_error _M_br_object_container_count(br_object_container *self, br_uint_32 *pcount, br_token type, char *pattern); +br_error _M_br_object_container_count(br_object_container *self, br_uint_32 *pcount, br_token type, char *pattern, br_token_value *tv); // Offset: 1690 // Size: 194 @@ -34,13 +38,14 @@ void* _M_br_object_container_tokensMatchBegin(br_object_container *self, br_toke // Offset: 1919 // Size: 214 -br_boolean _M_br_object_container_tokensMatch(br_object_container *self, br_object *h); +br_boolean _M_br_object_container_tokensMatch(br_object_container *self, br_object *h, void *arg); // Offset: 2171 // Size: 48 -void _M_br_object_container_tokensMatchEnd(br_object_container *self); +void _M_br_object_container_tokensMatchEnd(br_object_container *self, void *arg); // Offset: 2241 // Size: 270 -br_error BrObjectContainerFree(br_object_container *self, br_token type, char *pattern); +br_error BrObjectContainerFree(br_object_container *self, br_token type, char *pattern, br_token_value *tv); +#endif diff --git a/src/BRSRC13/CORE/FW/pattern.c b/src/BRSRC13/CORE/FW/pattern.c index a05239e9..59a41322 100644 --- a/src/BRSRC13/CORE/FW/pattern.c +++ b/src/BRSRC13/CORE/FW/pattern.c @@ -1,11 +1,10 @@ #include "pattern.h" -// Global variables char rscid[49]; // Offset: 19 // Size: 391 br_boolean BrNamePatternMatch(char *p, char *s) { - char *cp; + char *cp; } diff --git a/src/BRSRC13/CORE/FW/pattern.h b/src/BRSRC13/CORE/FW/pattern.h index b50b88e0..7a9ccf5b 100644 --- a/src/BRSRC13/CORE/FW/pattern.h +++ b/src/BRSRC13/CORE/FW/pattern.h @@ -1,6 +1,11 @@ +#ifndef _PATTERN_H_ +#define _PATTERN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 19 // Size: 391 br_boolean BrNamePatternMatch(char *p, char *s); +#endif diff --git a/src/BRSRC13/CORE/FW/printf.c b/src/BRSRC13/CORE/FW/printf.c index 5fafe9dd..40658d2c 100644 --- a/src/BRSRC13/CORE/FW/printf.c +++ b/src/BRSRC13/CORE/FW/printf.c @@ -1,33 +1,32 @@ #include "printf.h" -// Global variables char rscid[48]; // Offset: 10 // Size: 75 br_int_32 BrSprintf(char *buf, char *fmt, ...) { - int n; - va_list args; + int n; + va_list args; } // Offset: 96 // Size: 75 br_int_32 BrSprintfN(char *buf, br_size_t buf_size, char *fmt, ...) { - int n; - va_list args; + int n; + va_list args; } // Offset: 183 // Size: 97 int BrLogPrintf(char *fmt, ...) { - int n; - va_list args; + int n; + va_list args; } // Offset: 289 // Size: 75 br_int_32 BrSScanf(char *str, char *fmt, ...) { - int n; - va_list args; + int n; + va_list args; } diff --git a/src/BRSRC13/CORE/FW/printf.h b/src/BRSRC13/CORE/FW/printf.h index 3719b8c8..4fbdd653 100644 --- a/src/BRSRC13/CORE/FW/printf.h +++ b/src/BRSRC13/CORE/FW/printf.h @@ -1,5 +1,9 @@ +#ifndef _PRINTF_H_ +#define _PRINTF_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 75 br_int_32 BrSprintf(char *buf, char *fmt, ...); @@ -16,3 +20,4 @@ int BrLogPrintf(char *fmt, ...); // Size: 75 br_int_32 BrSScanf(char *str, char *fmt, ...); +#endif diff --git a/src/BRSRC13/CORE/FW/register.c b/src/BRSRC13/CORE/FW/register.c index 9dd7fd77..265a0343 100644 --- a/src/BRSRC13/CORE/FW/register.c +++ b/src/BRSRC13/CORE/FW/register.c @@ -1,6 +1,5 @@ #include "register.h" -// Global variables char rscid[50]; // Offset: 14 @@ -13,7 +12,7 @@ void* BrRegistryNew(br_registry *reg) { // Size: 126 // EAX: reg void* BrRegistryClear(br_registry *reg) { - br_registry_entry *e; + br_registry_entry *e; } // Offset: 266 @@ -21,7 +20,7 @@ void* BrRegistryClear(br_registry *reg) { // EAX: reg // EDX: item void* BrRegistryAdd(br_registry *reg, void *item) { - br_registry_entry *e; + br_registry_entry *e; } // Offset: 443 @@ -30,7 +29,7 @@ void* BrRegistryAdd(br_registry *reg, void *item) { // EDX: items // EBX: n int BrRegistryAddMany(br_registry *reg, void **items, int n) { - int i; + int i; } // Offset: 608 @@ -38,8 +37,8 @@ int BrRegistryAddMany(br_registry *reg, void **items, int n) { // EAX: reg // EDX: item void* BrRegistryRemove(br_registry *reg, void *item) { - br_registry_entry *e; - void *r; + br_registry_entry *e; + void *r; } // Offset: 827 @@ -48,8 +47,8 @@ void* BrRegistryRemove(br_registry *reg, void *item) { // EDX: items // EBX: n int BrRegistryRemoveMany(br_registry *reg, void **items, int n) { - int i; - int r; + int i; + int r; } // Offset: 1013 @@ -57,7 +56,7 @@ int BrRegistryRemoveMany(br_registry *reg, void **items, int n) { // EAX: reg // EDX: pattern void* BrRegistryFind(br_registry *reg, char *pattern) { - br_registry_entry *e; + br_registry_entry *e; } // Offset: 1204 @@ -67,8 +66,8 @@ void* BrRegistryFind(br_registry *reg, char *pattern) { // EBX: items // ECX: max int BrRegistryFindMany(br_registry *reg, char *pattern, void **items, int max) { - br_registry_entry *e; - int n; + br_registry_entry *e; + int n; } // Offset: 1360 @@ -76,8 +75,8 @@ int BrRegistryFindMany(br_registry *reg, char *pattern, void **items, int max) { // EAX: reg // EDX: pattern int BrRegistryCount(br_registry *reg, char *pattern) { - br_registry_entry *e; - int n; + br_registry_entry *e; + int n; } // Offset: 1538 @@ -86,8 +85,9 @@ int BrRegistryCount(br_registry *reg, char *pattern) { // EDX: pattern // EBX: callback // ECX: arg -int BrRegistryEnum(br_registry *reg, char *pattern, br_enum_cbfn *callback, void *arg, short e) { - int r; +int BrRegistryEnum(br_registry *reg, char *pattern, br_enum_cbfn *callback, void *arg) { + br_registry_entry *e; + int r; } // Offset: 1838 diff --git a/src/BRSRC13/CORE/FW/register.h b/src/BRSRC13/CORE/FW/register.h index ad76c804..5be98098 100644 --- a/src/BRSRC13/CORE/FW/register.h +++ b/src/BRSRC13/CORE/FW/register.h @@ -1,5 +1,9 @@ +#ifndef _REGISTER_H_ +#define _REGISTER_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 96 // EAX: reg @@ -62,7 +66,7 @@ int BrRegistryCount(br_registry *reg, char *pattern); // EDX: pattern // EBX: callback // ECX: arg -int BrRegistryEnum(br_registry *reg, char *pattern, br_enum_cbfn *callback, void *arg, short e); +int BrRegistryEnum(br_registry *reg, char *pattern, br_enum_cbfn *callback, void *arg); // Offset: 1838 // Size: 49 @@ -84,3 +88,4 @@ void* BrRegistryAddStatic(br_registry *reg, br_registry_entry *base, void *item) // EDX: item void* BrRegistryRemoveStatic(br_registry *reg, void *item); +#endif diff --git a/src/BRSRC13/CORE/FW/resource.c b/src/BRSRC13/CORE/FW/resource.c index f773852b..adfa7934 100644 --- a/src/BRSRC13/CORE/FW/resource.c +++ b/src/BRSRC13/CORE/FW/resource.c @@ -1,31 +1,30 @@ #include "resource.h" -// Global variables char rscid[51]; // Offset: 10 // Size: 188 // EAX: r void* ResToUser(resource_header *r) { - br_int_32 align; + br_int_32 align; } // Offset: 208 // Size: 72 // EAX: r resource_header* UserToRes(void *r) { - br_uint_8 *p; + br_uint_8 *p; } // Offset: 294 // Size: 459 void* BrResAllocate(void *vparent, br_size_t size, br_uint_8 res_class) { - resource_header *res; - resource_header *parent; - br_int_32 malign; - br_int_32 calign; - br_int_32 pad; - br_int_32 actual_pad; + resource_header *res; + resource_header *parent; + br_int_32 malign; + br_int_32 calign; + br_int_32 pad; + br_int_32 actual_pad; } // Offset: 771 @@ -33,8 +32,8 @@ void* BrResAllocate(void *vparent, br_size_t size, br_uint_8 res_class) { // EAX: res // EDX: callback void BrResInternalFree(resource_header *res, br_boolean callback) { - int c; - void *r; + int c; + void *r; } // Offset: 1148 @@ -50,34 +49,34 @@ void BrResFreeNoCallback(void *vres) { // Offset: 1332 // Size: 259 void* BrResAdd(void *vparent, void *vres) { - resource_header *res; - resource_header *parent; + resource_header *res; + resource_header *parent; } // Offset: 1603 // Size: 141 void* BrResRemove(void *vres) { - resource_header *res; + resource_header *res; } // Offset: 1755 // Size: 132 br_uint_8 BrResClass(void *vres) { - resource_header *res; + resource_header *res; } // Offset: 1900 // Size: 266 br_boolean BrResIsChild(void *vparent, void *vchild) { - resource_header *parent; - resource_header *child; - resource_header *cp; + resource_header *parent; + resource_header *child; + resource_header *cp; } // Offset: 2176 // Size: 177 br_uint_32 BrResSize(void *vres) { - resource_header *res; + resource_header *res; } // Offset: 2366 @@ -88,28 +87,28 @@ br_uint_32 ResSizeTotal(void *vres, br_uint_32 *ptotal) { // Offset: 2461 // Size: 62 br_uint_32 BrResSizeTotal(void *vres) { - br_uint_32 total; + br_uint_32 total; } // Offset: 2538 // Size: 226 br_uint_32 BrResChildEnum(void *vres, br_resenum_cbfn *callback, void *arg) { - resource_header *res; - resource_header *rp; - br_uint_32 r; + resource_header *res; + resource_header *rp; + br_uint_32 r; } // Offset: 2775 // Size: 91 br_uint_32 BrResCheck(void *vres, int no_tag) { - resource_header *res; + resource_header *res; } // Offset: 2878 // Size: 127 char* BrResStrDup(void *vparent, char *str) { - int l; - char *nstr; + int l; + char *nstr; } // Offset: 3026 @@ -118,20 +117,22 @@ char* BrResStrDup(void *vparent, char *str) { // EDX: putline // EBX: arg // ECX: level -void InternalResourceDump(resource_header *res, br_putline_cbfn *putline, void *arg, int level, enum i) { - char *cp; - resource_header *child; - br_resource_class *rclass; +void InternalResourceDump(resource_header *res, br_putline_cbfn *putline, void *arg, int level) { + int i; + char *cp; + resource_header *child; + br_resource_class *rclass; } // Offset: 3349 // Size: 57 -void BrResDump(void *vres, br_putline_cbfn *putline, void *arg, signed char res) { +void BrResDump(void *vres, br_putline_cbfn *putline, void *arg) { + resource_header *res; } // Offset: 3427 // Size: 80 char* BrResClassIdentifier(br_uint_8 res_class) { - br_resource_class *rclass; + br_resource_class *rclass; } diff --git a/src/BRSRC13/CORE/FW/resource.h b/src/BRSRC13/CORE/FW/resource.h index b2f07d34..eb85be80 100644 --- a/src/BRSRC13/CORE/FW/resource.h +++ b/src/BRSRC13/CORE/FW/resource.h @@ -1,5 +1,9 @@ +#ifndef _RESOURCE_H_ +#define _RESOURCE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 188 // EAX: r @@ -74,13 +78,14 @@ char* BrResStrDup(void *vparent, char *str); // EDX: putline // EBX: arg // ECX: level -void InternalResourceDump(resource_header *res, br_putline_cbfn *putline, void *arg, int level, enum i); +void InternalResourceDump(resource_header *res, br_putline_cbfn *putline, void *arg, int level); // Offset: 3349 // Size: 57 -void BrResDump(void *vres, br_putline_cbfn *putline, void *arg, signed char res); +void BrResDump(void *vres, br_putline_cbfn *putline, void *arg); // Offset: 3427 // Size: 80 char* BrResClassIdentifier(br_uint_8 res_class); +#endif diff --git a/src/BRSRC13/CORE/FW/resreg.c b/src/BRSRC13/CORE/FW/resreg.c index bed46715..6d7450f5 100644 --- a/src/BRSRC13/CORE/FW/resreg.c +++ b/src/BRSRC13/CORE/FW/resreg.c @@ -1,18 +1,17 @@ #include "resreg.h" -// Global variables char rscid[48]; // Offset: 14 // Size: 176 br_resource_class* BrResClassAdd(br_resource_class *rclass) { - br_resource_class *r; + br_resource_class *r; } // Offset: 207 // Size: 158 br_resource_class* BrResClassRemove(br_resource_class *rclass) { - br_resource_class *r; + br_resource_class *r; } // Offset: 380 @@ -23,20 +22,20 @@ br_resource_class* BrResClassFind(char *pattern) { // Offset: 448 // Size: 55 br_resclass_find_cbfn* BrResClassFindHook(br_resclass_find_cbfn *hook) { - br_resclass_find_cbfn *old; + br_resclass_find_cbfn *old; } // Offset: 521 // Size: 83 br_uint_32 BrResClassAddMany(br_resource_class **items, int n) { - int i; + int i; } // Offset: 625 // Size: 100 br_uint_32 BrResClassRemoveMany(br_resource_class **items, int n) { - int i; - int r; + int i; + int r; } // Offset: 744 diff --git a/src/BRSRC13/CORE/FW/resreg.h b/src/BRSRC13/CORE/FW/resreg.h index 66f7f730..4730d6fe 100644 --- a/src/BRSRC13/CORE/FW/resreg.h +++ b/src/BRSRC13/CORE/FW/resreg.h @@ -1,5 +1,9 @@ +#ifndef _RESREG_H_ +#define _RESREG_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 176 br_resource_class* BrResClassAdd(br_resource_class *rclass); @@ -36,3 +40,4 @@ br_uint_32 BrResClassCount(char *pattern); // Size: 55 br_uint_32 BrResClassEnum(char *pattern, br_resclass_enum_cbfn *callback, void *arg); +#endif diff --git a/src/BRSRC13/CORE/FW/scratch.c b/src/BRSRC13/CORE/FW/scratch.c index 99ccea88..8a9a5c5d 100644 --- a/src/BRSRC13/CORE/FW/scratch.c +++ b/src/BRSRC13/CORE/FW/scratch.c @@ -1,6 +1,5 @@ #include "scratch.h" -// Global variables char scratchString[512]; char rscid[49]; diff --git a/src/BRSRC13/CORE/FW/scratch.h b/src/BRSRC13/CORE/FW/scratch.h index a9800294..1b981848 100644 --- a/src/BRSRC13/CORE/FW/scratch.h +++ b/src/BRSRC13/CORE/FW/scratch.h @@ -1,5 +1,9 @@ +#ifndef _SCRATCH_H_ +#define _SCRATCH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 153 void* BrScratchAllocate(br_size_t size); @@ -24,3 +28,4 @@ char* BrScratchString(); // Size: 40 br_size_t BrScratchStringSize(); +#endif diff --git a/src/BRSRC13/CORE/FW/sys_conf.c b/src/BRSRC13/CORE/FW/sys_conf.c index 35439d82..6c93f559 100644 --- a/src/BRSRC13/CORE/FW/sys_conf.c +++ b/src/BRSRC13/CORE/FW/sys_conf.c @@ -1,14 +1,13 @@ #include "sys_conf.h" -// Global variables br_token valid_system_config_tokens[5]; // Offset: 26 // Size: 106 // EAX: t br_boolean Is_Valid_Sys_Config_Token(br_token t) { - br_boolean bOK; - int i; + br_boolean bOK; + int i; } // Offset: 145 @@ -18,10 +17,10 @@ br_boolean Is_Valid_Sys_Config_Token(br_token t) { // EBX: t // ECX: Entry br_boolean LoadIniEntry(char *ini_file, char *section_name, br_token t, char *Entry) { - char Temp[255]; - br_uint_16 size; - br_value v; - br_error r; + char Temp[255]; + br_uint_16 size; + br_value v; + br_error r; } // Offset: 289 @@ -38,10 +37,10 @@ br_error LoadIniConfig(char *ini_file, char *section_name) { // EBX: t // ECX: Entry br_boolean LoadRegistryEntry(char *Reg_Path, void *hKey, br_token t, char *Entry) { - char Temp[255]; - br_uint_16 size; - br_value v; - br_error r; + char Temp[255]; + br_uint_16 size; + br_value v; + br_error r; } // Offset: 669 @@ -56,36 +55,36 @@ br_error LoadRegistryConfig(char *Reg_Path, void *hKey) { // EAX: t // EDX: Entry br_error BrSetDefaultConfig(br_token t, char *Entry) { - char Reg_Path[255]; - int v0; - int v1; - int v2; - br_value v; + char Reg_Path[255]; + int v0; + int v1; + int v2; + br_value v; } // Offset: 1125 // Size: 328 br_error BrSystemConfigBegin() { - char temp[255]; - br_value v; + char temp[255]; + br_value v; } // Offset: 1472 // Size: 188 br_error BrSystemConfigLoad(br_token t, char *Param1, void *Param2) { - br_error r; + br_error r; } // Offset: 1684 // Size: 158 br_error BrSystemConfigSetString(br_token t, char *string) { - br_value v; + br_value v; } // Offset: 1868 // Size: 175 br_error BrSystemConfigQueryString(br_token t, char *string, int max_size) { - br_error r; - br_value v; + br_error r; + br_value v; } diff --git a/src/BRSRC13/CORE/FW/sys_conf.h b/src/BRSRC13/CORE/FW/sys_conf.h index f57740eb..4e29899e 100644 --- a/src/BRSRC13/CORE/FW/sys_conf.h +++ b/src/BRSRC13/CORE/FW/sys_conf.h @@ -1,5 +1,9 @@ +#ifndef _SYS_CONF_H_ +#define _SYS_CONF_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 26 // Size: 106 // EAX: t @@ -55,3 +59,4 @@ br_error BrSystemConfigSetString(br_token t, char *string); // Size: 175 br_error BrSystemConfigQueryString(br_token t, char *string, int max_size); +#endif diff --git a/src/BRSRC13/CORE/FW/token.c b/src/BRSRC13/CORE/FW/token.c index 7dd75247..50db06cf 100644 --- a/src/BRSRC13/CORE/FW/token.c +++ b/src/BRSRC13/CORE/FW/token.c @@ -1,6 +1,5 @@ #include "token.h" -// Global variables br_token_entry predefinedTokens[457]; char rscid[48]; token_type tokenTypes[37]; @@ -13,41 +12,41 @@ void BrTokenBegin() { // Offset: 139 // Size: 509 br_token BrTokenCreate(char *identifier, br_token type) { - br_token_entry *te; - int i; - int l; + br_token_entry *te; + int i; + int l; } // Offset: 666 // Size: 92 char* BrTokenIdentifier(br_token t) { - br_token_entry *te; + br_token_entry *te; } // Offset: 770 // Size: 92 br_token BrTokenType(br_token t) { - br_token_entry *te; + br_token_entry *te; } // Offset: 875 // Size: 148 br_int_32 BrTokenCount(char *pattern) { - br_token_entry *te; - int n; + br_token_entry *te; + int n; } // Offset: 1035 // Size: 103 br_token BrTokenFind(char *pattern) { - br_token_entry *te; + br_token_entry *te; } // Offset: 1154 // Size: 127 br_int_32 BrTokenFindMany(char *pattern, br_token *tokens, br_int_32 max_tokens) { - br_token_entry *te; - int n; + br_token_entry *te; + int n; } // Offset: 1297 @@ -57,8 +56,8 @@ br_int_32 BrTokenFindMany(char *pattern, br_token *tokens, br_int_32 max_tokens) // EBX: types // ECX: ntypes br_token BrTokenFindType(br_token *ptype, char *base, br_token *types, br_int_32 ntypes) { - br_token_entry *te; - int l; - int t; + br_token_entry *te; + int l; + int t; } diff --git a/src/BRSRC13/CORE/FW/token.h b/src/BRSRC13/CORE/FW/token.h index 9c780785..a1002c7c 100644 --- a/src/BRSRC13/CORE/FW/token.h +++ b/src/BRSRC13/CORE/FW/token.h @@ -1,5 +1,9 @@ +#ifndef _TOKEN_H_ +#define _TOKEN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 13 // Size: 112 void BrTokenBegin(); @@ -36,3 +40,4 @@ br_int_32 BrTokenFindMany(char *pattern, br_token *tokens, br_int_32 max_tokens) // ECX: ntypes br_token BrTokenFindType(br_token *ptype, char *base, br_token *types, br_int_32 ntypes); +#endif diff --git a/src/BRSRC13/CORE/FW/tokenval.c b/src/BRSRC13/CORE/FW/tokenval.c index 5a7df538..a08017d6 100644 --- a/src/BRSRC13/CORE/FW/tokenval.c +++ b/src/BRSRC13/CORE/FW/tokenval.c @@ -1,12 +1,11 @@ #include "tokenval.h" -// Global variables char rscid[50]; // Offset: 21 // Size: 88 br_tv_template* BrTVTemplateAllocate(void *res, br_tv_template_entry *entries, int n_entries) { - br_tv_template *t; + br_tv_template *t; } // Offset: 126 @@ -18,21 +17,21 @@ void BrTVTemplateFree(br_tv_template *t) { // Size: 114 // EAX: template void templateResolveNames(br_tv_template *template) { - br_tv_template_entry *tp; - int n; + br_tv_template_entry *tp; + int n; } // Offset: 319 // Size: 640 // EAX: template void templateMakeMap(br_tv_template *template) { - br_tv_template_entry *tp; - char *map; - br_int_32 min; - br_int_32 max; - int i; - int n; - int e; + br_tv_template_entry *tp; + char *map; + br_int_32 min; + br_int_32 max; + int i; + int n; + int e; } // Offset: 979 @@ -42,7 +41,7 @@ void templateMakeMap(br_tv_template *template) { // EBX: count // ECX: pextra_space br_fixed_ls* ConvertFloatToFixed(br_fixed_ls **pextra, br_float *src, br_int_32 count, br_size_t *pextra_space) { - br_fixed_ls *ret; + br_fixed_ls *ret; } // Offset: 1170 @@ -52,7 +51,7 @@ br_fixed_ls* ConvertFloatToFixed(br_fixed_ls **pextra, br_float *src, br_int_32 // EBX: count // ECX: pextra_space br_float* ConvertFixedToFloat(br_float **pextra, br_fixed_ls *src, br_int_32 count, br_size_t *pextra_space) { - br_float *ret; + br_float *ret; } // Offset: 1346 @@ -61,10 +60,8 @@ br_float* ConvertFixedToFloat(br_float **pextra, br_fixed_ls *src, br_int_32 cou // EDX: src // EBX: count // ECX: pextra_space -br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src) { - br_int_32 count; - br_size_t *pextra_space; - br_uint_32 *ret; +br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src, br_int_32 count, br_size_t *pextra_space) { + br_uint_32 *ret; } // Offset: 1511 @@ -73,13 +70,11 @@ br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src) { // EDX: pextra // EBX: pextra_size // ECX: block -br_error ValueQuery(br_token_value *tv, void **pextra, br_size_t *pextra_size) { - void *block; - br_tv_template_entry *tep; - void *mem; - br_uint_32 *lp; - int t; - br_tv_custom *custp; +br_error ValueQuery(br_token_value *tv, void **pextra, br_size_t *pextra_size, void *block, br_tv_template_entry *tep) { + void *mem; + br_uint_32 *lp; + int t; + br_tv_custom *custp; } // Offset: 3327 @@ -87,10 +82,11 @@ br_error ValueQuery(br_token_value *tv, void **pextra, br_size_t *pextra_size) { // EAX: block // EDX: tv // EBX: tep -br_error ValueSet(void *block, br_token_value *tv, br_tv_template_entry *tep, unsigned char mem) { - int i; - int t; - br_tv_custom *custp; +br_error ValueSet(void *block, br_token_value *tv, br_tv_template_entry *tep) { + void *mem; + int i; + int t; + br_tv_custom *custp; } // Offset: 4290 @@ -98,73 +94,72 @@ br_error ValueSet(void *block, br_token_value *tv, br_tv_template_entry *tep, un // EAX: block // EDX: tep br_size_t ValueExtraSize(void *block, br_tv_template_entry *tep) { - void *mem; - br_uint_32 *lp; - int t; - br_tv_custom *custp; + void *mem; + br_uint_32 *lp; + int t; + br_tv_custom *custp; } // Offset: 4796 // Size: 160 br_error BrTokenValueQuery(br_uint_32 *pvalue, br_uint_32 *extra, br_size_t extra_size, br_token t, void *block, br_tv_template *template) { - br_int_32 o; - br_tv_template_entry *tep; - br_token_value tv; - br_error r; + br_int_32 o; + br_tv_template_entry *tep; + br_token_value tv; + br_error r; } // Offset: 4978 // Size: 183 -br_error BrTokenValueQueryMany(br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount) { - void *block; - br_tv_template *template; - br_int_32 o; - br_tv_template_entry *tep; - br_error r; +br_error BrTokenValueQueryMany(br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount, void *block, br_tv_template *template) { + br_int_32 o; + br_tv_template_entry *tep; + br_error r; } // Offset: 5187 // Size: 172 -br_error BrTokenValueQueryManySize(br_size_t *psize, br_token_value *tv, void *block, br_tv_template *template, int o) { - br_size_t extra_size; +br_error BrTokenValueQueryManySize(br_size_t *psize, br_token_value *tv, void *block, br_tv_template *template) { + br_int_32 o; + br_size_t extra_size; } // Offset: 5380 // Size: 317 -br_error BrTokenValueQueryAll(br_token_value *buffer, br_size_t buffer_size) { - void *block; - br_tv_template *template; - br_tv_template_entry *tp; - int n; - int e; - br_token_value *tv; - char *extra; - br_size_t extra_size; - br_error r; +br_error BrTokenValueQueryAll(br_token_value *buffer, br_size_t buffer_size, void *block, br_tv_template *template) { + br_tv_template_entry *tp; + int n; + int e; + br_token_value *tv; + char *extra; + br_size_t extra_size; + br_error r; } // Offset: 5722 // Size: 169 br_error BrTokenValueQueryAllSize(br_size_t *psize, void *block, br_tv_template *template) { - br_tv_template_entry *tp; - int e; - int n; - br_size_t extra_size; + br_tv_template_entry *tp; + int e; + int n; + br_size_t extra_size; } // Offset: 5907 // Size: 203 br_error BrTokenValueSet(void *mem, br_uint_32 *pcombined_mask, br_token t, br_uint_32 value, br_tv_template *template) { - br_int_32 o; - br_error r; - br_token_value tv; + br_int_32 o; + br_error r; + br_token_value tv; } // Offset: 6130 // Size: 261 -br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined_mask, br_token_value *tv, br_tv_template *template, enum o, br_fixed_lsf n) { - br_error r; - br_uint_32 cm; +br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined_mask, br_token_value *tv, br_tv_template *template) { + br_int_32 o; + br_int_32 n; + br_error r; + br_uint_32 cm; } // Offset: 6409 @@ -173,14 +168,11 @@ br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *info_0) { - char *info_n; - br_putline_cbfn *putline; - void *arg; - int i; - int j; - char *cp; - char value[128]; +void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg) { + int i; + int j; + char *cp; + char value[128]; } // Offset: 6694 @@ -189,10 +181,11 @@ void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *in // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg, char i) { - int j; - char *cp; - char value[128]; +void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg) { + int i; + int j; + char *cp; + char value[128]; } // Offset: 7003 @@ -201,10 +194,11 @@ void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *in // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg, char i) { - int j; - char *cp; - char value[128]; +void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg) { + int i; + int j; + char *cp; + char value[128]; } // Offset: 7301 @@ -213,39 +207,35 @@ void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_ // EDX: prefix // EBX: info // ECX: putline -void DumpObject(br_object *h, char *prefix, char *info) { - br_putline_cbfn *putline; - void *arg; - char value[128]; - char *dev_ident; - char *h_ident; - br_object *dev; +void DumpObject(br_object *h, char *prefix, char *info, br_putline_cbfn *putline, void *arg) { + char value[128]; + char *dev_ident; + char *h_ident; + br_object *dev; } // Offset: 7578 // Size: 2901 -void BrTokenValueDump(br_token_value *tv, char *prefix, br_putline_cbfn *putline) { - void *arg; - char *id; - char value[128]; - char tmp[128]; - char info_0[64]; - char *info_n; - char *pvalue; - int n; - int i; - br_object **pph; - void **ppp; - br_token *pt; +void BrTokenValueDump(br_token_value *tv, char *prefix, br_putline_cbfn *putline, void *arg) { + char *id; + char value[128]; + char tmp[128]; + char info_0[64]; + char *info_n; + char *pvalue; + int n; + int i; + br_object **pph; + void **ppp; + br_token *pt; } // Offset: 10500 // Size: 156 -br_error BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size) { - char *str; - br_lexer *l; - br_error r; - br_lexer_keyword keywords[4]; +br_error BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size, char *str) { + br_lexer *l; + br_error r; + br_lexer_keyword keywords[4]; } // Offset: 10672 @@ -253,19 +243,18 @@ br_error BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size) { // EAX: l // EDX: tv // EBX: size -br_error parseTokenValue(br_lexer *l, br_token_value *tv) { - br_size_t size; - int len; - char name[40]; - br_token type; - br_token real_types[2]; - br_error r; +br_error parseTokenValue(br_lexer *l, br_token_value *tv, br_size_t size) { + int len; + char name[40]; + br_token type; + br_token real_types[2]; + br_error r; } // Offset: 11993 // Size: 952 br_boolean BrTokenValueCompare(br_token_value *tv1, br_token_value *tv2) { - int i; + int i; } // Offset: 12961 @@ -273,8 +262,8 @@ br_boolean BrTokenValueCompare(br_token_value *tv1, br_token_value *tv2) { // EAX: dstp // EDX: src br_error BrTokenValueDup(br_token_value **dstp, br_token_value *src) { - int i; - int c; - br_token_value *tv; + int i; + int c; + br_token_value *tv; } diff --git a/src/BRSRC13/CORE/FW/tokenval.h b/src/BRSRC13/CORE/FW/tokenval.h index 3498e589..7bf6dc25 100644 --- a/src/BRSRC13/CORE/FW/tokenval.h +++ b/src/BRSRC13/CORE/FW/tokenval.h @@ -1,5 +1,9 @@ +#ifndef _TOKENVAL_H_ +#define _TOKENVAL_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 21 // Size: 88 br_tv_template* BrTVTemplateAllocate(void *res, br_tv_template_entry *entries, int n_entries); @@ -40,7 +44,7 @@ br_float* ConvertFixedToFloat(br_float **pextra, br_fixed_ls *src, br_int_32 cou // EDX: src // EBX: count // ECX: pextra_space -br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src); +br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src, br_int_32 count, br_size_t *pextra_space); // Offset: 1511 // Size: 1807 @@ -48,14 +52,14 @@ br_uint_32* ConvertLongCopy(br_uint_32 **pextra, br_uint_32 *src); // EDX: pextra // EBX: pextra_size // ECX: block -br_error ValueQuery(br_token_value *tv, void **pextra, br_size_t *pextra_size); +br_error ValueQuery(br_token_value *tv, void **pextra, br_size_t *pextra_size, void *block, br_tv_template_entry *tep); // Offset: 3327 // Size: 948 // EAX: block // EDX: tv // EBX: tep -br_error ValueSet(void *block, br_token_value *tv, br_tv_template_entry *tep, unsigned char mem); +br_error ValueSet(void *block, br_token_value *tv, br_tv_template_entry *tep); // Offset: 4290 // Size: 488 @@ -69,15 +73,15 @@ br_error BrTokenValueQuery(br_uint_32 *pvalue, br_uint_32 *extra, br_size_t extr // Offset: 4978 // Size: 183 -br_error BrTokenValueQueryMany(br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount); +br_error BrTokenValueQueryMany(br_token_value *tv, void *extra, br_size_t extra_size, br_int_32 *pcount, void *block, br_tv_template *template); // Offset: 5187 // Size: 172 -br_error BrTokenValueQueryManySize(br_size_t *psize, br_token_value *tv, void *block, br_tv_template *template, int o); +br_error BrTokenValueQueryManySize(br_size_t *psize, br_token_value *tv, void *block, br_tv_template *template); // Offset: 5380 // Size: 317 -br_error BrTokenValueQueryAll(br_token_value *buffer, br_size_t buffer_size); +br_error BrTokenValueQueryAll(br_token_value *buffer, br_size_t buffer_size, void *block, br_tv_template *template); // Offset: 5722 // Size: 169 @@ -89,7 +93,7 @@ br_error BrTokenValueSet(void *mem, br_uint_32 *pcombined_mask, br_token t, br_u // Offset: 6130 // Size: 261 -br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined_mask, br_token_value *tv, br_tv_template *template, enum o, br_fixed_lsf n); +br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined_mask, br_token_value *tv, br_tv_template *template); // Offset: 6409 // Size: 269 @@ -97,7 +101,7 @@ br_error BrTokenValueSetMany(void *mem, br_int_32 *pcount, br_uint_32 *pcombined // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *info_0); +void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg); // Offset: 6694 // Size: 293 @@ -105,7 +109,7 @@ void DumpMatrixInteger(br_int_32 *ip, int rows, int cols, char *prefix, char *in // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg, char i); +void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg); // Offset: 7003 // Size: 287 @@ -113,7 +117,7 @@ void DumpMatrixFixed(br_fixed_ls *xp, int rows, int cols, char *prefix, char *in // EDX: rows // EBX: cols // ECX: prefix -void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg, char i); +void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_0, char *info_n, br_putline_cbfn *putline, void *arg); // Offset: 7301 // Size: 260 @@ -121,22 +125,22 @@ void DumpMatrixFloat(br_float *fp, int rows, int cols, char *prefix, char *info_ // EDX: prefix // EBX: info // ECX: putline -void DumpObject(br_object *h, char *prefix, char *info); +void DumpObject(br_object *h, char *prefix, char *info, br_putline_cbfn *putline, void *arg); // Offset: 7578 // Size: 2901 -void BrTokenValueDump(br_token_value *tv, char *prefix, br_putline_cbfn *putline); +void BrTokenValueDump(br_token_value *tv, char *prefix, br_putline_cbfn *putline, void *arg); // Offset: 10500 // Size: 156 -br_error BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size); +br_error BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size, char *str); // Offset: 10672 // Size: 1301 // EAX: l // EDX: tv // EBX: size -br_error parseTokenValue(br_lexer *l, br_token_value *tv); +br_error parseTokenValue(br_lexer *l, br_token_value *tv, br_size_t size); // Offset: 11993 // Size: 952 @@ -148,3 +152,4 @@ br_boolean BrTokenValueCompare(br_token_value *tv1, br_token_value *tv2); // EDX: src br_error BrTokenValueDup(br_token_value **dstp, br_token_value *src); +#endif diff --git a/src/BRSRC13/CORE/HOST/himage.c b/src/BRSRC13/CORE/HOST/himage.c index 0256f210..bafce4d5 100644 --- a/src/BRSRC13/CORE/HOST/himage.c +++ b/src/BRSRC13/CORE/HOST/himage.c @@ -1,6 +1,5 @@ #include "himage.h" -// Global variables // Offset: 14 // Size: 40 diff --git a/src/BRSRC13/CORE/HOST/himage.h b/src/BRSRC13/CORE/HOST/himage.h index 1338c07a..71d15ad7 100644 --- a/src/BRSRC13/CORE/HOST/himage.h +++ b/src/BRSRC13/CORE/HOST/himage.h @@ -1,5 +1,9 @@ +#ifndef _HIMAGE_H_ +#define _HIMAGE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 40 void* HostImageLoad(char *name); @@ -16,3 +20,4 @@ void* HostImageLookupName(void *img, char *name, br_uint_32 hint); // Size: 40 void* HostImageLookupOrdinal(void *img, br_uint_32 ordinal); +#endif diff --git a/src/BRSRC13/CORE/HOST/hook.c b/src/BRSRC13/CORE/HOST/hook.c index b0ad44ea..b6bed3a9 100644 --- a/src/BRSRC13/CORE/HOST/hook.c +++ b/src/BRSRC13/CORE/HOST/hook.c @@ -1,28 +1,27 @@ #include "hook.h" -// Global variables // Offset: 18 // Size: 168 br_error HostInterruptHook(host_interrupt_hook *h, br_uint_8 vector, br_uint_32 off, br_uint_16 sel) { - br_error r; + br_error r; } // Offset: 206 // Size: 124 br_error HostInterruptUnhook(host_interrupt_hook *h) { - br_error r; + br_error r; } // Offset: 348 // Size: 168 br_error HostExceptionHook(host_exception_hook *h, br_uint_8 exception, br_uint_32 off, br_uint_16 sel) { - br_error r; + br_error r; } // Offset: 536 // Size: 124 br_error HostExceptionUnhook(host_exception_hook *h) { - br_error r; + br_error r; } diff --git a/src/BRSRC13/CORE/HOST/hook.h b/src/BRSRC13/CORE/HOST/hook.h index 02a09cf8..0795c8e5 100644 --- a/src/BRSRC13/CORE/HOST/hook.h +++ b/src/BRSRC13/CORE/HOST/hook.h @@ -1,5 +1,9 @@ +#ifndef _HOOK_H_ +#define _HOOK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 168 br_error HostInterruptHook(host_interrupt_hook *h, br_uint_8 vector, br_uint_32 off, br_uint_16 sel); @@ -16,3 +20,4 @@ br_error HostExceptionHook(host_exception_hook *h, br_uint_8 exception, br_uint_ // Size: 124 br_error HostExceptionUnhook(host_exception_hook *h); +#endif diff --git a/src/BRSRC13/CORE/HOST/hostcfg.c b/src/BRSRC13/CORE/HOST/hostcfg.c index b3916068..1eb5fb05 100644 --- a/src/BRSRC13/CORE/HOST/hostcfg.c +++ b/src/BRSRC13/CORE/HOST/hostcfg.c @@ -1,6 +1,5 @@ #include "hostcfg.h" -// Global variables // Offset: 18 // Size: 40 diff --git a/src/BRSRC13/CORE/HOST/hostcfg.h b/src/BRSRC13/CORE/HOST/hostcfg.h index 358b66ac..c27e4e38 100644 --- a/src/BRSRC13/CORE/HOST/hostcfg.h +++ b/src/BRSRC13/CORE/HOST/hostcfg.h @@ -1,5 +1,9 @@ +#ifndef _HOSTCFG_H_ +#define _HOSTCFG_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 40 char* HostDefaultDevice(); @@ -16,3 +20,4 @@ br_error HostIniQuery(char *ini_file, char *section_name, char *entry, char *Buf // Size: 54 br_error HostRegistryQuery(void *hKey, char *Path, char *entry, char *Buffer, br_uint_16 max, br_uint_16 *size); +#endif diff --git a/src/BRSRC13/CORE/HOST/hstsetup.c b/src/BRSRC13/CORE/HOST/hstsetup.c index 5c38f997..6d8357ca 100644 --- a/src/BRSRC13/CORE/HOST/hstsetup.c +++ b/src/BRSRC13/CORE/HOST/hstsetup.c @@ -1,6 +1,5 @@ #include "hstsetup.h" -// Global variables host_info hostInfo; void *functionPointers_BRHOST1[50]; br_image Image_BRHOST1; @@ -19,8 +18,7 @@ void HostEnd() { // Offset: 125 // Size: 125 -br_error HostInfo(host_info *buffer) { - br_size_t buffersize; - br_int_32 features; +br_error HostInfo(host_info *buffer, br_size_t buffersize) { + br_int_32 features; } diff --git a/src/BRSRC13/CORE/HOST/hstsetup.h b/src/BRSRC13/CORE/HOST/hstsetup.h index c643da30..683e4787 100644 --- a/src/BRSRC13/CORE/HOST/hstsetup.h +++ b/src/BRSRC13/CORE/HOST/hstsetup.h @@ -1,5 +1,9 @@ +#ifndef _HSTSETUP_H_ +#define _HSTSETUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 49 void HostBegin(); @@ -10,5 +14,6 @@ void HostEnd(); // Offset: 125 // Size: 125 -br_error HostInfo(host_info *buffer); +br_error HostInfo(host_info *buffer, br_size_t buffersize); +#endif diff --git a/src/BRSRC13/CORE/HOST/memmgmt.c b/src/BRSRC13/CORE/HOST/memmgmt.c index 0da4b5ef..4b989fe6 100644 --- a/src/BRSRC13/CORE/HOST/memmgmt.c +++ b/src/BRSRC13/CORE/HOST/memmgmt.c @@ -1,6 +1,5 @@ #include "memmgmt.h" -// Global variables host_regs regs; // Offset: 9 @@ -21,17 +20,17 @@ br_error HostSelectorAllocate(br_uint_16 *selp) { // Offset: 623 // Size: 151 br_error HostSelectorAllocateLinear(br_uint_16 *selp, br_uint_32 base, br_size_t size) { - br_uint_16 sel; - br_error r; + br_uint_16 sel; + br_error r; } // Offset: 800 // Size: 159 br_error HostSelectorAllocateAlias(br_uint_16 *aliasp, br_uint_16 sel) { - br_uint_16 alias; - br_uint_32 base; - br_uint_32 limit; - br_error r; + br_uint_16 alias; + br_uint_32 base; + br_uint_32 limit; + br_error r; } // Offset: 988 @@ -42,7 +41,7 @@ br_error HostSelectorAllocatePhysical(br_uint_16 *selp, br_uint_32 phys_addr, br // Offset: 1179 // Size: 135 br_error HostSelectorFree(br_uint_16 sel) { - br_uint_16 rsel; + br_uint_16 rsel; } // Offset: 1334 @@ -58,13 +57,13 @@ br_error HostSelectorLimitSet(br_uint_16 sel, br_size_t limit) { // Offset: 1637 // Size: 130 br_error HostSelectorBaseQuery(br_uint_32 *basep, br_uint_16 sel) { - br_uint_32 base; + br_uint_32 base; } // Offset: 1790 // Size: 175 br_error HostSelectorLimitQuery(br_uint_32 *limitp, br_uint_16 sel) { - br_uint_32 limit; - ldt ldt; + br_uint_32 limit; + ldt ldt; } diff --git a/src/BRSRC13/CORE/HOST/memmgmt.h b/src/BRSRC13/CORE/HOST/memmgmt.h index 1eadbad5..f8fb3c2d 100644 --- a/src/BRSRC13/CORE/HOST/memmgmt.h +++ b/src/BRSRC13/CORE/HOST/memmgmt.h @@ -1,5 +1,9 @@ +#ifndef _MEMMGMT_H_ +#define _MEMMGMT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 9 // Size: 223 br_error HostLock(br_uint_32 offset, br_uint_16 sel, br_size_t size); @@ -44,3 +48,4 @@ br_error HostSelectorBaseQuery(br_uint_32 *basep, br_uint_16 sel); // Size: 175 br_error HostSelectorLimitQuery(br_uint_32 *limitp, br_uint_16 sel); +#endif diff --git a/src/BRSRC13/CORE/MATH/angles.c b/src/BRSRC13/CORE/MATH/angles.c index e6849de9..e3f611f1 100644 --- a/src/BRSRC13/CORE/MATH/angles.c +++ b/src/BRSRC13/CORE/MATH/angles.c @@ -1,77 +1,76 @@ #include "angles.h" -// Global variables char rscid[48]; order_info OrderAxes[32]; // Offset: 18 // Size: 998 br_matrix34* BrEulerToMatrix34(br_matrix34 *mat, br_euler *euler) { - br_uint_8 o; - br_angle ti; - br_angle tj; - br_angle th; - br_scalar ci; - br_scalar cj; - br_scalar ch; - br_scalar si; - br_scalar sj; - br_scalar sh; - br_scalar cc; - br_scalar cs; - br_scalar sc; - br_scalar ss; - int a0; - int a1; - int a2; + br_uint_8 o; + br_angle ti; + br_angle tj; + br_angle th; + br_scalar ci; + br_scalar cj; + br_scalar ch; + br_scalar si; + br_scalar sj; + br_scalar sh; + br_scalar cc; + br_scalar cs; + br_scalar sc; + br_scalar ss; + int a0; + int a1; + int a2; } // Offset: 1034 // Size: 1213 br_euler* BrMatrix34ToEuler(br_euler *euler, br_matrix34 *mat) { - br_uint_8 o; - int a0; - int a1; - int a2; + br_uint_8 o; + int a0; + int a1; + int a2; } // Offset: 2264 // Size: 102 br_matrix4* BrEulerToMatrix4(br_matrix4 *mat, br_euler *euler) { - br_matrix34 tmp; + br_matrix34 tmp; } // Offset: 2383 // Size: 99 br_euler* BrMatrix4ToEuler(br_euler *dest, br_matrix4 *mat) { - br_matrix34 tmp; + br_matrix34 tmp; } // Offset: 2496 // Size: 802 br_quat* BrEulerToQuat(br_quat *q, br_euler *euler) { - br_uint_8 o; - br_angle ti; - br_angle tj; - br_angle th; - br_scalar ci; - br_scalar cj; - br_scalar ch; - br_scalar si; - br_scalar sj; - br_scalar sh; - br_scalar cc; - br_scalar cs; - br_scalar sc; - br_scalar ss; - int a0; - int a1; - int a2; + br_uint_8 o; + br_angle ti; + br_angle tj; + br_angle th; + br_scalar ci; + br_scalar cj; + br_scalar ch; + br_scalar si; + br_scalar sj; + br_scalar sh; + br_scalar cc; + br_scalar cs; + br_scalar sc; + br_scalar ss; + int a0; + int a1; + int a2; } // Offset: 3312 // Size: 68 br_euler* BrQuatToEuler(br_euler *euler, br_quat *q) { - br_matrix34 mat; + br_matrix34 mat; } diff --git a/src/BRSRC13/CORE/MATH/angles.h b/src/BRSRC13/CORE/MATH/angles.h index d553ac5f..3d82fed0 100644 --- a/src/BRSRC13/CORE/MATH/angles.h +++ b/src/BRSRC13/CORE/MATH/angles.h @@ -1,5 +1,9 @@ +#ifndef _ANGLES_H_ +#define _ANGLES_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 998 br_matrix34* BrEulerToMatrix34(br_matrix34 *mat, br_euler *euler); @@ -24,3 +28,4 @@ br_quat* BrEulerToQuat(br_quat *q, br_euler *euler); // Size: 68 br_euler* BrQuatToEuler(br_euler *euler, br_quat *q); +#endif diff --git a/src/BRSRC13/CORE/MATH/matrix23.c b/src/BRSRC13/CORE/MATH/matrix23.c index 62f8f2ef..57caee88 100644 --- a/src/BRSRC13/CORE/MATH/matrix23.c +++ b/src/BRSRC13/CORE/MATH/matrix23.c @@ -1,6 +1,5 @@ #include "matrix23.h" -// Global variables br_matrix23 mattmp1; br_matrix23 mattmp2; char rscid[52]; @@ -23,8 +22,8 @@ void BrMatrix23Identity(br_matrix23 *mat) { // Offset: 654 // Size: 179 void BrMatrix23Rotate(br_matrix23 *mat, br_angle rz) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 853 @@ -50,10 +49,10 @@ void BrMatrix23ShearY(br_matrix23 *mat, br_scalar sx) { // Offset: 1389 // Size: 469 br_scalar BrMatrix23Inverse(br_matrix23 *B, br_matrix23 *A) { - br_scalar det; - br_scalar idet; - br_scalar pos; - br_scalar neg; + br_scalar det; + br_scalar idet; + br_scalar pos; + br_scalar neg; } // Offset: 1878 diff --git a/src/BRSRC13/CORE/MATH/matrix23.h b/src/BRSRC13/CORE/MATH/matrix23.h index c35caf34..743c36f2 100644 --- a/src/BRSRC13/CORE/MATH/matrix23.h +++ b/src/BRSRC13/CORE/MATH/matrix23.h @@ -1,5 +1,9 @@ +#ifndef _MATRIX23_H_ +#define _MATRIX23_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 15 // Size: 156 void BrMatrix23Copy(br_matrix23 *A, br_matrix23 *B); @@ -108,3 +112,4 @@ void BrMatrix23PreShearY(br_matrix23 *mat, br_scalar sx); // Size: 126 void BrMatrix23PostShearY(br_matrix23 *mat, br_scalar sx); +#endif diff --git a/src/BRSRC13/CORE/MATH/matrix34.c b/src/BRSRC13/CORE/MATH/matrix34.c index 8cff89d3..ffa39c1b 100644 --- a/src/BRSRC13/CORE/MATH/matrix34.c +++ b/src/BRSRC13/CORE/MATH/matrix34.c @@ -1,6 +1,5 @@ #include "matrix34.h" -// Global variables br_matrix34 mattmp1; br_matrix34 mattmp2; char rscid[52]; @@ -23,36 +22,36 @@ void BrMatrix34Identity(br_matrix34 *mat) { // Offset: 1153 // Size: 239 void BrMatrix34RotateX(br_matrix34 *mat, br_angle rx) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 1410 // Size: 239 void BrMatrix34RotateY(br_matrix34 *mat, br_angle ry) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 1667 // Size: 242 void BrMatrix34RotateZ(br_matrix34 *mat, br_angle rz) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 1926 // Size: 418 void BrMatrix34Rotate(br_matrix34 *mat, br_angle r, br_vector3 *a) { - br_scalar t; - br_scalar s; - br_scalar c; - br_scalar txy; - br_scalar txz; - br_scalar tyz; - br_scalar sx; - br_scalar sy; - br_scalar sz; + br_scalar t; + br_scalar s; + br_scalar c; + br_scalar txy; + br_scalar txz; + br_scalar tyz; + br_scalar sx; + br_scalar sy; + br_scalar sz; } // Offset: 2364 @@ -83,14 +82,14 @@ void BrMatrix34ShearZ(br_matrix34 *mat, br_scalar sx, br_scalar sy) { // Offset: 3337 // Size: 1008 br_scalar BrMatrix34Inverse(br_matrix34 *B, br_matrix34 *A) { - float idet; - float det; - float pos; - float neg; - float temp; - float AF[4][3]; - float BF[4][3]; - int i; + float idet; + float det; + float pos; + float neg; + float temp; + float AF[4][3]; + float BF[4][3]; + int i; } // Offset: 4365 @@ -106,25 +105,25 @@ void BrMatrix34LPNormalise(br_matrix34 *A, br_matrix34 *B) { // Offset: 5368 // Size: 354 void BrMatrix34RollingBall(br_matrix34 *mat, int dx, int dy, int radius) { - br_scalar nx; - br_scalar ny; - br_scalar ca; - br_scalar sa; - br_scalar dr; - br_scalar h; + br_scalar nx; + br_scalar ny; + br_scalar ca; + br_scalar sa; + br_scalar dr; + br_scalar h; } // Offset: 5741 // Size: 367 br_matrix34* BrBoundsToMatrix34(br_matrix34 *mat, br_bounds *bounds) { - int i; - br_vector3 tr; - br_vector3 sc; + int i; + br_vector3 tr; + br_vector3 sc; } // Offset: 6124 // Size: 234 -void BrMatrix34Copy4(br_matrix34 *A, br_matrix4 *B, char __unk2__) { +void BrMatrix34Copy4(br_matrix34 *A, br_matrix4 *B) { } // Offset: 6377 @@ -132,12 +131,12 @@ void BrMatrix34Copy4(br_matrix34 *A, br_matrix4 *B, char __unk2__) { // EAX: A // EDX: B // EBX: C -void BrMatrix34TApplyFV(br_vector3 *A, br_fvector3 *B, br_matrix34 *C, char __unk3__) { +void BrMatrix34TApplyFV(br_vector3 *A, br_fvector3 *B, br_matrix34 *C) { } // Offset: 6691 // Size: 331 -void BrMatrix34Apply(br_vector3 *A, br_vector4 *B, br_matrix34 *C, short __unk3__) { +void BrMatrix34Apply(br_vector3 *A, br_vector4 *B, br_matrix34 *C) { } // Offset: 7039 @@ -152,8 +151,7 @@ void BrMatrix34ApplyV(br_vector3 *A, br_vector3 *B, br_matrix34 *C) { // Offset: 7807 // Size: 408 -void BrMatrix34TApply(br_vector4 *A, br_vector4 *B) { - br_matrix34 *C; +void BrMatrix34TApply(br_vector4 *A, br_vector4 *B, br_matrix34 *C) { } // Offset: 8233 diff --git a/src/BRSRC13/CORE/MATH/matrix34.h b/src/BRSRC13/CORE/MATH/matrix34.h index 76990128..571218ad 100644 --- a/src/BRSRC13/CORE/MATH/matrix34.h +++ b/src/BRSRC13/CORE/MATH/matrix34.h @@ -1,5 +1,9 @@ +#ifndef _MATRIX34_H_ +#define _MATRIX34_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 15 // Size: 228 void BrMatrix34Copy(br_matrix34 *A, br_matrix34 *B); @@ -70,18 +74,18 @@ br_matrix34* BrBoundsToMatrix34(br_matrix34 *mat, br_bounds *bounds); // Offset: 6124 // Size: 234 -void BrMatrix34Copy4(br_matrix34 *A, br_matrix4 *B, char __unk2__); +void BrMatrix34Copy4(br_matrix34 *A, br_matrix4 *B); // Offset: 6377 // Size: 298 // EAX: A // EDX: B // EBX: C -void BrMatrix34TApplyFV(br_vector3 *A, br_fvector3 *B, br_matrix34 *C, char __unk3__); +void BrMatrix34TApplyFV(br_vector3 *A, br_fvector3 *B, br_matrix34 *C); // Offset: 6691 // Size: 331 -void BrMatrix34Apply(br_vector3 *A, br_vector4 *B, br_matrix34 *C, short __unk3__); +void BrMatrix34Apply(br_vector3 *A, br_vector4 *B, br_matrix34 *C); // Offset: 7039 // Size: 379 @@ -93,7 +97,7 @@ void BrMatrix34ApplyV(br_vector3 *A, br_vector3 *B, br_matrix34 *C); // Offset: 7807 // Size: 408 -void BrMatrix34TApply(br_vector4 *A, br_vector4 *B); +void BrMatrix34TApply(br_vector4 *A, br_vector4 *B, br_matrix34 *C); // Offset: 8233 // Size: 355 @@ -183,3 +187,4 @@ void BrMatrix34PreShearZ(br_matrix34 *mat, br_scalar sx, br_scalar sy); // Size: 135 void BrMatrix34PostShearZ(br_matrix34 *mat, br_scalar sx, br_scalar sy); +#endif diff --git a/src/BRSRC13/CORE/MATH/matrix4.c b/src/BRSRC13/CORE/MATH/matrix4.c index bc6ee7a8..4db29873 100644 --- a/src/BRSRC13/CORE/MATH/matrix4.c +++ b/src/BRSRC13/CORE/MATH/matrix4.c @@ -1,6 +1,5 @@ #include "matrix4.h" -// Global variables char rscid[51]; // Offset: 14 @@ -26,10 +25,10 @@ void BrMatrix4Scale(br_matrix4 *mat, br_scalar sx, br_scalar sy, br_scalar sz) { // Offset: 1849 // Size: 307 br_scalar BrMatrix4Inverse(br_matrix4 *A, br_matrix4 *B) { - int i; - int j; - br_scalar det; - br_scalar idet; + int i; + int j; + br_scalar det; + br_scalar idet; } // Offset: 2169 @@ -40,49 +39,49 @@ br_scalar Determinant3(br_scalar a1, br_scalar a2, br_scalar a3, br_scalar b1, b // Offset: 2299 // Size: 603 br_scalar BrMatrix4Determinant(br_matrix4 *mat) { - br_scalar a1; - br_scalar a2; - br_scalar a3; - br_scalar a4; - br_scalar b1; - br_scalar b2; - br_scalar b3; - br_scalar b4; - br_scalar c1; - br_scalar c2; - br_scalar c3; - br_scalar c4; - br_scalar d1; - br_scalar d2; - br_scalar d3; - br_scalar d4; + br_scalar a1; + br_scalar a2; + br_scalar a3; + br_scalar a4; + br_scalar b1; + br_scalar b2; + br_scalar b3; + br_scalar b4; + br_scalar c1; + br_scalar c2; + br_scalar c3; + br_scalar c4; + br_scalar d1; + br_scalar d2; + br_scalar d3; + br_scalar d4; } // Offset: 2919 // Size: 1722 void BrMatrix4Adjoint(br_matrix4 *A, br_matrix4 *B) { - br_scalar a1; - br_scalar a2; - br_scalar a3; - br_scalar a4; - br_scalar b1; - br_scalar b2; - br_scalar b3; - br_scalar b4; - br_scalar c1; - br_scalar c2; - br_scalar c3; - br_scalar c4; - br_scalar d1; - br_scalar d2; - br_scalar d3; - br_scalar d4; + br_scalar a1; + br_scalar a2; + br_scalar a3; + br_scalar a4; + br_scalar b1; + br_scalar b2; + br_scalar b3; + br_scalar b4; + br_scalar c1; + br_scalar c2; + br_scalar c3; + br_scalar c4; + br_scalar d1; + br_scalar d2; + br_scalar d3; + br_scalar d4; } // Offset: 4662 // Size: 342 void BrMatrix4Perspective(br_matrix4 *mat, br_angle field_of_view, br_scalar aspect, br_scalar hither, br_scalar yon) { - br_scalar scale; + br_scalar scale; } // Offset: 5019 @@ -117,17 +116,18 @@ void BrMatrix4TApplyV(br_vector4 *A, br_vector3 *B, br_matrix4 *C) { // Offset: 7297 // Size: 274 -void BrMatrix4Copy34(br_matrix4 *A, br_matrix34 *B, unsigned short __unk2__) { +void BrMatrix4Copy34(br_matrix4 *A, br_matrix34 *B) { } // Offset: 7586 // Size: 882 -void BrMatrix4Mul34(br_matrix4 *A, br_matrix34 *B, br_matrix4 *C, short __unk3__) { +void BrMatrix4Mul34(br_matrix4 *A, br_matrix34 *B, br_matrix4 *C) { } // Offset: 8483 // Size: 125 -void BrMatrix4Pre34(br_matrix4 *A, br_matrix34 *B, unsigned short C) { +void BrMatrix4Pre34(br_matrix4 *A, br_matrix34 *B) { + br_matrix4 C; } // Offset: 8624 diff --git a/src/BRSRC13/CORE/MATH/matrix4.h b/src/BRSRC13/CORE/MATH/matrix4.h index d7a2eb37..8ed1f72e 100644 --- a/src/BRSRC13/CORE/MATH/matrix4.h +++ b/src/BRSRC13/CORE/MATH/matrix4.h @@ -1,5 +1,9 @@ +#ifndef _MATRIX4_H_ +#define _MATRIX4_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 276 void BrMatrix4Copy(br_matrix4 *A, br_matrix4 *B); @@ -62,17 +66,18 @@ void BrMatrix4TApplyV(br_vector4 *A, br_vector3 *B, br_matrix4 *C); // Offset: 7297 // Size: 274 -void BrMatrix4Copy34(br_matrix4 *A, br_matrix34 *B, unsigned short __unk2__); +void BrMatrix4Copy34(br_matrix4 *A, br_matrix34 *B); // Offset: 7586 // Size: 882 -void BrMatrix4Mul34(br_matrix4 *A, br_matrix34 *B, br_matrix4 *C, short __unk3__); +void BrMatrix4Mul34(br_matrix4 *A, br_matrix34 *B, br_matrix4 *C); // Offset: 8483 // Size: 125 -void BrMatrix4Pre34(br_matrix4 *A, br_matrix34 *B, unsigned short C); +void BrMatrix4Pre34(br_matrix4 *A, br_matrix34 *B); // Offset: 8624 // Size: 218 void BrMatrix4ShearZ(br_matrix4 *mat, br_scalar sx, br_scalar sy); +#endif diff --git a/src/BRSRC13/CORE/MATH/plane.c b/src/BRSRC13/CORE/MATH/plane.c index 8b7a6001..e8b51f63 100644 --- a/src/BRSRC13/CORE/MATH/plane.c +++ b/src/BRSRC13/CORE/MATH/plane.c @@ -1,23 +1,22 @@ #include "plane.h" -// Global variables char rscid[49]; // Offset: 16 // Size: 525 br_int_32 BrPlaneEquation(br_vector4 *eqn, br_vector3 *v0, br_vector3 *v1, br_vector3 *v2) { - br_vector3 a; - br_vector3 b; - float ax; - float ay; - float az; - float bx; - float by; - float bz; - float nx; - float ny; - float nz; - float d; - float l; + br_vector3 a; + br_vector3 b; + float ax; + float ay; + float az; + float bx; + float by; + float bz; + float nx; + float ny; + float nz; + float d; + float l; } diff --git a/src/BRSRC13/CORE/MATH/plane.h b/src/BRSRC13/CORE/MATH/plane.h index 58f2bef5..d23b9840 100644 --- a/src/BRSRC13/CORE/MATH/plane.h +++ b/src/BRSRC13/CORE/MATH/plane.h @@ -1,6 +1,11 @@ +#ifndef _PLANE_H_ +#define _PLANE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 16 // Size: 525 br_int_32 BrPlaneEquation(br_vector4 *eqn, br_vector3 *v0, br_vector3 *v1, br_vector3 *v2); +#endif diff --git a/src/BRSRC13/CORE/MATH/quat.c b/src/BRSRC13/CORE/MATH/quat.c index 319ec358..1336369c 100644 --- a/src/BRSRC13/CORE/MATH/quat.c +++ b/src/BRSRC13/CORE/MATH/quat.c @@ -1,27 +1,26 @@ #include "quat.h" -// Global variables char rscid[48]; // Offset: 10 // Size: 433 br_quat* BrQuatMul(br_quat *q, br_quat *l, br_quat *r) { - br_scalar x1; - br_scalar x2; - br_scalar x3; - br_scalar x4; - br_scalar x5; - br_scalar x6; - br_scalar x7; - br_scalar x8; - br_scalar s; - br_scalar t; + br_scalar x1; + br_scalar x2; + br_scalar x3; + br_scalar x4; + br_scalar x5; + br_scalar x6; + br_scalar x7; + br_scalar x8; + br_scalar s; + br_scalar t; } // Offset: 459 // Size: 211 br_quat* BrQuatNormalise(br_quat *q, br_quat *qq) { - br_scalar s; + br_scalar s; } // Offset: 683 @@ -32,51 +31,51 @@ br_quat* BrQuatInvert(br_quat *q, br_quat *qq) { // Offset: 842 // Size: 612 br_quat* BrQuatSlerp(br_quat *q, br_quat *l, br_quat *r, br_scalar a, br_int_16 spins) { - int omega; - int omega_spin; - br_scalar s_omega; - br_scalar c_omega; - br_scalar scale_l; - br_scalar scale_r; - br_quat t; + int omega; + int omega_spin; + br_scalar s_omega; + br_scalar c_omega; + br_scalar scale_l; + br_scalar scale_r; + br_quat t; } // Offset: 1471 // Size: 399 br_matrix34* BrQuatToMatrix34(br_matrix34 *mat, br_quat *q) { - br_scalar xs; - br_scalar ys; - br_scalar zs; - br_scalar wx; - br_scalar wy; - br_scalar wz; - br_scalar xx; - br_scalar xy; - br_scalar xz; - br_scalar yy; - br_scalar yz; - br_scalar zz; + br_scalar xs; + br_scalar ys; + br_scalar zs; + br_scalar wx; + br_scalar wy; + br_scalar wz; + br_scalar xx; + br_scalar xy; + br_scalar xz; + br_scalar yy; + br_scalar yz; + br_scalar zz; } // Offset: 1887 // Size: 589 br_quat* BrMatrix34ToQuat(br_quat *q, br_matrix34 *mat) { - br_scalar tr; - br_scalar s; - int i; - int j; - int k; + br_scalar tr; + br_scalar s; + int i; + int j; + int k; } // Offset: 2492 // Size: 133 br_matrix4* BrQuatToMatrix4(br_matrix4 *mat, br_quat *q) { - br_matrix34 tmp; + br_matrix34 tmp; } // Offset: 2641 // Size: 130 br_quat* BrMatrix4ToQuat(br_quat *q, br_matrix4 *mat) { - br_matrix34 tmp; + br_matrix34 tmp; } diff --git a/src/BRSRC13/CORE/MATH/quat.h b/src/BRSRC13/CORE/MATH/quat.h index de3d483a..b2956ba1 100644 --- a/src/BRSRC13/CORE/MATH/quat.h +++ b/src/BRSRC13/CORE/MATH/quat.h @@ -1,5 +1,9 @@ +#ifndef _QUAT_H_ +#define _QUAT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 10 // Size: 433 br_quat* BrQuatMul(br_quat *q, br_quat *l, br_quat *r); @@ -32,3 +36,4 @@ br_matrix4* BrQuatToMatrix4(br_matrix4 *mat, br_quat *q); // Size: 130 br_quat* BrMatrix4ToQuat(br_quat *q, br_matrix4 *mat); +#endif diff --git a/src/BRSRC13/CORE/MATH/transfrm.c b/src/BRSRC13/CORE/MATH/transfrm.c index fc92e380..6b92c9bb 100644 --- a/src/BRSRC13/CORE/MATH/transfrm.c +++ b/src/BRSRC13/CORE/MATH/transfrm.c @@ -1,6 +1,5 @@ #include "transfrm.h" -// Global variables char rscid[52]; br_uint_8 _CombineTransforms[7][7]; @@ -12,20 +11,19 @@ void BrTransformToMatrix34(br_matrix34 *mat, br_transform *xform) { // Offset: 877 // Size: 127 void BrMatrix34PreTransform(br_matrix34 *mat, br_transform *xform) { - br_matrix34 tmp; + br_matrix34 tmp; } // Offset: 1028 // Size: 133 void BrMatrix34PostTransform(br_matrix34 *mat, br_transform *xform) { - br_matrix34 tmp; + br_matrix34 tmp; } // Offset: 1183 // Size: 133 -void BrMatrix4PreTransform(br_matrix4 *mat) { - br_transform *xform; - br_matrix34 tmp; +void BrMatrix4PreTransform(br_matrix4 *mat, br_transform *xform) { + br_matrix34 tmp; } // Offset: 1338 @@ -36,6 +34,6 @@ void BrMatrix34ToTransform(br_transform *xform, br_matrix34 *mat) { // Offset: 1921 // Size: 214 void BrTransformToTransform(br_transform *dest, br_transform *src) { - br_matrix34 temp; + br_matrix34 temp; } diff --git a/src/BRSRC13/CORE/MATH/transfrm.h b/src/BRSRC13/CORE/MATH/transfrm.h index c393ea74..b00aefea 100644 --- a/src/BRSRC13/CORE/MATH/transfrm.h +++ b/src/BRSRC13/CORE/MATH/transfrm.h @@ -1,5 +1,9 @@ +#ifndef _TRANSFRM_H_ +#define _TRANSFRM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 22 // Size: 832 void BrTransformToMatrix34(br_matrix34 *mat, br_transform *xform); @@ -14,7 +18,7 @@ void BrMatrix34PostTransform(br_matrix34 *mat, br_transform *xform); // Offset: 1183 // Size: 133 -void BrMatrix4PreTransform(br_matrix4 *mat); +void BrMatrix4PreTransform(br_matrix4 *mat, br_transform *xform); // Offset: 1338 // Size: 560 @@ -24,3 +28,4 @@ void BrMatrix34ToTransform(br_transform *xform, br_matrix34 *mat); // Size: 214 void BrTransformToTransform(br_transform *dest, br_transform *src); +#endif diff --git a/src/BRSRC13/CORE/MATH/vector.c b/src/BRSRC13/CORE/MATH/vector.c index a5ca9b33..0a43eb23 100644 --- a/src/BRSRC13/CORE/MATH/vector.c +++ b/src/BRSRC13/CORE/MATH/vector.c @@ -1,6 +1,5 @@ #include "vector.h" -// Global variables char rscid[50]; // Offset: 14 @@ -141,13 +140,13 @@ br_scalar BrVector3LengthSquared(br_vector3 *v1) { // Offset: 3795 // Size: 226 void BrVector3Normalise(br_vector3 *v1, br_vector3 *v2) { - br_scalar scale; + br_scalar scale; } // Offset: 4042 // Size: 191 void BrVector3NormaliseLP(br_vector3 *v1, br_vector3 *v2) { - br_scalar scale; + br_scalar scale; } // Offset: 4246 @@ -164,54 +163,49 @@ void BrVector4Copy(br_vector4 *v1, br_vector4 *v2) { // Size: 130 // EAX: v1 // EDX: v2 -br_scalar BrFVector2Dot(br_fvector2 *v1) { - br_vector2 *v2; +br_scalar BrFVector2Dot(br_fvector2 *v1, br_vector2 *v2) { } // Offset: 4718 // Size: 134 // EAX: v1 // EDX: v2 -void BrFVector3Copy(br_fvector3 *v1) { - br_vector3 *v2; +void BrFVector3Copy(br_fvector3 *v1, br_vector3 *v2) { } // Offset: 4868 // Size: 145 // EAX: v1 // EDX: v2 -void BrVector3ScaleF(br_vector3 *v1, br_fvector3 *v2, br_scalar s, short __unk3__) { +void BrVector3ScaleF(br_vector3 *v1, br_fvector3 *v2, br_scalar s) { } // Offset: 5027 // Size: 144 // EAX: v1 // EDX: v2 -br_scalar BrFVector3Dot(br_fvector3 *v1) { - br_vector3 *v2; +br_scalar BrFVector3Dot(br_fvector3 *v1, br_vector3 *v2) { } // Offset: 5191 // Size: 234 // EAX: v1 // EDX: v2 -void BrFVector3Normalise(br_fvector3 *v1) { - br_vector3 *v2; - br_scalar scale; +void BrFVector3Normalise(br_fvector3 *v1, br_vector3 *v2) { + br_scalar scale; } // Offset: 5447 // Size: 190 // EAX: v1 // EDX: v2 -void BrFVector3NormaliseLP(br_fvector3 *v1) { - br_vector3 *v2; - br_scalar scale; +void BrFVector3NormaliseLP(br_fvector3 *v1, br_vector3 *v2) { + br_scalar scale; } // Offset: 5656 // Size: 190 void BrVector2Normalise(br_vector2 *v1, br_vector2 *v2) { - br_scalar scale; + br_scalar scale; } diff --git a/src/BRSRC13/CORE/MATH/vector.h b/src/BRSRC13/CORE/MATH/vector.h index 5e929e6b..c7ee1e01 100644 --- a/src/BRSRC13/CORE/MATH/vector.h +++ b/src/BRSRC13/CORE/MATH/vector.h @@ -1,5 +1,9 @@ +#ifndef _VECTOR_H_ +#define _VECTOR_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 108 void BrVector2Copy(br_vector2 *v1, br_vector2 *v2); @@ -128,39 +132,40 @@ void BrVector4Copy(br_vector4 *v1, br_vector4 *v2); // Size: 130 // EAX: v1 // EDX: v2 -br_scalar BrFVector2Dot(br_fvector2 *v1); +br_scalar BrFVector2Dot(br_fvector2 *v1, br_vector2 *v2); // Offset: 4718 // Size: 134 // EAX: v1 // EDX: v2 -void BrFVector3Copy(br_fvector3 *v1); +void BrFVector3Copy(br_fvector3 *v1, br_vector3 *v2); // Offset: 4868 // Size: 145 // EAX: v1 // EDX: v2 -void BrVector3ScaleF(br_vector3 *v1, br_fvector3 *v2, br_scalar s, short __unk3__); +void BrVector3ScaleF(br_vector3 *v1, br_fvector3 *v2, br_scalar s); // Offset: 5027 // Size: 144 // EAX: v1 // EDX: v2 -br_scalar BrFVector3Dot(br_fvector3 *v1); +br_scalar BrFVector3Dot(br_fvector3 *v1, br_vector3 *v2); // Offset: 5191 // Size: 234 // EAX: v1 // EDX: v2 -void BrFVector3Normalise(br_fvector3 *v1); +void BrFVector3Normalise(br_fvector3 *v1, br_vector3 *v2); // Offset: 5447 // Size: 190 // EAX: v1 // EDX: v2 -void BrFVector3NormaliseLP(br_fvector3 *v1); +void BrFVector3NormaliseLP(br_fvector3 *v1, br_vector3 *v2); // Offset: 5656 // Size: 190 void BrVector2Normalise(br_vector2 *v1, br_vector2 *v2); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/fontptrs.c b/src/BRSRC13/CORE/PIXELMAP/fontptrs.c index a431565a..2a7dbe07 100644 --- a/src/BRSRC13/CORE/PIXELMAP/fontptrs.c +++ b/src/BRSRC13/CORE/PIXELMAP/fontptrs.c @@ -1,6 +1,5 @@ #include "fontptrs.h" -// Global variables br_font *BrFontProp4x6; br_font *BrFontProp7x9; br_font *BrFontFixed3x5; diff --git a/src/BRSRC13/CORE/PIXELMAP/fontptrs.h b/src/BRSRC13/CORE/PIXELMAP/fontptrs.h index 809230b1..311031b2 100644 --- a/src/BRSRC13/CORE/PIXELMAP/fontptrs.h +++ b/src/BRSRC13/CORE/PIXELMAP/fontptrs.h @@ -1,2 +1,7 @@ +#ifndef _FONTPTRS_H_ +#define _FONTPTRS_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/genclip.c b/src/BRSRC13/CORE/PIXELMAP/genclip.c index 52f197e3..75899948 100644 --- a/src/BRSRC13/CORE/PIXELMAP/genclip.c +++ b/src/BRSRC13/CORE/PIXELMAP/genclip.c @@ -1,6 +1,5 @@ #include "genclip.h" -// Global variables char rscid[49]; // Offset: 18 @@ -11,13 +10,13 @@ br_clip_result PixelmapPointClip(br_point *out, br_point *in, br_pixelmap *pm) { // Offset: 178 // Size: 751 br_clip_result PixelmapLineClip(br_point *s_out, br_point *e_out, br_point *s_in, br_point *e_in, br_pixelmap *pm) { - int temp; - br_int_32 w; - br_int_32 h; - br_int_32 x1; - br_int_32 x2; - br_int_32 y1; - br_int_32 y2; + int temp; + br_int_32 w; + br_int_32 h; + br_int_32 x1; + br_int_32 x2; + br_int_32 y1; + br_int_32 y2; } // Offset: 951 diff --git a/src/BRSRC13/CORE/PIXELMAP/genclip.h b/src/BRSRC13/CORE/PIXELMAP/genclip.h index e72246d2..78b42efc 100644 --- a/src/BRSRC13/CORE/PIXELMAP/genclip.h +++ b/src/BRSRC13/CORE/PIXELMAP/genclip.h @@ -1,5 +1,9 @@ +#ifndef _GENCLIP_H_ +#define _GENCLIP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 143 br_clip_result PixelmapPointClip(br_point *out, br_point *in, br_pixelmap *pm); @@ -20,3 +24,4 @@ br_clip_result PixelmapRectangleClipTwo(br_rectangle *r_out, br_point *p_out, br // Size: 418 br_clip_result PixelmapCopyBitsClip(br_rectangle *r_out, br_point *p_out, br_rectangle *r_in, br_point *p_in, br_pixelmap *pm); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/gencopy.c b/src/BRSRC13/CORE/PIXELMAP/gencopy.c index 7bbcc60c..3f132918 100644 --- a/src/BRSRC13/CORE/PIXELMAP/gencopy.c +++ b/src/BRSRC13/CORE/PIXELMAP/gencopy.c @@ -1,6 +1,5 @@ #include "gencopy.h" -// Global variables char rscid[49]; // Offset: 21 diff --git a/src/BRSRC13/CORE/PIXELMAP/gencopy.h b/src/BRSRC13/CORE/PIXELMAP/gencopy.h index 40dfca25..28ac04b1 100644 --- a/src/BRSRC13/CORE/PIXELMAP/gencopy.h +++ b/src/BRSRC13/CORE/PIXELMAP/gencopy.h @@ -1,5 +1,9 @@ +#ifndef _GENCOPY_H_ +#define _GENCOPY_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 21 // Size: 50 // EAX: dest @@ -22,3 +26,4 @@ br_error GeneralCopy(br_device_pixelmap *dst, br_device_pixelmap *src); // ECX: s br_error GeneralRectangleStretchCopy(br_device_pixelmap *dst, br_rectangle *d, br_device_pixelmap *src, br_rectangle *s); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pixelmap.c b/src/BRSRC13/CORE/PIXELMAP/pixelmap.c index 25ad553e..b93c0429 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pixelmap.c +++ b/src/BRSRC13/CORE/PIXELMAP/pixelmap.c @@ -1,6 +1,5 @@ #include "pixelmap.h" -// Global variables char rscid[50]; // Offset: 19 diff --git a/src/BRSRC13/CORE/PIXELMAP/pixelmap.h b/src/BRSRC13/CORE/PIXELMAP/pixelmap.h index 40e9340f..d57e8c13 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pixelmap.h +++ b/src/BRSRC13/CORE/PIXELMAP/pixelmap.h @@ -1,6 +1,11 @@ +#ifndef _PIXELMAP_H_ +#define _PIXELMAP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 19 // Size: 65 br_pixelmap* BrPixelmapAllocate(br_uint_8 type, br_int_32 w, br_int_32 h, void *pixels, int flags); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmdsptch.c b/src/BRSRC13/CORE/PIXELMAP/pmdsptch.c index fb97d9d0..5ac8712b 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmdsptch.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmdsptch.c @@ -1,13 +1,12 @@ #include "pmdsptch.h" -// Global variables char rscid[65]; // Offset: 22 // Size: 107 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; - br_rectangle r; + br_pixelmap *new; + br_rectangle r; } // Offset: 144 @@ -23,36 +22,36 @@ br_pixelmap* BrPixelmapResize(br_pixelmap *src, br_int_32 width, br_int_32 heigh // Offset: 386 // Size: 432 br_pixelmap* BrPixelmapMatch(br_pixelmap *src, br_uint_8 match_type) { - br_pixelmap *new; - br_token_value tv[3]; + br_pixelmap *new; + br_token_value tv[3]; } // Offset: 839 // Size: 308 br_pixelmap* BrPixelmapMatchSized(br_pixelmap *src, br_uint_8 match_type, br_int_32 width, br_int_32 height) { - br_pixelmap *new; - br_token_value tv[5]; + br_pixelmap *new; + br_token_value tv[5]; } // Offset: 1168 // Size: 389 br_pixelmap* BrPixelmapMatchTyped(br_pixelmap *src, br_uint_8 match_type, br_uint_8 pixelmap_type) { - br_pixelmap *new; - br_token_value tv[4]; + br_pixelmap *new; + br_token_value tv[4]; } // Offset: 1583 // Size: 438 br_pixelmap* BrPixelmapMatchTypedSized(br_pixelmap *src, br_uint_8 match_type, br_uint_8 pixelmap_type, br_int_32 width, br_int_32 height) { - br_pixelmap *new; - br_token_value tv[6]; + br_pixelmap *new; + br_token_value tv[6]; } // Offset: 2037 // Size: 95 br_pixelmap* BrPixelmapClone(br_pixelmap *src) { - br_pixelmap *new; - br_token_value tv[2]; + br_pixelmap *new; + br_token_value tv[2]; } // Offset: 2147 @@ -63,13 +62,13 @@ void BrPixelmapFill(br_pixelmap *dst, br_uint_32 colour) { // Offset: 2224 // Size: 85 void BrPixelmapRectangle(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h, br_uint_32 colour) { - br_rectangle r; + br_rectangle r; } // Offset: 2330 // Size: 92 void BrPixelmapRectangle2(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h, br_uint_32 colour_tl, br_uint_32 colour_br) { - br_rectangle r; + br_rectangle r; } // Offset: 2435 @@ -100,67 +99,67 @@ br_error DispatchRectangleStretchCopy(br_device_pixelmap *self, br_rectangle *r, // Offset: 3183 // Size: 83 void BrPixelmapRectangleCopy(br_pixelmap *dst, br_int_32 dx, br_int_32 dy, br_pixelmap *src, br_int_32 sx, br_int_32 sy, br_int_32 w, br_int_32 h) { - br_rectangle r; - br_point p; + br_rectangle r; + br_point p; } // Offset: 3297 // Size: 95 void BrPixelmapRectangleStretchCopy(br_pixelmap *dst, br_int_32 dx, br_int_32 dy, br_int_32 dw, br_int_32 dh, br_pixelmap *src, br_int_32 sx, br_int_32 sy, br_int_32 sw, br_int_32 sh) { - br_rectangle s; - br_rectangle d; + br_rectangle s; + br_rectangle d; } // Offset: 3416 // Size: 88 void BrPixelmapRectangleFill(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h, br_uint_32 colour) { - br_rectangle r; + br_rectangle r; } // Offset: 3533 // Size: 291 void BrPixelmapDirtyRectangleCopy(br_pixelmap *dst, br_pixelmap *src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h) { - br_rectangle r; - br_point p; + br_rectangle r; + br_point p; } // Offset: 3854 // Size: 87 void BrPixelmapDirtyRectangleClear(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h, br_uint_32 colour) { - br_rectangle r; + br_rectangle r; } // Offset: 3978 // Size: 87 void BrPixelmapDirtyRectangleDoubleBuffer(br_pixelmap *dst, br_pixelmap *src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h) { - br_rectangle r; + br_rectangle r; } // Offset: 4084 // Size: 76 void BrPixelmapPixelSet(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour) { - br_point p; + br_point p; } // Offset: 4179 // Size: 85 br_uint_32 BrPixelmapPixelGet(br_pixelmap *dst, br_int_32 x, br_int_32 y) { - br_point p; - br_uint_32 colour; + br_point p; + br_uint_32 colour; } // Offset: 4279 // Size: 220 void BrPixelmapCopy(br_pixelmap *dst, br_pixelmap *src) { - br_rectangle s; - br_rectangle d; + br_rectangle s; + br_rectangle d; } // Offset: 4514 // Size: 92 void BrPixelmapLine(br_pixelmap *dst, br_int_32 x1, br_int_32 y1, br_int_32 x2, br_int_32 y2, br_uint_32 colour) { - br_point s; - br_point e; + br_point s; + br_point e; } // Offset: 4629 @@ -170,33 +169,36 @@ void BrPixelmapDoubleBuffer(br_pixelmap *dst, br_pixelmap *src) { // Offset: 4709 // Size: 98 -void BrPixelmapText(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *text, long p) { +void BrPixelmapText(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *text) { + br_point p; } // Offset: 4823 // Size: 145 -void BrPixelmapTextF(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *fmt, unsigned short ss, ...) { - br_point p; - va_list args; +void BrPixelmapTextF(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *fmt, ...) { + char *ss; + br_point p; + va_list args; } // Offset: 4988 // Size: 214 -br_uint_16 BrPixelmapTextWidth(br_pixelmap *dst, br_font *font, char *text, short i) { - int j; - int w; +br_uint_16 BrPixelmapTextWidth(br_pixelmap *dst, br_font *font, char *text) { + int i; + int j; + int w; } // Offset: 5223 // Size: 51 -br_uint_16 BrPixelmapTextHeight(br_pixelmap *dst, br_font *font, unsigned long __unk2__) { +br_uint_16 BrPixelmapTextHeight(br_pixelmap *dst, br_font *font) { } // Offset: 5293 // Size: 119 void BrPixelmapCopyBits(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_8 *src, br_int_32 s_stride, br_int_32 start_bit, br_int_32 end_bit, br_int_32 nrows, br_uint_32 colour) { - br_point p; - br_rectangle r; + br_point p; + br_rectangle r; } // Offset: 5431 @@ -222,12 +224,13 @@ void BrPixelmapPaletteSet(br_pixelmap *pm, br_pixelmap *pal) { // Offset: 5821 // Size: 92 void BrPixelmapPaletteEntrySet(br_pixelmap *pm, br_int_32 index, br_colour colour) { - br_device_clut *clut; + br_device_clut *clut; } // Offset: 5943 // Size: 96 -void BrPixelmapPaletteEntrySetMany(br_pixelmap *pm, br_int_32 index, br_int_32 ncolours, br_colour *colours, unsigned char clut) { +void BrPixelmapPaletteEntrySetMany(br_pixelmap *pm, br_int_32 index, br_int_32 ncolours, br_colour *colours) { + br_device_clut *clut; } // Offset: 6060 diff --git a/src/BRSRC13/CORE/PIXELMAP/pmdsptch.h b/src/BRSRC13/CORE/PIXELMAP/pmdsptch.h index 5c38ba42..f3f7e8dd 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmdsptch.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmdsptch.h @@ -1,5 +1,9 @@ +#ifndef _PMDSPTCH_H_ +#define _PMDSPTCH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 22 // Size: 107 br_pixelmap* BrPixelmapAllocateSub(br_pixelmap *src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h); @@ -112,19 +116,19 @@ void BrPixelmapDoubleBuffer(br_pixelmap *dst, br_pixelmap *src); // Offset: 4709 // Size: 98 -void BrPixelmapText(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *text, long p); +void BrPixelmapText(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *text); // Offset: 4823 // Size: 145 -void BrPixelmapTextF(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *fmt, unsigned short ss, ...); +void BrPixelmapTextF(br_pixelmap *dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font *font, char *fmt, ...); // Offset: 4988 // Size: 214 -br_uint_16 BrPixelmapTextWidth(br_pixelmap *dst, br_font *font, char *text, short i); +br_uint_16 BrPixelmapTextWidth(br_pixelmap *dst, br_font *font, char *text); // Offset: 5223 // Size: 51 -br_uint_16 BrPixelmapTextHeight(br_pixelmap *dst, br_font *font, unsigned long __unk2__); +br_uint_16 BrPixelmapTextHeight(br_pixelmap *dst, br_font *font); // Offset: 5293 // Size: 119 @@ -152,7 +156,7 @@ void BrPixelmapPaletteEntrySet(br_pixelmap *pm, br_int_32 index, br_colour colou // Offset: 5943 // Size: 96 -void BrPixelmapPaletteEntrySetMany(br_pixelmap *pm, br_int_32 index, br_int_32 ncolours, br_colour *colours, unsigned char clut); +void BrPixelmapPaletteEntrySetMany(br_pixelmap *pm, br_int_32 index, br_int_32 ncolours, br_colour *colours); // Offset: 6060 // Size: 113 @@ -162,3 +166,4 @@ br_pixelmap* BrPixelmapDirectLock(br_pixelmap *src, br_boolean block); // Size: 109 br_pixelmap* BrPixelmapDirectUnlock(br_pixelmap *src); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmfile.c b/src/BRSRC13/CORE/PIXELMAP/pmfile.c index e1cc2dfd..763b4a48 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmfile.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmfile.c @@ -1,6 +1,5 @@ #include "pmfile.h" -// Global variables br_chunks_table PixelmapLoadTable; br_file_struct br_old_pixelmap_F; br_file_enum pixelmap_type_F; @@ -16,7 +15,7 @@ char rscid[54]; // EAX: df // EDX: pixelmap int FopWrite_PIXELMAP(br_datafile *df, br_pixelmap *pixelmap) { - br_pixelmap pmap; + br_pixelmap pmap; } // Offset: 192 @@ -25,10 +24,8 @@ int FopWrite_PIXELMAP(br_datafile *df, br_pixelmap *pixelmap) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_pixelmap *pp; +int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_pixelmap *pp; } // Offset: 390 @@ -37,10 +34,8 @@ int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_PIXELMAP(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_pixelmap *pp; +int FopRead_PIXELMAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_pixelmap *pp; } // Offset: 587 @@ -48,10 +43,10 @@ int FopRead_PIXELMAP(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: pixelmap int FopWrite_PIXELS(br_datafile *df, br_pixelmap *pixelmap) { - int size; - int bytes; - int block_count; - char *pixels; + int size; + int bytes; + int block_count; + char *pixels; } // Offset: 1144 @@ -60,12 +55,10 @@ int FopWrite_PIXELS(br_datafile *df, br_pixelmap *pixelmap) { // EDX: id // EBX: length // ECX: count -int FopRead_PIXELS(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - int icount; - br_pixelmap *pp; - int size; +int FopRead_PIXELS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + int icount; + br_pixelmap *pp; + int size; } // Offset: 1305 @@ -80,18 +73,17 @@ int FopWrite_ADD_MAP(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ADD_MAP(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_pixelmap *pp; - br_pixelmap *map; +int FopRead_ADD_MAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_pixelmap *pp; + br_pixelmap *map; } // Offset: 1511 // Size: 162 -br_uint_32 BrPixelmapLoadMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num, unsigned short df) { - int count; - int r; +br_uint_32 BrPixelmapLoadMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num) { + br_datafile *df; + int count; + int r; } // Offset: 1687 @@ -103,18 +95,19 @@ int WritePixelmap(br_pixelmap *pp, br_datafile *df) { // Offset: 1867 // Size: 218 -br_uint_32 BrPixelmapSaveMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num, unsigned short df) { - int i; +br_uint_32 BrPixelmapSaveMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num) { + br_datafile *df; + int i; } // Offset: 2100 // Size: 81 br_pixelmap* BrPixelmapLoad(char *filename) { - br_pixelmap *ptr; + br_pixelmap *ptr; } // Offset: 2196 // Size: 58 -br_uint_32 BrPixelmapSave(char *filename, br_pixelmap *ptr, union __unk2__) { +br_uint_32 BrPixelmapSave(char *filename, br_pixelmap *ptr) { } diff --git a/src/BRSRC13/CORE/PIXELMAP/pmfile.h b/src/BRSRC13/CORE/PIXELMAP/pmfile.h index 5b087288..0e24f081 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmfile.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmfile.h @@ -1,5 +1,9 @@ +#ifndef _PMFILE_H_ +#define _PMFILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 153 // EAX: df @@ -12,7 +16,7 @@ int FopWrite_PIXELMAP(br_datafile *df, br_pixelmap *pixelmap); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id); +int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 390 // Size: 181 @@ -20,7 +24,7 @@ int FopRead_OLD_PIXELMAP(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_PIXELMAP(br_datafile *df, br_uint_32 id); +int FopRead_PIXELMAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 587 // Size: 542 @@ -34,7 +38,7 @@ int FopWrite_PIXELS(br_datafile *df, br_pixelmap *pixelmap); // EDX: id // EBX: length // ECX: count -int FopRead_PIXELS(br_datafile *df, br_uint_32 id); +int FopRead_PIXELS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 1305 // Size: 66 @@ -47,11 +51,11 @@ int FopWrite_ADD_MAP(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ADD_MAP(br_datafile *df, br_uint_32 id); +int FopRead_ADD_MAP(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 1511 // Size: 162 -br_uint_32 BrPixelmapLoadMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num, unsigned short df); +br_uint_32 BrPixelmapLoadMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num); // Offset: 1687 // Size: 161 @@ -61,7 +65,7 @@ int WritePixelmap(br_pixelmap *pp, br_datafile *df); // Offset: 1867 // Size: 218 -br_uint_32 BrPixelmapSaveMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num, unsigned short df); +br_uint_32 BrPixelmapSaveMany(char *filename, br_pixelmap **pixelmaps, br_uint_16 num); // Offset: 2100 // Size: 81 @@ -69,5 +73,6 @@ br_pixelmap* BrPixelmapLoad(char *filename); // Offset: 2196 // Size: 58 -br_uint_32 BrPixelmapSave(char *filename, br_pixelmap *ptr, union __unk2__); +br_uint_32 BrPixelmapSave(char *filename, br_pixelmap *ptr); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmgen.c b/src/BRSRC13/CORE/PIXELMAP/pmgen.c index 7b0ef67a..6d48696d 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmgen.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmgen.c @@ -1,6 +1,5 @@ #include "pmgen.h" -// Global variables char rscid[48]; // Offset: 32 @@ -11,157 +10,144 @@ br_error _M_br_device_pixelmap_gen_match(br_device_pixelmap *self, br_device_pix // Offset: 103 // Size: 150 br_error _M_br_device_pixelmap_gen_copy(br_device_pixelmap *self, br_device_pixelmap *src) { - br_rectangle r; - br_point p; + br_rectangle r; + br_point p; } // Offset: 286 // Size: 150 br_error _M_br_device_pixelmap_gen_copyTo(br_device_pixelmap *self, br_device_pixelmap *src) { - br_rectangle r; - br_point p; + br_rectangle r; + br_point p; } // Offset: 471 // Size: 150 br_error _M_br_device_pixelmap_gen_copyFrom(br_device_pixelmap *self, br_device_pixelmap *src) { - br_rectangle r; - br_point p; + br_rectangle r; + br_point p; } // Offset: 652 // Size: 116 -br_error _M_br_device_pixelmap_gen_fill(br_device_pixelmap *self) { - br_uint_32 colour; - br_rectangle r; +br_error _M_br_device_pixelmap_gen_fill(br_device_pixelmap *self, br_uint_32 colour) { + br_rectangle r; } // Offset: 807 // Size: 213 br_error _M_br_device_pixelmap_gen_doubleBuffer(br_device_pixelmap *self, br_device_pixelmap *src) { - br_rectangle s; - br_rectangle d; + br_rectangle s; + br_rectangle d; } // Offset: 1056 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; - int i; - br_point p; - br_error e; +br_error _M_br_device_pixelmap_gen_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { + int i; + br_point p; + br_error e; } // Offset: 1302 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; - int i; - br_point p; - br_error e; +br_error _M_br_device_pixelmap_gen_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { + int i; + br_point p; + br_error e; } // Offset: 1550 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; - int i; - br_point p; - br_error e; +br_error _M_br_device_pixelmap_gen_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { + int i; + br_point p; + br_error e; } // Offset: 1794 // Size: 116 -br_error _M_br_device_pixelmap_gen_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty) { - br_int_32 num_rects; - int i; - br_error e; +br_error _M_br_device_pixelmap_gen_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects) { + int i; + br_error e; } // Offset: 1954 // Size: 208 -br_error _M_br_device_pixelmap_gen_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; - int i; - br_point p; - br_error e; +br_error _M_br_device_pixelmap_gen_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { + int i; + br_point p; + br_error e; } // Offset: 2198 // Size: 303 -br_error _M_br_device_pixelmap_gen_rectangle(br_device_pixelmap *self, br_rectangle *rect) { - br_uint_32 colour; - br_point tl; - br_point tr; - br_point bl; - br_point br; - br_error e; +br_error _M_br_device_pixelmap_gen_rectangle(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour) { + br_point tl; + br_point tr; + br_point bl; + br_point br; + br_error e; } // Offset: 2538 // Size: 303 -br_error _M_br_device_pixelmap_gen_rectangle2(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl) { - br_uint_32 colour_br; - br_point tl; - br_point tr; - br_point bl; - br_point br; - br_error e; +br_error _M_br_device_pixelmap_gen_rectangle2(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl, br_uint_32 colour_br) { + br_point tl; + br_point tr; + br_point bl; + br_point br; + br_error e; } // Offset: 2872 // Size: 3973 -br_error _M_br_device_pixelmap_gen_line(br_device_pixelmap *self, br_point *s, br_point *e) { - br_uint_32 colour; - int dx; - int dy; - int incr1; - int incr2; - int D; - int x; - int y; - int xend; - int c; - int pixels_left; - int x1; - int y1; - int sign_x; - int sign_y; - int step; - int reverse; - int i; - br_point as; - br_point ae; - br_point p; +br_error _M_br_device_pixelmap_gen_line(br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour) { + int dx; + int dy; + int incr1; + int incr2; + int D; + int x; + int y; + int xend; + int c; + int pixels_left; + int x1; + int y1; + int sign_x; + int sign_y; + int step; + int reverse; + int i; + br_point as; + br_point ae; + br_point p; } // Offset: 6876 // Size: 548 -br_error _M_br_device_pixelmap_gen_text(br_device_pixelmap *self, br_point *point, br_font *font, char *text) { - br_uint_32 colour; - br_rectangle r; - br_point p; - br_int_32 x; - br_int_32 y; - br_int_32 s_stride; +br_error _M_br_device_pixelmap_gen_text(br_device_pixelmap *self, br_point *point, br_font *font, char *text, br_uint_32 colour) { + br_rectangle r; + br_point p; + br_int_32 x; + br_int_32 y; + br_int_32 s_stride; } // Offset: 7461 // Size: 217 -br_error _M_br_device_pixelmap_gen_textBounds(br_device_pixelmap *self, br_rectangle *rect, br_font *font) { - char *text; - int i; - int j; +br_error _M_br_device_pixelmap_gen_textBounds(br_device_pixelmap *self, br_rectangle *rect, br_font *font, char *text) { + int i; + int j; } // Offset: 7713 // Size: 238 -br_error _M_br_device_pixelmap_gen_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride) { - br_rectangle *bit_rect; - br_uint_32 colour; - br_int_32 x; - br_int_32 y; - br_point p; +br_error _M_br_device_pixelmap_gen_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour) { + br_int_32 x; + br_int_32 y; + br_point p; } // Offset: 7983 @@ -171,14 +157,12 @@ br_error _M_br_device_pixelmap_gen_flush(br_device_pixelmap *self) { // Offset: 8061 // Size: 40 -br_error _M_br_device_pixelmap_gen_synchronise(br_device_pixelmap *self, br_token sync_type) { - br_boolean block; +br_error _M_br_device_pixelmap_gen_synchronise(br_device_pixelmap *self, br_token sync_type, br_boolean block) { } // Offset: 8138 // Size: 40 -br_error _M_br_device_pixelmap_gen_directLock(br_device_pixelmap *self) { - br_boolean block; +br_error _M_br_device_pixelmap_gen_directLock(br_device_pixelmap *self, br_boolean block) { } // Offset: 8217 diff --git a/src/BRSRC13/CORE/PIXELMAP/pmgen.h b/src/BRSRC13/CORE/PIXELMAP/pmgen.h index 9aa8cac4..ec3d8f62 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmgen.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmgen.h @@ -1,5 +1,9 @@ +#ifndef _PMGEN_H_ +#define _PMGEN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 32 // Size: 40 br_error _M_br_device_pixelmap_gen_match(br_device_pixelmap *self, br_device_pixelmap **newpm, br_token_value *tv); @@ -18,7 +22,7 @@ br_error _M_br_device_pixelmap_gen_copyFrom(br_device_pixelmap *self, br_device_ // Offset: 652 // Size: 116 -br_error _M_br_device_pixelmap_gen_fill(br_device_pixelmap *self); +br_error _M_br_device_pixelmap_gen_fill(br_device_pixelmap *self, br_uint_32 colour); // Offset: 807 // Size: 213 @@ -26,47 +30,47 @@ br_error _M_br_device_pixelmap_gen_doubleBuffer(br_device_pixelmap *self, br_dev // Offset: 1056 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_gen_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 1302 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_gen_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 1550 // Size: 208 -br_error _M_br_device_pixelmap_gen_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_gen_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 1794 // Size: 116 -br_error _M_br_device_pixelmap_gen_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty); +br_error _M_br_device_pixelmap_gen_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects); // Offset: 1954 // Size: 208 -br_error _M_br_device_pixelmap_gen_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_gen_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 2198 // Size: 303 -br_error _M_br_device_pixelmap_gen_rectangle(br_device_pixelmap *self, br_rectangle *rect); +br_error _M_br_device_pixelmap_gen_rectangle(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour); // Offset: 2538 // Size: 303 -br_error _M_br_device_pixelmap_gen_rectangle2(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl); +br_error _M_br_device_pixelmap_gen_rectangle2(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl, br_uint_32 colour_br); // Offset: 2872 // Size: 3973 -br_error _M_br_device_pixelmap_gen_line(br_device_pixelmap *self, br_point *s, br_point *e); +br_error _M_br_device_pixelmap_gen_line(br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour); // Offset: 6876 // Size: 548 -br_error _M_br_device_pixelmap_gen_text(br_device_pixelmap *self, br_point *point, br_font *font, char *text); +br_error _M_br_device_pixelmap_gen_text(br_device_pixelmap *self, br_point *point, br_font *font, char *text, br_uint_32 colour); // Offset: 7461 // Size: 217 -br_error _M_br_device_pixelmap_gen_textBounds(br_device_pixelmap *self, br_rectangle *rect, br_font *font); +br_error _M_br_device_pixelmap_gen_textBounds(br_device_pixelmap *self, br_rectangle *rect, br_font *font, char *text); // Offset: 7713 // Size: 238 -br_error _M_br_device_pixelmap_gen_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride); +br_error _M_br_device_pixelmap_gen_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour); // Offset: 7983 // Size: 40 @@ -74,13 +78,14 @@ br_error _M_br_device_pixelmap_gen_flush(br_device_pixelmap *self); // Offset: 8061 // Size: 40 -br_error _M_br_device_pixelmap_gen_synchronise(br_device_pixelmap *self, br_token sync_type); +br_error _M_br_device_pixelmap_gen_synchronise(br_device_pixelmap *self, br_token sync_type, br_boolean block); // Offset: 8138 // Size: 40 -br_error _M_br_device_pixelmap_gen_directLock(br_device_pixelmap *self); +br_error _M_br_device_pixelmap_gen_directLock(br_device_pixelmap *self, br_boolean block); // Offset: 8217 // Size: 40 br_error _M_br_device_pixelmap_gen_directUnlock(br_device_pixelmap *self); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmmem.c b/src/BRSRC13/CORE/PIXELMAP/pmmem.c index c1abbafa..42d586bf 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmmem.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmmem.c @@ -1,6 +1,5 @@ #include "pmmem.h" -// Global variables br_tv_template_entry matchTemplateEntries[6]; br_device_pixelmap_dispatch devicePixelmapDispatch; br_tv_template_entry devicePixelmapTemplateEntries[4]; @@ -14,8 +13,8 @@ char rscid[53]; // EBX: h // ECX: pixels br_device_pixelmap* DevicePixelmapMemAllocate(br_uint_8 type, br_uint_16 w, br_uint_16 h, void *pixels, int flags) { - br_device_pixelmap *pm; - pm_type_info *tip; + br_device_pixelmap *pm; + pm_type_info *tip; } // Offset: 539 @@ -27,8 +26,8 @@ void _CheckDispatch(br_device_pixelmap *pm) { // Offset: 631 // Size: 222 br_error _M_br_device_pixelmap_mem_allocateSub(br_device_pixelmap *self, br_device_pixelmap **newpm, br_rectangle *rect) { - br_device_pixelmap *pm; - br_rectangle out; + br_device_pixelmap *pm; + br_rectangle out; } // Offset: 884 @@ -48,8 +47,7 @@ br_token _M_br_device_pixelmap_mem_type(br_device_pixelmap *self) { // Offset: 1109 // Size: 67 -br_boolean _M_br_device_pixelmap_mem_isType(br_device_pixelmap *self) { - br_token t; +br_boolean _M_br_device_pixelmap_mem_isType(br_device_pixelmap *self, br_token t) { } // Offset: 1209 @@ -74,40 +72,38 @@ br_error _M_br_device_pixelmap_mem_validSource(br_device_pixelmap *self, br_obje // Offset: 1557 // Size: 411 -br_error _M_br_device_pixelmap_mem_resize(br_device_pixelmap *self, br_int_32 width) { - br_int_32 height; - char *pixels; - pm_type_info *tip; - br_int_16 old_row_bytes; +br_error _M_br_device_pixelmap_mem_resize(br_device_pixelmap *self, br_int_32 width, br_int_32 height) { + char *pixels; + pm_type_info *tip; + br_int_16 old_row_bytes; } // Offset: 2000 // Size: 771 br_error _M_br_device_pixelmap_mem_match(br_device_pixelmap *self, br_device_pixelmap **newpm, br_token_value *tv) { - match_tokens mt; - br_int_32 count; - br_device_pixelmap *pm; - br_int_32 bytes; - br_int_32 r; + match_tokens mt; + br_int_32 count; + br_device_pixelmap *pm; + br_int_32 bytes; + br_int_32 r; } // Offset: 2804 // Size: 759 br_error _M_br_device_pixelmap_mem_copyTo(br_device_pixelmap *self, br_device_pixelmap *src) { - br_int_8 bytes; + br_int_8 bytes; } // Offset: 3598 // Size: 759 br_error _M_br_device_pixelmap_mem_copyFrom(br_device_pixelmap *self, br_device_pixelmap *dest) { - br_int_8 bytes; + br_int_8 bytes; } // Offset: 4388 // Size: 530 -br_error _M_br_device_pixelmap_mem_fill(br_device_pixelmap *self) { - br_uint_32 colour; - br_int_8 bytes; +br_error _M_br_device_pixelmap_mem_fill(br_device_pixelmap *self, br_uint_32 colour) { + br_int_8 bytes; } // Offset: 4957 @@ -117,48 +113,43 @@ br_error _M_br_device_pixelmap_mem_doubleBuffer(br_device_pixelmap *self, br_dev // Offset: 5033 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_mem_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 5111 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_mem_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 5191 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_mem_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 5267 // Size: 40 -br_error _M_br_device_pixelmap_mem_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_mem_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 5351 // Size: 40 -br_error _M_br_device_pixelmap_mem_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_mem_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 5433 // Size: 935 br_error _M_br_device_pixelmap_mem_rectangleCopyTo(br_device_pixelmap *self, br_point *p, br_device_pixelmap *src, br_rectangle *r) { - int bytes; - br_rectangle ar; - br_point ap; + int bytes; + br_rectangle ar; + br_point ap; } // Offset: 6412 // Size: 935 br_error _M_br_device_pixelmap_mem_rectangleCopyFrom(br_device_pixelmap *self, br_point *p, br_device_pixelmap *dest, br_rectangle *r) { - int bytes; - br_rectangle ar; - br_point ap; + int bytes; + br_rectangle ar; + br_point ap; } // Offset: 7396 @@ -173,76 +164,70 @@ br_error _M_br_device_pixelmap_mem_rectangleStretchCopyFrom(br_device_pixelmap * // Offset: 7567 // Size: 596 -br_error _M_br_device_pixelmap_mem_rectangleFill(br_device_pixelmap *self, br_rectangle *rect) { - br_uint_32 colour; - br_rectangle arect; - br_int_8 bytes; +br_error _M_br_device_pixelmap_mem_rectangleFill(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour) { + br_rectangle arect; + br_int_8 bytes; } // Offset: 8198 // Size: 196 -br_error _M_br_device_pixelmap_mem_pixelSet(br_device_pixelmap *self, br_point *p) { - br_uint_32 colour; - br_point ap; - br_int_8 bytes; +br_error _M_br_device_pixelmap_mem_pixelSet(br_device_pixelmap *self, br_point *p, br_uint_32 colour) { + br_point ap; + br_int_8 bytes; } // Offset: 8425 // Size: 8332 -br_error _M_br_device_pixelmap_mem_line(br_device_pixelmap *self, br_point *s, br_point *e) { - br_uint_32 colour; - int dx; - int dy; - int incr1; - int incr2; - int D; - int x; - int y; - int xend; - int c; - int pixels_left; - int x1; - int y1; - int sign_x; - int sign_y; - int step; - int reverse; - int i; - char *dest; - int bytes; - br_point as; - br_point ae; +br_error _M_br_device_pixelmap_mem_line(br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour) { + int dx; + int dy; + int incr1; + int incr2; + int D; + int x; + int y; + int xend; + int c; + int pixels_left; + int x1; + int y1; + int sign_x; + int sign_y; + int step; + int reverse; + int i; + char *dest; + int bytes; + br_point as; + br_point ae; } // Offset: 16792 // Size: 260 -br_error _M_br_device_pixelmap_mem_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride) { - br_rectangle *bit_rect; - br_uint_32 colour; - int bytes; - int bit; - br_rectangle ar; - br_point ap; +br_error _M_br_device_pixelmap_mem_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour) { + int bytes; + int bit; + br_rectangle ar; + br_point ap; } // Offset: 17089 // Size: 199 br_error _M_br_device_pixelmap_mem_pixelQuery(br_device_pixelmap *self, br_uint_32 *pcolour, br_point *p) { - br_point ap; - br_int_8 bytes; + br_point ap; + br_int_8 bytes; } // Offset: 17332 // Size: 200 br_error _M_br_device_pixelmap_mem_pixelAddressQuery(br_device_pixelmap *self, void **pptr, br_uint_32 *pqual, br_point *p) { - br_int_8 bytes; - br_point ap; + br_int_8 bytes; + br_point ap; } // Offset: 17574 // Size: 72 -br_error _M_br_device_pixelmap_mem_pixelAddressSet(br_device_pixelmap *self, void *ptr) { - br_uint_32 *qual; +br_error _M_br_device_pixelmap_mem_pixelAddressSet(br_device_pixelmap *self, void *ptr, br_uint_32 *qual) { } // Offset: 17682 @@ -257,16 +242,12 @@ br_error _M_br_device_pixelmap_mem_rowSize(br_device_pixelmap *self, br_size_t * // Offset: 17858 // Size: 40 -br_error _M_br_device_pixelmap_mem_rowQuery(br_device_pixelmap *self, void *buffer) { - br_size_t buffer_size; - br_int_32 row; +br_error _M_br_device_pixelmap_mem_rowQuery(br_device_pixelmap *self, void *buffer, br_size_t buffer_size, br_int_32 row) { } // Offset: 17931 // Size: 40 -br_error _M_br_device_pixelmap_mem_rowSet(br_device_pixelmap *self, void *buffer) { - br_size_t buffer_size; - br_int_32 row; +br_error _M_br_device_pixelmap_mem_rowSet(br_device_pixelmap *self, void *buffer, br_size_t buffer_size, br_int_32 row) { } // Offset: 18003 @@ -276,14 +257,12 @@ br_error _M_br_device_pixelmap_mem_flush(br_device_pixelmap *self) { // Offset: 18081 // Size: 40 -br_error _M_br_device_pixelmap_mem_synchronise(br_device_pixelmap *self, br_token sync_type) { - br_boolean block; +br_error _M_br_device_pixelmap_mem_synchronise(br_device_pixelmap *self, br_token sync_type, br_boolean block) { } // Offset: 18158 // Size: 40 -br_error _M_br_device_pixelmap_mem_directLock(br_device_pixelmap *self) { - br_boolean block; +br_error _M_br_device_pixelmap_mem_directLock(br_device_pixelmap *self, br_boolean block) { } // Offset: 18237 diff --git a/src/BRSRC13/CORE/PIXELMAP/pmmem.h b/src/BRSRC13/CORE/PIXELMAP/pmmem.h index 4c6db8e4..50e461f1 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmmem.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmmem.h @@ -1,5 +1,9 @@ +#ifndef _PMMEM_H_ +#define _PMMEM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 26 // Size: 498 // EAX: type @@ -31,7 +35,7 @@ br_token _M_br_device_pixelmap_mem_type(br_device_pixelmap *self); // Offset: 1109 // Size: 67 -br_boolean _M_br_device_pixelmap_mem_isType(br_device_pixelmap *self); +br_boolean _M_br_device_pixelmap_mem_isType(br_device_pixelmap *self, br_token t); // Offset: 1209 // Size: 40 @@ -51,7 +55,7 @@ br_error _M_br_device_pixelmap_mem_validSource(br_device_pixelmap *self, br_obje // Offset: 1557 // Size: 411 -br_error _M_br_device_pixelmap_mem_resize(br_device_pixelmap *self, br_int_32 width); +br_error _M_br_device_pixelmap_mem_resize(br_device_pixelmap *self, br_int_32 width, br_int_32 height); // Offset: 2000 // Size: 771 @@ -67,7 +71,7 @@ br_error _M_br_device_pixelmap_mem_copyFrom(br_device_pixelmap *self, br_device_ // Offset: 4388 // Size: 530 -br_error _M_br_device_pixelmap_mem_fill(br_device_pixelmap *self); +br_error _M_br_device_pixelmap_mem_fill(br_device_pixelmap *self, br_uint_32 colour); // Offset: 4957 // Size: 40 @@ -75,23 +79,23 @@ br_error _M_br_device_pixelmap_mem_doubleBuffer(br_device_pixelmap *self, br_dev // Offset: 5033 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_mem_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 5111 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_mem_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 5191 // Size: 40 -br_error _M_br_device_pixelmap_mem_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_mem_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 5267 // Size: 40 -br_error _M_br_device_pixelmap_mem_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty); +br_error _M_br_device_pixelmap_mem_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects); // Offset: 5351 // Size: 40 -br_error _M_br_device_pixelmap_mem_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_mem_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 5433 // Size: 935 @@ -111,19 +115,19 @@ br_error _M_br_device_pixelmap_mem_rectangleStretchCopyFrom(br_device_pixelmap * // Offset: 7567 // Size: 596 -br_error _M_br_device_pixelmap_mem_rectangleFill(br_device_pixelmap *self, br_rectangle *rect); +br_error _M_br_device_pixelmap_mem_rectangleFill(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour); // Offset: 8198 // Size: 196 -br_error _M_br_device_pixelmap_mem_pixelSet(br_device_pixelmap *self, br_point *p); +br_error _M_br_device_pixelmap_mem_pixelSet(br_device_pixelmap *self, br_point *p, br_uint_32 colour); // Offset: 8425 // Size: 8332 -br_error _M_br_device_pixelmap_mem_line(br_device_pixelmap *self, br_point *s, br_point *e); +br_error _M_br_device_pixelmap_mem_line(br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour); // Offset: 16792 // Size: 260 -br_error _M_br_device_pixelmap_mem_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride); +br_error _M_br_device_pixelmap_mem_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour); // Offset: 17089 // Size: 199 @@ -135,7 +139,7 @@ br_error _M_br_device_pixelmap_mem_pixelAddressQuery(br_device_pixelmap *self, v // Offset: 17574 // Size: 72 -br_error _M_br_device_pixelmap_mem_pixelAddressSet(br_device_pixelmap *self, void *ptr); +br_error _M_br_device_pixelmap_mem_pixelAddressSet(br_device_pixelmap *self, void *ptr, br_uint_32 *qual); // Offset: 17682 // Size: 67 @@ -147,11 +151,11 @@ br_error _M_br_device_pixelmap_mem_rowSize(br_device_pixelmap *self, br_size_t * // Offset: 17858 // Size: 40 -br_error _M_br_device_pixelmap_mem_rowQuery(br_device_pixelmap *self, void *buffer); +br_error _M_br_device_pixelmap_mem_rowQuery(br_device_pixelmap *self, void *buffer, br_size_t buffer_size, br_int_32 row); // Offset: 17931 // Size: 40 -br_error _M_br_device_pixelmap_mem_rowSet(br_device_pixelmap *self, void *buffer); +br_error _M_br_device_pixelmap_mem_rowSet(br_device_pixelmap *self, void *buffer, br_size_t buffer_size, br_int_32 row); // Offset: 18003 // Size: 40 @@ -159,13 +163,14 @@ br_error _M_br_device_pixelmap_mem_flush(br_device_pixelmap *self); // Offset: 18081 // Size: 40 -br_error _M_br_device_pixelmap_mem_synchronise(br_device_pixelmap *self, br_token sync_type); +br_error _M_br_device_pixelmap_mem_synchronise(br_device_pixelmap *self, br_token sync_type, br_boolean block); // Offset: 18158 // Size: 40 -br_error _M_br_device_pixelmap_mem_directLock(br_device_pixelmap *self); +br_error _M_br_device_pixelmap_mem_directLock(br_device_pixelmap *self, br_boolean block); // Offset: 18237 // Size: 40 br_error _M_br_device_pixelmap_mem_directUnlock(br_device_pixelmap *self); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmnull.c b/src/BRSRC13/CORE/PIXELMAP/pmnull.c index 14708e1d..4b7f59f6 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmnull.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmnull.c @@ -1,12 +1,10 @@ #include "pmnull.h" -// Global variables char rscid[51]; // Offset: 34 // Size: 40 -br_error _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) { } // Offset: 108 @@ -21,8 +19,7 @@ br_error _M_br_device_pixelmap_null_copyFrom(br_device_pixelmap *self, br_device // Offset: 256 // Size: 40 -br_error _M_br_device_pixelmap_null_fill(br_device_pixelmap *self) { - br_uint_32 colour; +br_error _M_br_device_pixelmap_null_fill(br_device_pixelmap *self, br_uint_32 colour) { } // Offset: 336 @@ -32,32 +29,27 @@ br_error _M_br_device_pixelmap_null_doubleBuffer(br_device_pixelmap *self, br_de // Offset: 413 // Size: 40 -br_error _M_br_device_pixelmap_null_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_null_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 492 // Size: 40 -br_error _M_br_device_pixelmap_null_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_null_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 573 // Size: 40 -br_error _M_br_device_pixelmap_null_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_null_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 650 // Size: 40 -br_error _M_br_device_pixelmap_null_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_null_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 735 // Size: 40 -br_error _M_br_device_pixelmap_null_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty) { - br_int_32 num_rects; +br_error _M_br_device_pixelmap_null_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects) { } // Offset: 818 @@ -82,21 +74,17 @@ br_error _M_br_device_pixelmap_null_rectangleStretchCopyFrom(br_device_pixelmap // Offset: 1166 // Size: 40 -br_error _M_br_device_pixelmap_null_rectangleFill(br_device_pixelmap *self, br_rectangle *rect) { - br_uint_32 colour; +br_error _M_br_device_pixelmap_null_rectangleFill(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour) { } // Offset: 1242 // Size: 40 -br_error _M_br_device_pixelmap_null_pixelSet(br_device_pixelmap *self, br_point *p) { - br_uint_32 colour; +br_error _M_br_device_pixelmap_null_pixelSet(br_device_pixelmap *self, br_point *p, br_uint_32 colour) { } // Offset: 1318 // Size: 40 -br_error _M_br_device_pixelmap_null_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride) { - br_rectangle *bit_rect; - br_uint_32 colour; +br_error _M_br_device_pixelmap_null_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour) { } // Offset: 1396 @@ -111,7 +99,6 @@ br_error _M_br_device_pixelmap_null_pixelAddressQuery(br_device_pixelmap *self, // Offset: 1564 // Size: 40 -br_error _M_br_device_pixelmap_null_pixelAddressSet(br_device_pixelmap *self, void *ptr) { - br_uint_32 *qual; +br_error _M_br_device_pixelmap_null_pixelAddressSet(br_device_pixelmap *self, void *ptr, br_uint_32 *qual) { } diff --git a/src/BRSRC13/CORE/PIXELMAP/pmnull.h b/src/BRSRC13/CORE/PIXELMAP/pmnull.h index b33ccc95..ab49345f 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmnull.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmnull.h @@ -1,8 +1,12 @@ +#ifndef _PMNULL_H_ +#define _PMNULL_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 34 // Size: 40 -br_error _M_br_device_pixelmap_null_resize(br_device_pixelmap *self, br_int_32 width); +br_error _M_br_device_pixelmap_null_resize(br_device_pixelmap *self, br_int_32 width, br_int_32 height); // Offset: 108 // Size: 40 @@ -14,7 +18,7 @@ br_error _M_br_device_pixelmap_null_copyFrom(br_device_pixelmap *self, br_device // Offset: 256 // Size: 40 -br_error _M_br_device_pixelmap_null_fill(br_device_pixelmap *self); +br_error _M_br_device_pixelmap_null_fill(br_device_pixelmap *self, br_uint_32 colour); // Offset: 336 // Size: 40 @@ -22,23 +26,23 @@ br_error _M_br_device_pixelmap_null_doubleBuffer(br_device_pixelmap *self, br_de // Offset: 413 // Size: 40 -br_error _M_br_device_pixelmap_null_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_null_copyDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 492 // Size: 40 -br_error _M_br_device_pixelmap_null_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_null_copyToDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 573 // Size: 40 -br_error _M_br_device_pixelmap_null_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_null_copyFromDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 650 // Size: 40 -br_error _M_br_device_pixelmap_null_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty); +br_error _M_br_device_pixelmap_null_fillDirty(br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects); // Offset: 735 // Size: 40 -br_error _M_br_device_pixelmap_null_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty); +br_error _M_br_device_pixelmap_null_doubleBufferDirty(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects); // Offset: 818 // Size: 40 @@ -58,15 +62,15 @@ br_error _M_br_device_pixelmap_null_rectangleStretchCopyFrom(br_device_pixelmap // Offset: 1166 // Size: 40 -br_error _M_br_device_pixelmap_null_rectangleFill(br_device_pixelmap *self, br_rectangle *rect); +br_error _M_br_device_pixelmap_null_rectangleFill(br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour); // Offset: 1242 // Size: 40 -br_error _M_br_device_pixelmap_null_pixelSet(br_device_pixelmap *self, br_point *p); +br_error _M_br_device_pixelmap_null_pixelSet(br_device_pixelmap *self, br_point *p, br_uint_32 colour); // Offset: 1318 // Size: 40 -br_error _M_br_device_pixelmap_null_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride); +br_error _M_br_device_pixelmap_null_copyBits(br_device_pixelmap *self, br_point *point, br_uint_8 *src, br_uint_16 s_stride, br_rectangle *bit_rect, br_uint_32 colour); // Offset: 1396 // Size: 40 @@ -78,5 +82,6 @@ br_error _M_br_device_pixelmap_null_pixelAddressQuery(br_device_pixelmap *self, // Offset: 1564 // Size: 40 -br_error _M_br_device_pixelmap_null_pixelAddressSet(br_device_pixelmap *self, void *ptr); +br_error _M_br_device_pixelmap_null_pixelAddressSet(br_device_pixelmap *self, void *ptr, br_uint_32 *qual); +#endif diff --git a/src/BRSRC13/CORE/PIXELMAP/pmsetup.c b/src/BRSRC13/CORE/PIXELMAP/pmsetup.c index 4d48e3f9..0495a9bc 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmsetup.c +++ b/src/BRSRC13/CORE/PIXELMAP/pmsetup.c @@ -1,6 +1,5 @@ #include "pmsetup.h" -// Global variables br_image Image_BRPMAP1; br_resource_class resourceClasses[2]; void *functionPointers_BRPMAP1[77]; diff --git a/src/BRSRC13/CORE/PIXELMAP/pmsetup.h b/src/BRSRC13/CORE/PIXELMAP/pmsetup.h index 27b06de5..d0492db2 100644 --- a/src/BRSRC13/CORE/PIXELMAP/pmsetup.h +++ b/src/BRSRC13/CORE/PIXELMAP/pmsetup.h @@ -1,5 +1,9 @@ +#ifndef _PMSETUP_H_ +#define _PMSETUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 16 // Size: 130 void BrPixelmapBegin(); @@ -8,3 +12,4 @@ void BrPixelmapBegin(); // Size: 76 void BrPixelmapEnd(); +#endif diff --git a/src/BRSRC13/CORE/STD/brexcept.c b/src/BRSRC13/CORE/STD/brexcept.c index 11f57275..05b2f548 100644 --- a/src/BRSRC13/CORE/STD/brexcept.c +++ b/src/BRSRC13/CORE/STD/brexcept.c @@ -1,6 +1,5 @@ #include "brexcept.h" -// Global variables void *exceptionValue; br_exception_handler *_BrExceptionHandler; char rscid[50]; @@ -18,8 +17,8 @@ void _BrExceptionEnd() { // Offset: 218 // Size: 107 void _BrExceptionThrow(br_int_32 type, void *value) { - br_exception_handler h; - br_exception_handler *old; + br_exception_handler h; + br_exception_handler *old; } // Offset: 348 diff --git a/src/BRSRC13/CORE/STD/brexcept.h b/src/BRSRC13/CORE/STD/brexcept.h index 19b03de0..309bfdc1 100644 --- a/src/BRSRC13/CORE/STD/brexcept.h +++ b/src/BRSRC13/CORE/STD/brexcept.h @@ -1,5 +1,9 @@ +#ifndef _BREXCEPT_H_ +#define _BREXCEPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 81 br_exception_handler* _BrExceptionBegin(); @@ -20,3 +24,4 @@ br_exception _BrExceptionValueFetch(br_exception type, void **evp); // Size: 41 void* _BrExceptionResource(); +#endif diff --git a/src/BRSRC13/CORE/STD/logwrite.c b/src/BRSRC13/CORE/STD/logwrite.c index 2c38342d..44c5500f 100644 --- a/src/BRSRC13/CORE/STD/logwrite.c +++ b/src/BRSRC13/CORE/STD/logwrite.c @@ -1,6 +1,5 @@ #include "logwrite.h" -// Global variables char rscid[50]; // Offset: 11 diff --git a/src/BRSRC13/CORE/STD/logwrite.h b/src/BRSRC13/CORE/STD/logwrite.h index 0588f74b..194e40fb 100644 --- a/src/BRSRC13/CORE/STD/logwrite.h +++ b/src/BRSRC13/CORE/STD/logwrite.h @@ -1,6 +1,11 @@ +#ifndef _LOGWRITE_H_ +#define _LOGWRITE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 11 // Size: 55 int BrLogWrite(void *buffer, br_size_t s, br_size_t n); +#endif diff --git a/src/BRSRC13/CORE/STD/math.c b/src/BRSRC13/CORE/STD/math.c index dcfca6f7..37cd3702 100644 --- a/src/BRSRC13/CORE/STD/math.c +++ b/src/BRSRC13/CORE/STD/math.c @@ -1,6 +1,5 @@ #include "math.h" -// Global variables char rscid[46]; // Offset: 13 diff --git a/src/BRSRC13/CORE/STD/math.h b/src/BRSRC13/CORE/STD/math.h index 9e863bfb..dee3d55b 100644 --- a/src/BRSRC13/CORE/STD/math.h +++ b/src/BRSRC13/CORE/STD/math.h @@ -1,5 +1,9 @@ +#ifndef _MATH_H_ +#define _MATH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 13 // Size: 61 float BrFloatFloor(float f); @@ -20,3 +24,4 @@ float BrFloatPow(float a, float b); // Size: 70 float BrFloatAtan2(float x, float y); +#endif diff --git a/src/BRSRC13/CORE/STD/stddiag.c b/src/BRSRC13/CORE/STD/stddiag.c index 6cfa2f72..d7adb4e0 100644 --- a/src/BRSRC13/CORE/STD/stddiag.c +++ b/src/BRSRC13/CORE/STD/stddiag.c @@ -1,6 +1,5 @@ #include "stddiag.h" -// Global variables br_diaghandler BrStdioDiagHandler; br_diaghandler *_BrDefaultDiagHandler; char rscid[49]; diff --git a/src/BRSRC13/CORE/STD/stddiag.h b/src/BRSRC13/CORE/STD/stddiag.h index 80fbc42d..4c7c615a 100644 --- a/src/BRSRC13/CORE/STD/stddiag.h +++ b/src/BRSRC13/CORE/STD/stddiag.h @@ -1,5 +1,9 @@ +#ifndef _STDDIAG_H_ +#define _STDDIAG_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 15 // Size: 78 void BrStdioWarning(char *message); @@ -8,3 +12,4 @@ void BrStdioWarning(char *message); // Size: 93 void BrStdioFailure(char *message); +#endif diff --git a/src/BRSRC13/CORE/STD/stdfile.h b/src/BRSRC13/CORE/STD/stdfile.h index b77605e6..543fb9f3 100644 --- a/src/BRSRC13/CORE/STD/stdfile.h +++ b/src/BRSRC13/CORE/STD/stdfile.h @@ -1,3 +1,6 @@ +#ifndef _STDFILE_H_ +#define _STDFILE_H_ + #include "dr_types.h" #include "br_types.h" @@ -51,3 +54,4 @@ void BrStdioPutLine(char *buf, void *f); // Size: 46 void BrStdioAdvance(br_size_t count, void *f); +#endif diff --git a/src/BRSRC13/CORE/STD/stdlib.h b/src/BRSRC13/CORE/STD/stdlib.h index d53b1ec6..5d6c0cd6 100644 --- a/src/BRSRC13/CORE/STD/stdlib.h +++ b/src/BRSRC13/CORE/STD/stdlib.h @@ -1,5 +1,9 @@ +#ifndef _STDLIB_H_ +#define _STDLIB_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 9 // Size: 50 int BrMemCmp(void *s1, void *s2, size_t n); @@ -100,3 +104,5 @@ br_int_32 BrVSprintfN(char *buf, br_size_t buf_size, char *fmt, char **args); // Size: 50 br_int_32 BrVSScanf(char *buf, char *fmt, char **args); +#endif + diff --git a/src/BRSRC13/CORE/STD/stdmem.h b/src/BRSRC13/CORE/STD/stdmem.h index 6ee8fb8a..fec0f5f8 100644 --- a/src/BRSRC13/CORE/STD/stdmem.h +++ b/src/BRSRC13/CORE/STD/stdmem.h @@ -1,5 +1,9 @@ +#ifndef _STDMEM_H_ +#define _STDMEM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 17 // Size: 80 void* BrStdlibAllocate(br_size_t size, br_uint_8 type); @@ -16,3 +20,4 @@ br_size_t BrStdlibInquire(br_uint_8 type); // Size: 40 br_uint_32 BrStdlibAlign(br_uint_8 type); +#endif diff --git a/src/BRSRC13/CORE/V1DB/actsupt.c b/src/BRSRC13/CORE/V1DB/actsupt.c index 59d9e4e4..9fc9ca0f 100644 --- a/src/BRSRC13/CORE/V1DB/actsupt.c +++ b/src/BRSRC13/CORE/V1DB/actsupt.c @@ -1,69 +1,64 @@ #include "actsupt.h" -// Global variables char rscid[53]; // Offset: 12 // Size: 158 -br_uint_32 BrActorEnum(br_actor *parent, br_actor_enum_cbfn *callback) { - void *arg; - br_actor *a; - br_actor *next; - br_uint_32 r; +br_uint_32 BrActorEnum(br_actor *parent, br_actor_enum_cbfn *callback, void *arg) { + br_actor *a; + br_actor *next; + br_uint_32 r; } // Offset: 188 // Size: 321 -br_uint_32 BrActorSearchMany(br_actor *root, char *pattern, br_actor **actors) { - int max; - br_actor *a; - char *sub; - int n; - int remaining; +br_uint_32 BrActorSearchMany(br_actor *root, char *pattern, br_actor **actors, int max) { + br_actor *a; + char *sub; + int n; + int remaining; } // Offset: 523 // Size: 103 -br_actor* BrActorSearch(br_actor *root) { - char *pattern; - br_actor *a; +br_actor* BrActorSearch(br_actor *root, char *pattern) { + br_actor *a; } // Offset: 640 // Size: 117 // EAX: a // EDX: d -void RenumberActor(br_actor *a) { - int d; - br_actor *ac; +void RenumberActor(br_actor *a, int d) { + br_actor *ac; } // Offset: 768 // Size: 230 br_actor* BrActorAdd(br_actor *parent, br_actor *a) { - br_actor *ac; + br_actor *ac; } // Offset: 1012 // Size: 177 br_actor* BrActorRemove(br_actor *a) { - br_actor *ac; + br_actor *ac; } // Offset: 1203 // Size: 167 void BrActorRelink(br_actor *parent, br_actor *a) { - br_matrix34 mat; + br_matrix34 mat; } // Offset: 1386 // Size: 503 br_actor* BrActorAllocate(br_uint_8 type, void *type_data) { - br_actor *a; - br_light *light; - br_camera *camera; - br_bounds *bounds; - br_vector4 *clip_plane; + br_actor *a; + br_light *light; + br_camera *camera; + br_bounds *bounds; + br_vector4 *clip_plane; } // Offset: 1907 @@ -92,18 +87,15 @@ br_boolean ActorToRoot(br_actor *a, br_actor *world, br_matrix34 *m) { // EBX: m // ECX: type br_boolean ActorToRootTyped(br_actor *a, br_actor *world, br_matrix34 *m, br_int_32 *type) { - br_int_32 t; + br_int_32 t; } // Offset: 2847 // Size: 572 // EAX: mat // EDX: field_of_view -void Matrix4PerspectiveNew(br_matrix4 *mat, br_angle field_of_view, br_scalar aspect, br_scalar hither) { - br_scalar yon; - br_scalar origin_x; - br_scalar origin_y; - br_scalar scale; +void Matrix4PerspectiveNew(br_matrix4 *mat, br_angle field_of_view, br_scalar aspect, br_scalar hither, br_scalar yon, br_scalar origin_x, br_scalar origin_y) { + br_scalar scale; } // Offset: 3441 @@ -111,24 +103,24 @@ void Matrix4PerspectiveNew(br_matrix4 *mat, br_angle field_of_view, br_scalar as // EAX: mat // EDX: camera br_token CameraToScreenMatrix4(br_matrix4 *mat, br_actor *camera) { - br_camera *camera_type; - br_matrix34 mat34; + br_camera *camera_type; + br_matrix34 mat34; } // Offset: 4408 // Size: 866 br_uint_16 BrActorToActorMatrix34(br_matrix34 *m, br_actor *a, br_actor *b) { - br_matrix34 mata; - br_matrix34 matb; - br_matrix34 matc; - br_uint_8 at; - br_uint_8 bt; + br_matrix34 mata; + br_matrix34 matb; + br_matrix34 matc; + br_uint_8 at; + br_uint_8 bt; } // Offset: 5297 // Size: 178 void BrActorToScreenMatrix4(br_matrix4 *m, br_actor *a, br_actor *camera) { - br_matrix34 a2c; + br_matrix34 a2c; } // Offset: 5497 @@ -137,10 +129,10 @@ void BrActorToScreenMatrix4(br_matrix4 *m, br_actor *a, br_actor *camera) { // EDX: s // EBX: m void BrMatrix34ApplyBounds(br_bounds *d, br_bounds *s, br_matrix34 *m) { - int i; - int j; - br_scalar a; - br_scalar b; + int i; + int j; + br_scalar a; + br_scalar b; } // Offset: 5920 @@ -149,17 +141,17 @@ void BrMatrix34ApplyBounds(br_bounds *d, br_bounds *s, br_matrix34 *m) { // EDX: ap // EBX: model void ActorToBounds(br_bounds *dest, br_actor *ap, br_model *model) { - br_actor *a; - br_bounds new; - br_matrix34 m2v; - int i; + br_actor *a; + br_bounds new; + br_matrix34 m2v; + int i; } // Offset: 6333 // Size: 310 br_bounds* BrActorToBounds(br_bounds *b, br_actor *ap) { - br_matrix34 m2v; - br_model *model; - br_actor *a; + br_matrix34 m2v; + br_model *model; + br_actor *a; } diff --git a/src/BRSRC13/CORE/V1DB/actsupt.h b/src/BRSRC13/CORE/V1DB/actsupt.h index 957e5b75..e3d2ca22 100644 --- a/src/BRSRC13/CORE/V1DB/actsupt.h +++ b/src/BRSRC13/CORE/V1DB/actsupt.h @@ -1,22 +1,26 @@ +#ifndef _ACTSUPT_H_ +#define _ACTSUPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 158 -br_uint_32 BrActorEnum(br_actor *parent, br_actor_enum_cbfn *callback); +br_uint_32 BrActorEnum(br_actor *parent, br_actor_enum_cbfn *callback, void *arg); // Offset: 188 // Size: 321 -br_uint_32 BrActorSearchMany(br_actor *root, char *pattern, br_actor **actors); +br_uint_32 BrActorSearchMany(br_actor *root, char *pattern, br_actor **actors, int max); // Offset: 523 // Size: 103 -br_actor* BrActorSearch(br_actor *root); +br_actor* BrActorSearch(br_actor *root, char *pattern); // Offset: 640 // Size: 117 // EAX: a // EDX: d -void RenumberActor(br_actor *a); +void RenumberActor(br_actor *a, int d); // Offset: 768 // Size: 230 @@ -62,7 +66,7 @@ br_boolean ActorToRootTyped(br_actor *a, br_actor *world, br_matrix34 *m, br_int // Size: 572 // EAX: mat // EDX: field_of_view -void Matrix4PerspectiveNew(br_matrix4 *mat, br_angle field_of_view, br_scalar aspect, br_scalar hither); +void Matrix4PerspectiveNew(br_matrix4 *mat, br_angle field_of_view, br_scalar aspect, br_scalar hither, br_scalar yon, br_scalar origin_x, br_scalar origin_y); // Offset: 3441 // Size: 944 @@ -96,3 +100,4 @@ void ActorToBounds(br_bounds *dest, br_actor *ap, br_model *model); // Size: 310 br_bounds* BrActorToBounds(br_bounds *b, br_actor *ap); +#endif diff --git a/src/BRSRC13/CORE/V1DB/custsupt.c b/src/BRSRC13/CORE/V1DB/custsupt.c index 83138191..f04bd338 100644 --- a/src/BRSRC13/CORE/V1DB/custsupt.c +++ b/src/BRSRC13/CORE/V1DB/custsupt.c @@ -1,20 +1,19 @@ #include "custsupt.h" -// Global variables char rscid[52]; // Offset: 21 // Size: 222 void BrModelToScreenQuery(br_matrix4 *dest) { - br_uint_32 dummy; - br_matrix4 v2s; - br_matrix34 m2v; + br_uint_32 dummy; + br_matrix4 v2s; + br_matrix34 m2v; } // Offset: 262 // Size: 161 void BrModelToViewQuery(br_matrix34 *dest) { - br_uint_32 dummy; + br_uint_32 dummy; } // Offset: 442 @@ -25,78 +24,79 @@ br_uint_8 BrOriginToScreenXY(br_vector2 *screen) { // Offset: 714 // Size: 423 br_uint_32 BrOriginToScreenXYZO(br_vector3 *screen) { - br_uint_32 outcode; + br_uint_32 outcode; } // Offset: 1155 // Size: 295 -br_uint_8 BrPointToScreenXY(br_vector2 *screen, br_vector3 *point, char sp) { +br_uint_8 BrPointToScreenXY(br_vector2 *screen, br_vector3 *point) { + br_vector4 sp; } // Offset: 1470 // Size: 425 br_uint_32 BrPointToScreenXYZO(br_vector3 *screen, br_vector3 *point) { - br_vector4 sp; - br_uint_32 outcode; + br_vector4 sp; + br_uint_32 outcode; } // Offset: 1917 // Size: 313 -void BrPointToScreenXYMany(br_vector2 *screens, br_vector3 *points, br_uint_32 npoints, enum sp) { - int i; +void BrPointToScreenXYMany(br_vector2 *screens, br_vector3 *points, br_uint_32 npoints) { + br_vector4 sp; + int i; } // Offset: 2254 // Size: 513 -void BrPointToScreenXYZOMany(br_vector3 *screens, br_uint_32 *outcodes, br_vector3 *points) { - br_uint_32 npoints; - br_vector4 sp; - int i; - br_uint_32 outcode; +void BrPointToScreenXYZOMany(br_vector3 *screens, br_uint_32 *outcodes, br_vector3 *points, br_uint_32 npoints) { + br_vector4 sp; + int i; + br_uint_32 outcode; } // Offset: 2786 // Size: 98 -br_scalar BrZbDepthToScreenZ(br_uint_32 depth_z, br_camera *camera, short __unk2__) { +br_scalar BrZbDepthToScreenZ(br_uint_32 depth_z, br_camera *camera) { } // Offset: 2903 // Size: 139 -br_uint_32 BrZbScreenZToDepth(br_scalar sz, br_camera *camera, short depth) { +br_uint_32 BrZbScreenZToDepth(br_scalar sz, br_camera *camera) { + br_uint_32 depth; } // Offset: 3061 // Size: 207 -br_scalar BrZsDepthToScreenZ(br_scalar depth_z, br_camera *camera, unsigned long hither) { - br_scalar yon; +br_scalar BrZsDepthToScreenZ(br_scalar depth_z, br_camera *camera) { + br_scalar hither; + br_scalar yon; } // Offset: 3287 // Size: 178 -br_scalar BrZsScreenZToDepth(br_scalar sz, br_camera *camera, unsigned long hither) { - br_scalar yon; - br_scalar depth; +br_scalar BrZsScreenZToDepth(br_scalar sz, br_camera *camera) { + br_scalar hither; + br_scalar yon; + br_scalar depth; } // Offset: 3483 // Size: 459 -br_scalar BrScreenZToCamera(br_actor *camera) { - br_scalar sz; - br_camera *data; - br_scalar hither; - br_scalar yon; +br_scalar BrScreenZToCamera(br_actor *camera, br_scalar sz) { + br_camera *data; + br_scalar hither; + br_scalar yon; } // Offset: 3962 // Size: 766 -void BrScreenXYZToCamera(br_vector3 *point, br_actor *camera, br_pixelmap *screen_buffer, br_int_16 x) { - br_int_16 y; - br_scalar sz; - br_scalar hx; - br_scalar hy; - br_scalar vz; - br_camera *data; - br_angle fov; - br_scalar scale; +void BrScreenXYZToCamera(br_vector3 *point, br_actor *camera, br_pixelmap *screen_buffer, br_int_16 x, br_int_16 y, br_scalar sz) { + br_scalar hx; + br_scalar hy; + br_scalar vz; + br_camera *data; + br_angle fov; + br_scalar scale; } diff --git a/src/BRSRC13/CORE/V1DB/custsupt.h b/src/BRSRC13/CORE/V1DB/custsupt.h index 239e5828..ec2a5395 100644 --- a/src/BRSRC13/CORE/V1DB/custsupt.h +++ b/src/BRSRC13/CORE/V1DB/custsupt.h @@ -1,5 +1,9 @@ +#ifndef _CUSTSUPT_H_ +#define _CUSTSUPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 21 // Size: 222 void BrModelToScreenQuery(br_matrix4 *dest); @@ -18,7 +22,7 @@ br_uint_32 BrOriginToScreenXYZO(br_vector3 *screen); // Offset: 1155 // Size: 295 -br_uint_8 BrPointToScreenXY(br_vector2 *screen, br_vector3 *point, char sp); +br_uint_8 BrPointToScreenXY(br_vector2 *screen, br_vector3 *point); // Offset: 1470 // Size: 425 @@ -26,33 +30,34 @@ br_uint_32 BrPointToScreenXYZO(br_vector3 *screen, br_vector3 *point); // Offset: 1917 // Size: 313 -void BrPointToScreenXYMany(br_vector2 *screens, br_vector3 *points, br_uint_32 npoints, enum sp); +void BrPointToScreenXYMany(br_vector2 *screens, br_vector3 *points, br_uint_32 npoints); // Offset: 2254 // Size: 513 -void BrPointToScreenXYZOMany(br_vector3 *screens, br_uint_32 *outcodes, br_vector3 *points); +void BrPointToScreenXYZOMany(br_vector3 *screens, br_uint_32 *outcodes, br_vector3 *points, br_uint_32 npoints); // Offset: 2786 // Size: 98 -br_scalar BrZbDepthToScreenZ(br_uint_32 depth_z, br_camera *camera, short __unk2__); +br_scalar BrZbDepthToScreenZ(br_uint_32 depth_z, br_camera *camera); // Offset: 2903 // Size: 139 -br_uint_32 BrZbScreenZToDepth(br_scalar sz, br_camera *camera, short depth); +br_uint_32 BrZbScreenZToDepth(br_scalar sz, br_camera *camera); // Offset: 3061 // Size: 207 -br_scalar BrZsDepthToScreenZ(br_scalar depth_z, br_camera *camera, unsigned long hither); +br_scalar BrZsDepthToScreenZ(br_scalar depth_z, br_camera *camera); // Offset: 3287 // Size: 178 -br_scalar BrZsScreenZToDepth(br_scalar sz, br_camera *camera, unsigned long hither); +br_scalar BrZsScreenZToDepth(br_scalar sz, br_camera *camera); // Offset: 3483 // Size: 459 -br_scalar BrScreenZToCamera(br_actor *camera); +br_scalar BrScreenZToCamera(br_actor *camera, br_scalar sz); // Offset: 3962 // Size: 766 -void BrScreenXYZToCamera(br_vector3 *point, br_actor *camera, br_pixelmap *screen_buffer, br_int_16 x); +void BrScreenXYZToCamera(br_vector3 *point, br_actor *camera, br_pixelmap *screen_buffer, br_int_16 x, br_int_16 y, br_scalar sz); +#endif diff --git a/src/BRSRC13/CORE/V1DB/dbsetup.c b/src/BRSRC13/CORE/V1DB/dbsetup.c index f67bb316..74be8bdc 100644 --- a/src/BRSRC13/CORE/V1DB/dbsetup.c +++ b/src/BRSRC13/CORE/V1DB/dbsetup.c @@ -1,14 +1,13 @@ #include "dbsetup.h" -// Global variables br_resource_class resourceClasses[14]; br_v1db_state v1db; // Offset: 12 // Size: 345 br_error BrV1dbBegin() { - char *devstr; - br_size_t s; + char *devstr; + br_size_t s; } // Offset: 367 @@ -18,58 +17,50 @@ br_error BrV1dbEnd() { // Offset: 482 // Size: 89 -br_uint_32 updateTable(br_pixelmap *item) { - void *arg; +br_uint_32 updateTable(br_pixelmap *item, void *arg) { } // Offset: 581 // Size: 89 -br_uint_32 updateMap(br_pixelmap *item) { - void *arg; +br_uint_32 updateMap(br_pixelmap *item, void *arg) { } // Offset: 685 // Size: 89 -br_uint_32 updateMaterial(br_material *item) { - void *arg; +br_uint_32 updateMaterial(br_material *item, void *arg) { } // Offset: 786 // Size: 89 -br_uint_32 updateModel(br_model *item) { - void *arg; +br_uint_32 updateModel(br_model *item, void *arg) { } // Offset: 886 // Size: 79 -br_uint_32 clearTable(br_pixelmap *item) { - void *arg; +br_uint_32 clearTable(br_pixelmap *item, void *arg) { } // Offset: 974 // Size: 79 -br_uint_32 clearMap(br_pixelmap *item) { - void *arg; +br_uint_32 clearMap(br_pixelmap *item, void *arg) { } // Offset: 1067 // Size: 79 -br_uint_32 clearMaterial(br_material *item) { - void *arg; +br_uint_32 clearMaterial(br_material *item, void *arg) { } // Offset: 1157 // Size: 79 -br_uint_32 clearModel(br_model *item) { - void *arg; +br_uint_32 clearModel(br_model *item, void *arg) { } // Offset: 1256 // Size: 462 br_error BrV1dbRendererBegin(br_device_pixelmap *destination, br_renderer *renderer) { - br_renderer_facility *renderer_facility; - br_error r; - br_token_value tv[2]; + br_renderer_facility *renderer_facility; + br_error r; + br_token_value tv[2]; } // Offset: 1738 diff --git a/src/BRSRC13/CORE/V1DB/dbsetup.h b/src/BRSRC13/CORE/V1DB/dbsetup.h index 23aaa066..2044fc86 100644 --- a/src/BRSRC13/CORE/V1DB/dbsetup.h +++ b/src/BRSRC13/CORE/V1DB/dbsetup.h @@ -1,5 +1,9 @@ +#ifndef _DBSETUP_H_ +#define _DBSETUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 345 br_error BrV1dbBegin(); @@ -10,35 +14,35 @@ br_error BrV1dbEnd(); // Offset: 482 // Size: 89 -br_uint_32 updateTable(br_pixelmap *item); +br_uint_32 updateTable(br_pixelmap *item, void *arg); // Offset: 581 // Size: 89 -br_uint_32 updateMap(br_pixelmap *item); +br_uint_32 updateMap(br_pixelmap *item, void *arg); // Offset: 685 // Size: 89 -br_uint_32 updateMaterial(br_material *item); +br_uint_32 updateMaterial(br_material *item, void *arg); // Offset: 786 // Size: 89 -br_uint_32 updateModel(br_model *item); +br_uint_32 updateModel(br_model *item, void *arg); // Offset: 886 // Size: 79 -br_uint_32 clearTable(br_pixelmap *item); +br_uint_32 clearTable(br_pixelmap *item, void *arg); // Offset: 974 // Size: 79 -br_uint_32 clearMap(br_pixelmap *item); +br_uint_32 clearMap(br_pixelmap *item, void *arg); // Offset: 1067 // Size: 79 -br_uint_32 clearMaterial(br_material *item); +br_uint_32 clearMaterial(br_material *item, void *arg); // Offset: 1157 // Size: 79 -br_uint_32 clearModel(br_model *item); +br_uint_32 clearModel(br_model *item, void *arg); // Offset: 1256 // Size: 462 @@ -76,3 +80,4 @@ void BrV1dbBeginWrapper_Float(); // Size: 40 void BrV1dbEndWrapper(); +#endif diff --git a/src/BRSRC13/CORE/V1DB/def_mat.c b/src/BRSRC13/CORE/V1DB/def_mat.c index b76f2239..cbad59c5 100644 --- a/src/BRSRC13/CORE/V1DB/def_mat.c +++ b/src/BRSRC13/CORE/V1DB/def_mat.c @@ -1,11 +1,10 @@ #include "def_mat.h" -// Global variables char rscid[52]; // Offset: 21 // Size: 224 br_material* SetupDefaultMaterial() { - br_material *default_mat; + br_material *default_mat; } diff --git a/src/BRSRC13/CORE/V1DB/def_mat.h b/src/BRSRC13/CORE/V1DB/def_mat.h index 451c5e32..64f09e26 100644 --- a/src/BRSRC13/CORE/V1DB/def_mat.h +++ b/src/BRSRC13/CORE/V1DB/def_mat.h @@ -1,6 +1,11 @@ +#ifndef _DEF_MAT_H_ +#define _DEF_MAT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 21 // Size: 224 br_material* SetupDefaultMaterial(); +#endif diff --git a/src/BRSRC13/CORE/V1DB/def_mdl.c b/src/BRSRC13/CORE/V1DB/def_mdl.c index a79c4bd5..41d2376b 100644 --- a/src/BRSRC13/CORE/V1DB/def_mdl.c +++ b/src/BRSRC13/CORE/V1DB/def_mdl.c @@ -1,6 +1,5 @@ #include "def_mdl.h" -// Global variables br_face default_model_faces[12]; br_vertex default_model_vertices[8]; br_model _BrDefaultModel; diff --git a/src/BRSRC13/CORE/V1DB/def_mdl.h b/src/BRSRC13/CORE/V1DB/def_mdl.h index 809230b1..07dd571f 100644 --- a/src/BRSRC13/CORE/V1DB/def_mdl.h +++ b/src/BRSRC13/CORE/V1DB/def_mdl.h @@ -1,2 +1,7 @@ +#ifndef _DEF_MDL_H_ +#define _DEF_MDL_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/BRSRC13/CORE/V1DB/def_otab.c b/src/BRSRC13/CORE/V1DB/def_otab.c index a8503222..8ecf25bd 100644 --- a/src/BRSRC13/CORE/V1DB/def_otab.c +++ b/src/BRSRC13/CORE/V1DB/def_otab.c @@ -1,6 +1,5 @@ #include "def_otab.h" -// Global variables void *_default_table[256]; char rscid[52]; br_order_table _BrDefaultOrderTable; diff --git a/src/BRSRC13/CORE/V1DB/def_otab.h b/src/BRSRC13/CORE/V1DB/def_otab.h index 809230b1..18c5d2da 100644 --- a/src/BRSRC13/CORE/V1DB/def_otab.h +++ b/src/BRSRC13/CORE/V1DB/def_otab.h @@ -1,2 +1,7 @@ +#ifndef _DEF_OTAB_H_ +#define _DEF_OTAB_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/BRSRC13/CORE/V1DB/enables.c b/src/BRSRC13/CORE/V1DB/enables.c index 93cf9f3b..e77e1ab8 100644 --- a/src/BRSRC13/CORE/V1DB/enables.c +++ b/src/BRSRC13/CORE/V1DB/enables.c @@ -1,6 +1,5 @@ #include "enables.h" -// Global variables char rscid[51]; // Offset: 12 @@ -8,7 +7,7 @@ char rscid[51]; // EAX: e // EDX: a void actorEnable(br_v1db_enable *e, br_actor *a) { - int i; + int i; } // Offset: 320 @@ -16,7 +15,7 @@ void actorEnable(br_v1db_enable *e, br_actor *a) { // EAX: e // EDX: a void actorDisable(br_v1db_enable *e, br_actor *a) { - int i; + int i; } // Offset: 525 @@ -52,7 +51,7 @@ void BrHorizonPlaneDisable(br_actor *h) { // Offset: 1066 // Size: 55 br_actor* BrEnvironmentSet(br_actor *a) { - br_actor *old_a; + br_actor *old_a; } // Offset: 1131 @@ -61,11 +60,10 @@ br_actor* BrEnvironmentSet(br_actor *a) { // EDX: this_to_view // EBX: world_to_view // ECX: w2vt -br_boolean setupView(br_matrix34 *view_to_this, br_matrix34 *this_to_view, br_matrix34 *world_to_view, br_int_32 w2vt, br_actor *world) { - br_actor *a; - br_matrix34 this_to_world; - br_int_32 root_t; - br_int_32 t; +br_boolean setupView(br_matrix34 *view_to_this, br_matrix34 *this_to_view, br_matrix34 *world_to_view, br_int_32 w2vt, br_actor *world, br_actor *a) { + br_matrix34 this_to_world; + br_int_32 root_t; + br_int_32 t; } // Offset: 1429 @@ -73,17 +71,16 @@ br_boolean setupView(br_matrix34 *view_to_this, br_matrix34 *this_to_view, br_ma // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupLights(br_actor *world, br_matrix34 *world_to_view) { - br_int_32 w2vt; - br_matrix34 this_to_view; - br_matrix34 view_to_this; - int light_part; - int i; - br_token_value tv[16]; - br_token_value *tvp; - br_vector3 view_position; - br_vector3 view_direction; - br_light *light; +void BrSetupLights(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt) { + br_matrix34 this_to_view; + br_matrix34 view_to_this; + int light_part; + int i; + br_token_value tv[16]; + br_token_value *tvp; + br_vector3 view_position; + br_vector3 view_direction; + br_light *light; } // Offset: 2498 @@ -92,18 +89,17 @@ void BrSetupLights(br_actor *world, br_matrix34 *world_to_view) { // EDX: world_to_view // EBX: w2vt // ECX: view_to_screen -void BrSetupClipPlanes(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt) { - br_matrix4 *view_to_screen; - br_matrix34 this_to_view; - br_matrix34 view_to_this; - br_matrix4 screen_to_view; - br_matrix4 tmp4; - br_matrix4 screen_to_this; - int light_part; - int i; - br_int_32 clip_part; - br_token_value tv[3]; - br_vector4 sp; +void BrSetupClipPlanes(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt, br_matrix4 *view_to_screen) { + br_matrix34 this_to_view; + br_matrix34 view_to_this; + br_matrix4 screen_to_view; + br_matrix4 tmp4; + br_matrix4 screen_to_this; + int light_part; + int i; + br_int_32 clip_part; + br_token_value tv[3]; + br_vector4 sp; } // Offset: 3052 @@ -111,11 +107,10 @@ void BrSetupClipPlanes(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2 // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupEnvironment(br_actor *world, br_matrix34 *world_to_view) { - br_int_32 w2vt; - br_matrix34 view_to_this; - br_matrix34 this_to_view; - br_token h; +void BrSetupEnvironment(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt) { + br_matrix34 view_to_this; + br_matrix34 this_to_view; + br_token h; } // Offset: 3361 @@ -123,8 +118,7 @@ void BrSetupEnvironment(br_actor *world, br_matrix34 *world_to_view) { // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupHorizons(br_actor *world, br_matrix34 *world_to_view) { - br_int_32 w2vt; +void BrSetupHorizons(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt) { } // Offset: 3419 diff --git a/src/BRSRC13/CORE/V1DB/enables.h b/src/BRSRC13/CORE/V1DB/enables.h index 9d649a1d..2ca8919c 100644 --- a/src/BRSRC13/CORE/V1DB/enables.h +++ b/src/BRSRC13/CORE/V1DB/enables.h @@ -1,5 +1,9 @@ +#ifndef _ENABLES_H_ +#define _ENABLES_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 295 // EAX: e @@ -46,14 +50,14 @@ br_actor* BrEnvironmentSet(br_actor *a); // EDX: this_to_view // EBX: world_to_view // ECX: w2vt -br_boolean setupView(br_matrix34 *view_to_this, br_matrix34 *this_to_view, br_matrix34 *world_to_view, br_int_32 w2vt, br_actor *world); +br_boolean setupView(br_matrix34 *view_to_this, br_matrix34 *this_to_view, br_matrix34 *world_to_view, br_int_32 w2vt, br_actor *world, br_actor *a); // Offset: 1429 // Size: 1051 // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupLights(br_actor *world, br_matrix34 *world_to_view); +void BrSetupLights(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt); // Offset: 2498 // Size: 535 @@ -61,24 +65,25 @@ void BrSetupLights(br_actor *world, br_matrix34 *world_to_view); // EDX: world_to_view // EBX: w2vt // ECX: view_to_screen -void BrSetupClipPlanes(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt); +void BrSetupClipPlanes(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt, br_matrix4 *view_to_screen); // Offset: 3052 // Size: 293 // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupEnvironment(br_actor *world, br_matrix34 *world_to_view); +void BrSetupEnvironment(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt); // Offset: 3361 // Size: 39 // EAX: world // EDX: world_to_view // EBX: w2vt -void BrSetupHorizons(br_actor *world, br_matrix34 *world_to_view); +void BrSetupHorizons(br_actor *world, br_matrix34 *world_to_view, br_int_32 w2vt); // Offset: 3419 // Size: 136 // EAX: a void BrActorEnableCheck(br_actor *a); +#endif diff --git a/src/BRSRC13/CORE/V1DB/matsupt.c b/src/BRSRC13/CORE/V1DB/matsupt.c index 432df314..3035ed54 100644 --- a/src/BRSRC13/CORE/V1DB/matsupt.c +++ b/src/BRSRC13/CORE/V1DB/matsupt.c @@ -1,12 +1,11 @@ #include "matsupt.h" -// Global variables char rscid[49]; // Offset: 19 // Size: 138 br_material* BrMaterialAllocate(char *name) { - br_material *m; + br_material *m; } // Offset: 172 diff --git a/src/BRSRC13/CORE/V1DB/matsupt.h b/src/BRSRC13/CORE/V1DB/matsupt.h index 3a8348df..11ea9466 100644 --- a/src/BRSRC13/CORE/V1DB/matsupt.h +++ b/src/BRSRC13/CORE/V1DB/matsupt.h @@ -1,5 +1,9 @@ +#ifndef _MATSUPT_H_ +#define _MATSUPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 19 // Size: 138 br_material* BrMaterialAllocate(char *name); @@ -8,3 +12,4 @@ br_material* BrMaterialAllocate(char *name); // Size: 70 void BrMaterialFree(br_material *m); +#endif diff --git a/src/BRSRC13/CORE/V1DB/modrend.c b/src/BRSRC13/CORE/V1DB/modrend.c index b00a2593..adbd93e6 100644 --- a/src/BRSRC13/CORE/V1DB/modrend.c +++ b/src/BRSRC13/CORE/V1DB/modrend.c @@ -1,10 +1,9 @@ #include "modrend.h" -// Global variables br_colour bounds_colours[12]; fmt_vertex bounds_vertices[8]; v11face bounds_faces[12]; -void (*RenderStyleCalls[8])(br_actor*, br_model*, br_material*, void*); +void (*RenderStyleCalls[8])(br_actor*, br_model*, br_material*, void*, br_uint_8, int); v11model bounds_prepared; br_model bounds_model; v11group bounds_face_groups[1]; @@ -16,9 +15,7 @@ char rscid[49]; // EDX: model // EBX: material // ECX: render_data -void renderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data) { - 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) { } // Offset: 250 @@ -27,9 +24,7 @@ void renderFaces(br_actor *actor, br_model *model, br_material *material, void * // EDX: model // EBX: material // ECX: render_data -void renderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void renderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 406 @@ -38,9 +33,7 @@ void renderEdges(br_actor *actor, br_model *model, br_material *material, void * // EDX: model // EBX: material // ECX: render_data -void renderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void renderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 560 @@ -49,16 +42,14 @@ void renderPoints(br_actor *actor, br_model *model, br_material *material, void // EDX: model // EBX: material // ECX: render_data -void nullRender(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void nullRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 621 // Size: 467 // EAX: b br_model* makeMeshFromBounds(br_bounds *b) { - int i; + int i; } // Offset: 1112 @@ -67,9 +58,7 @@ br_model* makeMeshFromBounds(br_bounds *b) { // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 1214 @@ -78,9 +67,7 @@ void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *mate // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 1316 @@ -89,8 +76,6 @@ void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *mater // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void boundingBoxRenderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } diff --git a/src/BRSRC13/CORE/V1DB/modrend.h b/src/BRSRC13/CORE/V1DB/modrend.h index 5777b88c..c34cf019 100644 --- a/src/BRSRC13/CORE/V1DB/modrend.h +++ b/src/BRSRC13/CORE/V1DB/modrend.h @@ -1,12 +1,16 @@ +#ifndef _MODREND_H_ +#define _MODREND_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 226 // EAX: actor // EDX: model // EBX: material // ECX: render_data -void renderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data); +void renderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 250 // Size: 143 @@ -14,7 +18,7 @@ void renderFaces(br_actor *actor, br_model *model, br_material *material, void * // EDX: model // EBX: material // ECX: render_data -void renderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data); +void renderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 406 // Size: 143 @@ -22,7 +26,7 @@ void renderEdges(br_actor *actor, br_model *model, br_material *material, void * // EDX: model // EBX: material // ECX: render_data -void renderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data); +void renderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 560 // Size: 42 @@ -30,7 +34,7 @@ void renderPoints(br_actor *actor, br_model *model, br_material *material, void // EDX: model // EBX: material // ECX: render_data -void nullRender(br_actor *actor, br_model *model, br_material *material, void *render_data); +void nullRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 621 // Size: 467 @@ -43,7 +47,7 @@ br_model* makeMeshFromBounds(br_bounds *b); // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data); +void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 1214 // Size: 79 @@ -51,7 +55,7 @@ void boundingBoxRenderPoints(br_actor *actor, br_model *model, br_material *mate // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data); +void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 1316 // Size: 79 @@ -59,5 +63,6 @@ void boundingBoxRenderEdges(br_actor *actor, br_model *model, br_material *mater // EDX: model // EBX: material // ECX: render_data -void boundingBoxRenderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data); +void boundingBoxRenderFaces(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); +#endif diff --git a/src/BRSRC13/CORE/V1DB/modsupt.c b/src/BRSRC13/CORE/V1DB/modsupt.c index 3c5c609d..4249bdcb 100644 --- a/src/BRSRC13/CORE/V1DB/modsupt.c +++ b/src/BRSRC13/CORE/V1DB/modsupt.c @@ -1,28 +1,25 @@ #include "modsupt.h" -// Global variables char rscid[50]; // Offset: 16 // Size: 703 -void BrModelApplyMap(br_model *model, int map_type) { - br_matrix34 *xform; - int v; - br_vertex *vp; - br_vector3 mv; - br_matrix34 default_xform; - br_scalar d; +void BrModelApplyMap(br_model *model, int map_type, br_matrix34 *xform) { + int v; + br_vertex *vp; + br_vector3 mv; + br_matrix34 default_xform; + br_scalar d; } // Offset: 733 // Size: 697 -br_matrix34* BrModelFitMap(br_model *model, int axis_0, int axis_1) { - br_matrix34 *transform; - br_vector3 axis_3; - br_vector3 tr; - br_vector3 sc; - int i; - br_vector3 axis_vectors[6]; +br_matrix34* BrModelFitMap(br_model *model, int axis_0, int axis_1, br_matrix34 *transform) { + br_vector3 axis_3; + br_vector3 tr; + br_vector3 sc; + int i; + br_vector3 axis_vectors[6]; } // Offset: 1442 @@ -33,7 +30,7 @@ void BrModelFree(br_model *m) { // Offset: 1531 // Size: 250 br_model* BrModelAllocate(char *name, int nvertices, int nfaces) { - br_model *m; + br_model *m; } // Offset: 1805 diff --git a/src/BRSRC13/CORE/V1DB/modsupt.h b/src/BRSRC13/CORE/V1DB/modsupt.h index eefc7135..3829cd11 100644 --- a/src/BRSRC13/CORE/V1DB/modsupt.h +++ b/src/BRSRC13/CORE/V1DB/modsupt.h @@ -1,12 +1,16 @@ +#ifndef _MODSUPT_H_ +#define _MODSUPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 16 // Size: 703 -void BrModelApplyMap(br_model *model, int map_type); +void BrModelApplyMap(br_model *model, int map_type, br_matrix34 *xform); // Offset: 733 // Size: 697 -br_matrix34* BrModelFitMap(br_model *model, int axis_0, int axis_1); +br_matrix34* BrModelFitMap(br_model *model, int axis_0, int axis_1, br_matrix34 *transform); // Offset: 1442 // Size: 73 @@ -24,3 +28,4 @@ br_primitive_list* BrPrimitiveListAllocate(br_uint_32 prim_type, br_uint_16 num_ // Size: 40 br_uint_32 BrModelAddPrimitiveList(br_model *model, br_primitive_list *primitive_list); +#endif diff --git a/src/BRSRC13/CORE/V1DB/otable.c b/src/BRSRC13/CORE/V1DB/otable.c index cd87e6b1..a7b4a3fc 100644 --- a/src/BRSRC13/CORE/V1DB/otable.c +++ b/src/BRSRC13/CORE/V1DB/otable.c @@ -1,12 +1,11 @@ #include "otable.h" -// Global variables char rscid[50]; // Offset: 23 // Size: 216 br_order_table* BrZsOrderTableAllocate(br_uint_16 size, br_uint_32 flags, br_uint_16 type) { - br_order_table *order_table; + br_order_table *order_table; } // Offset: 258 @@ -16,8 +15,7 @@ void BrZsOrderTableFree(br_order_table *order_table) { // Offset: 351 // Size: 76 -br_order_table* BrZsActorOrderTableSet(br_actor *actor) { - br_order_table *order_table; +br_order_table* BrZsActorOrderTableSet(br_actor *actor, br_order_table *order_table) { } // Offset: 450 @@ -37,14 +35,11 @@ void BrZsOrderTablePrimitiveInsert(br_order_table *order_table, br_primitive *pr // Offset: 862 // Size: 634 -br_uint_16 BrZsPrimitiveBucketSelect(br_scalar *z, br_uint_16 type, br_scalar min_z) { - br_scalar max_z; - br_uint_16 size; - br_uint_16 sort_type; - br_uint_16 bucket; - br_scalar zprim; - br_scalar range; - br_scalar scale; +br_uint_16 BrZsPrimitiveBucketSelect(br_scalar *z, br_uint_16 type, br_scalar min_z, br_scalar max_z, br_uint_16 size, br_uint_16 sort_type) { + br_uint_16 bucket; + br_scalar zprim; + br_scalar range; + br_scalar scale; } // Offset: 1524 @@ -61,30 +56,29 @@ void BrZsOrderTablePrimaryDisable() { // Size: 236 // EAX: order_table void InsertOrderTableList(br_order_table *order_table) { - br_order_table *previous_table; - br_order_table *current_table; + br_order_table *previous_table; + br_order_table *current_table; } // Offset: 1926 // Size: 275 // EAX: bounds // EDX: order_table -void SetOrderTableBounds(br_bounds *bounds) { - br_order_table *order_table; - br_uint_32 i; - br_scalar range; - br_scalar element; - br_scalar min_z; - br_scalar max_z; - br_vector3 *min; - br_vector3 *max; +void SetOrderTableBounds(br_bounds *bounds, br_order_table *order_table) { + br_uint_32 i; + br_scalar range; + br_scalar element; + br_scalar min_z; + br_scalar max_z; + br_vector3 *min; + br_vector3 *max; } // Offset: 2220 // Size: 175 // EAX: order_table void SetOrderTableRange(br_order_table *order_table) { - br_scalar range; + br_scalar range; } // Offset: 2416 @@ -95,12 +89,12 @@ void RenderOrderTableList() { // Offset: 2551 // Size: 553 void RenderPrimaryOrderTable() { - br_uint_16 size; - br_scalar bucket_size; - br_scalar min_z; - br_scalar max_z; - br_primitive *prim; - br_primitive **bucket; - br_order_table *order_table; + br_uint_16 size; + br_scalar bucket_size; + br_scalar min_z; + br_scalar max_z; + br_primitive *prim; + br_primitive **bucket; + br_order_table *order_table; } diff --git a/src/BRSRC13/CORE/V1DB/otable.h b/src/BRSRC13/CORE/V1DB/otable.h index d0dec581..a5f06989 100644 --- a/src/BRSRC13/CORE/V1DB/otable.h +++ b/src/BRSRC13/CORE/V1DB/otable.h @@ -1,5 +1,9 @@ +#ifndef _OTABLE_H_ +#define _OTABLE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 23 // Size: 216 br_order_table* BrZsOrderTableAllocate(br_uint_16 size, br_uint_32 flags, br_uint_16 type); @@ -10,7 +14,7 @@ void BrZsOrderTableFree(br_order_table *order_table); // Offset: 351 // Size: 76 -br_order_table* BrZsActorOrderTableSet(br_actor *actor); +br_order_table* BrZsActorOrderTableSet(br_actor *actor, br_order_table *order_table); // Offset: 450 // Size: 70 @@ -26,7 +30,7 @@ void BrZsOrderTablePrimitiveInsert(br_order_table *order_table, br_primitive *pr // Offset: 862 // Size: 634 -br_uint_16 BrZsPrimitiveBucketSelect(br_scalar *z, br_uint_16 type, br_scalar min_z); +br_uint_16 BrZsPrimitiveBucketSelect(br_scalar *z, br_uint_16 type, br_scalar min_z, br_scalar max_z, br_uint_16 size, br_uint_16 sort_type); // Offset: 1524 // Size: 56 @@ -45,7 +49,7 @@ void InsertOrderTableList(br_order_table *order_table); // Size: 275 // EAX: bounds // EDX: order_table -void SetOrderTableBounds(br_bounds *bounds); +void SetOrderTableBounds(br_bounds *bounds, br_order_table *order_table); // Offset: 2220 // Size: 175 @@ -60,3 +64,4 @@ void RenderOrderTableList(); // Size: 553 void RenderPrimaryOrderTable(); +#endif diff --git a/src/BRSRC13/CORE/V1DB/prepmap.c b/src/BRSRC13/CORE/V1DB/prepmap.c index ff57cbc6..761a0b5f 100644 --- a/src/BRSRC13/CORE/V1DB/prepmap.c +++ b/src/BRSRC13/CORE/V1DB/prepmap.c @@ -1,6 +1,5 @@ #include "prepmap.h" -// Global variables char rscid[51]; // Offset: 12 @@ -14,7 +13,7 @@ void BrMapUpdate(br_pixelmap *map, br_uint_16 flags) { // EDX: use // EBX: flags void BrBufferUpdate(br_pixelmap *pm, br_token use, br_uint_16 flags) { - br_token_value tv[3]; + br_token_value tv[3]; } // Offset: 301 diff --git a/src/BRSRC13/CORE/V1DB/prepmap.h b/src/BRSRC13/CORE/V1DB/prepmap.h index d14f695b..d86b2d35 100644 --- a/src/BRSRC13/CORE/V1DB/prepmap.h +++ b/src/BRSRC13/CORE/V1DB/prepmap.h @@ -1,5 +1,9 @@ +#ifndef _PREPMAP_H_ +#define _PREPMAP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 12 // Size: 77 void BrMapUpdate(br_pixelmap *map, br_uint_16 flags); @@ -16,3 +20,4 @@ void BrBufferUpdate(br_pixelmap *pm, br_token use, br_uint_16 flags); // EAX: pm void BrBufferClear(br_pixelmap *pm); +#endif diff --git a/src/BRSRC13/CORE/V1DB/prepmatl.c b/src/BRSRC13/CORE/V1DB/prepmatl.c index 1bb10f7e..13ae851c 100644 --- a/src/BRSRC13/CORE/V1DB/prepmatl.c +++ b/src/BRSRC13/CORE/V1DB/prepmatl.c @@ -1,16 +1,14 @@ #include "prepmatl.h" -// Global variables char rscid[52]; // Offset: 17 // Size: 2997 -void BrMaterialUpdate(br_material *mat) { - br_uint_16 flags; - br_token_value tva[32]; - br_token_value *tvp; - br_token t; - br_int_32 c; +void BrMaterialUpdate(br_material *mat, br_uint_16 flags) { + br_token_value tva[32]; + br_token_value *tvp; + br_token t; + br_int_32 c; } // Offset: 3030 diff --git a/src/BRSRC13/CORE/V1DB/prepmatl.h b/src/BRSRC13/CORE/V1DB/prepmatl.h index 589f3f8e..b3b305ce 100644 --- a/src/BRSRC13/CORE/V1DB/prepmatl.h +++ b/src/BRSRC13/CORE/V1DB/prepmatl.h @@ -1,11 +1,16 @@ +#ifndef _PREPMATL_H_ +#define _PREPMATL_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 17 // Size: 2997 -void BrMaterialUpdate(br_material *mat); +void BrMaterialUpdate(br_material *mat, br_uint_16 flags); // Offset: 3030 // Size: 88 // EAX: mat void BrMaterialClear(br_material *mat); +#endif diff --git a/src/BRSRC13/CORE/V1DB/prepmesh.c b/src/BRSRC13/CORE/V1DB/prepmesh.c index 868e0c71..73c8d326 100644 --- a/src/BRSRC13/CORE/V1DB/prepmesh.c +++ b/src/BRSRC13/CORE/V1DB/prepmesh.c @@ -1,6 +1,5 @@ #include "prepmesh.h" -// Global variables br_model *compareModel; char *pm_edge_scratch; pm_temp_edge **pm_edge_hash; @@ -13,7 +12,7 @@ char rscid[51]; // EAX: first // EDX: last int addEdge(br_uint_16 first, br_uint_16 last) { - pm_temp_edge *tep; + pm_temp_edge *tep; } // Offset: 267 @@ -21,53 +20,53 @@ int addEdge(br_uint_16 first, br_uint_16 last) { // EAX: group // EDX: model void prepareEdges(v11group *group, br_model *model) { - br_size_t scratch_size; - br_face *mfp; - v11face *fp; - int f; + br_size_t scratch_size; + br_face *mfp; + v11face *fp; + int f; } // Offset: 743 // Size: 115 // EAX: model void BrPrepareEdges(br_model *model) { - int g; - v11model *v11m; + int g; + v11model *v11m; } // Offset: 871 // Size: 102 int FacesCompare(void *p1, void *p2) { - br_face *f1; - br_face *f2; + br_face *f1; + br_face *f2; } // Offset: 987 // Size: 268 int TVCompare_XYZ(void *p1, void *p2) { - prep_vertex *tv1; - prep_vertex *tv2; - br_vertex *v1; - br_vertex *v2; - int i; + prep_vertex *tv1; + prep_vertex *tv2; + br_vertex *v1; + br_vertex *v2; + int i; } // Offset: 1273 // Size: 610 int TVCompare_MXYZUVN(void *p1, void *p2) { - prep_vertex *tv1; - prep_vertex *tv2; - br_vertex *v1; - br_vertex *v2; - int i; + prep_vertex *tv1; + prep_vertex *tv2; + br_vertex *v1; + br_vertex *v2; + int i; } // Offset: 1897 // Size: 383 int TVCompare_MVN(void *p1, void *p2) { - prep_vertex *tv1; - prep_vertex *tv2; - int i; + prep_vertex *tv1; + prep_vertex *tv2; + int i; } // Offset: 2304 @@ -79,29 +78,27 @@ br_fraction BrScalarToFractionClamp(br_scalar s) { // Size: 284 // EAX: model void PrepareFaceNormals(br_model *model) { - br_vertex *vertices; - br_vector4 v4; - br_face *fp; - int f; + br_vertex *vertices; + br_vector4 v4; + br_face *fp; + int f; } // Offset: 2705 // Size: 296 // EAX: model -void Smoothing(br_model *model, br_scalar crease_limit, prep_vertex **start) { - prep_vertex **end; - prep_vertex **outer; - prep_vertex **inner; +void Smoothing(br_model *model, br_scalar crease_limit, prep_vertex **start, prep_vertex **end) { + prep_vertex **outer; + prep_vertex **inner; } // Offset: 3018 // Size: 500 // EAX: model -void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **start) { - prep_vertex **end; - br_vector3 o_n; - prep_vertex **outer; - prep_vertex **inner; +void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **start, prep_vertex **end) { + br_vector3 o_n; + prep_vertex **outer; + prep_vertex **inner; } // Offset: 3529 @@ -110,10 +107,9 @@ void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **sta // EDX: v // EBX: src // ECX: model -void CopyVertex(v11group *group, int v, prep_vertex *src) { - br_model *model; - br_vertex *srcv; - br_vector3 n; +void CopyVertex(v11group *group, int v, prep_vertex *src, br_model *model) { + br_vertex *srcv; + br_vector3 n; } // Offset: 4017 @@ -122,99 +118,97 @@ void CopyVertex(v11group *group, int v, prep_vertex *src) { // EDX: f // EBX: src // ECX: model -void CopyFace(v11group *group, int f, br_face *src) { - br_model *model; +void CopyFace(v11group *group, int f, br_face *src, br_model *model) { } // Offset: 4324 // Size: 2516 // EAX: model void PrepareGroups(br_model *model) { - br_qsort_cbfn *vertex_compare_smoothing; - br_qsort_cbfn *vertex_compare_groups; - void (*smoothing_fn)(br_model*, br_scalar, prep_vertex**); - void *vp; - br_size_t block_size; - prep_vertex *temp_verts; - prep_vertex *gtvp; - prep_vertex **sorted_vertices; - br_face *fp; - int g; - int f; - int v; - int i; - int ntemps; - int count; - int nf; - int nv; - int ng; - int old_count; - br_scalar crease_limit; - v11model *v11m; - v11group *v11g; - v11face *v11f; - fmt_vertex *v11v; - br_colour *v11fcolours; - br_colour *v11vcolours; - br_uint_16 *v11fuser; - br_uint_16 *v11vuser; - br_face **sorted_faces; - char *cp; + br_qsort_cbfn *vertex_compare_smoothing; + br_qsort_cbfn *vertex_compare_groups; + void (*smoothing_fn)(br_model*, br_scalar, prep_vertex**, prep_vertex**); + void *vp; + br_size_t block_size; + prep_vertex *temp_verts; + prep_vertex *gtvp; + prep_vertex **sorted_vertices; + br_face *fp; + int g; + int f; + int v; + int i; + int ntemps; + int count; + int nf; + int nv; + int ng; + int old_count; + br_scalar crease_limit; + v11model *v11m; + v11group *v11g; + v11face *v11f; + fmt_vertex *v11v; + br_colour *v11fcolours; + br_colour *v11vcolours; + br_uint_16 *v11fuser; + br_uint_16 *v11vuser; + br_face **sorted_faces; + char *cp; } // Offset: 6862 // Size: 170 // EAX: model void PrepareBoundingRadius(br_model *model) { - float d; - float max; - int v; - br_vertex *vp; + float d; + float max; + int v; + br_vertex *vp; } // Offset: 7051 // Size: 272 // EAX: model void PrepareBoundingBox(br_model *model) { - int axis; - int v; - br_vertex *vp; - br_scalar x; + int axis; + int v; + br_vertex *vp; + br_scalar x; } // Offset: 7345 // Size: 268 // EAX: v11m void RegenerateFaceNormals(v11model *v11m) { - int g; - int f; - v11face *fp; + int g; + int f; + v11face *fp; } // Offset: 7637 // Size: 762 // EAX: v11m void RegenerateVertexNormals(v11model *v11m) { - int g; - int v; - int f; - v11face *fp; - fmt_vertex *vp; - br_vector3 *normals; + int g; + int v; + int f; + v11face *fp; + fmt_vertex *vp; + br_vector3 *normals; } // Offset: 8413 // Size: 1585 -void BrModelUpdate(br_model *model) { - br_uint_16 flags; - int g; - int f; - int v; - v11model *v11m; - fmt_vertex *fvp; - v11face *ffp; - br_vertex *vp; - br_face *fp; +void BrModelUpdate(br_model *model, br_uint_16 flags) { + int g; + int f; + int v; + v11model *v11m; + fmt_vertex *fvp; + v11face *ffp; + br_vertex *vp; + br_face *fp; } // Offset: 10011 diff --git a/src/BRSRC13/CORE/V1DB/prepmesh.h b/src/BRSRC13/CORE/V1DB/prepmesh.h index afb4d177..2e21a159 100644 --- a/src/BRSRC13/CORE/V1DB/prepmesh.h +++ b/src/BRSRC13/CORE/V1DB/prepmesh.h @@ -1,5 +1,9 @@ +#ifndef _PREPMESH_H_ +#define _PREPMESH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 8 // Size: 246 // EAX: first @@ -45,12 +49,12 @@ void PrepareFaceNormals(br_model *model); // Offset: 2705 // Size: 296 // EAX: model -void Smoothing(br_model *model, br_scalar crease_limit, prep_vertex **start); +void Smoothing(br_model *model, br_scalar crease_limit, prep_vertex **start, prep_vertex **end); // Offset: 3018 // Size: 500 // EAX: model -void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **start); +void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **start, prep_vertex **end); // Offset: 3529 // Size: 479 @@ -58,7 +62,7 @@ void SmoothingCreased(br_model *model, br_scalar crease_limit, prep_vertex **sta // EDX: v // EBX: src // ECX: model -void CopyVertex(v11group *group, int v, prep_vertex *src); +void CopyVertex(v11group *group, int v, prep_vertex *src, br_model *model); // Offset: 4017 // Size: 293 @@ -66,7 +70,7 @@ void CopyVertex(v11group *group, int v, prep_vertex *src); // EDX: f // EBX: src // ECX: model -void CopyFace(v11group *group, int f, br_face *src); +void CopyFace(v11group *group, int f, br_face *src, br_model *model); // Offset: 4324 // Size: 2516 @@ -95,10 +99,11 @@ void RegenerateVertexNormals(v11model *v11m); // Offset: 8413 // Size: 1585 -void BrModelUpdate(br_model *model); +void BrModelUpdate(br_model *model, br_uint_16 flags); // Offset: 10011 // Size: 109 // EAX: model void BrModelClear(br_model *model); +#endif diff --git a/src/BRSRC13/CORE/V1DB/preptab.c b/src/BRSRC13/CORE/V1DB/preptab.c index a1507974..331bbb3f 100644 --- a/src/BRSRC13/CORE/V1DB/preptab.c +++ b/src/BRSRC13/CORE/V1DB/preptab.c @@ -1,6 +1,5 @@ #include "preptab.h" -// Global variables char rscid[51]; // Offset: 14 diff --git a/src/BRSRC13/CORE/V1DB/preptab.h b/src/BRSRC13/CORE/V1DB/preptab.h index 32b21853..ed299eb0 100644 --- a/src/BRSRC13/CORE/V1DB/preptab.h +++ b/src/BRSRC13/CORE/V1DB/preptab.h @@ -1,6 +1,11 @@ +#ifndef _PREPTAB_H_ +#define _PREPTAB_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 14 // Size: 77 void BrTableUpdate(br_pixelmap *table, br_uint_16 flags); +#endif diff --git a/src/BRSRC13/CORE/V1DB/regsupt.c b/src/BRSRC13/CORE/V1DB/regsupt.c index a309fb0a..b04f7bd8 100644 --- a/src/BRSRC13/CORE/V1DB/regsupt.c +++ b/src/BRSRC13/CORE/V1DB/regsupt.c @@ -1,6 +1,5 @@ #include "regsupt.h" -// Global variables char rscid[51]; // Offset: 11 @@ -21,28 +20,26 @@ br_model* BrModelFind(char *pattern) { // Offset: 335 // Size: 83 br_model_find_cbfn* BrModelFindHook(br_model_find_cbfn *hook) { - br_model_find_cbfn *old; + br_model_find_cbfn *old; } // Offset: 433 // Size: 158 -br_uint_32 BrModelAddMany(br_model **items) { - int n; - int i; - int r; +br_uint_32 BrModelAddMany(br_model **items, int n) { + int i; + int r; } // Offset: 609 // Size: 158 -br_uint_32 BrModelRemoveMany(br_model **items) { - int n; - int i; - int r; +br_uint_32 BrModelRemoveMany(br_model **items, int n) { + int i; + int r; } // Offset: 783 // Size: 55 -br_uint_32 BrModelFindMany(char *pattern, br_model **items, int max, signed char __unk3__) { +br_uint_32 BrModelFindMany(char *pattern, br_model **items, int max) { } // Offset: 851 @@ -52,7 +49,7 @@ br_uint_32 BrModelCount(char *pattern) { // Offset: 912 // Size: 55 -br_uint_32 BrModelEnum(char *pattern, br_model_enum_cbfn *callback, void *arg, short __unk3__) { +br_uint_32 BrModelEnum(char *pattern, br_model_enum_cbfn *callback, void *arg) { } // Offset: 981 @@ -73,28 +70,26 @@ br_material* BrMaterialFind(char *pattern) { // Offset: 1354 // Size: 55 br_material_find_cbfn* BrMaterialFindHook(br_material_find_cbfn *hook) { - br_material_find_cbfn *old; + br_material_find_cbfn *old; } // Offset: 1427 // Size: 164 -br_uint_32 BrMaterialAddMany(br_material **items) { - int n; - int i; - int r; +br_uint_32 BrMaterialAddMany(br_material **items, int n) { + int i; + int r; } // Offset: 1612 // Size: 164 -br_uint_32 BrMaterialRemoveMany(br_material **items) { - int n; - int i; - int r; +br_uint_32 BrMaterialRemoveMany(br_material **items, int n) { + int i; + int r; } // Offset: 1795 // Size: 55 -br_uint_32 BrMaterialFindMany(char *pattern, br_material **items, int max, short __unk3__) { +br_uint_32 BrMaterialFindMany(char *pattern, br_material **items, int max) { } // Offset: 1866 @@ -104,7 +99,7 @@ br_uint_32 BrMaterialCount(char *pattern) { // Offset: 1930 // Size: 55 -br_uint_32 BrMaterialEnum(char *pattern, br_material_enum_cbfn *callback, void *arg, short __unk3__) { +br_uint_32 BrMaterialEnum(char *pattern, br_material_enum_cbfn *callback, void *arg) { } // Offset: 1994 @@ -125,28 +120,26 @@ br_pixelmap* BrMapFind(char *pattern) { // Offset: 2268 // Size: 86 br_map_find_cbfn* BrMapFindHook(br_map_find_cbfn *hook) { - br_map_find_cbfn *old; + br_map_find_cbfn *old; } // Offset: 2367 // Size: 164 -br_uint_32 BrMapAddMany(br_pixelmap **items) { - int n; - int i; - int r; +br_uint_32 BrMapAddMany(br_pixelmap **items, int n) { + int i; + int r; } // Offset: 2547 // Size: 164 -br_uint_32 BrMapRemoveMany(br_pixelmap **items) { - int n; - int i; - int r; +br_uint_32 BrMapRemoveMany(br_pixelmap **items, int n) { + int i; + int r; } // Offset: 2725 // Size: 55 -br_uint_32 BrMapFindMany(char *pattern, br_pixelmap **items, int max, short __unk3__) { +br_uint_32 BrMapFindMany(char *pattern, br_pixelmap **items, int max) { } // Offset: 2791 @@ -156,7 +149,7 @@ br_uint_32 BrMapCount(char *pattern) { // Offset: 2850 // Size: 55 -br_uint_32 BrMapEnum(char *pattern, br_map_enum_cbfn *callback, void *arg, float __unk3__) { +br_uint_32 BrMapEnum(char *pattern, br_map_enum_cbfn *callback, void *arg) { } // Offset: 2916 @@ -177,28 +170,26 @@ br_pixelmap* BrTableFind(char *pattern) { // Offset: 3196 // Size: 86 br_table_find_cbfn* BrTableFindHook(br_table_find_cbfn *hook) { - br_table_find_cbfn *old; + br_table_find_cbfn *old; } // Offset: 3297 // Size: 164 -br_uint_32 BrTableAddMany(br_pixelmap **items) { - int n; - int i; - int r; +br_uint_32 BrTableAddMany(br_pixelmap **items, int n) { + int i; + int r; } // Offset: 3479 // Size: 164 -br_uint_32 BrTableRemoveMany(br_pixelmap **items) { - int n; - int i; - int r; +br_uint_32 BrTableRemoveMany(br_pixelmap **items, int n) { + int i; + int r; } // Offset: 3659 // Size: 55 -br_uint_32 BrTableFindMany(char *pattern, br_pixelmap **items, int max, short __unk3__) { +br_uint_32 BrTableFindMany(char *pattern, br_pixelmap **items, int max) { } // Offset: 3727 @@ -208,6 +199,6 @@ br_uint_32 BrTableCount(char *pattern) { // Offset: 3788 // Size: 55 -br_uint_32 BrTableEnum(char *pattern, br_table_enum_cbfn *callback, void *arg, union __unk3__) { +br_uint_32 BrTableEnum(char *pattern, br_table_enum_cbfn *callback, void *arg) { } diff --git a/src/BRSRC13/CORE/V1DB/regsupt.h b/src/BRSRC13/CORE/V1DB/regsupt.h index 6cb57467..e37327a7 100644 --- a/src/BRSRC13/CORE/V1DB/regsupt.h +++ b/src/BRSRC13/CORE/V1DB/regsupt.h @@ -1,5 +1,9 @@ +#ifndef _REGSUPT_H_ +#define _REGSUPT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 11 // Size: 148 br_model* BrModelAdd(br_model *model); @@ -18,15 +22,15 @@ br_model_find_cbfn* BrModelFindHook(br_model_find_cbfn *hook); // Offset: 433 // Size: 158 -br_uint_32 BrModelAddMany(br_model **items); +br_uint_32 BrModelAddMany(br_model **items, int n); // Offset: 609 // Size: 158 -br_uint_32 BrModelRemoveMany(br_model **items); +br_uint_32 BrModelRemoveMany(br_model **items, int n); // Offset: 783 // Size: 55 -br_uint_32 BrModelFindMany(char *pattern, br_model **items, int max, signed char __unk3__); +br_uint_32 BrModelFindMany(char *pattern, br_model **items, int max); // Offset: 851 // Size: 49 @@ -34,7 +38,7 @@ br_uint_32 BrModelCount(char *pattern); // Offset: 912 // Size: 55 -br_uint_32 BrModelEnum(char *pattern, br_model_enum_cbfn *callback, void *arg, short __unk3__); +br_uint_32 BrModelEnum(char *pattern, br_model_enum_cbfn *callback, void *arg); // Offset: 981 // Size: 185 @@ -54,15 +58,15 @@ br_material_find_cbfn* BrMaterialFindHook(br_material_find_cbfn *hook); // Offset: 1427 // Size: 164 -br_uint_32 BrMaterialAddMany(br_material **items); +br_uint_32 BrMaterialAddMany(br_material **items, int n); // Offset: 1612 // Size: 164 -br_uint_32 BrMaterialRemoveMany(br_material **items); +br_uint_32 BrMaterialRemoveMany(br_material **items, int n); // Offset: 1795 // Size: 55 -br_uint_32 BrMaterialFindMany(char *pattern, br_material **items, int max, short __unk3__); +br_uint_32 BrMaterialFindMany(char *pattern, br_material **items, int max); // Offset: 1866 // Size: 49 @@ -70,7 +74,7 @@ br_uint_32 BrMaterialCount(char *pattern); // Offset: 1930 // Size: 55 -br_uint_32 BrMaterialEnum(char *pattern, br_material_enum_cbfn *callback, void *arg, short __unk3__); +br_uint_32 BrMaterialEnum(char *pattern, br_material_enum_cbfn *callback, void *arg); // Offset: 1994 // Size: 101 @@ -90,15 +94,15 @@ br_map_find_cbfn* BrMapFindHook(br_map_find_cbfn *hook); // Offset: 2367 // Size: 164 -br_uint_32 BrMapAddMany(br_pixelmap **items); +br_uint_32 BrMapAddMany(br_pixelmap **items, int n); // Offset: 2547 // Size: 164 -br_uint_32 BrMapRemoveMany(br_pixelmap **items); +br_uint_32 BrMapRemoveMany(br_pixelmap **items, int n); // Offset: 2725 // Size: 55 -br_uint_32 BrMapFindMany(char *pattern, br_pixelmap **items, int max, short __unk3__); +br_uint_32 BrMapFindMany(char *pattern, br_pixelmap **items, int max); // Offset: 2791 // Size: 49 @@ -106,7 +110,7 @@ br_uint_32 BrMapCount(char *pattern); // Offset: 2850 // Size: 55 -br_uint_32 BrMapEnum(char *pattern, br_map_enum_cbfn *callback, void *arg, float __unk3__); +br_uint_32 BrMapEnum(char *pattern, br_map_enum_cbfn *callback, void *arg); // Offset: 2916 // Size: 101 @@ -126,15 +130,15 @@ br_table_find_cbfn* BrTableFindHook(br_table_find_cbfn *hook); // Offset: 3297 // Size: 164 -br_uint_32 BrTableAddMany(br_pixelmap **items); +br_uint_32 BrTableAddMany(br_pixelmap **items, int n); // Offset: 3479 // Size: 164 -br_uint_32 BrTableRemoveMany(br_pixelmap **items); +br_uint_32 BrTableRemoveMany(br_pixelmap **items, int n); // Offset: 3659 // Size: 55 -br_uint_32 BrTableFindMany(char *pattern, br_pixelmap **items, int max, short __unk3__); +br_uint_32 BrTableFindMany(char *pattern, br_pixelmap **items, int max); // Offset: 3727 // Size: 49 @@ -142,5 +146,6 @@ br_uint_32 BrTableCount(char *pattern); // Offset: 3788 // Size: 55 -br_uint_32 BrTableEnum(char *pattern, br_table_enum_cbfn *callback, void *arg, union __unk3__); +br_uint_32 BrTableEnum(char *pattern, br_table_enum_cbfn *callback, void *arg); +#endif diff --git a/src/BRSRC13/CORE/V1DB/render.c b/src/BRSRC13/CORE/V1DB/render.c index 27ec2e21..e6e14d1a 100644 --- a/src/BRSRC13/CORE/V1DB/render.c +++ b/src/BRSRC13/CORE/V1DB/render.c @@ -1,30 +1,26 @@ #include "render.h" -// Global variables char rscid[55]; // Offset: 16 // Size: 1005 -void BrDbModelRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style) { - int on_screen; - int use_custom; - br_int_32 count; - br_token_value tv[5]; +void BrDbModelRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen, int use_custom) { + br_int_32 count; + br_token_value tv[5]; } // Offset: 1037 // Size: 100 br_uint_32 BrOnScreenCheck(br_bounds3 *bounds) { - br_token r; + br_token r; } // Offset: 1159 // Size: 261 // EAX: ap // EDX: t -br_uint_16 prependActorTransform(br_actor *ap) { - br_uint_16 t; - br_matrix34 mt; +br_uint_16 prependActorTransform(br_actor *ap, br_uint_16 t) { + br_matrix34 mt; } // Offset: 1434 @@ -32,9 +28,8 @@ br_uint_16 prependActorTransform(br_actor *ap) { // EAX: mat // EDX: mat_t // EBX: t -br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t) { - br_uint_16 t; - br_matrix34 mt; +br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t, br_uint_16 t) { + br_matrix34 mt; } // Offset: 1642 @@ -43,14 +38,12 @@ br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t) { // EDX: model // EBX: material // ECX: render_data -void actorRender(br_actor *ap, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - br_uint_16 t; - br_material *this_material; - br_model *this_model; - void *this_render_data; - br_actor *a; - br_token s; +void actorRender(br_actor *ap, br_model *model, br_material *material, void *render_data, br_uint_8 style, br_uint_16 t) { + br_material *this_material; + br_model *this_model; + void *this_render_data; + br_actor *a; + br_token s; } // Offset: 2671 @@ -59,54 +52,52 @@ void actorRender(br_actor *ap, br_model *model, br_material *material, void *ren // EDX: model // EBX: material // ECX: render_data -void actorRenderOnScreen(br_actor *ap, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - br_uint_16 t; - br_material *this_material; - br_model *this_model; - void *this_render_data; - br_actor *a; +void actorRenderOnScreen(br_actor *ap, br_model *model, br_material *material, void *render_data, br_uint_8 style, br_uint_16 t) { + br_material *this_material; + br_model *this_model; + void *this_render_data; + br_actor *a; } // Offset: 3210 // Size: 198 // EAX: world void sceneRenderWorld(br_actor *world) { - br_model *model; - br_material *material; - void *render_data; - br_uint_8 style; - br_actor *a; + br_model *model; + br_material *material; + void *render_data; + br_uint_8 style; + br_actor *a; } // Offset: 3423 // Size: 522 // EAX: tree void sceneRenderAdd(br_actor *tree) { - br_material *material; - br_model *model; - void *render_data; - br_uint_8 style; - br_actor *a; - br_int_32 t; - br_matrix34 m; + br_material *material; + br_model *model; + void *render_data; + br_uint_8 style; + br_actor *a; + br_int_32 t; + br_matrix34 m; } // Offset: 3966 // Size: 800 void BrDbSceneRenderBegin(br_actor *world, br_actor *camera) { - br_matrix34 tfm; - br_matrix4 vtos; - br_actor *a; - int i; - br_token vtos_type; - br_uint_32 dummy; + br_matrix34 tfm; + br_matrix4 vtos; + br_actor *a; + int i; + br_token vtos_type; + br_uint_32 dummy; } // Offset: 4794 // Size: 160 br_renderbounds_cbfn* BrDbSetRenderBoundsCallback(br_renderbounds_cbfn *new_cbfn) { - br_renderbounds_cbfn *old_cbfn; + br_renderbounds_cbfn *old_cbfn; } // Offset: 4964 @@ -139,13 +130,13 @@ void BrZbSceneRenderEnd() { // Offset: 6232 // Size: 234 void BrZbSceneRender(br_actor *world, br_actor *camera, br_pixelmap *colour_buffer, br_pixelmap *depth_buffer) { - br_actor *a; + br_actor *a; } // Offset: 6487 // Size: 507 void BrZsSceneRenderBegin(br_actor *world, br_actor *camera, br_pixelmap *colour_buffer) { - br_camera *camera_data; + br_camera *camera_data; } // Offset: 7013 @@ -161,27 +152,23 @@ void BrZsSceneRenderEnd() { // Offset: 7340 // Size: 199 void BrZsSceneRender(br_actor *world, br_actor *camera, br_pixelmap *colour_buffer) { - br_actor *a; + br_actor *a; } // Offset: 7564 // Size: 55 br_primitive_cbfn* BrZsPrimitiveCallbackSet(br_primitive_cbfn *new_cbfn) { - br_primitive_cbfn *old_cbfn; + br_primitive_cbfn *old_cbfn; } // Offset: 7635 // Size: 159 -void BrZbModelRender(br_actor *actor, br_model *model, br_material *material, br_uint_8 style) { - int on_screen; - int use_custom; +void BrZbModelRender(br_actor *actor, br_model *model, br_material *material, br_uint_8 style, int on_screen, int use_custom) { } // Offset: 7810 // Size: 192 -void BrZsModelRender(br_actor *actor, br_model *model, br_material *material, br_order_table *order_table, br_uint_8 style) { - int on_screen; - int use_custom; +void BrZsModelRender(br_actor *actor, br_model *model, br_material *material, br_order_table *order_table, br_uint_8 style, int on_screen, int use_custom) { } // Offset: 8030 diff --git a/src/BRSRC13/CORE/V1DB/render.h b/src/BRSRC13/CORE/V1DB/render.h index 4f07badc..b032b8fa 100644 --- a/src/BRSRC13/CORE/V1DB/render.h +++ b/src/BRSRC13/CORE/V1DB/render.h @@ -1,8 +1,12 @@ +#ifndef _RENDER_H_ +#define _RENDER_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 16 // Size: 1005 -void BrDbModelRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style); +void BrDbModelRender(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen, int use_custom); // Offset: 1037 // Size: 100 @@ -12,14 +16,14 @@ br_uint_32 BrOnScreenCheck(br_bounds3 *bounds); // Size: 261 // EAX: ap // EDX: t -br_uint_16 prependActorTransform(br_actor *ap); +br_uint_16 prependActorTransform(br_actor *ap, br_uint_16 t); // Offset: 1434 // Size: 196 // EAX: mat // EDX: mat_t // EBX: t -br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t); +br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t, br_uint_16 t); // Offset: 1642 // Size: 1009 @@ -27,7 +31,7 @@ br_uint_16 prependMatrix(br_matrix34 *mat, br_uint_16 mat_t); // EDX: model // EBX: material // ECX: render_data -void actorRender(br_actor *ap, br_model *model, br_material *material, void *render_data); +void actorRender(br_actor *ap, br_model *model, br_material *material, void *render_data, br_uint_8 style, br_uint_16 t); // Offset: 2671 // Size: 522 @@ -35,7 +39,7 @@ void actorRender(br_actor *ap, br_model *model, br_material *material, void *ren // EDX: model // EBX: material // ECX: render_data -void actorRenderOnScreen(br_actor *ap, br_model *model, br_material *material, void *render_data); +void actorRenderOnScreen(br_actor *ap, br_model *model, br_material *material, void *render_data, br_uint_8 style, br_uint_16 t); // Offset: 3210 // Size: 198 @@ -103,11 +107,11 @@ br_primitive_cbfn* BrZsPrimitiveCallbackSet(br_primitive_cbfn *new_cbfn); // Offset: 7635 // Size: 159 -void BrZbModelRender(br_actor *actor, br_model *model, br_material *material, br_uint_8 style); +void BrZbModelRender(br_actor *actor, br_model *model, br_material *material, br_uint_8 style, int on_screen, int use_custom); // Offset: 7810 // Size: 192 -void BrZsModelRender(br_actor *actor, br_model *model, br_material *material, br_order_table *order_table, br_uint_8 style); +void BrZsModelRender(br_actor *actor, br_model *model, br_material *material, br_order_table *order_table, br_uint_8 style, int on_screen, int use_custom); // Offset: 8030 // Size: 111 @@ -117,3 +121,4 @@ br_renderbounds_cbfn* BrZbRenderBoundsCallbackSet(br_renderbounds_cbfn *new_cbfn // Size: 111 br_renderbounds_cbfn* BrZsRenderBoundsCallbackSet(br_renderbounds_cbfn *new_cbfn); +#endif diff --git a/src/BRSRC13/CORE/V1DB/v1dbfile.c b/src/BRSRC13/CORE/V1DB/v1dbfile.c index 78b97c61..ecc1a572 100644 --- a/src/BRSRC13/CORE/V1DB/v1dbfile.c +++ b/src/BRSRC13/CORE/V1DB/v1dbfile.c @@ -1,6 +1,5 @@ #include "v1dbfile.h" -// Global variables br_chunks_table_entry MaterialLoadEntries[8]; br_chunks_table MaterialLoadTable; br_chunks_table ActorLoadTable; @@ -61,10 +60,10 @@ br_file_struct_member br_vertex_FM[3]; br_chunks_table_entry ActorLoadEntries[21]; br_chunks_table_entry ModelLoadEntries[15]; struct { - br_uint_32 id; - size_t offset; - int table; - } MaterialMaps; + br_uint_32 id; + size_t offset; + int table; + }; char rscid[53]; // Offset: 18 @@ -72,8 +71,7 @@ char rscid[53]; // EAX: df // EDX: vertices // EBX: nvertices -int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices) { - int nvertices; +int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices, int nvertices) { } // Offset: 174 @@ -82,10 +80,8 @@ int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices) { // EDX: id // EBX: length // ECX: count -int FopRead_VERTICES(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; +int FopRead_VERTICES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; } // Offset: 321 @@ -94,10 +90,8 @@ int FopRead_VERTICES(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_VERTICES(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - void *ptr; +int FopRead_OLD_VERTICES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + void *ptr; } // Offset: 484 @@ -105,8 +99,7 @@ int FopRead_OLD_VERTICES(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: vertices // EBX: nvertices -int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices) { - int nvertices; +int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices, int nvertices) { } // Offset: 641 @@ -115,10 +108,8 @@ int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices) { // EDX: id // EBX: length // ECX: count -int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; +int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; } // Offset: 783 @@ -127,10 +118,8 @@ int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - void *ptr; +int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + void *ptr; } // Offset: 950 @@ -139,12 +128,10 @@ int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL_INDEX(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - char name[256]; - br_material **mip; - br_uint_32 i; +int FopRead_MATERIAL_INDEX(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + char name[256]; + br_material **mip; + br_uint_32 i; } // Offset: 1151 @@ -152,10 +139,9 @@ int FopRead_MATERIAL_INDEX(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: materials // EBX: nmaterials -int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials) { - int nmaterials; - int i; - int s; +int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials, int nmaterials) { + int i; + int s; } // Offset: 1386 @@ -164,14 +150,12 @@ int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - char *mblock; - char *cp; - int i; - int num_materials; - br_material **mip; +int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + char *mblock; + char *cp; + int i; + int num_materials; + br_material **mip; } // Offset: 1689 @@ -180,11 +164,9 @@ int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_FACES(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; - int i; +int FopRead_FACES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; + int i; } // Offset: 1911 @@ -192,8 +174,7 @@ int FopRead_FACES(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: faces // EBX: nfaces -int FopWrite_FACES(br_datafile *df, br_face *faces) { - int nfaces; +int FopWrite_FACES(br_datafile *df, br_face *faces, int nfaces) { } // Offset: 2070 @@ -202,11 +183,9 @@ int FopWrite_FACES(br_datafile *df, br_face *faces) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; - int i; +int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; + int i; } // Offset: 2359 @@ -215,14 +194,12 @@ int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_face *fp; - br_material **mip; - int mi_count; - unsigned int i; - void *ptr; +int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_face *fp; + br_material **mip; + int mi_count; + unsigned int i; + void *ptr; } // Offset: 2674 @@ -231,13 +208,12 @@ int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id) { // EDX: faces // EBX: nfaces // ECX: mindex -int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_material **mindex) { - int nmaterials; - br_uint_16 *block; - br_uint_16 *ip; - br_face *fp; - int i; - int j; +int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_material **mindex, int nmaterials) { + br_uint_16 *block; + br_uint_16 *ip; + br_face *fp; + int i; + int j; } // Offset: 2989 @@ -246,17 +222,15 @@ int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_mater // EDX: id // EBX: length // ECX: count -int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_material **mindex; - int nmaterials; - br_model *mp; - br_face *fp; - br_uint_16 *block; - br_uint_16 *ip; - int block_count; - int i; +int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_material **mindex; + int nmaterials; + br_model *mp; + br_face *fp; + br_uint_16 *block; + br_uint_16 *ip; + int block_count; + int i; } // Offset: 3306 @@ -265,10 +239,8 @@ int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_MODEL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; +int FopRead_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; } // Offset: 3453 @@ -276,7 +248,7 @@ int FopRead_MODEL(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: mp int FopWrite_MODEL(br_datafile *df, br_model *mp) { - br_model temp_model; + br_model temp_model; } // Offset: 3598 @@ -285,10 +257,8 @@ int FopWrite_MODEL(br_datafile *df, br_model *mp) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; +int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; } // Offset: 3740 @@ -297,11 +267,9 @@ int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; - int i; +int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; + int i; } // Offset: 3984 @@ -310,10 +278,8 @@ int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_PIVOT(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_model *mp; +int FopRead_PIVOT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_model *mp; } // Offset: 4127 @@ -322,10 +288,8 @@ int FopRead_PIVOT(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_material *mp; +int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_material *mp; } // Offset: 4264 @@ -334,10 +298,8 @@ int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id) { // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_material *mp; +int FopRead_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_material *mp; } // Offset: 4402 @@ -353,13 +315,11 @@ int FopWrite_MATERIAL(br_datafile *df, br_material *mp) { // EDX: id // EBX: length // ECX: count -int FopRead_PIXELMAP_REF(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_pixelmap *pm; - char name[256]; - char *mp; - int i; +int FopRead_PIXELMAP_REF(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_pixelmap *pm; + char name[256]; + char *mp; + int i; } // Offset: 4781 @@ -367,8 +327,7 @@ int FopRead_PIXELMAP_REF(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: id // EBX: pixelmap -int FopWrite_PIXELMAP_REF(br_datafile *df, int id) { - br_pixelmap *pixelmap; +int FopWrite_PIXELMAP_REF(br_datafile *df, int id, br_pixelmap *pixelmap) { } // Offset: 4940 @@ -384,10 +343,8 @@ int FopWrite_ACTOR(br_datafile *df, br_actor *ap) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *ap; +int FopRead_ACTOR(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *ap; } // Offset: 5216 @@ -403,11 +360,9 @@ int FopWrite_ACTOR_MODEL(br_datafile *df, br_model *model) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_MODEL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - char name[256]; - br_actor *a; +int FopRead_ACTOR_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + char name[256]; + br_actor *a; } // Offset: 5505 @@ -423,11 +378,9 @@ int FopWrite_ACTOR_MATERIAL(br_datafile *df, br_material *material) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_MATERIAL(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - char name[256]; - br_actor *a; +int FopRead_ACTOR_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + char name[256]; + br_actor *a; } // Offset: 5798 @@ -442,11 +395,9 @@ int FopWrite_ACTOR_TRANSFORM(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_TRANSFORM(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_transform *tp; +int FopRead_ACTOR_TRANSFORM(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_transform *tp; } // Offset: 6017 @@ -461,11 +412,9 @@ int FopWrite_ACTOR_LIGHT(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_LIGHT(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_light *lp; +int FopRead_ACTOR_LIGHT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_light *lp; } // Offset: 6214 @@ -480,11 +429,9 @@ int FopWrite_ACTOR_CAMERA(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_CAMERA(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_light *cp; +int FopRead_ACTOR_CAMERA(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_light *cp; } // Offset: 6412 @@ -499,11 +446,9 @@ int FopWrite_ACTOR_BOUNDS(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_BOUNDS(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_bounds *bp; +int FopRead_ACTOR_BOUNDS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_bounds *bp; } // Offset: 6614 @@ -518,11 +463,9 @@ int FopWrite_ACTOR_CLIP_PLANE(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_CLIP_PLANE(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_vector4 *vp; +int FopRead_ACTOR_CLIP_PLANE(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_vector4 *vp; } // Offset: 6819 @@ -537,11 +480,9 @@ int FopWrite_ACTOR_ADD_CHILD(br_datafile *df) { // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_ADD_CHILD(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_actor *a; - br_actor *p; +int FopRead_ACTOR_ADD_CHILD(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_actor *a; + br_actor *p; } // Offset: 7024 @@ -549,7 +490,7 @@ int FopRead_ACTOR_ADD_CHILD(br_datafile *df, br_uint_32 id) { // EAX: df // EDX: t int FopWrite_TRANSFORM(br_datafile *df, br_transform *t) { - transform_type *tt; + transform_type *tt; } // Offset: 7239 @@ -558,11 +499,9 @@ int FopWrite_TRANSFORM(br_datafile *df, br_transform *t) { // EDX: id // EBX: length // ECX: count -int FopRead_TRANSFORM(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - int t; - br_transform *tp; +int FopRead_TRANSFORM(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + int t; + br_transform *tp; } // Offset: 7489 @@ -578,10 +517,8 @@ int FopWrite_BOUNDS(br_datafile *df, br_bounds *bp) { // EDX: id // EBX: length // ECX: count -int FopRead_BOUNDS(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_bounds3 *bp; +int FopRead_BOUNDS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_bounds3 *bp; } // Offset: 7760 @@ -597,10 +534,8 @@ int FopWrite_PLANE(br_datafile *df, br_vector4 *pp) { // EDX: id // EBX: length // ECX: count -int FopRead_PLANE(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_vector4 *pp; +int FopRead_PLANE(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_vector4 *pp; } // Offset: 8030 @@ -616,10 +551,8 @@ int FopWrite_LIGHT(br_datafile *df, br_light *lp) { // EDX: id // EBX: length // ECX: count -int FopRead_LIGHT(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_light *lp; +int FopRead_LIGHT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_light *lp; } // Offset: 8301 @@ -635,17 +568,16 @@ int FopWrite_CAMERA(br_datafile *df, br_camera *cp) { // EDX: id // EBX: length // ECX: count -int FopRead_CAMERA(br_datafile *df, br_uint_32 id) { - br_uint_32 length; - br_uint_32 count; - br_camera *cp; +int FopRead_CAMERA(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count) { + br_camera *cp; } // Offset: 8573 // Size: 162 -br_uint_32 BrModelLoadMany(char *filename, br_model **models, br_uint_16 num, unsigned short count) { - int r; - br_datafile *df; +br_uint_32 BrModelLoadMany(char *filename, br_model **models, br_uint_16 num) { + int count; + int r; + br_datafile *df; } // Offset: 8746 @@ -656,25 +588,27 @@ int PtrCompare(void *a, void *b) { // Offset: 8839 // Size: 720 br_uint_32 WriteModel(br_model *mp, br_datafile *df) { - br_material **mindex; - br_vertex *vp; - int nmaterials; - int i; - int has_uv; + br_material **mindex; + br_vertex *vp; + int nmaterials; + int i; + int has_uv; } // Offset: 9575 // Size: 209 -br_uint_32 BrModelSaveMany(char *filename, br_model **models, br_uint_16 num, unsigned short df) { - int i; - int m; +br_uint_32 BrModelSaveMany(char *filename, br_model **models, br_uint_16 num) { + br_datafile *df; + int i; + int m; } // Offset: 9800 // Size: 162 -br_uint_32 BrActorLoadMany(char *filename, br_actor **actors, br_uint_16 num, unsigned short df) { - int count; - int r; +br_uint_32 BrActorLoadMany(char *filename, br_actor **actors, br_uint_16 num) { + br_datafile *df; + int count; + int r; } // Offset: 9973 @@ -682,21 +616,23 @@ br_uint_32 BrActorLoadMany(char *filename, br_actor **actors, br_uint_16 num, un // EAX: a // EDX: df int WriteActor(br_actor *a, br_datafile *df) { - br_actor *ap; - br_actor *last_ap; + br_actor *ap; + br_actor *last_ap; } // Offset: 10389 // Size: 156 -br_uint_32 BrActorSaveMany(char *filename, br_actor **actors, br_uint_16 num, unsigned short df) { - int i; +br_uint_32 BrActorSaveMany(char *filename, br_actor **actors, br_uint_16 num) { + br_datafile *df; + int i; } // Offset: 10564 // Size: 162 -br_uint_32 BrMaterialLoadMany(char *filename, br_material **materials, br_uint_16 num, unsigned short df) { - int count; - int r; +br_uint_32 BrMaterialLoadMany(char *filename, br_material **materials, br_uint_16 num) { + br_datafile *df; + int count; + int r; } // Offset: 10740 @@ -706,59 +642,60 @@ br_uint_32 WriteMaterial(br_material *mp, br_datafile *df) { // Offset: 10958 // Size: 202 -br_uint_32 BrMaterialSaveMany(char *filename, br_material **materials, br_uint_16 num, unsigned short df) { - int i; - int count; +br_uint_32 BrMaterialSaveMany(char *filename, br_material **materials, br_uint_16 num) { + br_datafile *df; + int i; + int count; } // Offset: 11172 // Size: 81 br_model* BrModelLoad(char *filename) { - br_model *ptr; + br_model *ptr; } // Offset: 11265 // Size: 58 -br_uint_32 BrModelSave(char *filename, br_model *ptr, unsigned char __unk2__) { +br_uint_32 BrModelSave(char *filename, br_model *ptr) { } // Offset: 11338 // Size: 81 br_material* BrMaterialLoad(char *filename) { - br_material *ptr; + br_material *ptr; } // Offset: 11434 // Size: 58 -br_uint_32 BrMaterialSave(char *filename, br_material *ptr, unsigned char __unk2__) { +br_uint_32 BrMaterialSave(char *filename, br_material *ptr) { } // Offset: 11504 // Size: 81 br_actor* BrActorLoad(char *filename) { - br_actor *ptr; + br_actor *ptr; } // Offset: 11597 // Size: 58 -br_uint_32 BrActorSave(char *filename, br_actor *ptr, enum __unk2__) { +br_uint_32 BrActorSave(char *filename, br_actor *ptr) { } // Offset: 11672 // Size: 174 br_error BrModelFileCount(char *filename, br_uint_16 *num) { - br_datafile *df; + br_datafile *df; } // Offset: 11863 // Size: 174 br_error BrActorFileCount(char *filename, br_uint_16 *num) { - br_datafile *df; + br_datafile *df; } // Offset: 12057 // Size: 174 br_error BrMaterialFileCount(char *filename, br_uint_16 *num) { - br_datafile *df; + br_datafile *df; } diff --git a/src/BRSRC13/CORE/V1DB/v1dbfile.h b/src/BRSRC13/CORE/V1DB/v1dbfile.h index cd7481c8..7ead426d 100644 --- a/src/BRSRC13/CORE/V1DB/v1dbfile.h +++ b/src/BRSRC13/CORE/V1DB/v1dbfile.h @@ -1,11 +1,15 @@ +#ifndef _V1DBFILE_H_ +#define _V1DBFILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 18 // Size: 139 // EAX: df // EDX: vertices // EBX: nvertices -int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices); +int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices, int nvertices); // Offset: 174 // Size: 126 @@ -13,7 +17,7 @@ int FopWrite_VERTICES(br_datafile *df, br_vertex *vertices); // EDX: id // EBX: length // ECX: count -int FopRead_VERTICES(br_datafile *df, br_uint_32 id); +int FopRead_VERTICES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 321 // Size: 144 @@ -21,14 +25,14 @@ int FopRead_VERTICES(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_VERTICES(br_datafile *df, br_uint_32 id); +int FopRead_OLD_VERTICES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 484 // Size: 139 // EAX: df // EDX: vertices // EBX: nvertices -int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices); +int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices, int nvertices); // Offset: 641 // Size: 118 @@ -36,7 +40,7 @@ int FopWrite_VERTEX_UV(br_datafile *df, br_vertex *vertices); // EDX: id // EBX: length // ECX: count -int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id); +int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 783 // Size: 144 @@ -44,7 +48,7 @@ int FopRead_VERTEX_UV(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id); +int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 950 // Size: 177 @@ -52,14 +56,14 @@ int FopRead_OLD_VERTICES_UV(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL_INDEX(br_datafile *df, br_uint_32 id); +int FopRead_MATERIAL_INDEX(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 1151 // Size: 208 // EAX: df // EDX: materials // EBX: nmaterials -int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials); +int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials, int nmaterials); // Offset: 1386 // Size: 289 @@ -67,7 +71,7 @@ int FopWrite_MATERIAL_INDEX(br_datafile *df, br_material **materials); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id); +int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 1689 // Size: 207 @@ -75,14 +79,14 @@ int FopRead_OLD_MATERIAL_INDEX(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_FACES(br_datafile *df, br_uint_32 id); +int FopRead_FACES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 1911 // Size: 139 // EAX: df // EDX: faces // EBX: nfaces -int FopWrite_FACES(br_datafile *df, br_face *faces); +int FopWrite_FACES(br_datafile *df, br_face *faces, int nfaces); // Offset: 2070 // Size: 271 @@ -90,7 +94,7 @@ int FopWrite_FACES(br_datafile *df, br_face *faces); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id); +int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 2359 // Size: 292 @@ -98,7 +102,7 @@ int FopRead_OLD_FACES_1(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id); +int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 2674 // Size: 293 @@ -106,7 +110,7 @@ int FopRead_OLD_FACES(br_datafile *df, br_uint_32 id); // EDX: faces // EBX: nfaces // ECX: mindex -int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_material **mindex); +int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_material **mindex, int nmaterials); // Offset: 2989 // Size: 303 @@ -114,7 +118,7 @@ int FopWrite_FACE_MATERIAL(br_datafile *df, br_face *faces, int nfaces, br_mater // EDX: id // EBX: length // ECX: count -int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id); +int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 3306 // Size: 132 @@ -122,7 +126,7 @@ int FopRead_FACE_MATERIAL(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_MODEL(br_datafile *df, br_uint_32 id); +int FopRead_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 3453 // Size: 125 @@ -136,7 +140,7 @@ int FopWrite_MODEL(br_datafile *df, br_model *mp); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id); +int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 3740 // Size: 230 @@ -144,7 +148,7 @@ int FopRead_OLD_MODEL_1(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id); +int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 3984 // Size: 122 @@ -152,7 +156,7 @@ int FopRead_OLD_MODEL(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_PIVOT(br_datafile *df, br_uint_32 id); +int FopRead_PIVOT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 4127 // Size: 120 @@ -160,7 +164,7 @@ int FopRead_PIVOT(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id); +int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 4264 // Size: 120 @@ -168,7 +172,7 @@ int FopRead_MATERIAL_OLD(br_datafile *df, br_uint_32 id); // EDX: id // EBX: length // ECX: count -int FopRead_MATERIAL(br_datafile *df, br_uint_32 id); +int FopRead_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 4402 // Size: 109 @@ -182,14 +186,14 @@ int FopWrite_MATERIAL(br_datafile *df, br_material *mp); // EDX: id // EBX: length // ECX: count -int FopRead_PIXELMAP_REF(br_datafile *df, br_uint_32 id); +int FopRead_PIXELMAP_REF(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 4781 // Size: 144 // EAX: df // EDX: id // EBX: pixelmap -int FopWrite_PIXELMAP_REF(br_datafile *df, int id); +int FopWrite_PIXELMAP_REF(br_datafile *df, int id, br_pixelmap *pixelmap); // Offset: 4940 // Size: 109 @@ -203,7 +207,7 @@ int FopWrite_ACTOR(br_datafile *df, br_actor *ap); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 5216 // Size: 145 @@ -217,7 +221,7 @@ int FopWrite_ACTOR_MODEL(br_datafile *df, br_model *model); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_MODEL(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_MODEL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 5505 // Size: 145 @@ -231,7 +235,7 @@ int FopWrite_ACTOR_MATERIAL(br_datafile *df, br_material *material); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_MATERIAL(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_MATERIAL(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 5798 // Size: 66 @@ -244,7 +248,7 @@ int FopWrite_ACTOR_TRANSFORM(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_TRANSFORM(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_TRANSFORM(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 6017 // Size: 66 @@ -257,7 +261,7 @@ int FopWrite_ACTOR_LIGHT(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_LIGHT(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_LIGHT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 6214 // Size: 66 @@ -270,7 +274,7 @@ int FopWrite_ACTOR_CAMERA(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_CAMERA(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_CAMERA(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 6412 // Size: 66 @@ -283,7 +287,7 @@ int FopWrite_ACTOR_BOUNDS(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_BOUNDS(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_BOUNDS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 6614 // Size: 66 @@ -296,7 +300,7 @@ int FopWrite_ACTOR_CLIP_PLANE(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_CLIP_PLANE(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_CLIP_PLANE(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 6819 // Size: 66 @@ -309,7 +313,7 @@ int FopWrite_ACTOR_ADD_CHILD(br_datafile *df); // EDX: id // EBX: length // ECX: count -int FopRead_ACTOR_ADD_CHILD(br_datafile *df, br_uint_32 id); +int FopRead_ACTOR_ADD_CHILD(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 7024 // Size: 197 @@ -323,7 +327,7 @@ int FopWrite_TRANSFORM(br_datafile *df, br_transform *t); // EDX: id // EBX: length // ECX: count -int FopRead_TRANSFORM(br_datafile *df, br_uint_32 id); +int FopRead_TRANSFORM(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 7489 // Size: 109 @@ -337,7 +341,7 @@ int FopWrite_BOUNDS(br_datafile *df, br_bounds *bp); // EDX: id // EBX: length // ECX: count -int FopRead_BOUNDS(br_datafile *df, br_uint_32 id); +int FopRead_BOUNDS(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 7760 // Size: 109 @@ -351,7 +355,7 @@ int FopWrite_PLANE(br_datafile *df, br_vector4 *pp); // EDX: id // EBX: length // ECX: count -int FopRead_PLANE(br_datafile *df, br_uint_32 id); +int FopRead_PLANE(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 8030 // Size: 109 @@ -365,7 +369,7 @@ int FopWrite_LIGHT(br_datafile *df, br_light *lp); // EDX: id // EBX: length // ECX: count -int FopRead_LIGHT(br_datafile *df, br_uint_32 id); +int FopRead_LIGHT(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 8301 // Size: 109 @@ -379,11 +383,11 @@ int FopWrite_CAMERA(br_datafile *df, br_camera *cp); // EDX: id // EBX: length // ECX: count -int FopRead_CAMERA(br_datafile *df, br_uint_32 id); +int FopRead_CAMERA(br_datafile *df, br_uint_32 id, br_uint_32 length, br_uint_32 count); // Offset: 8573 // Size: 162 -br_uint_32 BrModelLoadMany(char *filename, br_model **models, br_uint_16 num, unsigned short count); +br_uint_32 BrModelLoadMany(char *filename, br_model **models, br_uint_16 num); // Offset: 8746 // Size: 82 @@ -395,11 +399,11 @@ br_uint_32 WriteModel(br_model *mp, br_datafile *df); // Offset: 9575 // Size: 209 -br_uint_32 BrModelSaveMany(char *filename, br_model **models, br_uint_16 num, unsigned short df); +br_uint_32 BrModelSaveMany(char *filename, br_model **models, br_uint_16 num); // Offset: 9800 // Size: 162 -br_uint_32 BrActorLoadMany(char *filename, br_actor **actors, br_uint_16 num, unsigned short df); +br_uint_32 BrActorLoadMany(char *filename, br_actor **actors, br_uint_16 num); // Offset: 9973 // Size: 400 @@ -409,11 +413,11 @@ int WriteActor(br_actor *a, br_datafile *df); // Offset: 10389 // Size: 156 -br_uint_32 BrActorSaveMany(char *filename, br_actor **actors, br_uint_16 num, unsigned short df); +br_uint_32 BrActorSaveMany(char *filename, br_actor **actors, br_uint_16 num); // Offset: 10564 // Size: 162 -br_uint_32 BrMaterialLoadMany(char *filename, br_material **materials, br_uint_16 num, unsigned short df); +br_uint_32 BrMaterialLoadMany(char *filename, br_material **materials, br_uint_16 num); // Offset: 10740 // Size: 199 @@ -421,7 +425,7 @@ br_uint_32 WriteMaterial(br_material *mp, br_datafile *df); // Offset: 10958 // Size: 202 -br_uint_32 BrMaterialSaveMany(char *filename, br_material **materials, br_uint_16 num, unsigned short df); +br_uint_32 BrMaterialSaveMany(char *filename, br_material **materials, br_uint_16 num); // Offset: 11172 // Size: 81 @@ -429,7 +433,7 @@ br_model* BrModelLoad(char *filename); // Offset: 11265 // Size: 58 -br_uint_32 BrModelSave(char *filename, br_model *ptr, unsigned char __unk2__); +br_uint_32 BrModelSave(char *filename, br_model *ptr); // Offset: 11338 // Size: 81 @@ -437,7 +441,7 @@ br_material* BrMaterialLoad(char *filename); // Offset: 11434 // Size: 58 -br_uint_32 BrMaterialSave(char *filename, br_material *ptr, unsigned char __unk2__); +br_uint_32 BrMaterialSave(char *filename, br_material *ptr); // Offset: 11504 // Size: 81 @@ -445,7 +449,7 @@ br_actor* BrActorLoad(char *filename); // Offset: 11597 // Size: 58 -br_uint_32 BrActorSave(char *filename, br_actor *ptr, enum __unk2__); +br_uint_32 BrActorSave(char *filename, br_actor *ptr); // Offset: 11672 // Size: 174 @@ -459,3 +463,4 @@ br_error BrActorFileCount(char *filename, br_uint_16 *num); // Size: 174 br_error BrMaterialFileCount(char *filename, br_uint_16 *num); +#endif diff --git a/src/DETHRACE/source/common/brucetrk.c b/src/DETHRACE/source/common/brucetrk.c index 1c725303..b25200c6 100644 --- a/src/DETHRACE/source/common/brucetrk.c +++ b/src/DETHRACE/source/common/brucetrk.c @@ -1,6 +1,5 @@ #include "brucetrk.h" -// Global variables br_actor *gMr_blendy; int gDefault_blend_pc; @@ -9,7 +8,7 @@ int gDefault_blend_pc; // EAX: pTrack_spec // EDX: pDst void AllocateActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pDst) { - tU16 z; + tU16 z; } // Offset: 204 @@ -17,10 +16,9 @@ void AllocateActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pDst) { // EAX: pTrack_spec // EDX: pVictim // EBX: pRemove_act_mod -void DisposeActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pVictim) { - int pRemove_act_mod; - tU16 z; - tU16 x; +void DisposeActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pVictim, int pRemove_act_mod) { + tU16 z; + tU16 x; } // Offset: 576 @@ -34,8 +32,8 @@ void DisposeColumns(tTrack_spec *pTrack_spec) { // EAX: pColumn_x // EDX: pColumn_z void XZToColumnXZ(tU8 *pColumn_x, tU8 *pColumn_z, br_scalar pX, br_scalar pZ, tTrack_spec *pTrack_spec) { - br_scalar x; - br_scalar z; + br_scalar x; + br_scalar z; } // Offset: 944 @@ -43,28 +41,28 @@ void XZToColumnXZ(tU8 *pColumn_x, tU8 *pColumn_z, br_scalar pX, br_scalar pZ, tT // EAX: pActor // EDX: pModel void StripBlendedFaces(br_actor *pActor, br_model *pModel) { - int i; - br_face *face; - int changed_one; - char s[256]; - tU16 nfaces_allocated; + int i; + br_face *face; + int changed_one; + char s[256]; + tU16 nfaces_allocated; } // Offset: 1704 // Size: 745 br_uint_32 FindNonCarsCB(br_actor *pActor, tTrack_spec *pTrack_spec) { - int i; - br_scalar r1; - br_scalar r2; - br_scalar r3; + int i; + br_scalar r1; + br_scalar r2; + br_scalar r3; } // Offset: 2452 // Size: 582 br_uint_32 ProcessModelsCB(br_actor *pActor, tTrack_spec *pTrack_spec) { - unsigned int x; - unsigned int z; - int group; + unsigned int x; + unsigned int z; + int group; } // Offset: 3036 @@ -77,13 +75,13 @@ void ProcessModels(tTrack_spec *pTrack_spec) { // Size: 440 // EAX: pTrack_spec void ExtractColumns(tTrack_spec *pTrack_spec) { - unsigned int x; - unsigned int z; - int ad; - int unsplit; - float e; - br_scalar extra_room; - br_bounds bounds; + unsigned int x; + unsigned int z; + int ad; + int unsplit; + float e; + br_scalar extra_room; + br_bounds bounds; } // Offset: 3540 @@ -96,9 +94,8 @@ void LollipopizeActor4(br_actor *pActor, br_matrix34 *pRef_to_world, br_actor *p // Offset: 3744 // Size: 65 -br_uint_32 LollipopizeChildren(br_actor *pActor) { - void *pArg; - tMatrix_and_actor *maa; +br_uint_32 LollipopizeChildren(br_actor *pActor, void *pArg) { + tMatrix_and_actor *maa; } // Offset: 3812 @@ -107,11 +104,13 @@ br_uint_32 LollipopizeChildren(br_actor *pActor) { // EDX: pTrack_spec // EBX: pMin_x // ECX: pMax_x -void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMax_x, int pMin_z, int pMax_z, br_matrix34 *pCamera_to_world, va_list column_x, br_memory_classes column_z) { - tU8 column_x2; - tU8 column_z2; - tMatrix_and_actor maa; - br_actor *blended_polys; +void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMax_x, int pMin_z, int pMax_z, br_matrix34 *pCamera_to_world) { + tU8 column_x; + tU8 column_z; + tU8 column_x2; + tU8 column_z2; + tMatrix_and_actor maa; + br_actor *blended_polys; } // Offset: 4876 @@ -120,19 +119,18 @@ void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMa // EDX: pTrack_spec // EBX: pCamera // ECX: pCamera_to_world -void RenderTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world) { - int pRender_blends; - tU8 column_x; - tU8 column_z; - tU8 min_x; - tU8 max_x; - tU8 min_z; - tU8 max_z; - br_vector3 edge_before; - br_vector3 edge_after; - br_camera *camera; - br_scalar tan_fov_ish; - br_actor *result; +void RenderTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world, int pRender_blends) { + tU8 column_x; + tU8 column_z; + tU8 min_x; + tU8 max_x; + tU8 min_z; + tU8 max_z; + br_vector3 edge_before; + br_vector3 edge_after; + br_camera *camera; + br_scalar tan_fov_ish; + br_actor *result; } // Offset: 6200 diff --git a/src/DETHRACE/source/common/brucetrk.h b/src/DETHRACE/source/common/brucetrk.h index 8ea3afea..4aa8b497 100644 --- a/src/DETHRACE/source/common/brucetrk.h +++ b/src/DETHRACE/source/common/brucetrk.h @@ -1,5 +1,9 @@ +#ifndef _BRUCETRK_H_ +#define _BRUCETRK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 201 // EAX: pTrack_spec @@ -11,7 +15,7 @@ void AllocateActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pDst); // EAX: pTrack_spec // EDX: pVictim // EBX: pRemove_act_mod -void DisposeActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pVictim); +void DisposeActorMatrix(tTrack_spec *pTrack_spec, br_actor ****pVictim, int pRemove_act_mod); // Offset: 576 // Size: 131 @@ -57,7 +61,7 @@ void LollipopizeActor4(br_actor *pActor, br_matrix34 *pRef_to_world, br_actor *p // Offset: 3744 // Size: 65 -br_uint_32 LollipopizeChildren(br_actor *pActor); +br_uint_32 LollipopizeChildren(br_actor *pActor, void *pArg); // Offset: 3812 // Size: 1062 @@ -65,7 +69,7 @@ br_uint_32 LollipopizeChildren(br_actor *pActor); // EDX: pTrack_spec // EBX: pMin_x // ECX: pMax_x -void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMax_x, int pMin_z, int pMax_z, br_matrix34 *pCamera_to_world, va_list column_x, br_memory_classes column_z); +void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMax_x, int pMin_z, int pMax_z, br_matrix34 *pCamera_to_world); // Offset: 4876 // Size: 1321 @@ -73,7 +77,7 @@ void DrawColumns(int pDraw_blends, tTrack_spec *pTrack_spec, int pMin_x, int pMa // EDX: pTrack_spec // EBX: pCamera // ECX: pCamera_to_world -void RenderTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world); +void RenderTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world, int pRender_blends); // Offset: 6200 // Size: 47 @@ -83,3 +87,4 @@ br_scalar GetYonFactor(); // Size: 44 void SetYonFactor(br_scalar pNew); +#endif diff --git a/src/DETHRACE/source/common/car.c b/src/DETHRACE/source/common/car.c index c77dbfd4..d23bd252 100644 --- a/src/DETHRACE/source/common/car.c +++ b/src/DETHRACE/source/common/car.c @@ -1,4 +1,1981 @@ #include "car.h" -// Global variables +float gEngine_powerup_factor[6]; +tCar_spec *gLast_car_to_skid[2]; +tS3_sound_tag gSkid_tag[2]; +tSave_camera gSave_camera[2]; +tFace_ref gFace_list[150]; +void (*ControlCar[6])(tCar_spec*, br_scalar); +tNon_car_spec *gActive_non_car_list[50]; +float gCar_simplification_factor[2][5]; +float gDefensive_powerup_factor[6]; +float gOffensive_powerup_factor[6]; +int gNet_player_to_view_index; +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; +int gCollision_detection_on; +int gControl; +br_vector3 gGround_normal; +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; + +// Offset: 0 +// Size: 91 +// EAX: pCar +// EDX: pUnit_type +// EBX: pDamage_amount +void DamageUnit(tCar_spec *pCar, int pUnit_type, int pDamage_amount) { + tDamage_unit *the_damage; +} + +// Offset: 92 +// Size: 61 +// EAX: pCar +// EDX: pUnit_type +// EBX: pDamage_amount +void DamageUnitWithSmoke(tCar_spec *pCar, int pUnit_type, int pDamage_amount) { +} + +// Offset: 156 +// Size: 52 +// EAX: pDamage_amount +void DamageEngine(int pDamage_amount) { +} + +// Offset: 208 +// Size: 55 +// EAX: pDamage_amount +void DamageTrans(int pDamage_amount) { +} + +// Offset: 264 +// Size: 55 +// EAX: pDamage_amount +void DamageSteering(int pDamage_amount) { +} + +// Offset: 320 +// Size: 55 +// EAX: pDamage_amount +void DamageLFWheel(int pDamage_amount) { +} + +// Offset: 376 +// Size: 55 +// EAX: pDamage_amount +void DamageLFBrake(int pDamage_amount) { +} + +// Offset: 432 +// Size: 55 +// EAX: pDamage_amount +void DamageLRBrake(int pDamage_amount) { +} + +// Offset: 488 +// Size: 55 +// EAX: pDamage_amount +void DamageLRWheel(int pDamage_amount) { +} + +// Offset: 544 +// Size: 55 +// EAX: pDamage_amount +void DamageRFWheel(int pDamage_amount) { +} + +// Offset: 600 +// Size: 55 +// EAX: pDamage_amount +void DamageRFBrake(int pDamage_amount) { +} + +// Offset: 656 +// Size: 55 +// EAX: pDamage_amount +void DamageRRBrake(int pDamage_amount) { +} + +// Offset: 712 +// Size: 55 +// EAX: pDamage_amount +void DamageRRWheel(int pDamage_amount) { +} + +// Offset: 768 +// Size: 508 +// EAX: pP1 +// EDX: pP2 +// EBX: pP3 +// ECX: pNormal +void CalculatePlaneNormal(br_vector3 *pP1, br_vector3 *pP2, br_vector3 *pP3, br_vector3 *pNormal) { + br_vector3 p0; + br_vector3 p1; + br_vector3 cross_product; + br_vector3 temp_vector; +} + +// Offset: 1276 +// Size: 143 +// EAX: pThe_model +// EDX: pFace_index +void CalculateGroundNormal(br_model *pThe_model, int pFace_index) { +} + +// Offset: 1420 +// Size: 399 +void ChangeYCoordinate(br_scalar pNew_y, tU32 pTime_taken, br_model *pThe_model, int pFace_index) { + br_scalar y_change; + br_transform new_transform; + br_vector3 side_window; +} + +// Offset: 1820 +// Size: 127 +// EAX: pCar_spec +// EDX: pModel_index +void SwitchCarActor(tCar_spec *pCar_spec, int pModel_index) { + int i; +} + +// Offset: 1948 +// Size: 1602 +// EAX: pCar +// EDX: pClear_disabled_flag +void InitialiseCar2(tCar_spec *pCar, int pClear_disabled_flag) { + int index; + int j; + int cat; + int car_count; + br_actor *car_actor; + br_angle initial_yaw; + br_scalar nearest_y_above; + br_scalar nearest_y_below; + br_scalar speed; + int below_face_index; + int above_face_index; + br_model *below_model; + br_model *above_model; + br_vector3 grid_offset; + br_matrix34 initial_yaw_matrix; + br_matrix34 safe_position; +} + +// Offset: 3552 +// Size: 50 +// EAX: pCar +void InitialiseCar(tCar_spec *pCar) { +} + +// Offset: 3604 +// Size: 270 +// EAX: pThe_race +void InitialiseCarsEtc(tRace_info *pThe_race) { + int i; + int cat; + int car_count; + tCar_spec *car; + br_bounds bnds; +} + +// Offset: 3876 +// Size: 231 +// EAX: pThe_race +void GetAverageGridPosition(tRace_info *pThe_race) { + int i; + br_scalar total_cars; + tCar_spec *car; +} + +// Offset: 4108 +// Size: 1067 +// EAX: pThe_race +// EDX: pCar_index +// EBX: pGrid_index +void SetInitialPosition(tRace_info *pThe_race, int pCar_index, int pGrid_index) { + int place_on_grid; + int i; + int start_i; + int j; + br_actor *car_actor; + br_angle initial_yaw; + br_scalar nearest_y_above; + br_scalar nearest_y_below; + br_scalar speed; + int below_face_index; + int above_face_index; + br_model *below_model; + br_model *above_model; + tCar_spec *car; + br_vector3 grid_offset; + br_vector3 dist; + br_vector3 real_pos; + br_matrix34 initial_yaw_matrix; + br_bounds bnds; +} + +// Offset: 5176 +// Size: 84 +// EAX: pThe_race +void SetInitialPositions(tRace_info *pThe_race) { + int i; +} + +// Offset: 5260 +// Size: 534 +// EAX: non_car +void InitialiseNonCar(tNon_car_spec *non_car) { + tCollision_info *c; +} + +// Offset: 5796 +// Size: 2073 +// EAX: c +void GetFacesInBox(tCollision_info *c) { + tBounds bnds; + br_bounds new_in_old; + br_bounds predicted_bounds; + br_matrix34 mat; + br_matrix34 mat2; + br_matrix34 mat3; + br_matrix34 mat4; + br_matrix34 mat5; + br_matrix34 mat6; + br_scalar old_d; + int i; + br_bounds current_bounds; +} + +// Offset: 7872 +// Size: 45 +int IsCarInTheSea() { +} + +// Offset: 7920 +// Size: 570 +// EAX: car +// EDX: pTime +void RememberSafePosition(tCar_spec *car, tU32 pTime) { + tU32 time_count; + int j; + br_vector3 r; + br_scalar ts; +} + +// Offset: 8492 +// Size: 1055 +// EAX: pTime_difference +void ControlOurCar(tU32 pTime_difference) { + br_scalar ts; + br_vector3 minus_k; + tCar_spec *car; + int steering_locked; + int i; + tU32 time; +} + +// Offset: 9548 +// Size: 1603 +// EAX: c +void CalcEngineForce(tCar_spec *c, br_scalar dt) { + br_scalar torque; + br_scalar ts; + br_scalar ts2; + br_scalar brake_temp; + int sign; + tS32 temp_for_swap; +} + +// Offset: 11152 +// Size: 515 +// EAX: pFrame_start_time +void PrepareCars(tU32 pFrame_start_time) { + tCar_spec *car; + int i; + tU32 last_frame_start; +} + +// Offset: 11668 +// Size: 1539 +// EAX: pLast_frame_time +// EDX: pTime +void FinishCars(tU32 pLast_frame_time, tU32 pTime) { + tCar_spec *car; + br_vector3 minus_k; + int i; + int wheel; +} + +// Offset: 13208 +// Size: 337 +// EAX: pLast_frame_time +// EDX: pTime +void InterpolateCars(tU32 pLast_frame_time, tU32 pTime) { + br_scalar dt; + tCar_spec *car; + int i; +} + +// Offset: 13548 +// Size: 218 +void ResetOldmat() { + tCar_spec *car; + int i; + br_matrix34 mat; + int normalise_count; +} + +// Offset: 13768 +// Size: 118 +void GetNonCars() { + int i; + int j; +} + +// Offset: 13888 +// Size: 1003 +// EAX: pCar +void GetNetPos(tCar_spec *pCar) { + int j; + float amount; + br_scalar total_deflection; +} + +// Offset: 14892 +// Size: 1298 +// EAX: last_frame_time +// EDX: pTime_difference +void ApplyPhysicsToCars(tU32 last_frame_time, tU32 pTime_difference) { + br_vector3 minus_k; + int i; + int old_num_cars; + int step_number; + int dam_index; + int steering_locked; + tCar_spec *car; + tCollision_info *car_info; + tNon_car_spec *non_car; + tU32 time_step; + tU32 frame_end_time; +} + +// Offset: 16192 +// Size: 436 +// EAX: pCar +void MungeSpecialVolume(tCollision_info *pCar) { + tSpecial_volume *new_special_volume; + tCar_spec *car; +} + +// Offset: 16628 +// Size: 199 +// EAX: pCar +void ResetCarSpecialVolume(tCollision_info *pCar) { + br_vector3 cast_v; + br_vector3 norm; + br_scalar t; + int id_len; + char *mat_id; + tSpecial_volume *new_special_volume; + br_material *material; +} + +// Offset: 16828 +// Size: 1052 +// EAX: pCar +void TestAutoSpecialVolume(tCollision_info *pCar) { + br_vector3 pos; + br_scalar car_d; + br_scalar d; + br_scalar d2; + br_vector3 dir; + br_vector3 tv; + br_vector3 lp; + br_vector3 hp; + tSpecial_volume *vol; + br_matrix34 *mat; + br_scalar lowest_p; + br_scalar highest_p; + br_scalar val; + int i; +} + +// Offset: 17880 +// Size: 421 +// EAX: car +void MoveAndCollideCar(tCar_spec *car, br_scalar dt) { + tCollision_info *car_info; + int wheel; +} + +// Offset: 18304 +// Size: 271 +// EAX: non_car +void MoveAndCollideNonCar(tNon_car_spec *non_car, br_scalar dt) { + tCollision_info *car_info; +} + +// Offset: 18576 +// Size: 336 +// EAX: car +int CollideCarWithWall(tCollision_info *car, br_scalar dt) { +} + +// Offset: 18912 +// Size: 268 +void ToggleControls() { +} + +// Offset: 19180 +// Size: 675 +// EAX: c +void ControlCar2(tCar_spec *c, br_scalar dt) { +} + +// Offset: 19856 +// Size: 686 +// EAX: c +void ControlCar3(tCar_spec *c, br_scalar dt) { +} + +// Offset: 20544 +// Size: 1374 +// EAX: c +void ControlCar4(tCar_spec *c, br_scalar dt) { + br_scalar ts; +} + +// Offset: 21920 +// Size: 1097 +// EAX: c +void ControlCar5(tCar_spec *c, br_scalar dt) { +} + +// Offset: 23020 +// Size: 530 +// EAX: c +void ControlCar1(tCar_spec *c, br_scalar dt) { +} + +// Offset: 23552 +// Size: 138 +// EAX: wdt +// EDX: m +void setrotate(br_vector3 *wdt, br_matrix34 *m) { + br_euler e; +} + +// Offset: 23692 +// Size: 454 +// EAX: c +void RotateCar2(tCollision_info *c, br_scalar dt) { + br_vector3 wdt; + br_vector3 wdt2; + br_vector3 L; + br_vector3 L2; + br_matrix34 m; +} + +// Offset: 24148 +// Size: 673 +// EAX: c +void RotateCarSecondOrder(tCollision_info *c, br_scalar dt) { + br_vector3 L; + br_vector3 L2; + br_vector3 axis; + br_vector3 omega; + br_scalar rad; + br_scalar rad_rate; + br_matrix34 m; +} + +// Offset: 24824 +// Size: 486 +// EAX: c +void RotateCarFirstOrder(tCollision_info *c, br_scalar dt) { + br_vector3 axis; + br_vector3 L; + br_vector3 L2; + br_matrix34 m; + br_scalar rad_rate; + br_scalar rad; + br_scalar e1; + br_scalar e2; + br_scalar max_rad; +} + +// Offset: 25312 +// Size: 218 +// EAX: c +void SimpleRotate(tCollision_info *c, br_scalar dt) { + br_vector3 axis; + br_scalar rad_rate; + br_scalar rad; +} + +// Offset: 25532 +// Size: 305 +// EAX: c +void RotateCar(tCollision_info *c, br_scalar dt) { + br_scalar rad_squared; + int steps; + int i; +} + +// Offset: 25840 +// Size: 434 +// EAX: c +void SteeringSelfCentre(tCar_spec *c, br_scalar dt, br_vector3 *n) { + br_scalar ts; + br_scalar ts2; +} + +// Offset: 26276 +// Size: 923 +// EAX: nc +void NonCarCalcForce(tNon_car_spec *nc, br_scalar dt) { + tCollision_info *c; + tSpecial_volume *vol; + br_scalar ts; + br_vector3 tv; + br_vector3 v; +} + +// Offset: 27200 +// Size: 402 +// EAX: c +void AddDrag(tCar_spec *c, br_scalar dt) { + br_scalar drag_multiplier; + br_scalar ts; + tSpecial_volume *vol; + br_vector3 b; +} + +// Offset: 27604 +// Size: 419 +// EAX: c +// EDX: wheel_pos +// EBX: norm +// ECX: d +void DoBumpiness(tCar_spec *c, br_vector3 *wheel_pos, br_vector3 *norm, br_scalar *d, int n) { + br_vector3 tv; + int delta; + int x; + int y; + tMaterial_modifiers *mat_list; +} + +// Offset: 28024 +// Size: 12038 +// EAX: c +void CalcForce(tCar_spec *c, br_scalar dt) { + int n; + int normnum; + int i; + int x; + int y; + br_scalar force[4]; + br_scalar d[4]; + br_scalar ts; + br_scalar ts2; + br_scalar ts3; + br_scalar ts4; + br_scalar ts5; + br_scalar ts6; + br_scalar deltaomega; + br_scalar wheelratio; + br_scalar modf; + br_scalar maxfl; + br_scalar maxfr; + br_scalar max_retardation; + br_scalar front_retardation; + br_scalar friction_number; + br_vector3 a; + br_vector3 b; + br_vector3 tv; + br_vector3 tv2; + br_vector3 norm[4]; + br_vector3 v_batwick; + br_vector3 vplane; + br_vector3 rightplane; + br_vector3 t; + br_vector3 f; + br_vector3 ff; + br_vector3 fb; + br_scalar ffi; + br_scalar ffk; + br_scalar fbi; + br_scalar fbk; + br_vector3 wheel_pos[4]; + br_scalar direction; + br_scalar wheel_spin_force; + br_scalar d_damage; + br_scalar fl_oil_factor; + br_scalar fr_oil_factor; + br_scalar rl_oil_factor; + br_scalar rr_oil_factor; + br_matrix34 *mat; + tMaterial_modifiers *mat_list; + br_scalar stop_timer; + br_scalar slide_dist; + tDamage_type dam; + br_scalar v; + tSpecial_volume *vol; +} + +// Offset: 40064 +// Size: 1156 +// EAX: c +void DoRevs(tCar_spec *c, br_scalar dt) { + br_scalar wheel_spin_force; + br_scalar ts; + int revs_increase; +} + +// Offset: 41220 +// Size: 127 +// EAX: c +// EDX: tdt +void ApplyTorque(tCar_spec *c, br_vector3 *tdt) { +} + +// Offset: 41348 +// Size: 120 +// EAX: c +void TranslateCar(tCollision_info *c, br_scalar dt) { + br_vector3 t; +} + +// Offset: 41468 +// Size: 9029 +// EAX: c +int CollCheck(tCollision_info *c, br_scalar dt) { + br_vector3 a; + br_vector3 a1; + br_vector3 aa; + br_vector3 bb; + br_vector3 cc; + br_vector3 pos; + br_vector3 r[8]; + br_vector3 norm; + br_vector3 n[8]; + br_vector3 dir; + br_vector3 tv; + br_vector3 tv2; + br_vector3 tau[4]; + br_vector3 old_val; + br_vector3 ftau; + br_vector3 max_friction; + br_vector3 vel; + br_vector3 p_vel; + br_vector3 normal_force; + br_vector3 friction_force; + br_scalar d[4]; + br_scalar f[4]; + br_scalar total_force; + br_scalar point_vel; + br_scalar batwick_length; + br_matrix4 M; + br_scalar dist; + br_scalar min_d; + br_scalar ts; + br_scalar ts2; + br_scalar v_diff; + br_matrix34 *mat; + br_matrix34 *oldmat; + br_matrix34 mat_to_oldmat; + br_matrix34 oldmat_to_mat; + br_matrix34 tm; + int collision; + br_bounds bnds; + tFace_ref *f_ref; + int i; + int j; + int l; + int k; + int material; + int noise_defeat; + int oldk; + br_scalar min; + br_scalar max; + br_vector3 edges[3]; + br_vector3 corner; + br_vector3 test_dir; + br_scalar min_acc; + br_scalar max_acc; + br_matrix34 message_mat; +} + +// Offset: 50500 +// Size: 916 +// EAX: c +// EDX: vel +// EBX: normal_force +// ECX: pos +br_scalar AddFriction(tCollision_info *c, br_vector3 *vel, br_vector3 *normal_force, br_vector3 *pos, br_scalar total_force, br_vector3 *max_friction) { + br_vector3 norm; + br_vector3 tv; + br_vector3 ftau; + br_scalar ts; + br_scalar point_vel; +} + +// Offset: 51416 +// Size: 1179 +// EAX: car1 +// EDX: car2 +// EBX: vel1 +// ECX: vel2 +void AddFrictionCarToCar(tCollision_info *car1, tCollision_info *car2, br_vector3 *vel1, br_vector3 *vel2, br_vector3 *normal_force1, br_vector3 *pos1, br_vector3 *pos2, br_scalar total_force, br_vector3 *max_friction) { + br_vector3 v_diff1; + br_vector3 v_diff2; + br_vector3 tau1; + br_vector3 tau2; + br_vector3 tv; + br_vector3 tv2; + br_vector3 vel2_in_frame_1; + br_scalar ts; + br_scalar ts2; + br_scalar v_diff; + br_scalar stopping_impulse; + br_scalar total_friction; + int i; +} + +// Offset: 52596 +// Size: 233 +void ScrapeNoise(br_scalar vel, br_vector3 *position, int material) { + tS3_volume vol; + tS3_sound_tag scrape_tag; + tS3_volume last_scrape_vol; + br_vector3 velocity; + br_vector3 position_in_br; +} + +// Offset: 52832 +// Size: 747 +// EAX: pC +// EDX: pWheel_num +void SkidNoise(tCar_spec *pC, int pWheel_num, br_scalar pV, int material) { + br_vector3 pos; + br_vector3 world_pos; + br_vector3 wv; + br_vector3 wvw; + br_scalar ts; + tS3_volume last_skid_vol[2]; + int i; +} + +// Offset: 53580 +// Size: 77 +// EAX: pC +void StopSkid(tCar_spec *pC) { +} + +// Offset: 53660 +// Size: 255 +// EAX: pForce +// EDX: position +// EBX: material +void CrashNoise(br_vector3 *pForce, br_vector3 *position, int material) { + tS3_sound_tag crunch_tag; + tS3_volume last_crunch_vol; + tS3_volume vol; + br_vector3 velocity; +} + +// Offset: 53916 +// Size: 1541 +// EAX: c +// EDX: pPosition +// EBX: pForce_car_space +// ECX: car2 +void CrushAndDamageCar(tCar_spec *c, br_vector3 *pPosition, br_vector3 *pForce_car_space, tCar_spec *car2) { + br_vector3 force; + br_vector3 force2; + br_vector3 position; + br_vector3 pos_w; + br_vector3 car_to_cam; + br_vector3 force_for_bodywork; + br_scalar ts; + int i; + br_matrix34 m; + br_scalar fudge_multiplier; +} + +// Offset: 55460 +// Size: 472 +// EAX: c +int ExpandBoundingBox(tCar_spec *c) { + br_scalar min_z; + br_scalar max_z; + br_scalar dist; + br_vector3 tv; + br_vector3 old_pos; + int l; + br_matrix34 mat; +} + +// Offset: 55932 +// Size: 795 +// EAX: c +// EDX: crush_only +void CrushBoundingBox(tCar_spec *c, int crush_only) { + br_vector3 min; + br_vector3 max; + int i; + br_actor *actor; +} + +// Offset: 56728 +// Size: 279 +void AddCollPoint(br_scalar dist, br_vector3 *p, br_vector3 *norm, br_vector3 *r, br_vector3 *n, br_vector3 *dir, int num, tCollision_info *c) { + br_scalar d[4]; + int i; + int furthest; +} + +// Offset: 57008 +// Size: 88 +// EAX: f +// EDX: m +// EBX: d +br_scalar SinglePointColl(br_scalar *f, br_matrix4 *m, br_scalar *d) { +} + +// Offset: 57096 +// Size: 359 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar TwoPointColl(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n) { + br_scalar ts; +} + +// Offset: 57456 +// Size: 62 +// EAX: mi +// EDX: mc +br_scalar DrMatrix4Inverse(br_matrix4 *mi, br_matrix4 *mc) { +} + +// Offset: 57520 +// Size: 172 +// EAX: f +// EDX: m +// EBX: d +br_scalar ThreePointColl(br_scalar *f, br_matrix4 *m, br_scalar *d) { + br_matrix4 mc; + br_matrix4 mi; + br_scalar ts; +} + +// Offset: 57692 +// Size: 638 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar ThreePointCollRec(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n, tCollision_info *c) { + int i; + int j; + br_scalar ts; +} + +// Offset: 58332 +// Size: 639 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar FourPointColl(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n, tCollision_info *c) { + int i; + int j; + int l; + br_scalar ts; +} + +// Offset: 58972 +// Size: 228 +// EAX: pNum_rays +// EDX: a +// EBX: b +// ECX: nor +void MultiFindFloorInBoxM(int pNum_rays, br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCar_spec *c, int *mat_ref) { + br_vector3 aa[4]; + br_vector3 bb; + int i; +} + +// Offset: 59200 +// Size: 338 +// EAX: pNum_rays +// EDX: a +// EBX: b +// ECX: nor +void MultiFindFloorInBoxBU(int pNum_rays, br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCar_spec *c, int *mat_ref) { + br_vector3 nor2; + int i; + int j; + int l; + br_scalar dist[4]; + tFace_ref *face_ref; +} + +// Offset: 59540 +// Size: 149 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +void findfloor(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d) { + br_material *material; + br_vector3 aa; + br_vector3 bb; +} + +// Offset: 59692 +// Size: 157 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxM(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c) { + br_vector3 aa; + br_vector3 bb; +} + +// Offset: 59852 +// Size: 278 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxBU(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c) { + br_vector3 nor2; + int i; + int j; + br_scalar dist; + tFace_ref *face_ref; +} + +// Offset: 60132 +// Size: 443 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxBU2(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c) { + br_vector3 nor2; + br_vector3 tv; + int i; + int j; + br_scalar dist; + tFace_ref *face_ref; +} + +// Offset: 60576 +// Size: 157 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxM2(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c) { + br_vector3 aa; + br_vector3 bb; +} + +// Offset: 60736 +// Size: 1324 +// EAX: pB +// EDX: pM +// EBX: pMold +// ECX: pPoint_list +int BoxFaceIntersect(br_bounds *pB, br_matrix34 *pM, br_matrix34 *pMold, br_vector3 *pPoint_list, br_vector3 *pNorm_list, br_scalar *pDist_list, int pMax_pnts, tCollision_info *c) { + br_vector3 p[3]; + br_vector3 tv; + br_vector3 pos; + br_bounds bnds; + int i; + int j; + int n; + int flag; + int m; + tFace_ref *f_ref; + br_face *face; +} + +// Offset: 62060 +// Size: 3591 +// EAX: p1 +// EDX: p2 +// EBX: pB +// ECX: pMold +int AddEdgeCollPoints(br_vector3 *p1, br_vector3 *p2, br_bounds *pB, br_matrix34 *pMold, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int n, int pMax_pnts, tCollision_info *c) { + br_vector3 op1; + br_vector3 op2; + br_vector3 a; + br_vector3 b; + br_vector3 edge; + br_vector3 hp1; + br_vector3 hp2; + br_vector3 hp3; + int plane1; + int plane2; + int plane3; + int d; +} + +// Offset: 65652 +// Size: 118 +// EAX: n +// EDX: p +void GetPlaneNormal(br_vector3 *n, int p) { + int d; +} + +// Offset: 65772 +// Size: 534 +// EAX: pos +// EDX: edge +// EBX: pB +// ECX: plane1 +int GetBoundsEdge(br_vector3 *pos, br_vector3 *edge, br_bounds *pB, int plane1, int plane2, br_vector3 *a, br_vector3 *b, br_vector3 *c, int flag) { + int d1; + int d2; + int d3; + br_vector3 n; + br_vector3 p; + br_vector3 q; +} + +// Offset: 66308 +// Size: 603 +// EAX: pTime_difference +void oldMoveOurCar(tU32 pTime_difference) { + br_vector3 thrust_vector; + br_matrix34 direction_matrix; + br_matrix34 old_mat; + double rotate_amount; + br_scalar nearest_y_above; + br_scalar nearest_y_below; + br_scalar speed; + int below_face_index; + int above_face_index; + br_model *below_model; + br_model *above_model; +} + +// Offset: 66912 +// Size: 34 +void ToggleCollisionDetection() { +} + +// Offset: 66948 +// Size: 84 +void CancelPendingCunningStunt() { +} + +// Offset: 67032 +// Size: 61 +float frac(float pN) { +} + +// Offset: 67096 +// Size: 601 +// EAX: pCar +void SetAmbientPratCam(tCar_spec *pCar) { + br_scalar vcs_x; + br_scalar vcs_y; + br_scalar vcs_z; + br_scalar abs_vcs_x; + br_scalar abs_vcs_y; + br_scalar abs_vcs_z; + br_scalar abs_omega_x; + br_scalar abs_omega_y; + br_scalar abs_omega_z; + tU32 the_time; + tU32 last_time_on_ground; +} + +// Offset: 67700 +// Size: 3599 +// EAX: pFrame_period +void MungeCarGraphics(tU32 pFrame_period) { + int i; + int j; + int update_mat; + int spinning_wildly; + int spinning_mildly; + int car_count; + int oily_count; + int car; + int cat; + int new_special_screen; + tCar_spec *the_car; + br_scalar distance_from_camera; + br_scalar car_x; + br_scalar car_z; + br_scalar oily_size; + br_scalar car_radius; + br_scalar abs_omega_x; + br_scalar abs_omega_y; + br_scalar abs_omega_z; + float wheel_speed; + float speed_mph; + float rev_angle; + float sine_angle; + float raw_revs; + float rev_reducer; + tSpecial_screen *the_special_screen; + br_material *the_material; + tU32 the_time; + br_actor *oily_actor; +} + +// Offset: 71300 +// Size: 179 +void ResetCarScreens() { + int car_count; + int i; + tCar_spec *the_car; +} + +// Offset: 71480 +// Size: 208 +tCar_spec* GetRaceLeader() { + int i; + int score; + tCar_spec *car; +} + +// Offset: 71688 +// Size: 555 +void AmIGettingBoredWatchingCameraSpin() { + tU32 time_of_death; + tU32 headup_timer; + tCar_spec *car; + char s[256]; +} + +// Offset: 72244 +// Size: 161 +void ViewNetPlayer() { +} + +// Offset: 72408 +// Size: 251 +void ViewOpponent() { +} + +// Offset: 72660 +// Size: 134 +void ToggleCarToCarCollisions() { +} + +// Offset: 72796 +// Size: 34 +void SwapCar() { +} + +// Offset: 72832 +// Size: 178 +void AdjustDownForce() { + tCar_spec *c; +} + +// Offset: 73012 +// Size: 134 +void FreezeMechanics() { +} + +// Offset: 73148 +// Size: 134 +void PutOpponentsInNeutral() { +} + +// Offset: 73284 +// Size: 133 +void SetPanningFieldOfView() { + br_camera *camera_ptr; +} + +// Offset: 73420 +// Size: 232 +// EAX: pCar +void CheckDisablePlingMaterials(tCar_spec *pCar) { + br_matrix34 *mat; + br_scalar height; + int i; +} + +// Offset: 73652 +// Size: 346 +// EAX: c +// EDX: pTime +void PositionExternalCamera(tCar_spec *c, tU32 pTime) { + int old_camera_mode; + br_camera *camera_ptr; +} + +// Offset: 74000 +// Size: 102 +// EAX: c +// EDX: pTime +void CameraBugFix(tCar_spec *c, tU32 pTime) { + br_matrix34 mat; + br_matrix34 *m2; + br_vector3 tv; +} + +// Offset: 74104 +// Size: 141 +// EAX: pActor +int PossibleRemoveNonCarFromWorld(br_actor *pActor) { + tU8 cx; + tU8 cz; + tTrack_spec *track_spec; +} + +// Offset: 74248 +// Size: 117 +// EAX: pActor +void PutNonCarBackInWorld(br_actor *pActor) { + tU8 cx; + tU8 cz; + tTrack_spec *track_spec; +} + +// Offset: 74368 +// Size: 2633 +// EAX: c +// EDX: pTime +int IncidentCam(tCar_spec *c, tU32 pTime) { + br_matrix34 *m2; + br_matrix34 mat; + br_vector3 tv; + br_vector3 tv2; + br_vector3 perp; + br_vector3 vertical; + br_vector3 murderer_pos; + br_scalar ts; + tCar_spec *car2; + tU32 next_incident_time; + tIncident_type type; + float severity; + tIncident_info info; + int random; + int count; + br_scalar temp; + br_vector3 old_cam_pos; + int removed; +} + +// Offset: 77004 +// Size: 1267 +// EAX: c +// EDX: type +// EBX: severity +// ECX: info +int MoveCamToIncident(tCar_spec *c, tIncident_type *type, float *severity, tIncident_info *info, tU32 *next_incident_time) { + tU32 next_incident_time2; + tU32 t; + tIncident_type type2; + float severity2; + tIncident_info info2; + br_vector3 pos; + br_vector3 left; + br_vector3 right; + br_vector3 vertical; + br_vector3 tv; + br_vector3 tv2; + br_vector3 perp; + int test; +} + +// Offset: 78272 +// Size: 368 +// EAX: c +// EDX: pTime +void PanningExternalCamera(tCar_spec *c, tU32 pTime) { + br_matrix34 *m2; + br_matrix34 *m1; + br_vector3 tv; + br_scalar ts; + int inside_camera_zone; +} + +// Offset: 78640 +// Size: 136 +// EAX: start +// EDX: end +int CheckForWall(br_vector3 *start, br_vector3 *end) { + br_vector3 dir; + br_material *material; + br_vector3 normal; + br_scalar d; +} + +// Offset: 78776 +// Size: 1383 +// EAX: c +void SetUpPanningCamera(tCar_spec *c) { + br_vector3 pos; + br_vector3 perp; + br_vector3 dir; + br_vector3 tv; + br_vector3 tv2; + br_scalar ts; + tU32 time; + tU32 t; + tU32 t2; + tU32 time_step; + br_matrix34 *m2; + br_matrix34 *m1; + br_vector3 left; + br_vector3 right; + br_vector3 car_centre; + int left_score; + int right_score; +} + +// Offset: 80160 +// Size: 97 +// EAX: i +void SaveCameraPosition(int i) { +} + +// Offset: 80260 +// Size: 97 +// EAX: i +void RestoreCameraPosition(int i) { +} + +// Offset: 80360 +// Size: 2107 +// EAX: c +// EDX: pTime +void NormalPositionExternalCamera(tCar_spec *c, tU32 pTime) { + br_matrix34 *m2; + br_matrix34 *m1; + br_scalar time; + br_scalar ts; + br_scalar ts2; + br_scalar dist; + br_scalar height_inc; + br_scalar l; + br_scalar frac; + br_vector3 vn; + br_vector3 a; + br_vector3 b; + br_vector3 tv; + br_angle yaw; + br_angle theta; + br_scalar d; + int face; + int i; + int swoop; + int manual_swing; + int manual_zoom; + br_vector3 old_camera_pos; +} + +// Offset: 82468 +// Size: 446 +// EAX: c +// EDX: vn +// EBX: manual_swing +void MoveWithWheels(tCar_spec *c, br_vector3 *vn, int manual_swing) { + br_angle yaw; + br_angle theta; + int move_with_wheels; +} + +// Offset: 82916 +// Size: 1828 +// EAX: c +// EDX: m1 +// EBX: m2 +// ECX: vn +void SwingCamera(tCar_spec *c, br_matrix34 *m1, br_matrix34 *m2, br_vector3 *vn, tU32 pTime) { + int i; + br_scalar ts; + br_angle yaw; + br_angle theta; + br_angle alpha; + br_scalar sin_dtheta; + br_scalar cos_dtheta; + br_scalar sign; + int manual_swing; + br_angle omega; + int elapsed_time; + br_vector3 old_vn; +} + +// Offset: 84744 +// Size: 776 +// EAX: c +// EDX: m1 +// EBX: m2 +void PointCameraAtCar(tCar_spec *c, br_matrix34 *m1, br_matrix34 *m2) { + br_vector3 vn; + br_vector3 tv; + br_vector3 tv2; + br_scalar dist; + br_scalar frac; + br_angle theta; + br_vector3 *pos; + br_camera *camera_ptr; + br_angle off_centre_angle; + int swoop; +} + +// Offset: 85520 +// Size: 465 +// EAX: pos +// EDX: m2 +void PointCamera(br_vector3 *pos, br_matrix34 *m2) { + br_vector3 vn; + br_scalar dist; + br_angle theta; + br_camera *camera_ptr; +} + +// Offset: 85988 +// Size: 2411 +// EAX: car_pos +// EDX: cam_pos +// EBX: old_camera_pos +// ECX: manual_move +int CollideCamera2(br_vector3 *car_pos, br_vector3 *cam_pos, br_vector3 *old_camera_pos, int manual_move) { + int i; + int k; + br_vector3 a; + br_vector3 b; + br_vector3 vn; + br_vector3 tv; + br_vector3 tv2; + br_scalar l; + br_scalar d; + br_scalar ts; + br_scalar ts2; + br_scalar dist; + br_scalar hither; + br_angle theta; + tBounds bnds; + br_matrix34 mat; + br_material *material; + br_scalar alpha; + br_scalar sa; + br_scalar sb; + br_scalar sc; + tFace_ref face_list[3]; +} + +// Offset: 88400 +// Size: 141 +// EAX: bnds +// EDX: p +int BoundsTest(br_bounds *bnds, br_vector3 *p) { + int j; +} + +// Offset: 88544 +// Size: 494 +// EAX: car_pos +// EDX: cam_pos +int CollideCameraWithOtherCars(br_vector3 *car_pos, br_vector3 *cam_pos) { + int i; + int plane; + br_scalar ts; + tCar_spec *c; + br_vector3 tv; + br_vector3 pos_car_space; + br_vector3 dir; + br_vector3 p; + br_vector3 n; + br_bounds bnds; +} + +// Offset: 89040 +// Size: 511 +void InitialiseExternalCamera() { + tCar_spec *c; + br_vector3 r; + br_angle yaw; +} + +// Offset: 89552 +// Size: 44 +void FreezeCamera() { +} + +// Offset: 89596 +// Size: 2248 +// EAX: c +void FlyCar(tCar_spec *c, br_scalar dt) { + int accflag; + int turnflag; + br_vector3 step; + br_matrix34 *mat; + br_angle theta; + br_scalar vel; + tFace_ref faces[20]; + tBounds bnds; +} + +// Offset: 91844 +// Size: 157 +// EAX: v +// EDX: t +void DrVector3RotateY(br_vector3 *v, br_angle t) { + br_scalar c; + br_scalar s; + br_scalar ts; +} + +// Offset: 92004 +// Size: 237 +void CrashCarsTogether(br_scalar dt) { + int pass; + int k; + int i; + tCollison_data collide_list[32]; +} + +// Offset: 92244 +// Size: 2384 +int CrashCarsTogetherSinglePass(br_scalar dt, int pPass, tCollison_data *collide_list) { + int i; + int j; + int l; + int m; + int n; + int collided; + int k; + int ref1; + int ref2; + int c1im; + int c2im; + tCollision_info *car_1; + tCollision_info *car_2; + tCollision_info *car_3; + tCollision_info *car_in_middle; + tCollision_info *car_on_wall; +} + +// Offset: 94628 +// Size: 142 +// EAX: car +void BringCarToAGrindingHalt(tCollision_info *car) { +} + +// Offset: 94772 +// Size: 165 +// EAX: b1 +// EDX: b2 +int BoundsOverlapTest(br_bounds *b1, br_bounds *b2) { +} + +// Offset: 94940 +// Size: 99 +// EAX: car1 +// EDX: car2 +int SimpleCarCarCollisionTest(tCollision_info *car1, tCollision_info *car2) { +} + +// Offset: 95040 +// Size: 877 +// EAX: car1 +// EDX: car2 +int CollideTwoCarsWithWalls(tCollision_info *car1, tCollision_info *car2, br_scalar dt) { + br_vector3 mom1; + br_vector3 mom2; + int l; + int m; + int n; + int p; + int im1; + int im2; +} + +// Offset: 95920 +// Size: 298 +// EAX: car1 +// EDX: car2 +int CollideTwoCarsRepeatedly(tCollision_info *car1, tCollision_info *car2, br_scalar dt) { + int l; + int collide; + br_scalar ts; +} + +// Offset: 96220 +// Size: 3499 +// EAX: car1 +// EDX: car2 +// EBX: pPass +int CollideTwoCars(tCollision_info *car1, tCollision_info *car2, int pPass) { + int k; + int old_k; + int i; + int j; + br_scalar dist; + br_scalar ts; + br_bounds new_car1_bnds; + br_bounds new_car2_bnds; + br_bounds bnds; + br_matrix34 *mat1; + br_matrix34 *mat2; + br_matrix34 *oldmat1; + br_matrix34 *oldmat2; + br_matrix34 inv_mat1; + br_matrix34 inv_mat2; + br_matrix34 inv_oldmat1; + br_matrix34 inv_oldmat2; + br_matrix34 car2_to_car1; + br_matrix34 car1_to_car2; + br_matrix34 old_car2_to_car1; + br_matrix34 old_car1_to_car2; + br_matrix34 car1_to_old_car1; + br_matrix34 car2_to_old_car2; + br_vector3 r[16]; + br_vector3 n[16]; + br_vector3 sep; + br_vector3 tv; + int add_point; + br_vector3 oldr1; + br_vector3 oldr2; + br_vector3 oldn1; + br_vector3 oldn2; + int is_old_point_available; +} + +// Offset: 99720 +// Size: 3598 +// EAX: pB1 +// EDX: pB2 +// EBX: pM21 +// ECX: pM12 +int GetEdgeEdgeCollisions(br_bounds *pB1, br_bounds *pB2, br_matrix34 *pM21, br_matrix34 *pM12, br_matrix34 *pMo21, br_matrix34 *pMo12, br_matrix34 *pM1o1, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int pMax) { + br_vector3 p1; + br_vector3 p2; + br_vector3 tp1; + br_vector3 tp2; + br_vector3 tp3; + br_vector3 hp1; + br_vector3 hp2; + br_vector3 hp3; + br_vector3 shp1; + br_vector3 shp2; + br_vector3 edge; + int plane1; + int plane2; + int plane3; + br_scalar ts; + int i; + int j; + int n; +} + +// Offset: 103320 +// Size: 1920 +// EAX: car1 +// EDX: car2 +// EBX: pMms +// ECX: pMoms +int FacePointCarCarCollide(tCollision_info *car1, tCollision_info *car2, br_matrix34 *pMms, br_matrix34 *pMoms, br_matrix34 *pMsos, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int pMax, int order) { + int k; + int i; + int j; + int l; + int plane; + br_vector3 a; + br_vector3 a1; + br_vector3 aa; + br_vector3 bb; + br_vector3 norm; + br_vector3 hp; + br_vector3 centre; + br_scalar dist; + br_bounds *pStat_box; + br_bounds *pMove_box; +} + +// Offset: 105240 +// Size: 111 +// EAX: pCar +void MungeCarsMass(tCollision_info *pCar, br_scalar pFactor) { +} + +// Offset: 105352 +// Size: 124 +// EAX: pCar_1 +// EDX: pCar_2 +void ModifyCarsMass(tCollision_info *pCar_1, tCollision_info *pCar_2) { +} + +// Offset: 105476 +// Size: 144 +// EAX: pCar_1 +// EDX: pCar_2 +void ResetCarsMass(tCollision_info *pCar_1, tCollision_info *pCar_2) { +} + +// Offset: 105620 +// Size: 8941 +// EAX: car1 +// EDX: car2 +// EBX: r +// ECX: n +int DoCollide(tCollision_info *car1, tCollision_info *car2, br_vector3 *r, br_vector3 *n, int k, int pPass, br_matrix34 *mat1_to_mat2) { + br_matrix34 *mat1; + br_matrix34 *mat2; + br_matrix34 *oldmat1; + br_matrix34 *oldmat2; + br_matrix4 M; + br_vector3 tau1[8]; + br_vector3 a; + br_vector3 norm; + br_vector3 f1; + br_vector3 f2; + br_vector3 pos1; + br_vector3 pos2; + br_vector3 max_friction; + br_vector3 tv; + br_vector3 tv2; + br_vector3 *tau2; + br_vector3 torque1; + br_vector3 torque2; + br_scalar f[4]; + br_scalar d[4]; + br_scalar ts; + br_scalar tforce; + int i; + int j; + int car1_point; + int car2_point; + int plane; + int move_car1; + int move_car2; + br_vector3 a2; + br_vector3 f12; + br_vector3 f22; + br_vector3 point_vel1; + br_vector3 point_vel2; + br_scalar fudge_multiplier; + br_scalar factor; + int need_to_fudge; +} + +// Offset: 114564 +// Size: 417 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar TwoPointCollB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n) { + br_scalar ts; +} + +// Offset: 114984 +// Size: 827 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar ThreePointCollRecB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n) { + int i; + int j; + br_scalar ts; +} + +// Offset: 115812 +// Size: 789 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar FourPointCollB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n) { + int i; + int j; + int l; + br_scalar ts; +} + +// Offset: 116604 +// Size: 89 +// EAX: f +int TestForNan(float *f) { + tU32 i; +} + +// Offset: 116696 +// Size: 89 +void CheckCameraHither() { + int old_hither; +} + +// Offset: 116788 +// Size: 525 +// EAX: pCar +void SetCarSuspGiveAndHeight(tCar_spec *pCar, br_scalar pFront_give_factor, br_scalar pRear_give_factor, br_scalar pDamping_factor, br_scalar pExtra_front_height, br_scalar pExtra_rear_height) { + br_scalar front_give; + br_scalar rear_give; + br_scalar damping; + br_scalar ratio; + int i; +} + +// Offset: 117316 +// Size: 1023 +// EAX: car +int TestForCarInSensiblePlace(tCar_spec *car) { + br_bounds bnds; + br_matrix34 mat; + br_matrix34 *mat1; + br_matrix34 *mat2; + int i; + int j; + int k; + tCollision_info *c2; + tCollision_info *car_info; + br_vector3 sep; + br_vector3 tv; + br_vector3 tv2; +} + +// Offset: 118340 +// Size: 528 +// EAX: c1 +// EDX: c2 +// EBX: newmats +int TestOldMats(tCollision_info *c1, tCollision_info *c2, int newmats) { + br_vector3 p1; + br_vector3 p2; + br_vector3 tp1; + br_vector3 tp2; + br_vector3 tp3; + br_vector3 hp1; + br_vector3 hp2; + br_vector3 hp3; + br_vector3 shp1; + br_vector3 shp2; + br_vector3 edge; + int plane1; + int plane2; + int plane3; + br_scalar ts; + int i; + int j; + int n; + br_bounds *b1; + br_bounds *b2; + br_matrix34 invmat1; + br_matrix34 mat21; +} + +// Offset: 118868 +// Size: 69 +// EAX: pActor +int PullActorFromWorld(br_actor *pActor) { +} + +// Offset: 118940 +// Size: 681 +// EAX: pActor +int DoPullActorFromWorld(br_actor *pActor) { + int num; + int i; + tCollision_info *c; + tNon_car_spec *non_car; +} + +// Offset: 119624 +// Size: 904 +// EAX: pTime +void CheckForDeAttachmentOfNonCars(tU32 pTime) { + tU32 total_time; + br_bounds bnds; + int i; + int j; + int last_free_slot; + int drop; + tCollision_info *c; + tCollision_info *c2; + br_actor *actor; + tU8 cx; + tU8 cz; + tTrack_spec *track_spec; + br_matrix34 mat; +} + +// Offset: 120528 +// Size: 248 +// EAX: pActor +// EDX: pMat +void AdjustNonCar(br_actor *pActor, br_matrix34 *pMat) { + tU8 cx; + tU8 cz; + tTrack_spec *track_spec; +} + +// Offset: 120776 +// Size: 240 +// EAX: c +void PipeSingleNonCar(tCollision_info *c) { +} + +// Offset: 121016 +// Size: 169 +// EAX: pCar +// EDX: pFace_refs +int GetPrecalculatedFacesUnderCar(tCar_spec *pCar, tFace_ref **pFace_refs) { +} + +// Offset: 121188 +// Size: 53 +br_material* SomeNearbyMaterial() { +} diff --git a/src/DETHRACE/source/common/car.h b/src/DETHRACE/source/common/car.h index 809230b1..68d920cb 100644 --- a/src/DETHRACE/source/common/car.h +++ b/src/DETHRACE/source/common/car.h @@ -1,2 +1,912 @@ +#ifndef _CAR_H_ +#define _CAR_H_ + #include "dr_types.h" #include "br_types.h" + +// Offset: 0 +// Size: 91 +// EAX: pCar +// EDX: pUnit_type +// EBX: pDamage_amount +void DamageUnit(tCar_spec *pCar, int pUnit_type, int pDamage_amount); + +// Offset: 92 +// Size: 61 +// EAX: pCar +// EDX: pUnit_type +// EBX: pDamage_amount +void DamageUnitWithSmoke(tCar_spec *pCar, int pUnit_type, int pDamage_amount); + +// Offset: 156 +// Size: 52 +// EAX: pDamage_amount +void DamageEngine(int pDamage_amount); + +// Offset: 208 +// Size: 55 +// EAX: pDamage_amount +void DamageTrans(int pDamage_amount); + +// Offset: 264 +// Size: 55 +// EAX: pDamage_amount +void DamageSteering(int pDamage_amount); + +// Offset: 320 +// Size: 55 +// EAX: pDamage_amount +void DamageLFWheel(int pDamage_amount); + +// Offset: 376 +// Size: 55 +// EAX: pDamage_amount +void DamageLFBrake(int pDamage_amount); + +// Offset: 432 +// Size: 55 +// EAX: pDamage_amount +void DamageLRBrake(int pDamage_amount); + +// Offset: 488 +// Size: 55 +// EAX: pDamage_amount +void DamageLRWheel(int pDamage_amount); + +// Offset: 544 +// Size: 55 +// EAX: pDamage_amount +void DamageRFWheel(int pDamage_amount); + +// Offset: 600 +// Size: 55 +// EAX: pDamage_amount +void DamageRFBrake(int pDamage_amount); + +// Offset: 656 +// Size: 55 +// EAX: pDamage_amount +void DamageRRBrake(int pDamage_amount); + +// Offset: 712 +// Size: 55 +// EAX: pDamage_amount +void DamageRRWheel(int pDamage_amount); + +// Offset: 768 +// Size: 508 +// EAX: pP1 +// EDX: pP2 +// EBX: pP3 +// ECX: pNormal +void CalculatePlaneNormal(br_vector3 *pP1, br_vector3 *pP2, br_vector3 *pP3, br_vector3 *pNormal); + +// Offset: 1276 +// Size: 143 +// EAX: pThe_model +// EDX: pFace_index +void CalculateGroundNormal(br_model *pThe_model, int pFace_index); + +// Offset: 1420 +// Size: 399 +void ChangeYCoordinate(br_scalar pNew_y, tU32 pTime_taken, br_model *pThe_model, int pFace_index); + +// Offset: 1820 +// Size: 127 +// EAX: pCar_spec +// EDX: pModel_index +void SwitchCarActor(tCar_spec *pCar_spec, int pModel_index); + +// Offset: 1948 +// Size: 1602 +// EAX: pCar +// EDX: pClear_disabled_flag +void InitialiseCar2(tCar_spec *pCar, int pClear_disabled_flag); + +// Offset: 3552 +// Size: 50 +// EAX: pCar +void InitialiseCar(tCar_spec *pCar); + +// Offset: 3604 +// Size: 270 +// EAX: pThe_race +void InitialiseCarsEtc(tRace_info *pThe_race); + +// Offset: 3876 +// Size: 231 +// EAX: pThe_race +void GetAverageGridPosition(tRace_info *pThe_race); + +// Offset: 4108 +// Size: 1067 +// EAX: pThe_race +// EDX: pCar_index +// EBX: pGrid_index +void SetInitialPosition(tRace_info *pThe_race, int pCar_index, int pGrid_index); + +// Offset: 5176 +// Size: 84 +// EAX: pThe_race +void SetInitialPositions(tRace_info *pThe_race); + +// Offset: 5260 +// Size: 534 +// EAX: non_car +void InitialiseNonCar(tNon_car_spec *non_car); + +// Offset: 5796 +// Size: 2073 +// EAX: c +void GetFacesInBox(tCollision_info *c); + +// Offset: 7872 +// Size: 45 +int IsCarInTheSea(); + +// Offset: 7920 +// Size: 570 +// EAX: car +// EDX: pTime +void RememberSafePosition(tCar_spec *car, tU32 pTime); + +// Offset: 8492 +// Size: 1055 +// EAX: pTime_difference +void ControlOurCar(tU32 pTime_difference); + +// Offset: 9548 +// Size: 1603 +// EAX: c +void CalcEngineForce(tCar_spec *c, br_scalar dt); + +// Offset: 11152 +// Size: 515 +// EAX: pFrame_start_time +void PrepareCars(tU32 pFrame_start_time); + +// Offset: 11668 +// Size: 1539 +// EAX: pLast_frame_time +// EDX: pTime +void FinishCars(tU32 pLast_frame_time, tU32 pTime); + +// Offset: 13208 +// Size: 337 +// EAX: pLast_frame_time +// EDX: pTime +void InterpolateCars(tU32 pLast_frame_time, tU32 pTime); + +// Offset: 13548 +// Size: 218 +void ResetOldmat(); + +// Offset: 13768 +// Size: 118 +void GetNonCars(); + +// Offset: 13888 +// Size: 1003 +// EAX: pCar +void GetNetPos(tCar_spec *pCar); + +// Offset: 14892 +// Size: 1298 +// EAX: last_frame_time +// EDX: pTime_difference +void ApplyPhysicsToCars(tU32 last_frame_time, tU32 pTime_difference); + +// Offset: 16192 +// Size: 436 +// EAX: pCar +void MungeSpecialVolume(tCollision_info *pCar); + +// Offset: 16628 +// Size: 199 +// EAX: pCar +void ResetCarSpecialVolume(tCollision_info *pCar); + +// Offset: 16828 +// Size: 1052 +// EAX: pCar +void TestAutoSpecialVolume(tCollision_info *pCar); + +// Offset: 17880 +// Size: 421 +// EAX: car +void MoveAndCollideCar(tCar_spec *car, br_scalar dt); + +// Offset: 18304 +// Size: 271 +// EAX: non_car +void MoveAndCollideNonCar(tNon_car_spec *non_car, br_scalar dt); + +// Offset: 18576 +// Size: 336 +// EAX: car +int CollideCarWithWall(tCollision_info *car, br_scalar dt); + +// Offset: 18912 +// Size: 268 +void ToggleControls(); + +// Offset: 19180 +// Size: 675 +// EAX: c +void ControlCar2(tCar_spec *c, br_scalar dt); + +// Offset: 19856 +// Size: 686 +// EAX: c +void ControlCar3(tCar_spec *c, br_scalar dt); + +// Offset: 20544 +// Size: 1374 +// EAX: c +void ControlCar4(tCar_spec *c, br_scalar dt); + +// Offset: 21920 +// Size: 1097 +// EAX: c +void ControlCar5(tCar_spec *c, br_scalar dt); + +// Offset: 23020 +// Size: 530 +// EAX: c +void ControlCar1(tCar_spec *c, br_scalar dt); + +// Offset: 23552 +// Size: 138 +// EAX: wdt +// EDX: m +void setrotate(br_vector3 *wdt, br_matrix34 *m); + +// Offset: 23692 +// Size: 454 +// EAX: c +void RotateCar2(tCollision_info *c, br_scalar dt); + +// Offset: 24148 +// Size: 673 +// EAX: c +void RotateCarSecondOrder(tCollision_info *c, br_scalar dt); + +// Offset: 24824 +// Size: 486 +// EAX: c +void RotateCarFirstOrder(tCollision_info *c, br_scalar dt); + +// Offset: 25312 +// Size: 218 +// EAX: c +void SimpleRotate(tCollision_info *c, br_scalar dt); + +// Offset: 25532 +// Size: 305 +// EAX: c +void RotateCar(tCollision_info *c, br_scalar dt); + +// Offset: 25840 +// Size: 434 +// EAX: c +void SteeringSelfCentre(tCar_spec *c, br_scalar dt, br_vector3 *n); + +// Offset: 26276 +// Size: 923 +// EAX: nc +void NonCarCalcForce(tNon_car_spec *nc, br_scalar dt); + +// Offset: 27200 +// Size: 402 +// EAX: c +void AddDrag(tCar_spec *c, br_scalar dt); + +// Offset: 27604 +// Size: 419 +// EAX: c +// EDX: wheel_pos +// EBX: norm +// ECX: d +void DoBumpiness(tCar_spec *c, br_vector3 *wheel_pos, br_vector3 *norm, br_scalar *d, int n); + +// Offset: 28024 +// Size: 12038 +// EAX: c +void CalcForce(tCar_spec *c, br_scalar dt); + +// Offset: 40064 +// Size: 1156 +// EAX: c +void DoRevs(tCar_spec *c, br_scalar dt); + +// Offset: 41220 +// Size: 127 +// EAX: c +// EDX: tdt +void ApplyTorque(tCar_spec *c, br_vector3 *tdt); + +// Offset: 41348 +// Size: 120 +// EAX: c +void TranslateCar(tCollision_info *c, br_scalar dt); + +// Offset: 41468 +// Size: 9029 +// EAX: c +int CollCheck(tCollision_info *c, br_scalar dt); + +// Offset: 50500 +// Size: 916 +// EAX: c +// EDX: vel +// EBX: normal_force +// ECX: pos +br_scalar AddFriction(tCollision_info *c, br_vector3 *vel, br_vector3 *normal_force, br_vector3 *pos, br_scalar total_force, br_vector3 *max_friction); + +// Offset: 51416 +// Size: 1179 +// EAX: car1 +// EDX: car2 +// EBX: vel1 +// ECX: vel2 +void AddFrictionCarToCar(tCollision_info *car1, tCollision_info *car2, br_vector3 *vel1, br_vector3 *vel2, br_vector3 *normal_force1, br_vector3 *pos1, br_vector3 *pos2, br_scalar total_force, br_vector3 *max_friction); + +// Offset: 52596 +// Size: 233 +void ScrapeNoise(br_scalar vel, br_vector3 *position, int material); + +// Offset: 52832 +// Size: 747 +// EAX: pC +// EDX: pWheel_num +void SkidNoise(tCar_spec *pC, int pWheel_num, br_scalar pV, int material); + +// Offset: 53580 +// Size: 77 +// EAX: pC +void StopSkid(tCar_spec *pC); + +// Offset: 53660 +// Size: 255 +// EAX: pForce +// EDX: position +// EBX: material +void CrashNoise(br_vector3 *pForce, br_vector3 *position, int material); + +// Offset: 53916 +// Size: 1541 +// EAX: c +// EDX: pPosition +// EBX: pForce_car_space +// ECX: car2 +void CrushAndDamageCar(tCar_spec *c, br_vector3 *pPosition, br_vector3 *pForce_car_space, tCar_spec *car2); + +// Offset: 55460 +// Size: 472 +// EAX: c +int ExpandBoundingBox(tCar_spec *c); + +// Offset: 55932 +// Size: 795 +// EAX: c +// EDX: crush_only +void CrushBoundingBox(tCar_spec *c, int crush_only); + +// Offset: 56728 +// Size: 279 +void AddCollPoint(br_scalar dist, br_vector3 *p, br_vector3 *norm, br_vector3 *r, br_vector3 *n, br_vector3 *dir, int num, tCollision_info *c); + +// Offset: 57008 +// Size: 88 +// EAX: f +// EDX: m +// EBX: d +br_scalar SinglePointColl(br_scalar *f, br_matrix4 *m, br_scalar *d); + +// Offset: 57096 +// Size: 359 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar TwoPointColl(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n); + +// Offset: 57456 +// Size: 62 +// EAX: mi +// EDX: mc +br_scalar DrMatrix4Inverse(br_matrix4 *mi, br_matrix4 *mc); + +// Offset: 57520 +// Size: 172 +// EAX: f +// EDX: m +// EBX: d +br_scalar ThreePointColl(br_scalar *f, br_matrix4 *m, br_scalar *d); + +// Offset: 57692 +// Size: 638 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar ThreePointCollRec(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n, tCollision_info *c); + +// Offset: 58332 +// Size: 639 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar FourPointColl(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n, tCollision_info *c); + +// Offset: 58972 +// Size: 228 +// EAX: pNum_rays +// EDX: a +// EBX: b +// ECX: nor +void MultiFindFloorInBoxM(int pNum_rays, br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCar_spec *c, int *mat_ref); + +// Offset: 59200 +// Size: 338 +// EAX: pNum_rays +// EDX: a +// EBX: b +// ECX: nor +void MultiFindFloorInBoxBU(int pNum_rays, br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCar_spec *c, int *mat_ref); + +// Offset: 59540 +// Size: 149 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +void findfloor(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d); + +// Offset: 59692 +// Size: 157 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxM(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c); + +// Offset: 59852 +// Size: 278 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxBU(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c); + +// Offset: 60132 +// Size: 443 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxBU2(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c); + +// Offset: 60576 +// Size: 157 +// EAX: a +// EDX: b +// EBX: nor +// ECX: d +int FindFloorInBoxM2(br_vector3 *a, br_vector3 *b, br_vector3 *nor, br_scalar *d, tCollision_info *c); + +// Offset: 60736 +// Size: 1324 +// EAX: pB +// EDX: pM +// EBX: pMold +// ECX: pPoint_list +int BoxFaceIntersect(br_bounds *pB, br_matrix34 *pM, br_matrix34 *pMold, br_vector3 *pPoint_list, br_vector3 *pNorm_list, br_scalar *pDist_list, int pMax_pnts, tCollision_info *c); + +// Offset: 62060 +// Size: 3591 +// EAX: p1 +// EDX: p2 +// EBX: pB +// ECX: pMold +int AddEdgeCollPoints(br_vector3 *p1, br_vector3 *p2, br_bounds *pB, br_matrix34 *pMold, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int n, int pMax_pnts, tCollision_info *c); + +// Offset: 65652 +// Size: 118 +// EAX: n +// EDX: p +void GetPlaneNormal(br_vector3 *n, int p); + +// Offset: 65772 +// Size: 534 +// EAX: pos +// EDX: edge +// EBX: pB +// ECX: plane1 +int GetBoundsEdge(br_vector3 *pos, br_vector3 *edge, br_bounds *pB, int plane1, int plane2, br_vector3 *a, br_vector3 *b, br_vector3 *c, int flag); + +// Offset: 66308 +// Size: 603 +// EAX: pTime_difference +void oldMoveOurCar(tU32 pTime_difference); + +// Offset: 66912 +// Size: 34 +void ToggleCollisionDetection(); + +// Offset: 66948 +// Size: 84 +void CancelPendingCunningStunt(); + +// Offset: 67032 +// Size: 61 +float frac(float pN); + +// Offset: 67096 +// Size: 601 +// EAX: pCar +void SetAmbientPratCam(tCar_spec *pCar); + +// Offset: 67700 +// Size: 3599 +// EAX: pFrame_period +void MungeCarGraphics(tU32 pFrame_period); + +// Offset: 71300 +// Size: 179 +void ResetCarScreens(); + +// Offset: 71480 +// Size: 208 +tCar_spec* GetRaceLeader(); + +// Offset: 71688 +// Size: 555 +void AmIGettingBoredWatchingCameraSpin(); + +// Offset: 72244 +// Size: 161 +void ViewNetPlayer(); + +// Offset: 72408 +// Size: 251 +void ViewOpponent(); + +// Offset: 72660 +// Size: 134 +void ToggleCarToCarCollisions(); + +// Offset: 72796 +// Size: 34 +void SwapCar(); + +// Offset: 72832 +// Size: 178 +void AdjustDownForce(); + +// Offset: 73012 +// Size: 134 +void FreezeMechanics(); + +// Offset: 73148 +// Size: 134 +void PutOpponentsInNeutral(); + +// Offset: 73284 +// Size: 133 +void SetPanningFieldOfView(); + +// Offset: 73420 +// Size: 232 +// EAX: pCar +void CheckDisablePlingMaterials(tCar_spec *pCar); + +// Offset: 73652 +// Size: 346 +// EAX: c +// EDX: pTime +void PositionExternalCamera(tCar_spec *c, tU32 pTime); + +// Offset: 74000 +// Size: 102 +// EAX: c +// EDX: pTime +void CameraBugFix(tCar_spec *c, tU32 pTime); + +// Offset: 74104 +// Size: 141 +// EAX: pActor +int PossibleRemoveNonCarFromWorld(br_actor *pActor); + +// Offset: 74248 +// Size: 117 +// EAX: pActor +void PutNonCarBackInWorld(br_actor *pActor); + +// Offset: 74368 +// Size: 2633 +// EAX: c +// EDX: pTime +int IncidentCam(tCar_spec *c, tU32 pTime); + +// Offset: 77004 +// Size: 1267 +// EAX: c +// EDX: type +// EBX: severity +// ECX: info +int MoveCamToIncident(tCar_spec *c, tIncident_type *type, float *severity, tIncident_info *info, tU32 *next_incident_time); + +// Offset: 78272 +// Size: 368 +// EAX: c +// EDX: pTime +void PanningExternalCamera(tCar_spec *c, tU32 pTime); + +// Offset: 78640 +// Size: 136 +// EAX: start +// EDX: end +int CheckForWall(br_vector3 *start, br_vector3 *end); + +// Offset: 78776 +// Size: 1383 +// EAX: c +void SetUpPanningCamera(tCar_spec *c); + +// Offset: 80160 +// Size: 97 +// EAX: i +void SaveCameraPosition(int i); + +// Offset: 80260 +// Size: 97 +// EAX: i +void RestoreCameraPosition(int i); + +// Offset: 80360 +// Size: 2107 +// EAX: c +// EDX: pTime +void NormalPositionExternalCamera(tCar_spec *c, tU32 pTime); + +// Offset: 82468 +// Size: 446 +// EAX: c +// EDX: vn +// EBX: manual_swing +void MoveWithWheels(tCar_spec *c, br_vector3 *vn, int manual_swing); + +// Offset: 82916 +// Size: 1828 +// EAX: c +// EDX: m1 +// EBX: m2 +// ECX: vn +void SwingCamera(tCar_spec *c, br_matrix34 *m1, br_matrix34 *m2, br_vector3 *vn, tU32 pTime); + +// Offset: 84744 +// Size: 776 +// EAX: c +// EDX: m1 +// EBX: m2 +void PointCameraAtCar(tCar_spec *c, br_matrix34 *m1, br_matrix34 *m2); + +// Offset: 85520 +// Size: 465 +// EAX: pos +// EDX: m2 +void PointCamera(br_vector3 *pos, br_matrix34 *m2); + +// Offset: 85988 +// Size: 2411 +// EAX: car_pos +// EDX: cam_pos +// EBX: old_camera_pos +// ECX: manual_move +int CollideCamera2(br_vector3 *car_pos, br_vector3 *cam_pos, br_vector3 *old_camera_pos, int manual_move); + +// Offset: 88400 +// Size: 141 +// EAX: bnds +// EDX: p +int BoundsTest(br_bounds *bnds, br_vector3 *p); + +// Offset: 88544 +// Size: 494 +// EAX: car_pos +// EDX: cam_pos +int CollideCameraWithOtherCars(br_vector3 *car_pos, br_vector3 *cam_pos); + +// Offset: 89040 +// Size: 511 +void InitialiseExternalCamera(); + +// Offset: 89552 +// Size: 44 +void FreezeCamera(); + +// Offset: 89596 +// Size: 2248 +// EAX: c +void FlyCar(tCar_spec *c, br_scalar dt); + +// Offset: 91844 +// Size: 157 +// EAX: v +// EDX: t +void DrVector3RotateY(br_vector3 *v, br_angle t); + +// Offset: 92004 +// Size: 237 +void CrashCarsTogether(br_scalar dt); + +// Offset: 92244 +// Size: 2384 +int CrashCarsTogetherSinglePass(br_scalar dt, int pPass, tCollison_data *collide_list); + +// Offset: 94628 +// Size: 142 +// EAX: car +void BringCarToAGrindingHalt(tCollision_info *car); + +// Offset: 94772 +// Size: 165 +// EAX: b1 +// EDX: b2 +int BoundsOverlapTest(br_bounds *b1, br_bounds *b2); + +// Offset: 94940 +// Size: 99 +// EAX: car1 +// EDX: car2 +int SimpleCarCarCollisionTest(tCollision_info *car1, tCollision_info *car2); + +// Offset: 95040 +// Size: 877 +// EAX: car1 +// EDX: car2 +int CollideTwoCarsWithWalls(tCollision_info *car1, tCollision_info *car2, br_scalar dt); + +// Offset: 95920 +// Size: 298 +// EAX: car1 +// EDX: car2 +int CollideTwoCarsRepeatedly(tCollision_info *car1, tCollision_info *car2, br_scalar dt); + +// Offset: 96220 +// Size: 3499 +// EAX: car1 +// EDX: car2 +// EBX: pPass +int CollideTwoCars(tCollision_info *car1, tCollision_info *car2, int pPass); + +// Offset: 99720 +// Size: 3598 +// EAX: pB1 +// EDX: pB2 +// EBX: pM21 +// ECX: pM12 +int GetEdgeEdgeCollisions(br_bounds *pB1, br_bounds *pB2, br_matrix34 *pM21, br_matrix34 *pM12, br_matrix34 *pMo21, br_matrix34 *pMo12, br_matrix34 *pM1o1, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int pMax); + +// Offset: 103320 +// Size: 1920 +// EAX: car1 +// EDX: car2 +// EBX: pMms +// ECX: pMoms +int FacePointCarCarCollide(tCollision_info *car1, tCollision_info *car2, br_matrix34 *pMms, br_matrix34 *pMoms, br_matrix34 *pMsos, br_vector3 *pPoint_list, br_vector3 *pNorm_list, int pMax, int order); + +// Offset: 105240 +// Size: 111 +// EAX: pCar +void MungeCarsMass(tCollision_info *pCar, br_scalar pFactor); + +// Offset: 105352 +// Size: 124 +// EAX: pCar_1 +// EDX: pCar_2 +void ModifyCarsMass(tCollision_info *pCar_1, tCollision_info *pCar_2); + +// Offset: 105476 +// Size: 144 +// EAX: pCar_1 +// EDX: pCar_2 +void ResetCarsMass(tCollision_info *pCar_1, tCollision_info *pCar_2); + +// Offset: 105620 +// Size: 8941 +// EAX: car1 +// EDX: car2 +// EBX: r +// ECX: n +int DoCollide(tCollision_info *car1, tCollision_info *car2, br_vector3 *r, br_vector3 *n, int k, int pPass, br_matrix34 *mat1_to_mat2); + +// Offset: 114564 +// Size: 417 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar TwoPointCollB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n); + +// Offset: 114984 +// Size: 827 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar ThreePointCollRecB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n); + +// Offset: 115812 +// Size: 789 +// EAX: f +// EDX: m +// EBX: d +// ECX: tau +br_scalar FourPointCollB(br_scalar *f, br_matrix4 *m, br_scalar *d, br_vector3 *tau, br_vector3 *n); + +// Offset: 116604 +// Size: 89 +// EAX: f +int TestForNan(float *f); + +// Offset: 116696 +// Size: 89 +void CheckCameraHither(); + +// Offset: 116788 +// Size: 525 +// EAX: pCar +void SetCarSuspGiveAndHeight(tCar_spec *pCar, br_scalar pFront_give_factor, br_scalar pRear_give_factor, br_scalar pDamping_factor, br_scalar pExtra_front_height, br_scalar pExtra_rear_height); + +// Offset: 117316 +// Size: 1023 +// EAX: car +int TestForCarInSensiblePlace(tCar_spec *car); + +// Offset: 118340 +// Size: 528 +// EAX: c1 +// EDX: c2 +// EBX: newmats +int TestOldMats(tCollision_info *c1, tCollision_info *c2, int newmats); + +// Offset: 118868 +// Size: 69 +// EAX: pActor +int PullActorFromWorld(br_actor *pActor); + +// Offset: 118940 +// Size: 681 +// EAX: pActor +int DoPullActorFromWorld(br_actor *pActor); + +// Offset: 119624 +// Size: 904 +// EAX: pTime +void CheckForDeAttachmentOfNonCars(tU32 pTime); + +// Offset: 120528 +// Size: 248 +// EAX: pActor +// EDX: pMat +void AdjustNonCar(br_actor *pActor, br_matrix34 *pMat); + +// Offset: 120776 +// Size: 240 +// EAX: c +void PipeSingleNonCar(tCollision_info *c); + +// Offset: 121016 +// Size: 169 +// EAX: pCar +// EDX: pFace_refs +int GetPrecalculatedFacesUnderCar(tCar_spec *pCar, tFace_ref **pFace_refs); + +// Offset: 121188 +// Size: 53 +br_material* SomeNearbyMaterial(); + +#endif diff --git a/src/DETHRACE/source/common/controls.c b/src/DETHRACE/source/common/controls.c index 26e736be..e6b763e6 100644 --- a/src/DETHRACE/source/common/controls.c +++ b/src/DETHRACE/source/common/controls.c @@ -1,6 +1,5 @@ #include "controls.h" -// Global variables tCheat gKev_keys[44]; char *gAbuse_text[10]; tEdit_func gEdit_funcs[10][18][8]; @@ -28,7 +27,7 @@ void AbortRace() { // Offset: 56 // Size: 271 void F4Key() { - tEdit_mode old_edit_mode; + tEdit_mode old_edit_mode; } // Offset: 328 @@ -57,7 +56,7 @@ void ShowSpecialVolumesIfRequ() { // Size: 261 // EAX: pIndex void DoEditModeKey(int pIndex) { - int modifiers; + int modifiers; } // Offset: 820 @@ -233,7 +232,7 @@ void MoveBonnetForward() { // Offset: 2736 // Size: 93 void SaveBonnet() { - tPath_name the_path; + tPath_name the_path; } // Offset: 2832 @@ -344,27 +343,26 @@ void CheckHelp() { // Offset: 4644 // Size: 313 void CheckLoadSave() { - int switched_res; + int switched_res; } // Offset: 4960 // Size: 364 // EAX: pRacing void CheckToggles(int pRacing) { - int i; - int new_state; + int i; + int new_state; } // Offset: 5324 // Size: 444 // EAX: pCar // EDX: pCheck_around -int CarWorldOffFallenCheckThingy(tCar_spec *pCar) { - int pCheck_around; - br_vector3 car_pos; - br_vector3 offset_c; - br_vector3 offset_w; - int result; +int CarWorldOffFallenCheckThingy(tCar_spec *pCar, int pCheck_around) { + br_vector3 car_pos; + br_vector3 offset_c; + br_vector3 offset_w; + int result; } // Offset: 5768 @@ -376,8 +374,8 @@ int HasCarFallenOffWorld(tCar_spec *pCar) { // Offset: 5824 // Size: 250 void CheckForBeingOutOfThisWorld() { - tU32 sLast_check; - int time_step; + tU32 sLast_check; + int time_step; } // Offset: 6076 @@ -410,54 +408,54 @@ void RecoverCar() { // Offset: 7112 // Size: 765 void CheckMapRenderMove() { - int amount; - float old_x; - float old_y; + int amount; + float old_x; + float old_y; } // Offset: 7880 // Size: 300 // EAX: pCar void ExplodeCar(tCar_spec *pCar) { - br_vector3 tv; - br_vector3 pos; + br_vector3 tv; + br_vector3 pos; } // Offset: 8180 // Size: 448 // EAX: pEndFrameTime void CheckRecoveryOfCars(tU32 pEndFrameTime) { - int i; - int time; - char s[256]; + int i; + int time; + char s[256]; } // Offset: 8628 // Size: 107 // EAX: pNumber void LoseSomePSPowerups(int pNumber) { - int index; + int index; } // Offset: 8736 // Size: 1771 void CheckOtherRacingKeys() { - int j; - int new_level; - int old_level; - char s[256]; - tU32 cost; - br_scalar ts; - br_vector3 tv; - int flip_up_flag; - tCar_spec *car; - float bodywork_repair_amount; - tU32 total_repair_cost; - tS3_sound_tag sound_tag; - br_scalar amount; - int NeedToExpandBoundingBox; - int total_difference; - int stopped_repairing; + int j; + int new_level; + int old_level; + char s[256]; + tU32 cost; + br_scalar ts; + br_vector3 tv; + int flip_up_flag; + tCar_spec *car; + float bodywork_repair_amount; + tU32 total_repair_cost; + tS3_sound_tag sound_tag; + br_scalar amount; + int NeedToExpandBoundingBox; + int total_difference; + int stopped_repairing; } // Offset: 10508 @@ -469,9 +467,9 @@ int CheckRecoverCost() { // Size: 279 // EAX: pCar void SortOutRecover(tCar_spec *pCar) { - int the_time; - int val; - int old_time; + int the_time; + int val; + int old_time; } // Offset: 11048 @@ -484,16 +482,16 @@ void SetFlipUpCar(tCar_spec *pCar) { // Size: 1385 // EAX: car void FlipUpCar(tCar_spec *car) { - br_vector3 tv; - br_vector3 dir; - int new_pos; - int i; - int j; - int l; - int count; - br_scalar dist; - br_material *material; - br_scalar t; + br_vector3 tv; + br_vector3 dir; + int new_pos; + int i; + int j; + int l; + int count; + br_scalar dist; + br_material *material; + br_scalar t; } // Offset: 12552 @@ -506,15 +504,15 @@ void GetPowerup(int pNum) { // Size: 112 // EAX: pRacing void CheckSystemKeys(int pRacing) { - tU32 start_menu_time; - int i; + tU32 start_menu_time; + int i; } // Offset: 12716 // Size: 395 void CheckKevKeys() { - tU32 *value; - char s[128]; + tU32 *value; + char s[128]; } // Offset: 13112 @@ -526,27 +524,27 @@ void BrakeInstantly() { // Size: 853 // EAX: pTime_difference void PollCarControls(tU32 pTime_difference) { - int decay_steering; - int decay_speed; - float decay_rate; - tS32 joyX; - tS32 joyY; - tCar_controls keys; - tJoystick joystick; - tCar_spec *c; + int decay_steering; + int decay_speed; + float decay_rate; + tS32 joyX; + tS32 joyY; + tCar_controls keys; + tJoystick joystick; + tCar_spec *c; } // Offset: 14160 // Size: 846 // EAX: pTime_difference void PollCameraControls(tU32 pTime_difference) { - int flag; - int left; - int right; - int swirl_mode; - int up_and_down_mode; - int going_up; - int last_swirl_mode; + int flag; + int left; + int right; + int swirl_mode; + int up_and_down_mode; + int going_up; + int last_swirl_mode; } // Offset: 15008 @@ -593,7 +591,7 @@ void LoseDosh() { // Offset: 15688 // Size: 301 void ToggleMap() { - int was_in_cockpit; + int was_in_cockpit; } // Offset: 15992 @@ -640,7 +638,7 @@ void CycleRoadTexturingLevel() { // Offset: 16960 // Size: 246 void CycleYonFactor() { - char factor_str[5]; + char factor_str[5]; } // Offset: 17208 @@ -668,7 +666,7 @@ void CycleSoundDetailLevel() { // Offset: 17584 // Size: 162 void CycleCarSimplificationLevel() { - char *dst; + char *dst; } // Offset: 17748 @@ -685,9 +683,9 @@ void ToggleSmoke() { // Size: 144 // EAX: pFont void DrawSomeText2(tDR_font *pFont) { - int y; - int i; - char *txt[15]; + int y; + int i; + char *txt[15]; } // Offset: 18244 @@ -708,30 +706,30 @@ void UserSendMessage() { // Offset: 18460 // Size: 815 void EnterUserMessage() { - int about_to_die; - tU32 next_time; - char *the_message; - char *p; - int len; - int the_key; - int abuse_num; + int about_to_die; + tU32 next_time; + char *the_message; + char *p; + int len; + int the_key; + int abuse_num; } // Offset: 19276 // Size: 435 void DisplayUserMessage() { - char *the_message; - int len; - tDR_font *font; + char *the_message; + int len; + tDR_font *font; } // Offset: 19712 // Size: 347 void InitAbuseomatic() { - char s[256]; - FILE *f; - int i; - int len; + char s[256]; + FILE *f; + int i; + int len; } // Offset: 20060 diff --git a/src/DETHRACE/source/common/controls.h b/src/DETHRACE/source/common/controls.h index fe07a3e5..a0bff9b8 100644 --- a/src/DETHRACE/source/common/controls.h +++ b/src/DETHRACE/source/common/controls.h @@ -1,5 +1,9 @@ +#ifndef _CONTROLS_H_ +#define _CONTROLS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 53 void AbortRace(); @@ -268,7 +272,7 @@ void CheckToggles(int pRacing); // Size: 444 // EAX: pCar // EDX: pCheck_around -int CarWorldOffFallenCheckThingy(tCar_spec *pCar); +int CarWorldOffFallenCheckThingy(tCar_spec *pCar, int pCheck_around); // Offset: 5768 // Size: 56 @@ -508,3 +512,4 @@ void InitAbuseomatic(); // Size: 94 void DisposeAbuseomatic(); +#endif diff --git a/src/DETHRACE/source/common/crush.c b/src/DETHRACE/source/common/crush.c index 1e657795..30b67222 100644 --- a/src/DETHRACE/source/common/crush.c +++ b/src/DETHRACE/source/common/crush.c @@ -1,6 +1,5 @@ #include "crush.h" -// Global variables float gWobble_spam_y[8]; float gWobble_spam_z[8]; int gSteal_ranks[5]; @@ -12,25 +11,25 @@ br_scalar gWheel_circ_to_width; // EAX: pF // EDX: pCrush_data int ReadCrushData(FILE *pF, tCrush_data *pCrush_data) { - char s[256]; - char *str; - int i; - int j; - int k; - tCrush_point_spec *the_spec; - tCrush_neighbour *the_neighbour; + char s[256]; + char *str; + int i; + int j; + int k; + tCrush_point_spec *the_spec; + tCrush_neighbour *the_neighbour; } // Offset: 620 // Size: 230 // EAX: pF float SkipCrushData(FILE *pF) { - int i; - int j; - int count_1; - int count_2; - char s[256]; - float softness; + int i; + int j; + int count_1; + int count_2; + char s[256]; + float softness; } // Offset: 852 @@ -38,18 +37,18 @@ float SkipCrushData(FILE *pF) { // EAX: pF // EDX: pCrush_data int WriteCrushData(FILE *pF, tCrush_data *pCrush_data) { - int i; - int j; - int k; - tCrush_point_spec *the_spec; - tCrush_neighbour *the_neighbour; + int i; + int j; + int k; + tCrush_point_spec *the_spec; + tCrush_neighbour *the_neighbour; } // Offset: 1556 // Size: 130 // EAX: pCrush_data void DisposeCrushData(tCrush_data *pCrush_data) { - int i; + int i; } // Offset: 1688 @@ -58,32 +57,31 @@ void DisposeCrushData(tCrush_data *pCrush_data) { // EDX: pModel_index // EBX: pModel // ECX: pCrush_point_index -void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pCrush_point_index, br_vector3 *pEnergy_vector, br_scalar total_energy) { - tCrush_data *pCrush_data; - int i; - int j; - int k; - int pipe_vertex_count; - int neighbour_index; - int bend_axis; - int default_bend_axis[3]; - tCrush_point_spec *the_crush_point; - tCrush_neighbour *the_neighbour; - br_vector3 *target_point; - br_vector3 old_vector; - br_vector3 softnesss; - br_vector3 movement; - br_scalar random_range; - br_scalar bend_amount; - br_scalar min_y_fold_down; - float default_bend_factor[3]; - float working_min_fold; - float working_max_fold; - float working_wibble; - float working_limit_deviant; - float working_split_chance; - tChanged_vertex pipe_array[600]; - tCar_spec *car; +void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pCrush_point_index, br_vector3 *pEnergy_vector, br_scalar total_energy, tCrush_data *pCrush_data) { + int i; + int j; + int k; + int pipe_vertex_count; + int neighbour_index; + int bend_axis; + int default_bend_axis[3]; + tCrush_point_spec *the_crush_point; + tCrush_neighbour *the_neighbour; + br_vector3 *target_point; + br_vector3 old_vector; + br_vector3 softnesss; + br_vector3 movement; + br_scalar random_range; + br_scalar bend_amount; + br_scalar min_y_fold_down; + float default_bend_factor[3]; + float working_min_fold; + float working_max_fold; + float working_wibble; + float working_limit_deviant; + float working_split_chance; + tChanged_vertex pipe_array[600]; + tCar_spec *car; } // Offset: 3344 @@ -92,26 +90,23 @@ void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pC // EDX: pModel_index // EBX: pActor // ECX: pImpact_point -void CrushModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector) { - tCrush_data *pCrush_data; - br_scalar this_distance; - br_scalar total_energy; - br_scalar nearest_so_far; - br_vector3 impact_point_model; - br_vector3 energy_vector_scaled; - br_vector3 energy_vector_model; - int i; - int nearest_index; - br_vertex *vertices; - br_vertex *the_vertex; - br_matrix34 inverse_transform; +void CrushModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector, tCrush_data *pCrush_data) { + br_scalar this_distance; + br_scalar total_energy; + br_scalar nearest_so_far; + br_vector3 impact_point_model; + br_vector3 energy_vector_scaled; + br_vector3 energy_vector_model; + int i; + int nearest_index; + br_vertex *vertices; + br_vertex *the_vertex; + br_matrix34 inverse_transform; } // Offset: 3872 // Size: 99 -void JitModelUpdate(br_actor *actor, br_model *model, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; +void JitModelUpdate(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen) { } // Offset: 3972 @@ -119,8 +114,7 @@ void JitModelUpdate(br_actor *actor, br_model *model, br_material *material, voi // EAX: pModel // EDX: pCar // EBX: crush_only -void SetModelForUpdate(br_model *pModel, tCar_spec *pCar) { - int crush_only; +void SetModelForUpdate(br_model *pModel, tCar_spec *pCar, int crush_only) { } // Offset: 4104 @@ -129,14 +123,13 @@ void SetModelForUpdate(br_model *pModel, tCar_spec *pCar) { // EDX: pModel_index // EBX: pActor // ECX: pCrush_data -void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tCrush_data *pCrush_data) { - br_scalar pMagnitude; - br_scalar total_energy; - br_vector3 energy_vector_model; - int i; - int the_index; - br_vertex *the_vertex; - br_vertex *vertices; +void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tCrush_data *pCrush_data, br_scalar pMagnitude) { + br_scalar total_energy; + br_vector3 energy_vector_model; + int i; + int the_index; + br_vertex *the_vertex; + br_vertex *vertices; } // Offset: 4484 @@ -145,16 +138,15 @@ void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tC // EDX: pModel_index // EBX: pActor // ECX: pUndamaged_vertices -br_scalar RepairModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vertex *pUndamaged_vertices, br_scalar pAmount) { - br_scalar *pTotal_deflection; - int i; - int j; - int pipe_vertex_count; - br_vector3 old_point; - br_vertex *model_vertex; - br_scalar amount; - br_scalar deviation; - tChanged_vertex pipe_array[600]; +br_scalar RepairModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vertex *pUndamaged_vertices, br_scalar pAmount, br_scalar *pTotal_deflection) { + int i; + int j; + int pipe_vertex_count; + br_vector3 old_point; + br_vertex *model_vertex; + br_scalar amount; + br_scalar deviation; + tChanged_vertex pipe_array[600]; } // Offset: 5148 @@ -163,10 +155,10 @@ br_scalar RepairModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_ve // EDX: pFrame_period // EBX: pTotal_deflection float RepairCar2(tCar_spec *pCar, tU32 pFrame_period, br_scalar *pTotal_deflection) { - int i; - tCar_actor *the_car_actor; - br_scalar amount; - br_scalar dummy; + int i; + tCar_actor *the_car_actor; + br_scalar amount; + br_scalar dummy; } // Offset: 5448 @@ -181,13 +173,13 @@ float RepairCar(tU16 pCar_ID, tU32 pFrame_period, br_scalar *pTotal_deflection) // Size: 710 // EAX: pCar void TotallyRepairACar(tCar_spec *pCar) { - int i; - int j; - int k; - int pipe_vertex_count; - tCar_actor *the_car_actor; - tChanged_vertex pipe_array[600]; - br_bounds storage_bounds; + int i; + int j; + int k; + int pipe_vertex_count; + tCar_actor *the_car_actor; + tChanged_vertex pipe_array[600]; + br_bounds storage_bounds; } // Offset: 6280 @@ -217,25 +209,23 @@ void SetKnackeredFlag(tCar_spec *pCar) { // EAX: pCar // EDX: pUnit_type // EBX: pDamage_amount -void DamageUnit2(tCar_spec *pCar, int pUnit_type) { - int pDamage_amount; - tDamage_unit *the_damage; - int last_level; +void DamageUnit2(tCar_spec *pCar, int pUnit_type, int pDamage_amount) { + tDamage_unit *the_damage; + int last_level; } // Offset: 7104 // Size: 236 // EAX: pCar void RecordLastDamage(tCar_spec *pCar) { - int i; + int i; } // Offset: 7340 // Size: 249 // EAX: pCar // EDX: pDamage_type -void DoDamage(tCar_spec *pCar, tDamage_type pDamage_type, float pMagnitude) { - float pNastiness; +void DoDamage(tCar_spec *pCar, tDamage_type pDamage_type, float pMagnitude, float pNastiness) { } // Offset: 7592 @@ -244,11 +234,11 @@ void DoDamage(tCar_spec *pCar, tDamage_type pDamage_type, float pMagnitude) { // EDX: pImpact_point // EBX: pEnergy void CheckPiledriverBonus(tCar_spec *pCar, br_vector3 *pImpact_point, br_vector3 *pEnergy) { - br_actor *child; - br_vector3 norm_impact; - br_vector3 norm_child; - br_vector3 norm_energy; - br_scalar dp; + br_actor *child; + br_vector3 norm_impact; + br_vector3 norm_child; + br_vector3 norm_energy; + br_scalar dp; } // Offset: 8244 @@ -261,8 +251,8 @@ tImpact_location CalcModifiedLocation(tCar_spec *pCar) { // Size: 222 // EAX: pHit_vector void DoPratcamHit(br_vector3 *pHit_vector) { - int strength_modifier; - br_scalar strength; + int strength_modifier; + br_scalar strength; } // Offset: 8620 @@ -271,61 +261,60 @@ void DoPratcamHit(br_vector3 *pHit_vector) { // EDX: pImpact_point // EBX: pEnergy_vector // ECX: pWas_hitting_a_car -void DamageSystems(tCar_spec *pCar, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector) { - int pWas_hitting_a_car; - int i; - int j; - int result; - br_bounds crushed_car_bounds; - float proportion_x; - float proportion_y; - float proportion_z; - float energy_magnitude; - float pure_energy_magnitude; - br_scalar x; - br_scalar y; - br_scalar z; - br_scalar x1; - br_scalar x2; - br_scalar y1; - br_scalar y2; - br_scalar z1; - br_scalar z2; - br_scalar distance; - tImpact_location impact_location; - tDamage_program *the_program; - tDamage_clause *the_clause; - tDamage_condition *the_condition; - tDamage_effect *the_effect; - tImpact_location modified_location; +void DamageSystems(tCar_spec *pCar, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector, int pWas_hitting_a_car) { + int i; + int j; + int result; + br_bounds crushed_car_bounds; + float proportion_x; + float proportion_y; + float proportion_z; + float energy_magnitude; + float pure_energy_magnitude; + br_scalar x; + br_scalar y; + br_scalar z; + br_scalar x1; + br_scalar x2; + br_scalar y1; + br_scalar y2; + br_scalar z1; + br_scalar z2; + br_scalar distance; + tImpact_location impact_location; + tDamage_program *the_program; + tDamage_clause *the_clause; + tDamage_condition *the_condition; + tDamage_effect *the_effect; + tImpact_location modified_location; } // Offset: 10840 // Size: 210 // EAX: pVelocity tImpact_location GetDirection(br_vector3 *pVelocity) { - br_scalar mag_x; - br_scalar mag_y; - br_scalar mag_z; + br_scalar mag_x; + br_scalar mag_y; + br_scalar mag_z; } // Offset: 11052 // Size: 92 // EAX: pCar void SetSmokeLastDamageLevel(tCar_spec *pCar) { - int i; + int i; } // Offset: 11144 // Size: 318 // EAX: pCar void SortOutSmoke(tCar_spec *pCar) { - int i; - int colour; - int old_colour; - int step; - int pass; - int repeat; + int i; + int colour; + int old_colour; + int step; + int pass; + int repeat; } // Offset: 11464 @@ -339,58 +328,58 @@ void StealCar(tCar_spec *pCar) { // EAX: pCar1 // EDX: pCar2 int DoCrashEarnings(tCar_spec *pCar1, tCar_spec *pCar2) { - tCar_spec *culprit; - tCar_spec *victim; - int i; - int net_loop; - int head_on; - int bonus_level; - int credits; - int impact_in_moving_direction_1; - int impact_in_moving_direction_2; - int car_off_ground_1; - int car_off_ground_2; - int total_units_of_damage; - int inherited_damage; - int dam_acc_1; - int dam_acc_2; - int car_1_culpable; - int car_2_culpable; - int mutual_culpability; - tU32 the_time; - tU32 time; - float credits_squared; - tU32 last_earn_time; - char s[256]; - tImpact_location modified_location_1; - tImpact_location modified_location_2; - tImpact_location car_direction_1; - tImpact_location car_direction_2; - br_scalar car_1_height; - br_scalar car_2_height; - br_scalar dp; - br_vector3 car_1_pos; - br_vector3 car_2_pos; - br_vector3 car_1_offset; - br_vector3 car_2_offset; - tNet_message *message; + tCar_spec *culprit; + tCar_spec *victim; + int i; + int net_loop; + int head_on; + int bonus_level; + int credits; + int impact_in_moving_direction_1; + int impact_in_moving_direction_2; + int car_off_ground_1; + int car_off_ground_2; + int total_units_of_damage; + int inherited_damage; + int dam_acc_1; + int dam_acc_2; + int car_1_culpable; + int car_2_culpable; + int mutual_culpability; + tU32 the_time; + tU32 time; + float credits_squared; + tU32 last_earn_time; + char s[256]; + tImpact_location modified_location_1; + tImpact_location modified_location_2; + tImpact_location car_direction_1; + tImpact_location car_direction_2; + br_scalar car_1_height; + br_scalar car_2_height; + br_scalar dp; + br_vector3 car_1_pos; + br_vector3 car_2_pos; + br_vector3 car_1_offset; + br_vector3 car_2_offset; + tNet_message *message; } // Offset: 16868 // Size: 1028 // EAX: pFrame_period void DoWheelDamage(tU32 pFrame_period) { - int i; - int j; - int damage; - tCar_spec *car; - br_scalar y_amount; - br_scalar z_amount; - br_scalar wheel_circum; - br_scalar old_offset; - br_vector3 temp_vector; - br_vector3 wonky_vector; - int kev_index[4]; + int i; + int j; + int damage; + tCar_spec *car; + br_scalar y_amount; + br_scalar z_amount; + br_scalar wheel_circum; + br_scalar old_offset; + br_vector3 temp_vector; + br_vector3 wonky_vector; + int kev_index[4]; } // Offset: 17896 diff --git a/src/DETHRACE/source/common/crush.h b/src/DETHRACE/source/common/crush.h index ce6d7740..8ff9c5c8 100644 --- a/src/DETHRACE/source/common/crush.h +++ b/src/DETHRACE/source/common/crush.h @@ -1,5 +1,9 @@ +#ifndef _CRUSH_H_ +#define _CRUSH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 620 // EAX: pF @@ -28,7 +32,7 @@ void DisposeCrushData(tCrush_data *pCrush_data); // EDX: pModel_index // EBX: pModel // ECX: pCrush_point_index -void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pCrush_point_index, br_vector3 *pEnergy_vector, br_scalar total_energy); +void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pCrush_point_index, br_vector3 *pEnergy_vector, br_scalar total_energy, tCrush_data *pCrush_data); // Offset: 3344 // Size: 527 @@ -36,18 +40,18 @@ void CrushModelPoint(tCar_spec *pCar, int pModel_index, br_model *pModel, int pC // EDX: pModel_index // EBX: pActor // ECX: pImpact_point -void CrushModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector); +void CrushModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector, tCrush_data *pCrush_data); // Offset: 3872 // Size: 99 -void JitModelUpdate(br_actor *actor, br_model *model, br_material *material, void *render_data); +void JitModelUpdate(br_actor *actor, br_model *model, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 3972 // Size: 131 // EAX: pModel // EDX: pCar // EBX: crush_only -void SetModelForUpdate(br_model *pModel, tCar_spec *pCar); +void SetModelForUpdate(br_model *pModel, tCar_spec *pCar, int crush_only); // Offset: 4104 // Size: 380 @@ -55,7 +59,7 @@ void SetModelForUpdate(br_model *pModel, tCar_spec *pCar); // EDX: pModel_index // EBX: pActor // ECX: pCrush_data -void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tCrush_data *pCrush_data); +void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tCrush_data *pCrush_data, br_scalar pMagnitude); // Offset: 4484 // Size: 662 @@ -63,7 +67,7 @@ void TotallySpamTheModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, tC // EDX: pModel_index // EBX: pActor // ECX: pUndamaged_vertices -br_scalar RepairModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vertex *pUndamaged_vertices, br_scalar pAmount); +br_scalar RepairModel(tCar_spec *pCar, int pModel_index, br_actor *pActor, br_vertex *pUndamaged_vertices, br_scalar pAmount, br_scalar *pTotal_deflection); // Offset: 5148 // Size: 298 @@ -107,7 +111,7 @@ void SetKnackeredFlag(tCar_spec *pCar); // EAX: pCar // EDX: pUnit_type // EBX: pDamage_amount -void DamageUnit2(tCar_spec *pCar, int pUnit_type); +void DamageUnit2(tCar_spec *pCar, int pUnit_type, int pDamage_amount); // Offset: 7104 // Size: 236 @@ -118,7 +122,7 @@ void RecordLastDamage(tCar_spec *pCar); // Size: 249 // EAX: pCar // EDX: pDamage_type -void DoDamage(tCar_spec *pCar, tDamage_type pDamage_type, float pMagnitude); +void DoDamage(tCar_spec *pCar, tDamage_type pDamage_type, float pMagnitude, float pNastiness); // Offset: 7592 // Size: 650 @@ -143,7 +147,7 @@ void DoPratcamHit(br_vector3 *pHit_vector); // EDX: pImpact_point // EBX: pEnergy_vector // ECX: pWas_hitting_a_car -void DamageSystems(tCar_spec *pCar, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector); +void DamageSystems(tCar_spec *pCar, br_vector3 *pImpact_point, br_vector3 *pEnergy_vector, int pWas_hitting_a_car); // Offset: 10840 // Size: 210 @@ -182,3 +186,4 @@ void DoWheelDamage(tU32 pFrame_period); // EDX: pCar2 void CrashEarnings(tCar_spec *pCar1, tCar_spec *pCar2); +#endif diff --git a/src/DETHRACE/source/common/cutscene.c b/src/DETHRACE/source/common/cutscene.c index 1f976c8c..e6e3b4d6 100644 --- a/src/DETHRACE/source/common/cutscene.c +++ b/src/DETHRACE/source/common/cutscene.c @@ -1,13 +1,12 @@ #include "cutscene.h" -// Global variables tS32 gLast_demo_end_anim; // Offset: 0 // Size: 118 void* radmalloc(unsigned long numbytes) { - unsigned char *temp; - unsigned char i; + unsigned char *temp; + unsigned char i; } // Offset: 120 @@ -20,7 +19,7 @@ void radfree(void *ptr) { // EAX: pIndex // EDX: pWait_end // EBX: pSound_ID -void ShowCutScene(int pIndex, int pWait_end, int pSound_ID, br_scalar pDelay, signed char __unk4__) { +void ShowCutScene(int pIndex, int pWait_end, int pSound_ID, br_scalar pDelay) { } // Offset: 360 @@ -37,14 +36,14 @@ void DoStainlessLogo() { // Size: 844 // EAX: pSmack_name void PlaySmackerFile(char *pSmack_name) { - tPath_name the_path; - br_colour *br_colours_ptr; - tU8 *smack_colours_ptr; - Smack *smk; - int i; - int j; - int len; - int fuck_off; + tPath_name the_path; + br_colour *br_colours_ptr; + tU8 *smack_colours_ptr; + Smack *smk; + int i; + int j; + int len; + int fuck_off; } // Offset: 1276 @@ -65,7 +64,7 @@ void DoGoToRaceAnimation() { // Offset: 1452 // Size: 215 void DoEndRaceAnimation() { - int went_up_a_rank; + int went_up_a_rank; } // Offset: 1668 diff --git a/src/DETHRACE/source/common/cutscene.h b/src/DETHRACE/source/common/cutscene.h index c320bc8a..9f92ad0d 100644 --- a/src/DETHRACE/source/common/cutscene.h +++ b/src/DETHRACE/source/common/cutscene.h @@ -1,5 +1,9 @@ +#ifndef _CUTSCENE_H_ +#define _CUTSCENE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 118 void* radmalloc(unsigned long numbytes); @@ -13,7 +17,7 @@ void radfree(void *ptr); // EAX: pIndex // EDX: pWait_end // EBX: pSound_ID -void ShowCutScene(int pIndex, int pWait_end, int pSound_ID, br_scalar pDelay, signed char __unk4__); +void ShowCutScene(int pIndex, int pWait_end, int pSound_ID, br_scalar pDelay); // Offset: 360 // Size: 34 @@ -56,3 +60,4 @@ void DoGameCompletedAnimation(); // Size: 70 void StartLoadingScreen(); +#endif diff --git a/src/DETHRACE/source/common/demo.c b/src/DETHRACE/source/common/demo.c index da02d073..b7db943f 100644 --- a/src/DETHRACE/source/common/demo.c +++ b/src/DETHRACE/source/common/demo.c @@ -1,18 +1,17 @@ #include "demo.h" -// Global variables int gLast_demo; // Offset: 0 // Size: 476 void DoDemo() { - tS32 frame_time; - FILE *f; - tPath_name the_path; - int i; - int count; - char s[256]; - char *str; - tS3_sound_tag song_tag; + tS32 frame_time; + FILE *f; + tPath_name the_path; + int i; + int count; + char s[256]; + char *str; + tS3_sound_tag song_tag; } diff --git a/src/DETHRACE/source/common/demo.h b/src/DETHRACE/source/common/demo.h index eca6aadd..f83ca71e 100644 --- a/src/DETHRACE/source/common/demo.h +++ b/src/DETHRACE/source/common/demo.h @@ -1,6 +1,11 @@ +#ifndef _DEMO_H_ +#define _DEMO_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 476 void DoDemo(); +#endif diff --git a/src/DETHRACE/source/common/depth.c b/src/DETHRACE/source/common/depth.c index b7bc39f5..b3b63f04 100644 --- a/src/DETHRACE/source/common/depth.c +++ b/src/DETHRACE/source/common/depth.c @@ -1,6 +1,5 @@ #include "depth.h" -// Global variables tDepth_effect gDistance_depth_effects[4]; br_scalar gSky_height; br_scalar gSky_x_multiplier; @@ -37,16 +36,16 @@ br_angle gSky_image_underground; // Size: 110 // EAX: pNumber int Log2(int pNumber) { - int i; - int bits[16]; + int i; + int bits[16]; } // Offset: 112 // Size: 130 br_scalar CalculateWrappingMultiplier(br_scalar pValue, br_scalar pYon) { - br_scalar k; - br_scalar trunc_k; - int int_k; + br_scalar k; + br_scalar trunc_k; + int int_k; } // Offset: 244 @@ -59,14 +58,14 @@ br_scalar DepthCueingShiftToDistance(int pShift) { // Size: 210 // EAX: pMaterial void FogAccordingToGPSCDE(br_material *pMaterial) { - int start; - int end; + int start; + int end; } // Offset: 536 // Size: 206 void FrobFog() { - br_material *mat; + br_material *mat; } // Offset: 744 @@ -75,8 +74,7 @@ void FrobFog() { // EDX: pSky_texture // EBX: pStart // ECX: pEnd -void InstantDepthChange(tDepth_effect_type pType, br_pixelmap *pSky_texture, int pStart) { - int pEnd; +void InstantDepthChange(tDepth_effect_type pType, br_pixelmap *pSky_texture, int pStart, int pEnd) { } // Offset: 916 @@ -90,9 +88,9 @@ br_scalar Tan(br_scalar pAngle) { // EDX: pView // EBX: pPerfect br_scalar EdgeU(br_angle pSky, br_angle pView, br_angle pPerfect) { - br_scalar a; - br_scalar b; - br_scalar c; + br_scalar a; + br_scalar b; + br_scalar c; } // Offset: 1224 @@ -100,34 +98,34 @@ br_scalar EdgeU(br_angle pSky, br_angle pView, br_angle pPerfect) { // EAX: pCamera // EDX: pModel void MungeSkyModel(br_actor *pCamera, br_model *pModel) { - br_camera *camera_data; - br_scalar horizon_half_height; - br_scalar horizon_half_width; - br_scalar horizon_half_diag; - br_scalar tan_half_fov; - br_scalar sky_distance; - br_angle half_hori_fov; - br_angle half_diag_fov; - tU8 nbands; - tU8 band; - tU8 vertex; - tU8 stripe; - br_scalar edge_u; - br_scalar narrow_u; - br_angle min_angle; - br_angle angle_range; - br_angle angle; + br_camera *camera_data; + br_scalar horizon_half_height; + br_scalar horizon_half_width; + br_scalar horizon_half_diag; + br_scalar tan_half_fov; + br_scalar sky_distance; + br_angle half_hori_fov; + br_angle half_diag_fov; + tU8 nbands; + tU8 band; + tU8 vertex; + tU8 stripe; + br_scalar edge_u; + br_scalar narrow_u; + br_angle min_angle; + br_angle angle_range; + br_angle angle; } // Offset: 2828 // Size: 882 // EAX: pCamera br_model* CreateHorizonModel(br_actor *pCamera) { - tU8 nbands; - tU8 band; - tU8 vertex; - tU8 stripe; - br_model *model; + tU8 nbands; + tU8 band; + tU8 vertex; + tU8 stripe; + br_model *model; } // Offset: 3712 @@ -135,17 +133,18 @@ br_model* CreateHorizonModel(br_actor *pCamera) { // EAX: pName // EDX: pTable // EBX: pPower -void LoadDepthTable(char *pName, br_pixelmap **pTable, int *pPower, div_t the_path) { - int i; - int j; - tU8 temp; +void LoadDepthTable(char *pName, br_pixelmap **pTable, int *pPower) { + tPath_name the_path; + int i; + int j; + tU8 temp; } // Offset: 4120 // Size: 611 void InitDepthEffects() { - int i; - int j; + int i; + int j; } // Offset: 4732 @@ -154,20 +153,18 @@ void InitDepthEffects() { // EDX: pDepth_buffer // EBX: pShade_table // ECX: pShade_table_power -void DoDepthByShadeTable(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table, int pShade_table_power) { - int pStart; - int pEnd; - tU8 *render_ptr; - tU8 *shade_table_pixels; - tU16 *depth_ptr; - tU16 depth_value; - tU16 too_near; - int depth_shift_amount; - int depth_start; - int y; - int x; - int depth_line_skip; - int render_line_skip; +void DoDepthByShadeTable(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table, int pShade_table_power, int pStart, int pEnd) { + tU8 *render_ptr; + tU8 *shade_table_pixels; + tU16 *depth_ptr; + tU16 depth_value; + tU16 too_near; + int depth_shift_amount; + int depth_start; + int y; + int x; + int depth_line_skip; + int render_line_skip; } // Offset: 5504 @@ -177,27 +174,27 @@ void DoDepthByShadeTable(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer // EBX: pCamera // ECX: pCamera_to_world void ExternalSky(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_actor *pCamera, br_matrix34 *pCamera_to_world) { - int dst_x; - int src_x; - int dx; - int hori_y; - int top_y; - int hori_pixels; - br_angle yaw; - br_angle hori_sky; - br_angle pitch; - br_angle vert_sky; - br_camera *camera; - br_scalar tan_half_fov; - br_scalar tan_half_hori_fov; - br_scalar tan_half_hori_sky; - br_scalar hshift; - br_scalar tan_pitch; - tU8 top_col; - tU8 bot_col; - int bot_height; - int repetitions; - br_pixelmap *col_map; + int dst_x; + int src_x; + int dx; + int hori_y; + int top_y; + int hori_pixels; + br_angle yaw; + br_angle hori_sky; + br_angle pitch; + br_angle vert_sky; + br_camera *camera; + br_scalar tan_half_fov; + br_scalar tan_half_hori_fov; + br_scalar tan_half_hori_sky; + br_scalar hshift; + br_scalar tan_pitch; + tU8 top_col; + tU8 bot_col; + int bot_height; + int repetitions; + br_pixelmap *col_map; } // Offset: 6516 @@ -207,8 +204,8 @@ void ExternalSky(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_act // EBX: pCamera // ECX: pCamera_to_world void DoHorizon(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_actor *pCamera, br_matrix34 *pCamera_to_world) { - br_angle yaw; - br_actor *actor; + br_angle yaw; + br_actor *actor; } // Offset: 6980 @@ -247,50 +244,50 @@ void DepthEffectSky(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_ // Size: 627 // EAX: pCamera void DoWobbleCamera(br_actor *pCamera) { - float f_time; - br_scalar mag00; - br_scalar mag01; - br_scalar mag02; - br_scalar mag10; - br_scalar mag11; - br_scalar mag12; - br_scalar mag20; - br_scalar mag21; - br_scalar mag22; - float period00; - float period01; - float period02; - float period10; - float period11; - float period12; - float period20; - float period21; - float period22; + float f_time; + br_scalar mag00; + br_scalar mag01; + br_scalar mag02; + br_scalar mag10; + br_scalar mag11; + br_scalar mag12; + br_scalar mag20; + br_scalar mag21; + br_scalar mag22; + float period00; + float period01; + float period02; + float period10; + float period11; + float period12; + float period20; + float period21; + float period22; } // Offset: 7948 // Size: 627 // EAX: pCamera void DoDrugWobbleCamera(br_actor *pCamera) { - float f_time; - br_scalar mag00; - br_scalar mag01; - br_scalar mag02; - br_scalar mag10; - br_scalar mag11; - br_scalar mag12; - br_scalar mag20; - br_scalar mag21; - br_scalar mag22; - float period00; - float period01; - float period02; - float period10; - float period11; - float period12; - float period20; - float period21; - float period22; + float f_time; + br_scalar mag00; + br_scalar mag01; + br_scalar mag02; + br_scalar mag10; + br_scalar mag11; + br_scalar mag12; + br_scalar mag20; + br_scalar mag21; + br_scalar mag22; + float period00; + float period01; + float period02; + float period10; + float period11; + float period12; + float period20; + float period21; + float period22; } // Offset: 8576 @@ -323,28 +320,28 @@ void MoreDepthFactor2() { // Offset: 9156 // Size: 95 void AssertYons() { - int i; + int i; } // Offset: 9252 // Size: 140 void IncreaseYon() { - int i; - char s[256]; + int i; + char s[256]; } // Offset: 9392 // Size: 162 void DecreaseYon() { - int i; - char s[256]; + int i; + char s[256]; } // Offset: 9556 // Size: 127 void SetYon(br_scalar pYon) { - int i; - br_camera *camera_ptr; + int i; + br_camera *camera_ptr; } // Offset: 9684 @@ -355,15 +352,15 @@ br_scalar GetYon() { // Offset: 9732 // Size: 162 void IncreaseAngle() { - int i; - char s[256]; + int i; + char s[256]; } // Offset: 9896 // Size: 162 void DecreaseAngle() { - int i; - char s[256]; + int i; + char s[256]; } // Offset: 10060 @@ -406,8 +403,8 @@ void SetDepthCueingOn(int pOn) { // Offset: 10864 // Size: 110 void ToggleDepthCueingQuietly() { - int temp_start; - int temp_end; + int temp_start; + int temp_end; } // Offset: 10976 @@ -418,13 +415,13 @@ void ToggleDepthCueing() { // Offset: 11164 // Size: 74 void ChangeDepthEffect() { - br_scalar x2; - br_scalar y1; - br_scalar y2; - br_scalar z1; - br_scalar z2; - br_scalar distance; - tSpecial_volume *special_volume; + br_scalar x2; + br_scalar y1; + br_scalar y2; + br_scalar z1; + br_scalar z2; + br_scalar distance; + tSpecial_volume *special_volume; } // Offset: 11240 diff --git a/src/DETHRACE/source/common/depth.h b/src/DETHRACE/source/common/depth.h index 2f39f0dd..65f1b91f 100644 --- a/src/DETHRACE/source/common/depth.h +++ b/src/DETHRACE/source/common/depth.h @@ -1,5 +1,9 @@ +#ifndef _DEPTH_H_ +#define _DEPTH_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 110 // EAX: pNumber @@ -29,7 +33,7 @@ void FrobFog(); // EDX: pSky_texture // EBX: pStart // ECX: pEnd -void InstantDepthChange(tDepth_effect_type pType, br_pixelmap *pSky_texture, int pStart); +void InstantDepthChange(tDepth_effect_type pType, br_pixelmap *pSky_texture, int pStart, int pEnd); // Offset: 916 // Size: 90 @@ -58,7 +62,7 @@ br_model* CreateHorizonModel(br_actor *pCamera); // EAX: pName // EDX: pTable // EBX: pPower -void LoadDepthTable(char *pName, br_pixelmap **pTable, int *pPower, div_t the_path); +void LoadDepthTable(char *pName, br_pixelmap **pTable, int *pPower); // Offset: 4120 // Size: 611 @@ -70,7 +74,7 @@ void InitDepthEffects(); // EDX: pDepth_buffer // EBX: pShade_table // ECX: pShade_table_power -void DoDepthByShadeTable(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table, int pShade_table_power); +void DoDepthByShadeTable(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table, int pShade_table_power, int pStart, int pEnd); // Offset: 5504 // Size: 1009 @@ -226,3 +230,4 @@ void MungeForwardSky(); // Size: 60 void MungeRearviewSky(); +#endif diff --git a/src/DETHRACE/source/common/displays.c b/src/DETHRACE/source/common/displays.c index 083835ae..5a545de3 100644 --- a/src/DETHRACE/source/common/displays.c +++ b/src/DETHRACE/source/common/displays.c @@ -1,6 +1,5 @@ #include "displays.h" -// Global variables br_font *gBR_fonts[4]; tQueued_headup gQueued_headups[4]; int gOld_times[10]; @@ -51,8 +50,8 @@ void ClearHeadup(int pIndex) { // Size: 110 // EAX: pSlot_index void ClearHeadupSlot(int pSlot_index) { - int i; - tHeadup *the_headup; + int i; + tHeadup *the_headup; } // Offset: 340 @@ -72,15 +71,13 @@ int HeadupActive(int pIndex) { // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont) { - char *pText; - int pRight_edge; - int i; - int x; - int len; - int chr; - int ch_width; - unsigned char *ch; +void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge) { + int i; + int x; + int len; + int chr; + int ch_width; + unsigned char *ch; } // Offset: 1032 @@ -89,16 +86,14 @@ void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont) { // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont) { - signed char *pText; - int pRight_edge; - int i; - int x; - int len; - int chr; - int ch_width; - unsigned char *ch; - tDR_font *new_font; +void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, signed char *pText, int pRight_edge) { + int i; + int x; + int len; + int chr; + int ch_width; + unsigned char *ch; + tDR_font *new_font; } // Offset: 1584 @@ -107,25 +102,19 @@ void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFo // EDX: pLeft // EBX: pTop // ECX: pRight -void DeviouslyDimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { - int pRight; - int pBottom; - int pKnock_out_corners; +void DeviouslyDimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pKnock_out_corners) { } // Offset: 1832 // Size: 461 -void DimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { - int pRight; - int pBottom; - int pKnock_out_corners; - tU8 *ptr; - tU8 *depth_table_ptr; - tU8 *right_ptr; - int x; - int y; - int line_skip; - int width; +void DimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pKnock_out_corners) { + tU8 *ptr; + tU8 *depth_table_ptr; + tU8 *right_ptr; + int x; + int y; + int line_skip; + int width; } // Offset: 2296 @@ -144,7 +133,7 @@ void KillOldestQueuedHeadup() { // EDX: pY // EBX: pColour void DubreyBar(int pX_index, int pY, int pColour) { - int x; + int x; } // Offset: 2836 @@ -154,8 +143,8 @@ void DubreyBar(int pX_index, int pY, int pColour) { // EBX: pName // ECX: pBar_colour void DoPSPowerHeadup(int pY, int pLevel, char *pName, int pBar_colour) { - char s[16]; - int i; + char s[16]; + int i; } // Offset: 3168 @@ -167,32 +156,31 @@ void DoPSPowerupHeadups() { // Size: 2340 // EAX: pThe_time void DoHeadups(tU32 pThe_time) { - int i; - int x_offset; - int y_offset; - tHeadup *the_headup; - int time_factor; + int i; + int x_offset; + int y_offset; + tHeadup *the_headup; + int time_factor; } // Offset: 5672 // Size: 136 // EAX: pSlot_index int FindAHeadupHoleWoofBarkSoundsABitRude(int pSlot_index) { - int i; - int empty_one; - tHeadup *the_headup; + int i; + int empty_one; + tHeadup *the_headup; } // Offset: 5808 // Size: 144 // EAX: pFont // EDX: pText -int DRTextWidth(tDR_font *pFont) { - char *pText; - int i; - int len; - int result; - char *c; +int DRTextWidth(tDR_font *pFont, char *pText) { + int i; + int len; + int result; + char *c; } // Offset: 5952 @@ -200,10 +188,10 @@ int DRTextWidth(tDR_font *pFont) { // EAX: pFont // EDX: pText int DRTextCleverWidth(tDR_font *pFont, signed char *pText) { - int i; - int len; - int result; - unsigned char *c; + int i; + int len; + int result; + unsigned char *c; } // Offset: 6160 @@ -212,10 +200,8 @@ int DRTextCleverWidth(tDR_font *pFont, signed char *pText) { // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapCentredText(br_pixelmap *pPixelmap, int pX, int pY) { - tDR_font *pFont; - char *pText; - int width_over_2; +void DRPixelmapCentredText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText) { + int width_over_2; } // Offset: 6260 @@ -228,7 +214,7 @@ int IsHeadupTextClever(signed char *pText) { // Size: 562 // EAX: pHeadup int MungeHeadupWidth(tHeadup *pHeadup) { - int width; + int width; } // Offset: 6904 @@ -238,10 +224,10 @@ int MungeHeadupWidth(tHeadup *pHeadup) { // EBX: pLifetime // ECX: pFont_index int NewTextHeadupSlot2(int pSlot_index, int pFlash_rate, int pLifetime, int pFont_index, char *pText, int pQueue_it) { - int index; - tHeadup *the_headup; - tHeadup_slot *headup_slot; - tU32 time; + int index; + tHeadup *the_headup; + tHeadup_slot *headup_slot; + tU32 time; } // Offset: 7512 @@ -260,27 +246,27 @@ int NewTextHeadupSlot(int pSlot_index, int pFlash_rate, int pLifetime, int pFont // EBX: pLifetime // ECX: pImage_index int NewImageHeadupSlot(int pSlot_index, int pFlash_rate, int pLifetime, int pImage_index) { - int index; - tHeadup *the_headup; - tHeadup_slot *headup_slot; + int index; + tHeadup *the_headup; + tHeadup_slot *headup_slot; } // Offset: 8080 // Size: 284 // EAX: pIndex void DoFancyHeadup(int pIndex) { - tU32 the_time; - tHeadup *the_headup; - int temp_ref; + tU32 the_time; + tHeadup *the_headup; + int temp_ref; } // Offset: 8364 // Size: 407 void AdjustHeadups() { - int i; - int delta_x; - int delta_y; - tHeadup *the_headup; + int i; + int delta_x; + int delta_y; + tHeadup *the_headup; } // Offset: 8772 @@ -289,8 +275,8 @@ void AdjustHeadups() { // EDX: pNew_x // EBX: pNew_y void MoveHeadupTo(int pHeadup_index, int pNew_x, int pNew_y) { - int delta_x; - tHeadup *the_headup; + int delta_x; + tHeadup *the_headup; } // Offset: 8880 @@ -298,7 +284,7 @@ void MoveHeadupTo(int pHeadup_index, int pNew_x, int pNew_y) { // EAX: pHeadup_index // EDX: pNew_text void ChangeHeadupText(int pHeadup_index, char *pNew_text) { - tHeadup *the_headup; + tHeadup *the_headup; } // Offset: 8964 @@ -306,7 +292,7 @@ void ChangeHeadupText(int pHeadup_index, char *pNew_text) { // EAX: pHeadup_index // EDX: pNew_image void ChangeHeadupImage(int pHeadup_index, int pNew_image) { - tHeadup *the_headup; + tHeadup *the_headup; } // Offset: 9164 @@ -320,42 +306,42 @@ void ChangeHeadupColour(int pHeadup_index, int pNew_colour) { // Size: 427 // EAX: pThe_time void DoDamageScreen(tU32 pThe_time) { - int i; - int y_pitch; - int the_step; - int the_wobble_x; - int the_wobble_y; - br_pixelmap *the_image; - tDamage_unit *the_damage; + int i; + int y_pitch; + int the_step; + int the_wobble_x; + int the_wobble_y; + br_pixelmap *the_image; + tDamage_unit *the_damage; } // Offset: 9664 // Size: 404 -void PoshDrawLine(float pAngle, br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour, signed char __unk7__) { +void PoshDrawLine(float pAngle, br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour) { } // Offset: 10068 // Size: 3133 // EAX: pThe_time void DoInstruments(tU32 pThe_time) { - br_pixelmap *speedo_image; - br_pixelmap *tacho_image; - int the_wobble_x; - int the_wobble_y; - int gear; - double the_angle; - double the_angle2; - double sin_angle; - double cos_angle; - double speed_mph; + br_pixelmap *speedo_image; + br_pixelmap *tacho_image; + int the_wobble_x; + int the_wobble_y; + int gear; + double the_angle; + double the_angle2; + double sin_angle; + double cos_angle; + double speed_mph; } // Offset: 13204 // Size: 386 // EAX: pThe_time void DoSteeringWheel(tU32 pThe_time) { - br_pixelmap *hands_image; - int hands_index; + br_pixelmap *hands_image; + int hands_index; } // Offset: 13592 @@ -368,9 +354,9 @@ void ChangingView() { // EAX: pAmount // EDX: pPrefix_text void EarnCredits2(int pAmount, char *pPrefix_text) { - char s[256]; - int original_amount; - tU32 the_time; + char s[256]; + int original_amount; + tU32 the_time; } // Offset: 14600 @@ -383,17 +369,17 @@ void EarnCredits(int pAmount) { // Size: 103 // EAX: pAmount int SpendCredits(int pAmount) { - int amount; + int amount; } // Offset: 14756 // Size: 279 // EAX: pTime void AwardTime(tU32 pTime) { - char s[256]; - tU32 original_amount; - tU32 the_time; - int i; + char s[256]; + tU32 original_amount; + tU32 the_time; + int i; } // Offset: 15036 @@ -402,10 +388,7 @@ void AwardTime(tU32 pTime) { // EDX: pLeft // EBX: pTop // ECX: pRight -void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { - int pRight; - int pBottom; - int pColour; +void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pColour) { } // Offset: 15208 @@ -414,10 +397,7 @@ void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pRight -void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { - int pRight; - int pBottom; - int pColour; +void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pColour) { } // Offset: 15388 @@ -426,17 +406,18 @@ void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop) { // EDX: pText // EBX: pPixelmap // ECX: pLeft -void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pCentred, signed char font) { - int width; - int current_width; - int i; - int centre; - int line_char_index; - int input_str_index; - int start_line; - int current_y; - int font_needed_loading; - char line[256]; +void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pCentred) { + tDR_font *font; + int width; + int current_width; + int i; + int centre; + int line_char_index; + int input_str_index; + int start_line; + int current_y; + int font_needed_loading; + char line[256]; } // Offset: 16008 @@ -445,11 +426,9 @@ void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPi // EDX: pX // EBX: pY // ECX: pColour -void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pColour) { - br_font *pFont; - signed char *pText; - int i; - int len; +void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pColour, br_font *pFont, signed char *pText) { + int i; + int len; } // Offset: 16128 @@ -458,9 +437,7 @@ void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pCol // EDX: pX // EBX: pY // ECX: pFont -void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont) { - char *pText; - int pRight_edge; +void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge) { } // Offset: 16380 @@ -469,8 +446,6 @@ void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont // EDX: pX // EBX: pY // ECX: pFont -void TransDRPixelmapCleverText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont) { - char *pText; - int pRight_edge; +void TransDRPixelmapCleverText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge) { } diff --git a/src/DETHRACE/source/common/displays.h b/src/DETHRACE/source/common/displays.h index a5ba0c4c..dc885784 100644 --- a/src/DETHRACE/source/common/displays.h +++ b/src/DETHRACE/source/common/displays.h @@ -1,5 +1,9 @@ +#ifndef _DISPLAYS_H_ +#define _DISPLAYS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 56 // EAX: pStr @@ -35,7 +39,7 @@ int HeadupActive(int pIndex); // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont); +void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge); // Offset: 1032 // Size: 550 @@ -43,7 +47,7 @@ void DRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont); // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont); +void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, signed char *pText, int pRight_edge); // Offset: 1584 // Size: 248 @@ -51,11 +55,11 @@ void DRPixelmapCleverText2(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFo // EDX: pLeft // EBX: pTop // ECX: pRight -void DeviouslyDimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); +void DeviouslyDimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pKnock_out_corners); // Offset: 1832 // Size: 461 -void DimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); +void DimRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pKnock_out_corners); // Offset: 2296 // Size: 352 @@ -98,7 +102,7 @@ int FindAHeadupHoleWoofBarkSoundsABitRude(int pSlot_index); // Size: 144 // EAX: pFont // EDX: pText -int DRTextWidth(tDR_font *pFont); +int DRTextWidth(tDR_font *pFont, char *pText); // Offset: 5952 // Size: 206 @@ -112,7 +116,7 @@ int DRTextCleverWidth(tDR_font *pFont, signed char *pText); // EDX: pX // EBX: pY // ECX: pFont -void DRPixelmapCentredText(br_pixelmap *pPixelmap, int pX, int pY); +void DRPixelmapCentredText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText); // Offset: 6260 // Size: 77 @@ -189,7 +193,7 @@ void DoDamageScreen(tU32 pThe_time); // Offset: 9664 // Size: 404 -void PoshDrawLine(float pAngle, br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour, signed char __unk7__); +void PoshDrawLine(float pAngle, br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour); // Offset: 10068 // Size: 3133 @@ -232,7 +236,7 @@ void AwardTime(tU32 pTime); // EDX: pLeft // EBX: pTop // ECX: pRight -void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); +void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pColour); // Offset: 15208 // Size: 178 @@ -240,7 +244,7 @@ void DrawRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pRight -void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); +void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pColour); // Offset: 15388 // Size: 620 @@ -248,7 +252,7 @@ void DrawRRectangle(br_pixelmap *pPixelmap, int pLeft, int pTop); // EDX: pText // EBX: pPixelmap // ECX: pLeft -void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pCentred, signed char font); +void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPixelmap, int pLeft, int pTop, int pRight, int pBottom, int pCentred); // Offset: 16008 // Size: 117 @@ -256,7 +260,7 @@ void OoerrIveGotTextInMeBoxMissus(int pFont_index, char *pText, br_pixelmap *pPi // EDX: pX // EBX: pY // ECX: pColour -void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pColour); +void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pColour, br_font *pFont, signed char *pText); // Offset: 16128 // Size: 250 @@ -264,7 +268,7 @@ void TransBrPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, br_uint_32 pCol // EDX: pX // EBX: pY // ECX: pFont -void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont); +void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge); // Offset: 16380 // Size: 250 @@ -272,5 +276,6 @@ void TransDRPixelmapText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont // EDX: pX // EBX: pY // ECX: pFont -void TransDRPixelmapCleverText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont); +void TransDRPixelmapCleverText(br_pixelmap *pPixelmap, int pX, int pY, tDR_font *pFont, char *pText, int pRight_edge); +#endif diff --git a/src/DETHRACE/source/common/drfile.c b/src/DETHRACE/source/common/drfile.c index 370a539b..9ac64519 100644 --- a/src/DETHRACE/source/common/drfile.c +++ b/src/DETHRACE/source/common/drfile.c @@ -1,6 +1,5 @@ #include "drfile.h" -// Global variables br_filesystem *gOld_file_system; br_filesystem gFilesystem; @@ -22,13 +21,13 @@ void DRStdioClose(void *f) { // Offset: 168 // Size: 70 br_size_t DRStdioRead(void *buf, br_size_t size, unsigned int n, void *f) { - br_size_t result; + br_size_t result; } // Offset: 240 // Size: 70 br_size_t DRStdioWrite(void *buf, br_size_t size, unsigned int n, void *f) { - br_size_t result; + br_size_t result; } // Offset: 312 diff --git a/src/DETHRACE/source/common/drfile.h b/src/DETHRACE/source/common/drfile.h index 2b5ee607..a2f08ebf 100644 --- a/src/DETHRACE/source/common/drfile.h +++ b/src/DETHRACE/source/common/drfile.h @@ -1,5 +1,9 @@ +#ifndef _DRFILE_H_ +#define _DRFILE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 64 void* DRStdioOpenRead(char *name, br_size_t n_magics, br_mode_test_cbfn *identify, int *mode_result); @@ -24,3 +28,4 @@ br_size_t DRStdioWrite(void *buf, br_size_t size, unsigned int n, void *f); // Size: 187 void InstallDRFileCalls(); +#endif diff --git a/src/DETHRACE/source/common/drmem.c b/src/DETHRACE/source/common/drmem.c index f2a69971..b0b18dc6 100644 --- a/src/DETHRACE/source/common/drmem.c +++ b/src/DETHRACE/source/common/drmem.c @@ -1,6 +1,5 @@ #include "drmem.h" -// Global variables br_resource_class gStainless_classes[118]; char *gMem_names[247]; int gNon_fatal_allocation_errors; @@ -24,8 +23,8 @@ int AllocationErrorsAreFatal() { // Offset: 156 // Size: 34 void MAMSInitMem() { - FILE *f; - tPath_name the_path; + FILE *f; + tPath_name the_path; } // Offset: 192 @@ -38,15 +37,15 @@ void PrintMemoryDump(int pFlags, char *pTitle) { // Offset: 232 // Size: 169 void* DRStdlibAllocate(br_size_t size, br_uint_8 type) { - void *p; - int i; - char s[256]; + void *p; + int i; + char s[256]; } // Offset: 404 // Size: 38 void DRStdlibFree(void *mem) { - int i; + int i; } // Offset: 444 diff --git a/src/DETHRACE/source/common/drmem.h b/src/DETHRACE/source/common/drmem.h index ae1a7e98..4c4bc601 100644 --- a/src/DETHRACE/source/common/drmem.h +++ b/src/DETHRACE/source/common/drmem.h @@ -1,5 +1,9 @@ +#ifndef _DRMEM_H_ +#define _DRMEM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 44 void SetNonFatalAllocationErrors(); @@ -60,3 +64,4 @@ void CreateStainlessClasses(); // Size: 34 void CheckMemory(); +#endif diff --git a/src/DETHRACE/source/common/errors.c b/src/DETHRACE/source/common/errors.c index f23d0114..72ded25a 100644 --- a/src/DETHRACE/source/common/errors.c +++ b/src/DETHRACE/source/common/errors.c @@ -1,6 +1,5 @@ #include "errors.h" -// Global variables char *gError_messages[126]; int gError_code; char *gPalette_copy; @@ -11,21 +10,21 @@ char *gPixels_copy; // Offset: 0 // Size: 207 void FatalError(int pStr_index, ...) { - char the_str[1024]; - char *sub_str; - char temp_str[1024]; - char *sub_pt; - va_list ap; + char the_str[1024]; + char *sub_str; + char temp_str[1024]; + char *sub_pt; + va_list ap; } // Offset: 208 // Size: 172 void NonFatalError(int pStr_index, ...) { - char the_str[256]; - char *sub_str; - char temp_str[256]; - char *sub_pt; - va_list ap; + char the_str[256]; + char *sub_str; + char temp_str[256]; + char *sub_pt; + va_list ap; } // Offset: 380 diff --git a/src/DETHRACE/source/common/errors.h b/src/DETHRACE/source/common/errors.h index dfc68a3d..2d5614a4 100644 --- a/src/DETHRACE/source/common/errors.h +++ b/src/DETHRACE/source/common/errors.h @@ -1,5 +1,9 @@ +#ifndef _ERRORS_H_ +#define _ERRORS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 207 void FatalError(int pStr_index, ...); @@ -25,3 +29,4 @@ void dprintf(char *fmt_string); // EAX: pMisc_text_index int DoErrorInterface(int pMisc_text_index); +#endif diff --git a/src/DETHRACE/source/common/finteray.c b/src/DETHRACE/source/common/finteray.c index 308b4e71..8d34c4d4 100644 --- a/src/DETHRACE/source/common/finteray.c +++ b/src/DETHRACE/source/common/finteray.c @@ -1,6 +1,5 @@ #include "finteray.h" -// Global variables br_matrix34 gPick_model_to_view; int gPling_materials; int gTemp_group; @@ -32,9 +31,9 @@ void DRVector2AccumulateScale(br_vector2 *a, br_vector2 *b, br_scalar s) { // EDX: rp // EBX: rd int PickBoundsTestRay(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; + int i; + float s; + float t; } // Offset: 732 @@ -44,17 +43,17 @@ int PickBoundsTestRay(br_bounds *b, br_vector3 *rp, br_vector3 *rd, br_scalar t_ // EBX: pDir // ECX: model int ActorRayPick2D(br_actor *ap, br_vector3 *pPosition, br_vector3 *pDir, br_model *model, br_material *material, dr_pick2d_cbfn *callback) { - br_actor *a; - br_model *this_model; - br_material *this_material; - br_scalar t_near; - br_scalar t_far; - int r; - br_matrix34 mat; - br_matrix34 invmat; - br_vector3 pos; - br_vector3 dir; - void *arg; + br_actor *a; + br_model *this_model; + br_material *this_material; + br_scalar t_near; + br_scalar t_far; + int r; + br_matrix34 mat; + br_matrix34 invmat; + br_vector3 pos; + br_vector3 dir; + void *arg; } // Offset: 1444 @@ -72,52 +71,48 @@ int DRSceneRayPick2D(br_actor *world, br_vector3 *pPosition, br_vector3 *pDir, d // EDX: material // EBX: ray_pos // ECX: ray_dir -int DRModelPick2D(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; - int axis_0; - int axis_1; - br_scalar t; - br_scalar n; - br_scalar d; - br_vector3 p; - float u0; - float u1; - float u2; - float v0; - float v1; - float v2; - br_scalar v0i1; - br_scalar v0i2; - float alpha; - float beta; - float f_d; - float f_n; - br_scalar s_alpha; - br_scalar s_beta; - br_vector2 map; - int v; - int e; - int r; - br_material *this_material; - br_scalar numerator; - float f_numerator; - int group; +int DRModelPick2D(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; + int axis_0; + int axis_1; + br_scalar t; + br_scalar n; + br_scalar d; + br_vector3 p; + float u0; + float u1; + float u2; + float v0; + float v1; + float v2; + br_scalar v0i1; + br_scalar v0i2; + float alpha; + float beta; + float f_d; + float f_n; + br_scalar s_alpha; + br_scalar s_beta; + br_vector2 map; + int v; + int e; + int r; + br_material *this_material; + br_scalar numerator; + float f_numerator; + int group; } // Offset: 3604 // Size: 88 -int 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(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) { } // Offset: 3692 // Size: 112 -int 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(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) { } // Offset: 3804 @@ -127,7 +122,7 @@ int FindHighestCallBack(br_actor *pActor, br_model *pModel, br_material *pMateri // EBX: nor // ECX: t void FindFace(br_vector3 *pPosition, br_vector3 *pDir, br_vector3 *nor, br_scalar *t, br_material **material) { - int group; + int group; } // Offset: 4052 @@ -147,28 +142,28 @@ void DisablePlingMaterials() { // EBX: ray_dir // ECX: normal void CheckSingleFace(tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, br_vector3 *normal, br_scalar *rt) { - br_scalar t; - br_scalar numerator; - br_scalar d; - br_vector3 p; - br_vector3 tv; - int axis_m; - int axis_0; - int axis_1; - double u0; - double u1; - double u2; - double v0; - double v1; - double v2; - br_scalar v0i1; - br_scalar v0i2; - double alpha; - double beta; - double f_d; - double f_n; - double f_numerator; - br_material *this_material; + br_scalar t; + br_scalar numerator; + br_scalar d; + br_vector3 p; + br_vector3 tv; + int axis_m; + int axis_0; + int axis_1; + double u0; + double u1; + double u2; + double v0; + double v1; + double v2; + br_scalar v0i1; + br_scalar v0i2; + double alpha; + double beta; + double f_d; + double f_n; + double f_numerator; + br_material *this_material; } // Offset: 5288 @@ -177,25 +172,30 @@ void CheckSingleFace(tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, // EDX: pFace // EBX: ray_pos // ECX: ray_dir -void MultiRayCheckSingleFace(int pNum_rays, tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, br_vector3 *normal, br_scalar *rt, signed char i, double t, enum numerator, br_scalar d, signed char p) { - br_vector3 tv; - int axis_m; - int axis_0; - int axis_1; - double u0[4]; - double u1; - double u2; - double v0[4]; - double v1; - double v2; - br_scalar v0i1; - br_scalar v0i2; - double alpha; - double beta; - double f_d; - double f_n; - double f_numerator; - br_material *this_material; +void MultiRayCheckSingleFace(int pNum_rays, tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, br_vector3 *normal, br_scalar *rt) { + int i; + br_scalar t[4]; + br_scalar numerator; + br_scalar d; + br_vector3 p[4]; + br_vector3 tv; + int axis_m; + int axis_0; + int axis_1; + double u0[4]; + double u1; + double u2; + double v0[4]; + double v1; + double v2; + br_scalar v0i1; + br_scalar v0i2; + double alpha; + double beta; + double f_d; + double f_n; + double f_numerator; + br_material *this_material; } // Offset: 6808 @@ -204,9 +204,9 @@ void MultiRayCheckSingleFace(int pNum_rays, tFace_ref *pFace, br_vector3 *ray_po // EDX: b1 // EBX: m void GetNewBoundingBox(br_bounds *b2, br_bounds *b1, br_matrix34 *m) { - br_vector3 a; - br_vector3 c[3]; - int j; + br_vector3 a; + br_vector3 c[3]; + int j; } // Offset: 7472 @@ -214,20 +214,19 @@ void GetNewBoundingBox(br_bounds *b2, br_bounds *b1, br_matrix34 *m) { // EAX: bnds // EDX: face_list // EBX: max_face -int FindFacesInBox(tBounds *bnds, tFace_ref *face_list) { - int max_face; - br_vector3 a; - br_vector3 b; - br_vector3 c[3]; - int i; - int j; - int x; - int z; - tU8 cx_min; - tU8 cx_max; - tU8 cz_min; - tU8 cz_max; - tTrack_spec *track_spec; +int FindFacesInBox(tBounds *bnds, tFace_ref *face_list, int max_face) { + br_vector3 a; + br_vector3 b; + br_vector3 c[3]; + int i; + int j; + int x; + int z; + tU8 cx_min; + tU8 cx_max; + tU8 cz_min; + tU8 cz_max; + tTrack_spec *track_spec; } // Offset: 8968 @@ -235,13 +234,12 @@ int FindFacesInBox(tBounds *bnds, tFace_ref *face_list) { // EAX: bnds // EDX: face_list // EBX: max_face -int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list) { - int max_face; - br_vector3 a; - br_vector3 b; - br_vector3 c[3]; - int i; - int j; +int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list, int max_face) { + br_vector3 a; + br_vector3 b; + br_vector3 c[3]; + int i; + int j; } // Offset: 9916 @@ -250,21 +248,20 @@ int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list) { // EDX: ap // EBX: model // ECX: material -int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *material, tFace_ref *face_list, int max_face) { - br_matrix34 *pMat; - br_model *this_model; - br_material *this_material; - int i; - int n; - int test_children; - br_actor *a; - br_actor *next_a; - br_matrix34 mat; - br_matrix34 mat2; - br_matrix34 invmat; - br_matrix34 box_to_actor; - tBounds new_bounds; - br_bounds br_bnds; +int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *material, tFace_ref *face_list, int max_face, br_matrix34 *pMat) { + br_model *this_model; + br_material *this_material; + int i; + int n; + int test_children; + br_actor *a; + br_actor *next_a; + br_matrix34 mat; + br_matrix34 mat2; + br_matrix34 invmat; + br_matrix34 box_to_actor; + tBounds new_bounds; + br_bounds br_bnds; } // Offset: 10920 @@ -273,21 +270,20 @@ int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *mate // EDX: bnds // EBX: model // ECX: model_material -int ModelPickBox(br_actor *actor, tBounds *bnds, br_model *model, br_material *model_material, tFace_ref *face_list, int max_face) { - br_matrix34 *pMat; - int f; - int i; - int n; - int group; - DR_FACE *fp; - int v1; - int v2; - int v3; - br_vector3 polygon[12]; - br_vector3 a; - br_vector3 tv; - br_scalar t; - v11model *prepared; +int ModelPickBox(br_actor *actor, tBounds *bnds, br_model *model, br_material *model_material, tFace_ref *face_list, int max_face, br_matrix34 *pMat) { + int f; + int i; + int n; + int group; + DR_FACE *fp; + int v1; + int v2; + int v3; + br_vector3 polygon[12]; + br_vector3 a; + br_vector3 tv; + br_scalar t; + v11model *prepared; } // Offset: 13724 @@ -295,13 +291,12 @@ int ModelPickBox(br_actor *actor, tBounds *bnds, br_model *model, br_material *m // EAX: p // EDX: nv // EBX: i -void ClipToPlaneGE(br_vector3 *p, int *nv, int i) { - br_scalar limit; - int last_vertex; - int j; - int vertex; - int k; - br_vector3 p2[12]; +void ClipToPlaneGE(br_vector3 *p, int *nv, int i, br_scalar limit) { + int last_vertex; + int j; + int vertex; + int k; + br_vector3 p2[12]; } // Offset: 14340 @@ -309,13 +304,12 @@ void ClipToPlaneGE(br_vector3 *p, int *nv, int i) { // EAX: p // EDX: nv // EBX: i -void ClipToPlaneLE(br_vector3 *p, int *nv, int i) { - br_scalar limit; - int last_vertex; - int j; - int vertex; - int k; - br_vector3 p2[12]; +void ClipToPlaneLE(br_vector3 *p, int *nv, int i, br_scalar limit) { + int last_vertex; + int j; + int vertex; + int k; + br_vector3 p2[12]; } // Offset: 14956 @@ -331,8 +325,8 @@ int BoundsOverlapTest(br_bounds *b1, br_bounds *b2) { // EDX: b2 // EBX: M int BoundsTransformTest(br_bounds *b1, br_bounds *b2, br_matrix34 *M) { - br_scalar val; - br_vector3 o; + br_scalar val; + br_vector3 o; } // Offset: 16288 @@ -342,13 +336,13 @@ int BoundsTransformTest(br_bounds *b1, br_bounds *b2, br_matrix34 *M) { // EBX: pB // ECX: pHit_point int LineBoxColl(br_vector3 *o, br_vector3 *p, br_bounds *pB, br_vector3 *pHit_point) { - br_vector3 dir; - int inside; - int quad[3]; - int i; - int which_plane; - br_scalar max_t[3]; - br_scalar cp[3]; + br_vector3 dir; + int inside; + int quad[3]; + int i; + int which_plane; + br_scalar max_t[3]; + br_scalar cp[3]; } // Offset: 17048 @@ -356,8 +350,8 @@ int LineBoxColl(br_vector3 *o, br_vector3 *p, br_bounds *pB, br_vector3 *pHit_po // EAX: pB // EDX: pC int SphereBoxIntersection(br_bounds *pB, br_vector3 *pC, br_scalar pR_squared, br_vector3 *pHit_point) { - int i; - br_scalar d; + int i; + br_scalar d; } // Offset: 17348 @@ -367,8 +361,8 @@ int SphereBoxIntersection(br_bounds *pB, br_vector3 *pC, br_scalar pR_squared, b // EBX: pB // ECX: pHit_point int LineBoxCollWithSphere(br_vector3 *o, br_vector3 *p, br_bounds *pB, br_vector3 *pHit_point) { - int i; - int plane; + int i; + int plane; } // Offset: 17644 @@ -376,30 +370,30 @@ int LineBoxCollWithSphere(br_vector3 *o, br_vector3 *p, br_bounds *pB, br_vector // EAX: v1 // EDX: v2 int CompVert(int v1, int v2) { - br_vertex *vl; - br_vector3 tv; - br_vector2 tv2; + br_vertex *vl; + br_vector3 tv; + br_vector2 tv2; } // Offset: 17924 // Size: 305 // EAX: pFace void SetFacesGroup(int pFace) { - int f; - int v; - int i; + int f; + int v; + int i; } // Offset: 18232 // Size: 463 // EAX: pDir void SelectFace(br_vector3 *pDir) { - tCar_spec *c; - br_vector3 dir; - br_vector3 normal; - br_scalar t; - br_model *old_model; - int i; + tCar_spec *c; + br_vector3 dir; + br_vector3 normal; + br_scalar t; + br_model *old_model; + int i; } // Offset: 18696 @@ -407,11 +401,11 @@ void SelectFace(br_vector3 *pDir) { // EAX: min // EDX: max void GetTilingLimits(br_vector2 *min, br_vector2 *max) { - int f; - int i; - int j; - br_vertex *verts; - br_face *faces; + int f; + int i; + int j; + br_vertex *verts; + br_face *faces; } // Offset: 19144 @@ -419,13 +413,13 @@ void GetTilingLimits(br_vector2 *min, br_vector2 *max) { // EAX: pD // EDX: factor void Scale(int pD, int factor) { - br_vector2 min; - br_vector2 max; - int f; - int v; - br_scalar d; - br_vertex *verts; - br_face *faces; + br_vector2 min; + br_vector2 max; + int f; + int v; + br_scalar d; + br_vertex *verts; + br_face *faces; } // Offset: 19524 diff --git a/src/DETHRACE/source/common/finteray.h b/src/DETHRACE/source/common/finteray.h index c65785b1..c7c25416 100644 --- a/src/DETHRACE/source/common/finteray.h +++ b/src/DETHRACE/source/common/finteray.h @@ -1,5 +1,9 @@ +#ifndef _FINTERAY_H_ +#define _FINTERAY_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 104 int BadDiv(br_scalar a, br_scalar b); @@ -39,15 +43,15 @@ int DRSceneRayPick2D(br_actor *world, br_vector3 *pPosition, br_vector3 *pDir, d // EDX: material // EBX: ray_pos // ECX: ray_dir -int DRModelPick2D(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); +int DRModelPick2D(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); // Offset: 3604 // Size: 88 -int 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); +int 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); // Offset: 3692 // Size: 112 -int 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); +int 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); // Offset: 3804 // Size: 247 @@ -79,7 +83,7 @@ void CheckSingleFace(tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, // EDX: pFace // EBX: ray_pos // ECX: ray_dir -void MultiRayCheckSingleFace(int pNum_rays, tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, br_vector3 *normal, br_scalar *rt, signed char i, double t, enum numerator, br_scalar d, signed char p); +void MultiRayCheckSingleFace(int pNum_rays, tFace_ref *pFace, br_vector3 *ray_pos, br_vector3 *ray_dir, br_vector3 *normal, br_scalar *rt); // Offset: 6808 // Size: 662 @@ -93,14 +97,14 @@ void GetNewBoundingBox(br_bounds *b2, br_bounds *b1, br_matrix34 *m); // EAX: bnds // EDX: face_list // EBX: max_face -int FindFacesInBox(tBounds *bnds, tFace_ref *face_list); +int FindFacesInBox(tBounds *bnds, tFace_ref *face_list, int max_face); // Offset: 8968 // Size: 945 // EAX: bnds // EDX: face_list // EBX: max_face -int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list); +int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list, int max_face); // Offset: 9916 // Size: 1001 @@ -108,7 +112,7 @@ int FindFacesInBox2(tBounds *bnds, tFace_ref *face_list); // EDX: ap // EBX: model // ECX: material -int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *material, tFace_ref *face_list, int max_face); +int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *material, tFace_ref *face_list, int max_face, br_matrix34 *pMat); // Offset: 10920 // Size: 2803 @@ -116,21 +120,21 @@ int ActorBoxPick(tBounds *bnds, br_actor *ap, br_model *model, br_material *mate // EDX: bnds // EBX: model // ECX: model_material -int ModelPickBox(br_actor *actor, tBounds *bnds, br_model *model, br_material *model_material, tFace_ref *face_list, int max_face); +int ModelPickBox(br_actor *actor, tBounds *bnds, br_model *model, br_material *model_material, tFace_ref *face_list, int max_face, br_matrix34 *pMat); // Offset: 13724 // Size: 613 // EAX: p // EDX: nv // EBX: i -void ClipToPlaneGE(br_vector3 *p, int *nv, int i); +void ClipToPlaneGE(br_vector3 *p, int *nv, int i, br_scalar limit); // Offset: 14340 // Size: 613 // EAX: p // EDX: nv // EBX: i -void ClipToPlaneLE(br_vector3 *p, int *nv, int i); +void ClipToPlaneLE(br_vector3 *p, int *nv, int i, br_scalar limit); // Offset: 14956 // Size: 165 @@ -219,3 +223,4 @@ void SelectFaceForward(); // Size: 93 void SelectFaceDown(); +#endif diff --git a/src/DETHRACE/source/common/flicplay.c b/src/DETHRACE/source/common/flicplay.c index 192171e4..b7b92822 100644 --- a/src/DETHRACE/source/common/flicplay.c +++ b/src/DETHRACE/source/common/flicplay.c @@ -1,6 +1,5 @@ #include "flicplay.h" -// Global variables tFlic_bunch gFlic_bunch[9]; int gFlic_bunch8[16]; int gFlic_bunch4[22]; @@ -52,7 +51,7 @@ void DisableTranslationText() { // Size: 54 // EAX: pSound_ID // EDX: pSound_time -void SetFlicSound(int pSound_ID, tU32 pSound_time, signed char __unk2__) { +void SetFlicSound(int pSound_ID, tU32 pSound_time) { } // Offset: 144 @@ -139,7 +138,11 @@ void AssertFlicPixelmap(tFlic_descriptor_ptr pFlic_info, br_pixelmap *pDest_pixe // EDX: pIndex // EBX: pFlic_info // ECX: pSize -int StartFlic(char *pFile_name, int pIndex, tFlic_descriptor_ptr pFlic_info, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, int pFrame_rate, unsigned char claimed_speed, br_memory_classes magic_number, int the_path, struct total_size) { +int StartFlic(char *pFile_name, int pIndex, tFlic_descriptor_ptr pFlic_info, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, int pFrame_rate) { + tU16 claimed_speed; + tU16 magic_number; + tPath_name the_path; + int total_size; } // Offset: 1720 @@ -158,16 +161,16 @@ int EndFlic(tFlic_descriptor_ptr pFlic_info) { // EAX: pFlic_info // EDX: chunk_length void DoColourMap(tFlic_descriptor_ptr pFlic_info, tU32 chunk_length) { - int i; - int j; - int packet_count; - int skip_count; - int change_count; - int current_colour; - tU8 *palette_pixels; - tU8 red; - tU8 green; - tU8 blue; + int i; + int j; + int packet_count; + int skip_count; + int change_count; + int current_colour; + tU8 *palette_pixels; + tU8 red; + tU8 green; + tU8 blue; } // Offset: 2248 @@ -175,18 +178,18 @@ void DoColourMap(tFlic_descriptor_ptr pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoDifferenceX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int first_line; - int line_count; - int number_of_packets; - int skip_count; - int size_count; - tU8 *pixel_ptr; - tU8 *line_pixel_ptr; - tU8 the_byte; - tU32 the_row_bytes; + int i; + int j; + int k; + int first_line; + int line_count; + int number_of_packets; + int skip_count; + int size_count; + tU8 *pixel_ptr; + tU8 *line_pixel_ptr; + tU8 the_byte; + tU32 the_row_bytes; } // Offset: 2592 @@ -194,18 +197,18 @@ void DoDifferenceX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoDifferenceTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int first_line; - int line_count; - int number_of_packets; - int skip_count; - int size_count; - tU8 *pixel_ptr; - tU8 *line_pixel_ptr; - tU8 the_byte; - tU32 the_row_bytes; + int i; + int j; + int k; + int first_line; + int line_count; + int number_of_packets; + int skip_count; + int size_count; + tU8 *pixel_ptr; + tU8 *line_pixel_ptr; + tU8 the_byte; + tU32 the_row_bytes; } // Offset: 2972 @@ -213,16 +216,16 @@ void DoDifferenceTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoColour256(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int packet_count; - int skip_count; - int change_count; - int current_colour; - tU8 *palette_pixels; - tU8 red; - tU8 green; - tU8 blue; + int i; + int j; + int packet_count; + int skip_count; + int change_count; + int current_colour; + tU8 *palette_pixels; + tU8 red; + tU8 green; + tU8 blue; } // Offset: 3276 @@ -230,19 +233,19 @@ void DoColour256(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoDeltaTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int line_count; - int number_of_packets; - int skip_count; - int size_count; - tU8 *pixel_ptr; - tU8 the_byte; - tU8 the_byte2; - tU32 the_row_bytes; - tU16 *line_pixel_ptr; - tU16 the_word; + int i; + int j; + int k; + int line_count; + int number_of_packets; + int skip_count; + int size_count; + tU8 *pixel_ptr; + tU8 the_byte; + tU8 the_byte2; + tU32 the_row_bytes; + tU16 *line_pixel_ptr; + tU16 the_word; } // Offset: 3816 @@ -250,17 +253,17 @@ void DoDeltaTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoDeltaX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int line_count; - int number_of_packets; - int skip_count; - int size_count; - tU8 *pixel_ptr; - tU32 the_row_bytes; - tU16 *line_pixel_ptr; - tU16 the_word; + int i; + int j; + int k; + int line_count; + int number_of_packets; + int skip_count; + int size_count; + tU8 *pixel_ptr; + tU32 the_row_bytes; + tU16 *line_pixel_ptr; + tU16 the_word; } // Offset: 4172 @@ -268,12 +271,12 @@ void DoDeltaX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoBlack(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int the_width; - tU8 *pixel_ptr; - tU32 the_row_bytes; - tU32 *line_pixel_ptr; + int i; + int j; + int the_width; + tU8 *pixel_ptr; + tU32 the_row_bytes; + tU32 *line_pixel_ptr; } // Offset: 4328 @@ -281,15 +284,15 @@ void DoBlack(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoRunLengthX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int number_of_packets; - int size_count; - tU8 *pixel_ptr; - tU8 *line_pixel_ptr; - tU8 the_byte; - tU32 the_row_bytes; + int i; + int j; + int k; + int number_of_packets; + int size_count; + tU8 *pixel_ptr; + tU8 *line_pixel_ptr; + tU8 the_byte; + tU32 the_row_bytes; } // Offset: 4600 @@ -297,15 +300,15 @@ void DoRunLengthX(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoRunLengthTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int k; - int number_of_packets; - int size_count; - tU8 *pixel_ptr; - tU8 *line_pixel_ptr; - tU8 the_byte; - tU32 the_row_bytes; + int i; + int j; + int k; + int number_of_packets; + int size_count; + tU8 *pixel_ptr; + tU8 *line_pixel_ptr; + tU8 the_byte; + tU32 the_row_bytes; } // Offset: 4912 @@ -313,12 +316,12 @@ void DoRunLengthTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoUncompressed(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int the_width; - tU8 *pixel_ptr; - tU32 the_row_bytes; - tU32 *line_pixel_ptr; + int i; + int j; + int the_width; + tU8 *pixel_ptr; + tU32 the_row_bytes; + tU32 *line_pixel_ptr; } // Offset: 5072 @@ -326,13 +329,13 @@ void DoUncompressed(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // EAX: pFlic_info // EDX: chunk_length void DoUncompressedTrans(tFlic_descriptor *pFlic_info, tU32 chunk_length) { - int i; - int j; - int the_width; - tU8 *pixel_ptr; - tU8 *line_pixel_ptr; - tU8 the_byte; - tU32 the_row_bytes; + int i; + int j; + int the_width; + tU8 *pixel_ptr; + tU8 *line_pixel_ptr; + tU8 the_byte; + tU32 the_row_bytes; } // Offset: 5248 @@ -346,30 +349,28 @@ void DoMini(tFlic_descriptor *pFlic_info, tU32 chunk_length) { // Size: 377 // EAX: pFlic_info // EDX: pLast_frame -void DrawTranslations(tFlic_descriptor *pFlic_info) { - int pLast_frame; - tTranslation_record *trans; - int i; - int x; - int width; - int right_edge; +void DrawTranslations(tFlic_descriptor *pFlic_info, int pLast_frame) { + tTranslation_record *trans; + int i; + int x; + int width; + int right_edge; } // Offset: 5680 // Size: 783 // EAX: pFlic_info // EDX: pPanel_flic -int PlayNextFlicFrame2(tFlic_descriptor *pFlic_info) { - int pPanel_flic; - tU32 frame_length; - tU32 chunk_length; - int chunk_count; - int chunk_counter; - int chunk_type; - int magic_bytes; - int last_frame; - int data_knocked_off; - int read_amount; +int PlayNextFlicFrame2(tFlic_descriptor *pFlic_info, int pPanel_flic) { + tU32 frame_length; + tU32 chunk_length; + int chunk_count; + int chunk_counter; + int chunk_type; + int magic_bytes; + int last_frame; + int data_knocked_off; + int read_amount; } // Offset: 6464 @@ -384,8 +385,12 @@ int PlayNextFlicFrame(tFlic_descriptor *pFlic_info) { // EDX: pSize // EBX: pData_ptr // ECX: pDest_pixelmap -int PlayFlic(int pIndex, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, void (*DoPerFrame)(), int pInterruptable, int pFrame_rate, signed char finished_playing, br_memory_classes the_flic, struct new_time) { - tU32 frame_period; +int PlayFlic(int pIndex, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, void (*DoPerFrame)(), int pInterruptable, int pFrame_rate) { + int finished_playing; + tFlic_descriptor the_flic; + tU32 last_frame; + tU32 new_time; + tU32 frame_period; } // Offset: 6816 @@ -408,9 +413,9 @@ void InitFlics() { // Size: 395 // EAX: pIndex int LoadFlic(int pIndex) { - tPath_name the_path; - FILE *f; - char *the_buffer; + tPath_name the_path; + FILE *f; + char *the_buffer; } // Offset: 7488 @@ -424,7 +429,9 @@ void UnlockFlic(int pIndex) { // EAX: pName // EDX: pData // EBX: pData_length -int LoadFlicData(char *pName, tU8 **pData, tU32 *pData_length, short f, br_memory_classes the_path) { +int LoadFlicData(char *pName, tU8 **pData, tU32 *pData_length) { + FILE *f; + tPath_name the_path; } // Offset: 7824 @@ -457,21 +464,21 @@ void RunFlic(int pIndex) { // Size: 105 // EAX: pBunch_index void PreloadBunchOfFlics(int pBunch_index) { - int i; + int i; } // Offset: 8312 // Size: 105 // EAX: pBunch_index void UnlockBunchOfFlics(int pBunch_index) { - int i; + int i; } // Offset: 8420 // Size: 73 // EAX: pBunch_index void FlushAllFlics(int pBunch_index) { - int i; + int i; } // Offset: 8496 @@ -488,17 +495,17 @@ int FlicQueueFinished() { // Size: 230 // EAX: pInterval void ProcessFlicQueue(tU32 pInterval) { - tFlic_descriptor *the_flic; - tFlic_descriptor *last_flic; - tFlic_descriptor *doomed_flic; - tU32 new_time; - int finished_playing; + tFlic_descriptor *the_flic; + tFlic_descriptor *last_flic; + tFlic_descriptor *doomed_flic; + tU32 new_time; + int finished_playing; } // Offset: 8860 // Size: 138 void FlushFlicQueue() { - tFlic_descriptor *old_flic; + tFlic_descriptor *old_flic; } // Offset: 9000 @@ -508,10 +515,10 @@ void FlushFlicQueue() { // EBX: pY // ECX: pMust_finish void AddToFlicQueue(int pIndex, int pX, int pY, int pMust_finish) { - tFlic_descriptor *the_flic; - tFlic_descriptor *new_flic; - tFlic_descriptor *last_flic; - tFlic_descriptor *doomed_flic; + tFlic_descriptor *the_flic; + tFlic_descriptor *new_flic; + tFlic_descriptor *last_flic; + tFlic_descriptor *doomed_flic; } // Offset: 9424 @@ -521,7 +528,7 @@ void AddToFlicQueue(int pIndex, int pX, int pY, int pMust_finish) { // EBX: pTop // ECX: pWidth void InitialiseFlicPanel(int pIndex, int pLeft, int pTop, int pWidth, int pHeight) { - void *the_pixels; + void *the_pixels; } // Offset: 9632 @@ -534,13 +541,13 @@ void DisposeFlicPanel(int pIndex) { // Size: 502 // EAX: pCopy_to_buffer void ServicePanelFlics(int pCopy_to_buffer) { - tU32 time_diff; - tU32 the_time; - tU32 old_last_time[2]; - int i; - int j; - int iteration_count; - int finished; + tU32 time_diff; + tU32 the_time; + tU32 old_last_time[2]; + int i; + int j; + int iteration_count; + int finished; } // Offset: 10248 @@ -548,7 +555,7 @@ void ServicePanelFlics(int pCopy_to_buffer) { // EAX: pIndex // EDX: pData // EBX: pData_length -void ChangePanelFlic(int pIndex, tU8 *pData, tU32 pData_length, unsigned char __unk3__, br_memory_classes __unk4__) { +void ChangePanelFlic(int pIndex, tU8 *pData, tU32 pData_length) { } // Offset: 10456 @@ -560,15 +567,15 @@ br_pixelmap* GetPanelPixelmap(int pIndex) { // Offset: 10512 // Size: 1433 void LoadInterfaceStrings() { - char s[256]; - char s2[256]; - char *str; - char *comment; - char ch; - tPath_name the_path; - int i; - int j; - int len; + char s[256]; + char s2[256]; + char *str; + char *comment; + char ch; + tPath_name the_path; + int i; + int j; + int len; } // Offset: 11948 diff --git a/src/DETHRACE/source/common/flicplay.h b/src/DETHRACE/source/common/flicplay.h index 15b265d3..b64401eb 100644 --- a/src/DETHRACE/source/common/flicplay.h +++ b/src/DETHRACE/source/common/flicplay.h @@ -1,5 +1,9 @@ +#ifndef _FLICPLAY_H_ +#define _FLICPLAY_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 44 void EnableTranslationText(); @@ -12,7 +16,7 @@ void DisableTranslationText(); // Size: 54 // EAX: pSound_ID // EDX: pSound_time -void SetFlicSound(int pSound_ID, tU32 pSound_time, signed char __unk2__); +void SetFlicSound(int pSound_ID, tU32 pSound_time); // Offset: 144 // Size: 45 @@ -83,7 +87,7 @@ void AssertFlicPixelmap(tFlic_descriptor_ptr pFlic_info, br_pixelmap *pDest_pixe // EDX: pIndex // EBX: pFlic_info // ECX: pSize -int StartFlic(char *pFile_name, int pIndex, tFlic_descriptor_ptr pFlic_info, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, int pFrame_rate, unsigned char claimed_speed, br_memory_classes magic_number, int the_path, struct total_size); +int StartFlic(char *pFile_name, int pIndex, tFlic_descriptor_ptr pFlic_info, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, int pFrame_rate); // Offset: 1720 // Size: 96 @@ -170,13 +174,13 @@ void DoMini(tFlic_descriptor *pFlic_info, tU32 chunk_length); // Size: 377 // EAX: pFlic_info // EDX: pLast_frame -void DrawTranslations(tFlic_descriptor *pFlic_info); +void DrawTranslations(tFlic_descriptor *pFlic_info, int pLast_frame); // Offset: 5680 // Size: 783 // EAX: pFlic_info // EDX: pPanel_flic -int PlayNextFlicFrame2(tFlic_descriptor *pFlic_info); +int PlayNextFlicFrame2(tFlic_descriptor *pFlic_info, int pPanel_flic); // Offset: 6464 // Size: 53 @@ -189,7 +193,7 @@ int PlayNextFlicFrame(tFlic_descriptor *pFlic_info); // EDX: pSize // EBX: pData_ptr // ECX: pDest_pixelmap -int PlayFlic(int pIndex, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, void (*DoPerFrame)(), int pInterruptable, int pFrame_rate, signed char finished_playing, br_memory_classes the_flic, struct new_time); +int PlayFlic(int pIndex, tU32 pSize, tS8 *pData_ptr, br_pixelmap *pDest_pixelmap, int pX_offset, int pY_offset, void (*DoPerFrame)(), int pInterruptable, int pFrame_rate); // Offset: 6816 // Size: 41 @@ -219,7 +223,7 @@ void UnlockFlic(int pIndex); // EAX: pName // EDX: pData // EBX: pData_length -int LoadFlicData(char *pName, tU8 **pData, tU32 *pData_length, short f, br_memory_classes the_path); +int LoadFlicData(char *pName, tU8 **pData, tU32 *pData_length); // Offset: 7824 // Size: 87 @@ -306,7 +310,7 @@ void ServicePanelFlics(int pCopy_to_buffer); // EAX: pIndex // EDX: pData // EBX: pData_length -void ChangePanelFlic(int pIndex, tU8 *pData, tU32 pData_length, unsigned char __unk3__, br_memory_classes __unk4__); +void ChangePanelFlic(int pIndex, tU8 *pData, tU32 pData_length); // Offset: 10456 // Size: 55 @@ -329,3 +333,4 @@ void SuspendPendingFlic(); // Size: 44 void ResumePendingFlic(); +#endif diff --git a/src/DETHRACE/source/common/globvars.c b/src/DETHRACE/source/common/globvars.c index ead41bc0..faa5a103 100644 --- a/src/DETHRACE/source/common/globvars.c +++ b/src/DETHRACE/source/common/globvars.c @@ -1,6 +1,5 @@ #include "globvars.h" -// Global variables char gNet_player_name[32]; br_matrix34 gRearview_camera_to_world; tSpecial_volume gDefault_default_water_spec_vol; diff --git a/src/DETHRACE/source/common/globvars.h b/src/DETHRACE/source/common/globvars.h index 809230b1..59eaf6c5 100644 --- a/src/DETHRACE/source/common/globvars.h +++ b/src/DETHRACE/source/common/globvars.h @@ -1,2 +1,7 @@ +#ifndef _GLOBVARS_H_ +#define _GLOBVARS_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/DETHRACE/source/common/globvrbm.c b/src/DETHRACE/source/common/globvrbm.c index cdee8568..0d0807a6 100644 --- a/src/DETHRACE/source/common/globvrbm.c +++ b/src/DETHRACE/source/common/globvrbm.c @@ -1,6 +1,5 @@ #include "globvrbm.h" -// Global variables br_material *gMaterial[2]; int g16bit_palette_valid; tException_list gExceptions; diff --git a/src/DETHRACE/source/common/globvrbm.h b/src/DETHRACE/source/common/globvrbm.h index 809230b1..e4090c5a 100644 --- a/src/DETHRACE/source/common/globvrbm.h +++ b/src/DETHRACE/source/common/globvrbm.h @@ -1,2 +1,7 @@ +#ifndef _GLOBVRBM_H_ +#define _GLOBVRBM_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/DETHRACE/source/common/globvrkm.c b/src/DETHRACE/source/common/globvrkm.c index 04787ef7..ccdd943e 100644 --- a/src/DETHRACE/source/common/globvrkm.c +++ b/src/DETHRACE/source/common/globvrkm.c @@ -1,6 +1,5 @@ #include "globvrkm.h" -// Global variables br_actor *gCamera_list[2]; tCar_spec *gActive_car_list[25]; int gNum_active_cars; diff --git a/src/DETHRACE/source/common/globvrkm.h b/src/DETHRACE/source/common/globvrkm.h index 809230b1..585787cc 100644 --- a/src/DETHRACE/source/common/globvrkm.h +++ b/src/DETHRACE/source/common/globvrkm.h @@ -1,2 +1,7 @@ +#ifndef _GLOBVRKM_H_ +#define _GLOBVRKM_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/DETHRACE/source/common/globvrme.c b/src/DETHRACE/source/common/globvrme.c index 3cc97478..7c5c3a2f 100644 --- a/src/DETHRACE/source/common/globvrme.c +++ b/src/DETHRACE/source/common/globvrme.c @@ -1,6 +1,5 @@ #include "globvrme.h" -// Global variables tCar_spec *gViewable_car_list[50]; int gNum_viewable_cars; diff --git a/src/DETHRACE/source/common/globvrme.h b/src/DETHRACE/source/common/globvrme.h index 809230b1..b4814872 100644 --- a/src/DETHRACE/source/common/globvrme.h +++ b/src/DETHRACE/source/common/globvrme.h @@ -1,2 +1,7 @@ +#ifndef _GLOBVRME_H_ +#define _GLOBVRME_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/DETHRACE/source/common/globvrpb.c b/src/DETHRACE/source/common/globvrpb.c index a6b5c695..05cd263e 100644 --- a/src/DETHRACE/source/common/globvrpb.c +++ b/src/DETHRACE/source/common/globvrpb.c @@ -1,6 +1,5 @@ #include "globvrpb.h" -// Global variables tNet_game_player_info gNet_players[6]; br_matrix34 gRoot_to_camera; tCar_detail_info gCar_details[60]; diff --git a/src/DETHRACE/source/common/globvrpb.h b/src/DETHRACE/source/common/globvrpb.h index 809230b1..e2a13b5d 100644 --- a/src/DETHRACE/source/common/globvrpb.h +++ b/src/DETHRACE/source/common/globvrpb.h @@ -1,2 +1,7 @@ +#ifndef _GLOBVRPB_H_ +#define _GLOBVRPB_H_ + #include "dr_types.h" #include "br_types.h" + +#endif diff --git a/src/DETHRACE/source/common/grafdata.c b/src/DETHRACE/source/common/grafdata.c index 42011d39..ae6580e9 100644 --- a/src/DETHRACE/source/common/grafdata.c +++ b/src/DETHRACE/source/common/grafdata.c @@ -1,6 +1,5 @@ #include "grafdata.h" -// Global variables tGraf_data gGraf_data[2]; tGraf_data *gCurrent_graf_data; int gGraf_data_index; diff --git a/src/DETHRACE/source/common/grafdata.h b/src/DETHRACE/source/common/grafdata.h index 69dc54a1..48bfcf6d 100644 --- a/src/DETHRACE/source/common/grafdata.h +++ b/src/DETHRACE/source/common/grafdata.h @@ -1,6 +1,11 @@ +#ifndef _GRAFDATA_H_ +#define _GRAFDATA_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 170 void CalcGrafDataIndex(); +#endif diff --git a/src/DETHRACE/source/common/graphics.c b/src/DETHRACE/source/common/graphics.c index a140746e..41de911e 100644 --- a/src/DETHRACE/source/common/graphics.c +++ b/src/DETHRACE/source/common/graphics.c @@ -1,6 +1,5 @@ #include "graphics.h" -// Global variables int gArrows[2][4][60]; int gMap_colours[4]; br_vector3 gShadow_points[8]; @@ -107,16 +106,15 @@ void ResetLollipopQueue() { // Size: 124 // EAX: pActor // EDX: pIndex -int AddToLollipopQueue(br_actor *pActor) { - int pIndex; +int AddToLollipopQueue(br_actor *pActor, int pIndex) { } // Offset: 256 // Size: 237 void RenderLollipops() { - int must_relink; - br_actor **the_actor; - br_actor *old_parent; + int must_relink; + br_actor **the_actor; + br_actor *old_parent; } // Offset: 496 @@ -125,19 +123,16 @@ void RenderLollipops() { // EDX: pX1 // EBX: pY1 // ECX: pX2 -void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1) { - int pX2; - int pY2; - int pColour; - tU8 *d_ptr; - tS32 y_delta; - tS32 x_delta; - tU32 current_y; - tU32 current_x; - int row_bytes; - int x; - int y; - int the_diff; +void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour) { + tU8 *d_ptr; + tS32 y_delta; + tS32 x_delta; + tU32 current_y; + tU32 current_x; + int row_bytes; + int x; + int y; + int the_diff; } // Offset: 604 @@ -146,9 +141,7 @@ void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1) { // EDX: pX // EBX: pY // ECX: pY_pitch -void DrawDigitAt(br_pixelmap *gImage, int pX, int pY) { - int pY_pitch; - int pValue; +void DrawDigitAt(br_pixelmap *gImage, int pX, int pY, int pY_pitch, int pValue) { } // Offset: 696 @@ -157,27 +150,23 @@ void DrawDigitAt(br_pixelmap *gImage, int pX, int pY) { // EDX: pX // EBX: pY // ECX: pX_pitch -void DrawNumberAt(br_pixelmap *gImage, int pX, int pY, int pX_pitch) { - int pY_pitch; - int pValue; - int pDigit_count; - int pLeading_zeroes; - int i; - int the_value; +void DrawNumberAt(br_pixelmap *gImage, int pX, int pY, int pX_pitch, int pY_pitch, int pValue, int pDigit_count, int pLeading_zeroes) { + int i; + int the_value; } // Offset: 852 // Size: 350 // EAX: pPalette void BuildColourTable(br_pixelmap *pPalette) { - int i; - int j; - int nearest_index; - int red; - int green; - int blue; - float nearest_distance; - float distance; + int i; + int j; + int nearest_index; + int red; + int green; + int blue; + float nearest_distance; + float distance; } // Offset: 1204 @@ -189,12 +178,11 @@ void ClearConcussion() { // Size: 137 // EAX: pSource // EDX: pCount -tS8* SkipLines(tS8 *pSource) { - int pCount; - int i; - int j; - int number_of_chunks; - int chunk_length; +tS8* SkipLines(tS8 *pSource, int pCount) { + int i; + int j; + int number_of_chunks; + int chunk_length; } // Offset: 1388 @@ -203,8 +191,8 @@ tS8* SkipLines(tS8 *pSource) { // EDX: pSrc // EBX: pN void CopyWords(char *pDst, char *pSrc, int pN) { - tU16 *dst; - tU16 *src; + tU16 *dst; + tU16 *src; } // Offset: 1516 @@ -213,22 +201,18 @@ void CopyWords(char *pDst, char *pSrc, int pN) { // EDX: pDest_x // EBX: pOffset_x // ECX: pDest_y -void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource) { - br_int_16 pSource_x; - br_int_16 pSource_y; - br_uint_16 pWidth; - br_uint_16 pHeight; - int i; - int j; - int height; - int number_of_chunks; - int old_x_byte; - int x_byte; - int off_the_left; - int destn_width; - int chunk_length; - char *destn_ptr; - char *destn_ptr2; +void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight) { + int i; + int j; + int height; + int number_of_chunks; + int old_x_byte; + int x_byte; + int off_the_left; + int destn_width; + int chunk_length; + char *destn_ptr; + char *destn_ptr2; } // Offset: 2124 @@ -237,22 +221,18 @@ void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 // EDX: pDest_x // EBX: pOffset_x // ECX: pDest_y -void CopyStripImage(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource) { - br_int_16 pSource_x; - br_int_16 pSource_y; - br_uint_16 pWidth; - br_uint_16 pHeight; - int i; - int j; - int height; - int number_of_chunks; - int old_x_byte; - int x_byte; - int off_the_left; - int destn_width; - int chunk_length; - char *destn_ptr; - char *destn_ptr2; +void CopyStripImage(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight) { + int i; + int j; + int height; + int number_of_chunks; + int old_x_byte; + int x_byte; + int off_the_left; + int destn_width; + int chunk_length; + char *destn_ptr; + char *destn_ptr2; } // Offset: 2776 @@ -289,24 +269,21 @@ void ScreenLarger() { // EAX: pPalette // EDX: pFirst_colour // EBX: pCount -void DRSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour) { - int pCount; +void DRSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour, int pCount) { } // Offset: 4144 // Size: 128 // EAX: pThe_palette // EDX: pSet_current_palette -void DRSetPalette3(br_pixelmap *pThe_palette) { - int pSet_current_palette; +void DRSetPalette3(br_pixelmap *pThe_palette, int pSet_current_palette) { } // Offset: 4272 // Size: 140 // EAX: pThe_palette // EDX: pSet_current_palette -void DRSetPalette2(br_pixelmap *pThe_palette) { - int pSet_current_palette; +void DRSetPalette2(br_pixelmap *pThe_palette, int pSet_current_palette) { } // Offset: 4412 @@ -318,14 +295,14 @@ void DRSetPalette(br_pixelmap *pThe_palette) { // Offset: 4464 // Size: 415 void InitializePalettes() { - int j; + int j; } // Offset: 4880 // Size: 66 // EAX: pPal_name void SwitchToPalette(char *pPal_name) { - br_pixelmap *the_palette; + br_pixelmap *the_palette; } // Offset: 4948 @@ -346,9 +323,9 @@ void InitWobbleStuff() { // Offset: 5236 // Size: 198 void NewScreenWobble(double pAmplitude_x, double pAmplitude_y, double pPeriod) { - int i; - int oldest_time; - int oldest_index; + int i; + int oldest_time; + int oldest_index; } // Offset: 5436 @@ -367,31 +344,31 @@ void ResetScreenWobble() { // Size: 813 // EAX: pThe_time void CalculateWobblitude(tU32 pThe_time) { - int i; - tU32 time_going; - double angle; - double mod_angle; - double cosine_over_angle; + int i; + tU32 time_going; + double angle; + double mod_angle; + double cosine_over_angle; } // Offset: 6352 // Size: 605 // EAX: pThe_time void CalculateConcussion(tU32 pThe_time) { - tU32 time_difference; - int i; - int j; - float the_amplitude; - float angle; - float mod_angle; - float cosine_over_angle; + tU32 time_difference; + int i; + int j; + float the_amplitude; + float angle; + float mod_angle; + float cosine_over_angle; } // Offset: 6960 // Size: 171 void SufferFromConcussion(float pSeriousness) { - int i; - int j; + int i; + int j; } // Offset: 7132 @@ -407,7 +384,7 @@ void ProcessNonTrackActors(br_pixelmap *pRender_buffer, br_pixelmap *pDepth_buff // Size: 119 // EAX: pColour int OppositeColour(int pColour) { - int brightness; + int brightness; } // Offset: 7308 @@ -416,30 +393,29 @@ int OppositeColour(int pColour) { // EDX: pTime // EBX: pTrans // ECX: pPos -void DrawMapBlip(tCar_spec *pCar, tU32 pTime, br_matrix34 *pTrans, br_vector3 *pPos) { - int pColour; - br_vector3 map_pos; - int offset; - int *arrow_ptr; - int point_count; - int colours[2]; - int x; - int y; - int colour; - int i; - int j; - int temp; - int from_x; - int from_y; - int to_x; - int to_y; - int arrow_index; - tU32 time_diff; - tU32 period; - br_matrix34 car_in_map_space; - float bearing; - float cos_factor; - float sin_factor; +void DrawMapBlip(tCar_spec *pCar, tU32 pTime, br_matrix34 *pTrans, br_vector3 *pPos, int pColour) { + br_vector3 map_pos; + int offset; + int *arrow_ptr; + int point_count; + int colours[2]; + int x; + int y; + int colour; + int i; + int j; + int temp; + int from_x; + int from_y; + int to_x; + int to_y; + int arrow_index; + tU32 time_diff; + tU32 period; + br_matrix34 car_in_map_space; + float bearing; + float cos_factor; + float sin_factor; } // Offset: 9112 @@ -447,11 +423,10 @@ void DrawMapBlip(tCar_spec *pCar, tU32 pTime, br_matrix34 *pTrans, br_vector3 *p // EAX: pTime // EDX: pPos // EBX: pColour -void DrawMapSmallBlip(tU32 pTime, br_vector3 *pPos) { - int pColour; - br_vector3 map_pos; - int offset; - tU32 time_diff; +void DrawMapSmallBlip(tU32 pTime, br_vector3 *pPos, int pColour) { + br_vector3 map_pos; + int offset; + tU32 time_diff; } // Offset: 9372 @@ -461,12 +436,12 @@ void DrawMapSmallBlip(tU32 pTime, br_vector3 *pPos) { // EBX: p1 // ECX: p2 void MungeClipPlane(br_vector3 *pLight, tCar_spec *pCar, br_vector3 *p1, br_vector3 *p2, br_scalar pY_offset) { - br_vector3 v1; - br_vector3 v2; - br_vector3 v3; - br_vector3 v4; - br_scalar length; - br_actor *new_clip; + br_vector3 v1; + br_vector3 v2; + br_vector3 v3; + br_vector3 v4; + br_scalar length; + br_actor *new_clip; } // Offset: 10024 @@ -474,19 +449,17 @@ void MungeClipPlane(br_vector3 *pLight, tCar_spec *pCar, br_vector3 *p1, br_vect // EAX: pCar // EDX: pLight // EBX: pIndex_1 -void TryThisEdge(tCar_spec *pCar, br_vector3 *pLight, int pIndex_1, br_scalar pSign_1, int pIndex_2, br_scalar pSign_2, int pPoint_index_1) { - int pPoint_index_2; - br_scalar pY_offset; - br_scalar dot_1; - br_scalar dot_2; - br_scalar mult; +void TryThisEdge(tCar_spec *pCar, br_vector3 *pLight, int pIndex_1, br_scalar pSign_1, int pIndex_2, br_scalar pSign_2, int pPoint_index_1, int pPoint_index_2, br_scalar pY_offset) { + br_scalar dot_1; + br_scalar dot_2; + br_scalar mult; } // Offset: 10204 // Size: 104 // EAX: pPos br_scalar DistanceFromPlane(br_vector3 *pPos, br_scalar pA, br_scalar pB, br_scalar pC, br_scalar pD) { - br_vector3 normal; + br_vector3 normal; } // Offset: 10308 @@ -506,58 +479,58 @@ void EnableLights() { // EBX: pTrack_spec // ECX: pCamera void ProcessShadow(tCar_spec *pCar, br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform, br_scalar pDistance_factor) { - int i; - int j; - int face_count; - int force_shadow; - int models_used; - int point_to_use; - int oily_count; - int f_num; - br_vector3 pos; - br_vector3 light_ray_car; - br_vector3 temp_v; - br_vector3 shadow_points_world[8]; - br_vector3 poly_centre; - br_vector3 car_to_poly; - br_vector3 ray; - br_vector3 ray_pos; - br_vector3 normal; - br_vector3 the_normal; - br_vector3 pos_cam_space; - br_vector3 *v0; - br_vector3 *v1; - br_vector3 *v2; - br_vector4 *clip_normal; - br_scalar bounds_x_min; - br_scalar bounds_x_max; - br_scalar bounds_y_min; - br_scalar bounds_y_max; - br_scalar bounds_z_min; - br_scalar bounds_z_max; - br_scalar height; - br_scalar oily_size; - br_scalar highest_underneath; - br_scalar shadow_scaling_factor; - br_scalar y_offset; - br_scalar most_neg_dotty; - br_scalar mr_dotty; - br_scalar first_poly_below; - br_scalar distance; - br_scalar camera_hither_fudge; - br_scalar camera_angle_additional_fudge; - br_scalar ray_length; - tBounds kev_bounds; - tFace_ref the_list[100]; - tFace_ref *face_ref; - tFace_ref *list_ptr; - br_renderbounds_cbfn *old_call_back; - br_camera *camera_ptr; - br_actor *oily_actor; - br_model *model; - br_material *material; - br_vertex verts[48]; - br_face faces[16]; + int i; + int j; + int face_count; + int force_shadow; + int models_used; + int point_to_use; + int oily_count; + int f_num; + br_vector3 pos; + br_vector3 light_ray_car; + br_vector3 temp_v; + br_vector3 shadow_points_world[8]; + br_vector3 poly_centre; + br_vector3 car_to_poly; + br_vector3 ray; + br_vector3 ray_pos; + br_vector3 normal; + br_vector3 the_normal; + br_vector3 pos_cam_space; + br_vector3 *v0; + br_vector3 *v1; + br_vector3 *v2; + br_vector4 *clip_normal; + br_scalar bounds_x_min; + br_scalar bounds_x_max; + br_scalar bounds_y_min; + br_scalar bounds_y_max; + br_scalar bounds_z_min; + br_scalar bounds_z_max; + br_scalar height; + br_scalar oily_size; + br_scalar highest_underneath; + br_scalar shadow_scaling_factor; + br_scalar y_offset; + br_scalar most_neg_dotty; + br_scalar mr_dotty; + br_scalar first_poly_below; + br_scalar distance; + br_scalar camera_hither_fudge; + br_scalar camera_angle_additional_fudge; + br_scalar ray_length; + tBounds kev_bounds; + tFace_ref the_list[100]; + tFace_ref *face_ref; + tFace_ref *list_ptr; + br_renderbounds_cbfn *old_call_back; + br_camera *camera_ptr; + br_actor *oily_actor; + br_model *model; + br_material *material; + br_vertex verts[48]; + br_face faces[16]; } // Offset: 15140 @@ -567,56 +540,57 @@ void ProcessShadow(tCar_spec *pCar, br_actor *pWorld, tTrack_spec *pTrack_spec, // EBX: pCamera // ECX: pCamera_to_world_transform void RenderShadows(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform) { - int i; - int cat; - int car_count; - tCar_spec *the_car; - br_vector3 camera_to_car; - br_scalar distance_factor; + int i; + int cat; + int car_count; + tCar_spec *the_car; + br_vector3 camera_to_car; + br_scalar distance_factor; } // Offset: 15660 // Size: 247 // EAX: pIndex // EDX: pTime -void FlashyMapCheckpoint(int pIndex, tU32 pTime, char cp) { - tU32 last_flash; - int flash_state; +void FlashyMapCheckpoint(int pIndex, tU32 pTime) { + tCheckpoint *cp; + tU32 last_flash; + int flash_state; } // Offset: 15908 // Size: 252 // EAX: pPixelmap int ConditionallyFillWithSky(br_pixelmap *pPixelmap) { - int bgnd_col; + int bgnd_col; } // Offset: 16160 // Size: 3751 // EAX: pDepth_mask_on void RenderAFrame(int pDepth_mask_on) { - int cat; - int i; - int car_count; - int flags; - int x_shift; - int y_shift; - int cockpit_on; - int real_origin_x; - int real_origin_y; - int real_base_x; - int real_base_y; - int map_timer_x; - int map_timer_width; - int ped_type; - char *old_pixels; - br_matrix34 old_camera_matrix; - br_matrix34 old_mirror_cam_matrix; - tU32 the_time; - br_vector3 *car_pos; - br_vector3 pos; - char the_text[256]; - tCar_spec *car; + int cat; + int i; + int car_count; + int flags; + int x_shift; + int y_shift; + int cockpit_on; + int real_origin_x; + int real_origin_y; + int real_base_x; + int real_base_y; + int map_timer_x; + int map_timer_width; + int ped_type; + char *old_pixels; + br_matrix34 old_camera_matrix; + br_matrix34 old_mirror_cam_matrix; + tU32 the_time; + br_vector3 *car_pos; + br_vector3 pos; + char the_text[256]; + tCar_spec *car; } // Offset: 19912 @@ -632,20 +606,20 @@ void RevertPalette() { // Offset: 20044 // Size: 34 void MungePalette() { - tU8 *q; - int i; - float damage; - float throb_start; - float throb_end; - float throb_amount; - float throb_amount_dash; - float omega; - tU32 period; - tU32 the_time; - int palette_spammed; - float last_omega; - tU32 next_repair_time; - tU32 last_sound; + tU8 *q; + int i; + float damage; + float throb_start; + float throb_end; + float throb_amount; + float throb_amount_dash; + float omega; + tU32 period; + tU32 the_time; + int palette_spammed; + float last_omega; + tU32 next_repair_time; + tU32 last_sound; } // Offset: 20080 @@ -657,32 +631,31 @@ void ResetPalette() { // Size: 65 // EAX: pPtr // EDX: pDarken_amount -void Darken(tU8 *pPtr) { - unsigned int pDarken_amount; - unsigned int value; +void Darken(tU8 *pPtr, unsigned int pDarken_amount) { + unsigned int value; } // Offset: 20200 // Size: 194 // EAX: pDegree void SetFadedPalette(int pDegree) { - int j; - br_pixelmap *the_palette; - char *the_pixels; + int j; + br_pixelmap *the_palette; + char *the_pixels; } // Offset: 20396 // Size: 147 void FadePaletteDown() { - int start_time; - int the_time; + int start_time; + int the_time; } // Offset: 20544 // Size: 116 void FadePaletteUp() { - int start_time; - int the_time; + int start_time; + int the_time; } // Offset: 20660 @@ -699,7 +672,7 @@ void EnsureRenderPalette() { // Size: 248 // EAX: pPixmap_name void SplashScreenWith(char *pPixmap_name) { - br_pixelmap *the_map; + br_pixelmap *the_map; } // Offset: 21060 @@ -709,9 +682,8 @@ void EnsurePaletteUp() { // Offset: 21108 // Size: 103 -br_uint_32 AmbientificateMaterial(br_material *pMat) { - void *pArg; - float a; +br_uint_32 AmbientificateMaterial(br_material *pMat, void *pArg) { + float a; } // Offset: 21212 @@ -730,19 +702,16 @@ void InitAmbience() { // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleMaskedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x) { - br_int_16 pSource_y; - br_int_16 pWidth; - br_int_16 pHeight; - int y_count; - int x_count; - int dest_row_wrap; - int source_row_wrap; - int x_delta; - tU8 the_byte; - tU8 *source_ptr; - tU8 *dest_ptr; - tU8 *conv_table; +void DRPixelmapRectangleMaskedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight) { + int y_count; + int x_count; + int dest_row_wrap; + int source_row_wrap; + int x_delta; + tU8 the_byte; + tU8 *source_ptr; + tU8 *dest_ptr; + tU8 *conv_table; } // Offset: 22120 @@ -750,7 +719,7 @@ void DRPixelmapRectangleMaskedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int // EAX: pDest_x // EDX: pDest_y // EBX: pSource -void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, ldiv_t __unk3__) { +void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource) { } // Offset: 22208 @@ -759,19 +728,16 @@ void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, l // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x) { - br_int_16 pSource_y; - br_int_16 pWidth; - br_int_16 pHeight; - int y_count; - int x_count; - int dest_row_wrap; - int source_row_wrap; - int x_delta; - tU8 the_byte; - tU8 *source_ptr; - tU8 *dest_ptr; - tU8 *conv_table; +void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight) { + int y_count; + int x_count; + int dest_row_wrap; + int source_row_wrap; + int x_delta; + tU8 the_byte; + tU8 *source_ptr; + tU8 *dest_ptr; + tU8 *conv_table; } // Offset: 22540 @@ -780,23 +746,20 @@ void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_i // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y) { - br_int_16 pWidth; - br_int_16 pHeight; - tX1616 pShear; - int y_count; - int x_count; - int dest_row_wrap; - int source_row_wrap; - int x_delta; - int last_shear_x; - int current_shear_x; - int shear_x_difference; - tU8 the_byte; - tU8 *source_ptr; - tU8 *dest_ptr; - tU8 *conv_table; - tX1616 current_shear; +void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight, tX1616 pShear) { + int y_count; + int x_count; + int dest_row_wrap; + int source_row_wrap; + int x_delta; + int last_shear_x; + int current_shear_x; + int shear_x_difference; + tU8 the_byte; + tU8 *source_ptr; + tU8 *dest_ptr; + tU8 *conv_table; + tX1616 current_shear; } // Offset: 23364 @@ -805,21 +768,18 @@ void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_in // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleVScaledCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x) { - br_int_16 pSource_y; - br_int_16 pWidth; - br_int_16 pHeight; - int y_count; - int x_count; - int dest_row_wrap; - int source_row_wrap; - int x_delta; - tU8 the_byte; - tU8 *source_ptr; - tU8 *dest_ptr; - tU32 source_y; - tU32 source_y_delta; - tU32 old_source_y; +void DRPixelmapRectangleVScaledCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight) { + int y_count; + int x_count; + int dest_row_wrap; + int source_row_wrap; + int x_delta; + tU8 the_byte; + tU8 *source_ptr; + tU8 *dest_ptr; + tU32 source_y; + tU32 source_y_delta; + tU32 old_source_y; } // Offset: 23708 @@ -833,7 +793,7 @@ void InitTransientBitmaps() { // EDX: pHeight // EBX: pUser_data int AllocateTransientBitmap(int pWidth, int pHeight, int pUser_data) { - int bm_index; + int bm_index; } // Offset: 23980 @@ -851,8 +811,8 @@ void DeallocateAllTransientBitmaps() { // Size: 254 // EAX: pGraphically_remove_them void RemoveTransientBitmaps(int pGraphically_remove_them) { - int i; - int order_number; + int i; + int order_number; } // Offset: 24400 @@ -867,56 +827,57 @@ void SaveTransient(int pIndex, int pX_coord, int pY_coord) { // Size: 214 // EAX: pGib void DrawCursorGiblet(tCursor_giblet *pGib) { - br_pixelmap *the_image; + br_pixelmap *the_image; } // Offset: 24808 // Size: 743 // EAX: pPeriod void ProcessCursorGiblets(int pPeriod) { - int i; - int kill_the_giblet; - tU32 time_now; - tCursor_giblet *gib; + int i; + int kill_the_giblet; + tU32 time_now; + tCursor_giblet *gib; } // Offset: 25552 // Size: 578 // EAX: pX_coord // EDX: pY_coord -int NewCursorGiblet(int pX_coord, int pY_coord, float pX_speed, float pY_speed, tU32 pDrop_time, signed char i) { - int the_width; - int the_height; - int sequence_number; +int NewCursorGiblet(int pX_coord, int pY_coord, float pX_speed, float pY_speed, tU32 pDrop_time) { + int i; + int the_width; + int the_height; + int sequence_number; } // Offset: 26132 // Size: 1373 int DoMouseCursor() { - int y_coord; - int mouse_moved; - int new_required; - int giblet_index; - int cursor_offset; - int button_is_down; - int giblet_chance; - int giblet_count; - tU32 this_call_time; - tU32 last_cursor_change; - tU32 last_call_time; - tU32 last_required_change; - tS32 period; - int delta_x; - int required_cursor; - int zero_count; - int button_was_down; + int y_coord; + int mouse_moved; + int new_required; + int giblet_index; + int cursor_offset; + int button_is_down; + int giblet_chance; + int giblet_count; + tU32 this_call_time; + tU32 last_cursor_change; + tU32 last_call_time; + tU32 last_required_change; + tS32 period; + int delta_x; + int required_cursor; + int zero_count; + int button_was_down; } // Offset: 27508 // Size: 186 int AllocateCursorTransient() { - int largest_width; - int largest_height; + int largest_width; + int largest_height; } // Offset: 27696 @@ -933,11 +894,11 @@ void EndMouseCursor() { // Size: 568 // EAX: pFont_ID void LoadFont(int pFont_ID) { - tPath_name the_path; - int i; - int number_of_chars; - FILE *f; - tU32 the_size; + tPath_name the_path; + int i; + int number_of_chars; + FILE *f; + tU32 the_size; } // Offset: 28464 @@ -957,14 +918,11 @@ void InitDRFonts() { // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop) { - int pTop_clip; - int pBottom_clip; - int pOffset; - int y; - int src_y; - int src_height; - int y_diff; +void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip, int pOffset) { + int y; + int src_y; + int src_height; + int y_diff; } // Offset: 28956 @@ -973,12 +931,10 @@ void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop) { - int pTop_clip; - int pBottom_clip; - tS32 start_time; - tS32 the_time; - int drop_distance; +void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip) { + tS32 start_time; + tS32 the_time; + int drop_distance; } // Offset: 29120 @@ -987,12 +943,10 @@ void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop) { - int pTop_clip; - int pBottom_clip; - tS32 start_time; - tS32 the_time; - int drop_distance; +void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip) { + tS32 start_time; + tS32 the_time; + int drop_distance; } // Offset: 29272 @@ -1001,12 +955,10 @@ void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop) { - int pTop_clip; - int pBottom_clip; - tS32 start_time; - tS32 the_time; - int drop_distance; +void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip) { + tS32 start_time; + tS32 the_time; + int drop_distance; } // Offset: 29424 @@ -1015,12 +967,10 @@ void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop) { - int pTop_clip; - int pBottom_clip; - tS32 start_time; - tS32 the_time; - int drop_distance; +void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip) { + tS32 start_time; + tS32 the_time; + int drop_distance; } // Offset: 29588 @@ -1029,11 +979,9 @@ void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop) { // EDX: pLeft // EBX: pTop // ECX: pPercentage -void DrawTellyLine(br_pixelmap *pImage, int pLeft) { - int pTop; - int pPercentage; - int the_width; - int the_height; +void DrawTellyLine(br_pixelmap *pImage, int pLeft, int pTop, int pPercentage) { + int the_width; + int the_height; } // Offset: 29852 @@ -1042,10 +990,8 @@ void DrawTellyLine(br_pixelmap *pImage, int pLeft) { // EDX: pLeft // EBX: pTop // ECX: pPercentage -void DrawTellyImage(br_pixelmap *pImage, int pLeft) { - int pTop; - int pPercentage; - int the_height; +void DrawTellyImage(br_pixelmap *pImage, int pLeft, int pTop, int pPercentage) { + int the_height; } // Offset: 30056 @@ -1053,10 +999,9 @@ void DrawTellyImage(br_pixelmap *pImage, int pLeft) { // EAX: pImage // EDX: pLeft // EBX: pTop -void TellyInImage(br_pixelmap *pImage, int pLeft) { - int pTop; - tS32 start_time; - tS32 the_time; +void TellyInImage(br_pixelmap *pImage, int pLeft, int pTop) { + tS32 start_time; + tS32 the_time; } // Offset: 30252 @@ -1064,11 +1009,10 @@ void TellyInImage(br_pixelmap *pImage, int pLeft) { // EAX: pImage // EDX: pLeft // EBX: pTop -void TellyOutImage(br_pixelmap *pImage, int pLeft) { - int pTop; - tS32 start_time; - tS32 the_time; - int drop_distance; +void TellyOutImage(br_pixelmap *pImage, int pLeft, int pTop) { + tS32 start_time; + tS32 the_time; + int drop_distance; } // Offset: 30472 @@ -1090,14 +1034,13 @@ void ToggleShadow() { // Offset: 30816 // Size: 503 void InitShadow() { - int i; - br_vector3 temp_v; + int i; + br_vector3 temp_v; } // Offset: 31320 // Size: 140 -br_uint_32 SaveShadeTable(br_pixelmap *pTable) { - void *pArg; +br_uint_32 SaveShadeTable(br_pixelmap *pTable, void *pArg) { } // Offset: 31460 @@ -1131,19 +1074,17 @@ int SwitchToLoresMode() { // EDX: pSource // EBX: pSource_width // ECX: pSource_height -void DRPixelmapDoubledCopy(br_pixelmap *pDestn, br_pixelmap *pSource, int pSource_width, int pSource_height) { - int pX_offset; - int pY_offset; - tU16 *sptr; - tU16 pixels; - tU8 *dptr; - tU8 *dptr2; - tU8 pixel_1; - tU8 pixel_2; - int i; - int j; - int dst_row_skip; - int src_row_skip; - int width_over_2; +void DRPixelmapDoubledCopy(br_pixelmap *pDestn, br_pixelmap *pSource, int pSource_width, int pSource_height, int pX_offset, int pY_offset) { + tU16 *sptr; + tU16 pixels; + tU8 *dptr; + tU8 *dptr2; + tU8 pixel_1; + tU8 pixel_2; + int i; + int j; + int dst_row_skip; + int src_row_skip; + int width_over_2; } diff --git a/src/DETHRACE/source/common/graphics.h b/src/DETHRACE/source/common/graphics.h index 8b1f578a..ece4fc3d 100644 --- a/src/DETHRACE/source/common/graphics.h +++ b/src/DETHRACE/source/common/graphics.h @@ -1,5 +1,9 @@ +#ifndef _GRAPHICS_H_ +#define _GRAPHICS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 44 void TurnOnPaletteConversion(); @@ -16,7 +20,7 @@ void ResetLollipopQueue(); // Size: 124 // EAX: pActor // EDX: pIndex -int AddToLollipopQueue(br_actor *pActor); +int AddToLollipopQueue(br_actor *pActor, int pIndex); // Offset: 256 // Size: 237 @@ -28,7 +32,7 @@ void RenderLollipops(); // EDX: pX1 // EBX: pY1 // ECX: pX2 -void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1); +void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1, int pX2, int pY2, int pColour); // Offset: 604 // Size: 90 @@ -36,7 +40,7 @@ void DRDrawLine(br_pixelmap *pDestn, int pX1, int pY1); // EDX: pX // EBX: pY // ECX: pY_pitch -void DrawDigitAt(br_pixelmap *gImage, int pX, int pY); +void DrawDigitAt(br_pixelmap *gImage, int pX, int pY, int pY_pitch, int pValue); // Offset: 696 // Size: 156 @@ -44,7 +48,7 @@ void DrawDigitAt(br_pixelmap *gImage, int pX, int pY); // EDX: pX // EBX: pY // ECX: pX_pitch -void DrawNumberAt(br_pixelmap *gImage, int pX, int pY, int pX_pitch); +void DrawNumberAt(br_pixelmap *gImage, int pX, int pY, int pX_pitch, int pY_pitch, int pValue, int pDigit_count, int pLeading_zeroes); // Offset: 852 // Size: 350 @@ -59,7 +63,7 @@ void ClearConcussion(); // Size: 137 // EAX: pSource // EDX: pCount -tS8* SkipLines(tS8 *pSource); +tS8* SkipLines(tS8 *pSource, int pCount); // Offset: 1388 // Size: 126 @@ -74,7 +78,7 @@ void CopyWords(char *pDst, char *pSrc, int pN); // EDX: pDest_x // EBX: pOffset_x // ECX: pDest_y -void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource); +void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight); // Offset: 2124 // Size: 651 @@ -82,7 +86,7 @@ void Copy8BitStripImageTo16Bit(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 // EDX: pDest_x // EBX: pOffset_x // ECX: pDest_y -void CopyStripImage(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource); +void CopyStripImage(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8 *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight); // Offset: 2776 // Size: 507 @@ -113,19 +117,19 @@ void ScreenLarger(); // EAX: pPalette // EDX: pFirst_colour // EBX: pCount -void DRSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour); +void DRSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour, int pCount); // Offset: 4144 // Size: 128 // EAX: pThe_palette // EDX: pSet_current_palette -void DRSetPalette3(br_pixelmap *pThe_palette); +void DRSetPalette3(br_pixelmap *pThe_palette, int pSet_current_palette); // Offset: 4272 // Size: 140 // EAX: pThe_palette // EDX: pSet_current_palette -void DRSetPalette2(br_pixelmap *pThe_palette); +void DRSetPalette2(br_pixelmap *pThe_palette, int pSet_current_palette); // Offset: 4412 // Size: 50 @@ -200,14 +204,14 @@ int OppositeColour(int pColour); // EDX: pTime // EBX: pTrans // ECX: pPos -void DrawMapBlip(tCar_spec *pCar, tU32 pTime, br_matrix34 *pTrans, br_vector3 *pPos); +void DrawMapBlip(tCar_spec *pCar, tU32 pTime, br_matrix34 *pTrans, br_vector3 *pPos, int pColour); // Offset: 9112 // Size: 257 // EAX: pTime // EDX: pPos // EBX: pColour -void DrawMapSmallBlip(tU32 pTime, br_vector3 *pPos); +void DrawMapSmallBlip(tU32 pTime, br_vector3 *pPos, int pColour); // Offset: 9372 // Size: 651 @@ -222,7 +226,7 @@ void MungeClipPlane(br_vector3 *pLight, tCar_spec *pCar, br_vector3 *p1, br_vect // EAX: pCar // EDX: pLight // EBX: pIndex_1 -void TryThisEdge(tCar_spec *pCar, br_vector3 *pLight, int pIndex_1, br_scalar pSign_1, int pIndex_2, br_scalar pSign_2, int pPoint_index_1); +void TryThisEdge(tCar_spec *pCar, br_vector3 *pLight, int pIndex_1, br_scalar pSign_1, int pIndex_2, br_scalar pSign_2, int pPoint_index_1, int pPoint_index_2, br_scalar pY_offset); // Offset: 10204 // Size: 104 @@ -257,7 +261,7 @@ void RenderShadows(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera // Size: 247 // EAX: pIndex // EDX: pTime -void FlashyMapCheckpoint(int pIndex, tU32 pTime, char cp); +void FlashyMapCheckpoint(int pIndex, tU32 pTime); // Offset: 15908 // Size: 252 @@ -289,7 +293,7 @@ void ResetPalette(); // Size: 65 // EAX: pPtr // EDX: pDarken_amount -void Darken(tU8 *pPtr); +void Darken(tU8 *pPtr, unsigned int pDarken_amount); // Offset: 20200 // Size: 194 @@ -323,7 +327,7 @@ void EnsurePaletteUp(); // Offset: 21108 // Size: 103 -br_uint_32 AmbientificateMaterial(br_material *pMat); +br_uint_32 AmbientificateMaterial(br_material *pMat, void *pArg); // Offset: 21212 // Size: 60 @@ -339,14 +343,14 @@ void InitAmbience(); // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleMaskedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x); +void DRPixelmapRectangleMaskedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight); // Offset: 22120 // Size: 86 // EAX: pDest_x // EDX: pDest_y // EBX: pSource -void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, ldiv_t __unk3__); +void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource); // Offset: 22208 // Size: 332 @@ -354,7 +358,7 @@ void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, l // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x); +void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight); // Offset: 22540 // Size: 823 @@ -362,7 +366,7 @@ void DRPixelmapRectangleOnscreenCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_i // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y); +void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight, tX1616 pShear); // Offset: 23364 // Size: 341 @@ -370,7 +374,7 @@ void DRPixelmapRectangleShearedCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_in // EDX: pDest_x // EBX: pDest_y // ECX: pSource -void DRPixelmapRectangleVScaledCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x); +void DRPixelmapRectangleVScaledCopy(br_pixelmap *pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap *pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight); // Offset: 23708 // Size: 87 @@ -418,7 +422,7 @@ void ProcessCursorGiblets(int pPeriod); // Size: 578 // EAX: pX_coord // EDX: pY_coord -int NewCursorGiblet(int pX_coord, int pY_coord, float pX_speed, float pY_speed, tU32 pDrop_time, signed char i); +int NewCursorGiblet(int pX_coord, int pY_coord, float pX_speed, float pY_speed, tU32 pDrop_time); // Offset: 26132 // Size: 1373 @@ -456,7 +460,7 @@ void InitDRFonts(); // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop); +void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip, int pOffset); // Offset: 28956 // Size: 161 @@ -464,7 +468,7 @@ void DrawDropImage(br_pixelmap *pImage, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop); +void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip); // Offset: 29120 // Size: 150 @@ -472,7 +476,7 @@ void DropInImageFromTop(br_pixelmap *pImage, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop); +void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip); // Offset: 29272 // Size: 152 @@ -480,7 +484,7 @@ void DropOutImageThruBottom(br_pixelmap *pImage, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop); +void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip); // Offset: 29424 // Size: 161 @@ -488,7 +492,7 @@ void DropInImageFromBottom(br_pixelmap *pImage, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pTop_clip -void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop); +void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip); // Offset: 29588 // Size: 262 @@ -496,7 +500,7 @@ void DropOutImageThruTop(br_pixelmap *pImage, int pLeft, int pTop); // EDX: pLeft // EBX: pTop // ECX: pPercentage -void DrawTellyLine(br_pixelmap *pImage, int pLeft); +void DrawTellyLine(br_pixelmap *pImage, int pLeft, int pTop, int pPercentage); // Offset: 29852 // Size: 203 @@ -504,21 +508,21 @@ void DrawTellyLine(br_pixelmap *pImage, int pLeft); // EDX: pLeft // EBX: pTop // ECX: pPercentage -void DrawTellyImage(br_pixelmap *pImage, int pLeft); +void DrawTellyImage(br_pixelmap *pImage, int pLeft, int pTop, int pPercentage); // Offset: 30056 // Size: 194 // EAX: pImage // EDX: pLeft // EBX: pTop -void TellyInImage(br_pixelmap *pImage, int pLeft); +void TellyInImage(br_pixelmap *pImage, int pLeft, int pTop); // Offset: 30252 // Size: 220 // EAX: pImage // EDX: pLeft // EBX: pTop -void TellyOutImage(br_pixelmap *pImage, int pLeft); +void TellyOutImage(br_pixelmap *pImage, int pLeft, int pTop); // Offset: 30472 // Size: 45 @@ -539,7 +543,7 @@ void InitShadow(); // Offset: 31320 // Size: 140 -br_uint_32 SaveShadeTable(br_pixelmap *pTable); +br_uint_32 SaveShadeTable(br_pixelmap *pTable, void *pArg); // Offset: 31460 // Size: 71 @@ -567,5 +571,6 @@ int SwitchToLoresMode(); // EDX: pSource // EBX: pSource_width // ECX: pSource_height -void DRPixelmapDoubledCopy(br_pixelmap *pDestn, br_pixelmap *pSource, int pSource_width, int pSource_height); +void DRPixelmapDoubledCopy(br_pixelmap *pDestn, br_pixelmap *pSource, int pSource_width, int pSource_height, int pX_offset, int pY_offset); +#endif diff --git a/src/DETHRACE/source/common/init.c b/src/DETHRACE/source/common/init.c index 6e93d719..2474d343 100644 --- a/src/DETHRACE/source/common/init.c +++ b/src/DETHRACE/source/common/init.c @@ -1,6 +1,5 @@ #include "init.h" -// Global variables int gInitialisation_finished; tU32 gAustere_time; int gInitial_rank; @@ -21,15 +20,15 @@ void AllocateSelf() { // Offset: 116 // Size: 514 void AllocateCamera() { - int i; + int i; } // Offset: 632 // Size: 582 void ReinitialiseForwardCamera() { - float the_angle; - float d; - float w; + float the_angle; + float d; + float w; } // Offset: 1216 @@ -45,7 +44,7 @@ void ReinitialiseRearviewCamera() { // Offset: 1608 // Size: 347 void ReinitialiseRenderStuff() { - int y_diff; + int y_diff; } // Offset: 1956 @@ -56,8 +55,8 @@ void InstallFindFailedHooks() { // Offset: 1992 // Size: 158 void AllocateStandardLamp() { - br_actor *lamp; - int i; + br_actor *lamp; + int i; } // Offset: 2152 @@ -83,37 +82,38 @@ void InitLineStuff() { // Offset: 3084 // Size: 896 void InitSmokeStuff() { - tPath_name path; + tPath_name path; } // Offset: 3980 // Size: 1350 void Init2DStuff() { - br_token_value fadealpha[3]; - tPath_name path; - br_scalar prat_u; - br_scalar prat_v; + br_token_value fadealpha[3]; + tPath_name path; + br_scalar prat_u; + br_scalar prat_v; } // Offset: 5332 // Size: 671 // EAX: pArgc // EDX: pArgv -void InitialiseApplication(int pArgc, char **pArgv, signed char __unk2__) { +void InitialiseApplication(int pArgc, char **pArgv) { } // Offset: 6004 // Size: 64 // EAX: pArgc // EDX: pArgv -void InitialiseDeathRace(int pArgc, char **pArgv, signed char the_path) { +void InitialiseDeathRace(int pArgc, char **pArgv) { + tPath_name the_path; } // Offset: 6068 // Size: 427 // EAX: pStart_race void InitGame(int pStart_race) { - int i; + int i; } // Offset: 6496 diff --git a/src/DETHRACE/source/common/init.h b/src/DETHRACE/source/common/init.h index 2bbf227c..52eb40f4 100644 --- a/src/DETHRACE/source/common/init.h +++ b/src/DETHRACE/source/common/init.h @@ -1,5 +1,9 @@ +#ifndef _INIT_H_ +#define _INIT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 115 void AllocateSelf(); @@ -60,13 +64,13 @@ void Init2DStuff(); // Size: 671 // EAX: pArgc // EDX: pArgv -void InitialiseApplication(int pArgc, char **pArgv, signed char __unk2__); +void InitialiseApplication(int pArgc, char **pArgv); // Offset: 6004 // Size: 64 // EAX: pArgc // EDX: pArgv -void InitialiseDeathRace(int pArgc, char **pArgv, signed char the_path); +void InitialiseDeathRace(int pArgc, char **pArgv); // Offset: 6068 // Size: 427 @@ -107,3 +111,4 @@ int GetScreenSize(); // EAX: pNew_size void SetScreenSize(int pNew_size); +#endif diff --git a/src/DETHRACE/source/common/input.c b/src/DETHRACE/source/common/input.c index eaa1029a..480885ce 100644 --- a/src/DETHRACE/source/common/input.c +++ b/src/DETHRACE/source/common/input.c @@ -1,6 +1,5 @@ #include "input.h" -// Global variables tJoy_array gJoy_array; tKey_array gKey_array; int gKey_poll_counter; @@ -26,15 +25,14 @@ char gCurrent_typing[110]; // Size: 996 // EAX: pKeys // EDX: pMark -void SetJoystickArrays(int *pKeys) { - int pMark; - int i; - tS32 joyX; - tS32 joyY; - tS32 old_joy1X; - tS32 old_joy1Y; - tS32 old_joy2X; - tS32 old_joy2Y; +void SetJoystickArrays(int *pKeys, int pMark) { + int i; + tS32 joyX; + tS32 joyY; + tS32 old_joy1X; + tS32 old_joy1Y; + tS32 old_joy2X; + tS32 old_joy2Y; } // Offset: 996 @@ -60,36 +58,36 @@ void CheckKeysForMouldiness() { // Offset: 1400 // Size: 82 int EitherMouseButtonDown() { - int but_2; + int but_2; } // Offset: 1484 // Size: 214 // EAX: pKey_index tKey_down_result PDKeyDown2(int pKey_index) { - tU32 the_time; + tU32 the_time; } // Offset: 1700 // Size: 130 // EAX: pKey_index int PDKeyDown(int pKey_index) { - tKey_down_result result; + tKey_down_result result; } // Offset: 1832 // Size: 117 // EAX: pKey_index int PDKeyDown3(int pKey_index) { - int last_key_down_time; - int last_key_down; - tKey_down_result result; + int last_key_down_time; + int last_key_down; + tKey_down_result result; } // Offset: 1952 // Size: 208 int PDAnyKeyDown() { - tKey_down_result result; + tKey_down_result result; } // Offset: 2160 @@ -100,28 +98,28 @@ int AnyKeyDown() { // Offset: 2248 // Size: 451 tU32* KevKeyService() { - tU32 sum; - tU32 code; - tU32 code2; - int last_key; - int last_single_key; - tU32 last_time; - tU32 return_val[2]; - tU32 keys; + tU32 sum; + tU32 code; + tU32 code2; + int last_key; + int last_single_key; + tU32 last_time; + tU32 return_val[2]; + tU32 keys; } // Offset: 2700 // Size: 145 // EAX: pKey_index int OldKeyIsDown(int pKey_index) { - int i; + int i; } // Offset: 2848 // Size: 157 // EAX: pKey_index int KeyIsDown(int pKey_index) { - int i; + int i; } // Offset: 3008 @@ -146,10 +144,10 @@ int CmdKeyDown(int pFKey_ID, int pCmd_key_ID) { // EAX: pX_coord // EDX: pY_coord void GetMousePosition(int *pX_coord, int *pY_coord) { - int x_left_margin; - int x_right_margin; - int y_top_margin; - int y_bottom_margin; + int x_left_margin; + int x_right_margin; + int y_top_margin; + int y_bottom_margin; } // Offset: 3452 @@ -168,9 +166,10 @@ void EndRollingLetters() { // EDX: pX // EBX: pY // ECX: rolling_type -int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type, int let) { - int i; - int number_of_letters; +int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type) { + tRolling_letter *let; + int i; + int number_of_letters; } // Offset: 4012 @@ -179,7 +178,8 @@ int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type, int // EDX: pX // EBX: pY // ECX: rolling_type -void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type, int i) { +void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type) { + int i; } // Offset: 4124 @@ -188,30 +188,28 @@ void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type, in // EDX: pWidth // EBX: pX // ECX: pY -void AddRollingNumber(tU32 pNumber, int pWidth) { - int pX; - int pY; - char the_string[32]; +void AddRollingNumber(tU32 pNumber, int pWidth, int pX, int pY) { + char the_string[32]; } // Offset: 4212 // Size: 651 void RollLettersIn() { - tU32 period; - tRolling_letter *let; - int i; - int j; - int k; - int offset; - int which_letter; - int font_width; - int letter_offset; - int font_height; - int the_row_bytes; - tU8 *char_ptr; - tU8 *saved_char_ptr; - tU8 *source_ptr; - tU8 the_byte; + tU32 period; + tRolling_letter *let; + int i; + int j; + int k; + int offset; + int which_letter; + int font_width; + int letter_offset; + int font_height; + int the_row_bytes; + tU8 *char_ptr; + tU8 *saved_char_ptr; + tU8 *source_ptr; + tU8 the_byte; } // Offset: 4864 @@ -220,12 +218,12 @@ void RollLettersIn() { // EDX: pChar_index // EBX: pNew_char int ChangeCharTo(int pSlot_index, int pChar_index, char pNew_char) { - int x_coord; - int y_coord; - int i; - int j; - tRolling_letter *let; - tRolling_type new_type; + int x_coord; + int y_coord; + int i; + int j; + tRolling_letter *let; + tRolling_type new_type; } // Offset: 5212 @@ -235,14 +233,14 @@ int ChangeCharTo(int pSlot_index, int pChar_index, char pNew_char) { // EBX: pNew_str // ECX: pOld_str void ChangeTextTo(int pXcoord, int pYcoord, char *pNew_str, char *pOld_str) { - int x_coord; - int i; - int len; - int len2; - int j; - tRolling_letter *let; - tRolling_type new_type; - char new_char; + int x_coord; + int i; + int len; + int len2; + int j; + tRolling_letter *let; + tRolling_type new_type; + char new_char; } // Offset: 5628 @@ -257,23 +255,23 @@ void SetRollingCursor(int pSlot_index) { // EDX: pName_length // EBX: pVisible_length void BlankSlot(int pIndex, int pName_length, int pVisible_length) { - int i; + int i; } // Offset: 5784 // Size: 232 // EAX: pSlot_index void DoRLBackspace(int pSlot_index) { - int i; - int new_len; + int i; + int new_len; } // Offset: 6016 // Size: 190 // EAX: pSlot_index void DoRLDelete(int pSlot_index) { - int i; - int new_len; + int i; + int new_len; } // Offset: 6208 @@ -299,15 +297,15 @@ void DoRLCursorRight(int pSlot_index) { // EAX: pChar // EDX: pSlot_index void DoRLTypeLetter(int pChar, int pSlot_index) { - int i; - int new_len; + int i; + int new_len; } // Offset: 6848 // Size: 123 // EAX: pSlot_index void StopTyping(int pSlot_index) { - int i; + int i; } // Offset: 6972 @@ -315,7 +313,7 @@ void StopTyping(int pSlot_index) { // EAX: pSlot_index // EDX: pRevert_str void RevertTyping(int pSlot_index, char *pRevert_str) { - int i; + int i; } // Offset: 7096 @@ -352,12 +350,12 @@ void GetTypedName(char *pDestn, int pMax_length) { // Size: 212 // EAX: pSlot_index void KillCursor(int pSlot_index) { - int x_coord; - int y_coord; - int i; - int j; - tRolling_letter *let; - tRolling_type new_type; + int x_coord; + int y_coord; + int i; + int j; + tRolling_letter *let; + tRolling_type new_type; } // Offset: 7744 diff --git a/src/DETHRACE/source/common/input.h b/src/DETHRACE/source/common/input.h index f568757a..51d13fae 100644 --- a/src/DETHRACE/source/common/input.h +++ b/src/DETHRACE/source/common/input.h @@ -1,10 +1,14 @@ +#ifndef _INPUT_H_ +#define _INPUT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 996 // EAX: pKeys // EDX: pMark -void SetJoystickArrays(int *pKeys); +void SetJoystickArrays(int *pKeys, int pMark); // Offset: 996 // Size: 82 @@ -97,7 +101,7 @@ void EndRollingLetters(); // EDX: pX // EBX: pY // ECX: rolling_type -int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type, int let); +int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type); // Offset: 4012 // Size: 111 @@ -105,7 +109,7 @@ int AddRollingLetter(char pChar, int pX, int pY, tRolling_type rolling_type, int // EDX: pX // EBX: pY // ECX: rolling_type -void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type, int i); +void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type); // Offset: 4124 // Size: 85 @@ -113,7 +117,7 @@ void AddRollingString(char *pStr, int pX, int pY, tRolling_type rolling_type, in // EDX: pWidth // EBX: pX // ECX: pY -void AddRollingNumber(tU32 pNumber, int pWidth); +void AddRollingNumber(tU32 pNumber, int pWidth, int pX, int pY); // Offset: 4212 // Size: 651 @@ -227,3 +231,4 @@ void EdgeTriggerModeOn(); // Size: 44 void EdgeTriggerModeOff(); +#endif diff --git a/src/DETHRACE/source/common/intrface.c b/src/DETHRACE/source/common/intrface.c index 450efb3c..0f83687c 100644 --- a/src/DETHRACE/source/common/intrface.c +++ b/src/DETHRACE/source/common/intrface.c @@ -1,6 +1,5 @@ #include "intrface.h" -// Global variables int gDisabled_choices[10]; int gCurrent_mode; tU32 gStart_time; @@ -23,7 +22,7 @@ void ClearAlwaysTyping() { // Size: 103 // EAX: pChoice int ChoiceDisabled(int pChoice) { - int i; + int i; } // Offset: 192 @@ -37,10 +36,8 @@ void ResetInterfaceTimeout() { // EDX: pOld_selection // EBX: pNew_selection // ECX: pMode -void ChangeSelection(tInterface_spec *pSpec, int *pOld_selection, int *pNew_selection) { - int pMode; - int pSkip_disabled; - int i; +void ChangeSelection(tInterface_spec *pSpec, int *pOld_selection, int *pNew_selection, int pMode, int pSkip_disabled) { + int i; } // Offset: 864 @@ -48,21 +45,21 @@ void ChangeSelection(tInterface_spec *pSpec, int *pOld_selection, int *pNew_sele // EAX: pSpec // EDX: pCopy_areas void RecopyAreas(tInterface_spec *pSpec, br_pixelmap **pCopy_areas) { - int i; + int i; } // Offset: 1156 // Size: 111 // EAX: pChoice void DisableChoice(int pChoice) { - int i; + int i; } // Offset: 1268 // Size: 140 // EAX: pChoice void EnableChoice(int pChoice) { - int i; + int i; } // Offset: 1408 @@ -70,38 +67,37 @@ void EnableChoice(int pChoice) { // EAX: pSpec // EDX: pOptions // EBX: pCurrent_choice -int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions) { - int pCurrent_choice; - tProg_status entry_status; - int x_coord; - int y_coord; - int mouse_in_somewhere; - int i; - int key2; - int mouse_was_started; - int last_choice; - int escaped; - int timed_out; - int go_ahead; - int last_mode; - int result; - int the_key; - int the_max; - int mouse_down; - int new_mouse_down; - int last_mouse_down; - int defeat_mode_change; - int selection_changed; - char the_str[256]; - tU32 last_press; - tU32 last_left_press; - tU32 last_right_press; - tU32 last_up_press; - tU32 last_down_press; - br_pixelmap **copy_areas; - br_pixelmap *old_current_splash; - void *pixels_copy; - void *palette_copy; +int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions, int pCurrent_choice) { + tProg_status entry_status; + int x_coord; + int y_coord; + int mouse_in_somewhere; + int i; + int key2; + int mouse_was_started; + int last_choice; + int escaped; + int timed_out; + int go_ahead; + int last_mode; + int result; + int the_key; + int the_max; + int mouse_down; + int new_mouse_down; + int last_mouse_down; + int defeat_mode_change; + int selection_changed; + char the_str[256]; + tU32 last_press; + tU32 last_left_press; + tU32 last_right_press; + tU32 last_up_press; + tU32 last_down_press; + br_pixelmap **copy_areas; + br_pixelmap *old_current_splash; + void *pixels_copy; + void *palette_copy; } // Offset: 6764 @@ -109,6 +105,6 @@ int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions) { // EAX: pNew_choice // EDX: pNew_mode void ChangeSelectionTo(int pNew_choice, int pNew_mode) { - int last_choice; + int last_choice; } diff --git a/src/DETHRACE/source/common/intrface.h b/src/DETHRACE/source/common/intrface.h index 6ba43fe7..a250dd2d 100644 --- a/src/DETHRACE/source/common/intrface.h +++ b/src/DETHRACE/source/common/intrface.h @@ -1,5 +1,9 @@ +#ifndef _INTRFACE_H_ +#define _INTRFACE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 44 void SetAlwaysTyping(); @@ -23,7 +27,7 @@ void ResetInterfaceTimeout(); // EDX: pOld_selection // EBX: pNew_selection // ECX: pMode -void ChangeSelection(tInterface_spec *pSpec, int *pOld_selection, int *pNew_selection); +void ChangeSelection(tInterface_spec *pSpec, int *pOld_selection, int *pNew_selection, int pMode, int pSkip_disabled); // Offset: 864 // Size: 292 @@ -46,7 +50,7 @@ void EnableChoice(int pChoice); // EAX: pSpec // EDX: pOptions // EBX: pCurrent_choice -int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions); +int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions, int pCurrent_choice); // Offset: 6764 // Size: 88 @@ -54,3 +58,4 @@ int DoInterfaceScreen(tInterface_spec *pSpec, int pOptions); // EDX: pNew_mode void ChangeSelectionTo(int pNew_choice, int pNew_mode); +#endif diff --git a/src/DETHRACE/source/common/loading.c b/src/DETHRACE/source/common/loading.c index d177d799..3577cbed 100644 --- a/src/DETHRACE/source/common/loading.c +++ b/src/DETHRACE/source/common/loading.c @@ -1,6 +1,5 @@ #include "loading.h" -// Global variables char *gWheel_actor_names[6]; int gFunk_groove_flags[30]; char *gNet_avail_names[4]; @@ -28,42 +27,42 @@ char gDecode_string[14]; // Size: 67 // EAX: pF tU32 ReadU32(FILE *pF) { - tU32 raw_long; + tU32 raw_long; } // Offset: 68 // Size: 67 // EAX: pF tU16 ReadU16(FILE *pF) { - tU16 raw_short; + tU16 raw_short; } // Offset: 136 // Size: 67 // EAX: pF tU8 ReadU8(FILE *pF) { - tU8 raw_byte; + tU8 raw_byte; } // Offset: 204 // Size: 67 // EAX: pF tS32 ReadS32(FILE *pF) { - tS32 raw_long; + tS32 raw_long; } // Offset: 272 // Size: 67 // EAX: pF tS16 ReadS16(FILE *pF) { - tS16 raw_short; + tS16 raw_short; } // Offset: 340 // Size: 67 // EAX: pF tS8 ReadS8(FILE *pF) { - tS8 raw_byte; + tS8 raw_byte; } // Offset: 408 @@ -71,7 +70,7 @@ tS8 ReadS8(FILE *pF) { // EAX: pF // EDX: pNumber void WriteU32L(FILE *pF, tU32 pNumber) { - tU32 raw_long; + tU32 raw_long; } // Offset: 476 @@ -79,7 +78,7 @@ void WriteU32L(FILE *pF, tU32 pNumber) { // EAX: pF // EDX: pNumber void WriteU16L(FILE *pF, tU16 pNumber) { - tU16 raw_short; + tU16 raw_short; } // Offset: 544 @@ -87,7 +86,7 @@ void WriteU16L(FILE *pF, tU16 pNumber) { // EAX: pF // EDX: pNumber void WriteU8L(FILE *pF, tU8 pNumber) { - tU8 raw_byte; + tU8 raw_byte; } // Offset: 612 @@ -95,7 +94,7 @@ void WriteU8L(FILE *pF, tU8 pNumber) { // EAX: pF // EDX: pNumber void WriteS32L(FILE *pF, tS32 pNumber) { - tS32 raw_long; + tS32 raw_long; } // Offset: 680 @@ -103,7 +102,7 @@ void WriteS32L(FILE *pF, tS32 pNumber) { // EAX: pF // EDX: pNumber void WriteS16L(FILE *pF, tS16 pNumber) { - tS16 raw_short; + tS16 raw_short; } // Offset: 748 @@ -111,29 +110,28 @@ void WriteS16L(FILE *pF, tS16 pNumber) { // EAX: pF // EDX: pNumber void WriteS8L(FILE *pF, tS8 pNumber) { - tS8 raw_byte; + tS8 raw_byte; } // Offset: 816 // Size: 54 // EAX: pF // EDX: pBytes_to_skip -void SkipBytes(FILE *pF) { - int pBytes_to_skip; +void SkipBytes(FILE *pF, int pBytes_to_skip) { } // Offset: 872 // Size: 70 // EAX: pPtr tU32 MemReadU32(char **pPtr) { - tU32 raw_long; + tU32 raw_long; } // Offset: 944 // Size: 70 // EAX: pPtr tU16 MemReadU16(char **pPtr) { - tU16 raw_short; + tU16 raw_short; } // Offset: 1016 @@ -146,39 +144,38 @@ tU8 MemReadU8(char **pPtr) { // Size: 70 // EAX: pPtr tS32 MemReadS32(char **pPtr) { - tS32 raw_long; + tS32 raw_long; } // Offset: 1144 // Size: 70 // EAX: pPtr tS16 MemReadS16(char **pPtr) { - tS16 raw_short; + tS16 raw_short; } // Offset: 1216 // Size: 55 // EAX: pPtr tS8 MemReadS8(char **pPtr) { - tS8 raw_byte; + tS8 raw_byte; } // Offset: 1272 // Size: 46 // EAX: pPtr // EDX: pBytes_to_skip -void MemSkipBytes(char **pPtr) { - int pBytes_to_skip; +void MemSkipBytes(char **pPtr, int pBytes_to_skip) { } // Offset: 1320 // Size: 2149 void LoadGeneralParameters() { - tPath_name the_path; - int i; - int temp; - char s[256]; - char *str; + tPath_name the_path; + int i; + int temp; + char s[256]; + char *str; } // Offset: 3472 @@ -190,9 +187,9 @@ void FinishLoadingGeneral() { // Size: 292 // EAX: pName br_pixelmap* LoadPixelmap(char *pName) { - tPath_name the_path; - br_pixelmap *pm; - char *end; + tPath_name the_path; + br_pixelmap *pm; + char *end; } // Offset: 3820 @@ -200,104 +197,104 @@ br_pixelmap* LoadPixelmap(char *pName) { // EAX: pFile_name // EDX: pPixelmaps // EBX: pNum -br_uint_32 LoadPixelmaps(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum, unsigned char path) { - int count; +br_uint_32 LoadPixelmaps(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum) { + tPath_name path; + int count; } // Offset: 4044 // Size: 99 // EAX: pName br_pixelmap* LoadShadeTable(char *pName) { - tPath_name the_path; + tPath_name the_path; } // Offset: 4144 // Size: 129 // EAX: pName br_material* LoadMaterial(char *pName) { - tPath_name the_path; - br_material *result; + tPath_name the_path; + br_material *result; } // Offset: 4276 // Size: 123 // EAX: pName br_model* LoadModel(char *pName) { - tPath_name the_path; - br_model *model; + tPath_name the_path; + br_model *model; } // Offset: 4400 // Size: 104 // EAX: pName br_actor* LoadActor(char *pName) { - tPath_name the_path; + tPath_name the_path; } // Offset: 4504 // Size: 78 // EAX: pPath_name void DRLoadPalette(char *pPath_name) { - br_pixelmap *palette_array[100]; - int number_of_palettes; + br_pixelmap *palette_array[100]; + int number_of_palettes; } // Offset: 4584 // Size: 78 // EAX: pPath_name void DRLoadShadeTable(char *pPath_name) { - br_pixelmap *table_array[100]; - int number_of_tables; + br_pixelmap *table_array[100]; + int number_of_tables; } // Offset: 4664 // Size: 84 // EAX: pPixelmap_array // EDX: pCount -void RezeroPixelmaps(br_pixelmap **pPixelmap_array) { - int pCount; +void RezeroPixelmaps(br_pixelmap **pPixelmap_array, int pCount) { } // Offset: 4748 // Size: 97 // EAX: pPath_name void DRLoadPixelmaps(char *pPath_name) { - br_pixelmap *pixelmap_array[100]; - int number_of_pixelmaps; + br_pixelmap *pixelmap_array[100]; + int number_of_pixelmaps; } // Offset: 4848 // Size: 103 // EAX: pPath_name void DRLoadMaterials(char *pPath_name) { - br_material *material_array[100]; - int number_of_materials; + br_material *material_array[100]; + int number_of_materials; } // Offset: 4952 // Size: 103 // EAX: pPath_name void DRLoadModels(char *pPath_name) { - br_model *model_array[100]; - int number_of_models; + br_model *model_array[100]; + int number_of_models; } // Offset: 5056 // Size: 134 // EAX: pPath_name void DRLoadActors(char *pPath_name) { - br_actor *actor_array[100]; - int number_of_actors; - int i; + br_actor *actor_array[100]; + int number_of_actors; + int i; } // Offset: 5192 // Size: 134 // EAX: pPath_name void DRLoadLights(char *pPath_name) { - br_actor *light_array[100]; - int number_of_lights; - int i; + br_actor *light_array[100]; + int number_of_lights; + int i; } // Offset: 5328 @@ -305,14 +302,15 @@ void DRLoadLights(char *pPath_name) { // EAX: pThe_base_path // EDX: pThe_dir_name // EBX: pLoad_routine -void LoadInFiles(char *pThe_base_path, char *pThe_dir_name, void (*pLoad_routine)(char*), signed char the_path) { +void LoadInFiles(char *pThe_base_path, char *pThe_dir_name, void (*pLoad_routine)(char*)) { + tPath_name the_path; } // Offset: 5400 // Size: 208 // EAX: pThe_dir_path void LoadInRegisteeDir(char *pThe_dir_path) { - tPath_name the_path; + tPath_name the_path; } // Offset: 5608 @@ -323,16 +321,16 @@ void LoadInRegistees() { // Offset: 5652 // Size: 182 void LoadKeyMapping() { - tPath_name the_path; - int i; + tPath_name the_path; + int i; } // Offset: 5836 // Size: 269 // EAX: pWithin_race void LoadInterfaceStuff(int pWithin_race) { - tPath_name path; - int i; + tPath_name path; + int i; } // Offset: 6108 @@ -349,40 +347,40 @@ void InitInterfaceLoadState() { // Size: 627 // EAX: pBr_map tS8* ConvertPixTo16BitStripMap(br_pixelmap *pBr_map) { - int i; - int j; - int new_line_length; - int current_size; - int counting_blanks; - int counter; - int chunk_counter; - int max_line_bytes; - tU8 *next_byte; - tU8 *strip_image; - tU8 *current_strip_pointer; - tU8 *temp_strip_image; - tU8 *new_line; - tU8 byte; - tU16 *palette_entry; + int i; + int j; + int new_line_length; + int current_size; + int counting_blanks; + int counter; + int chunk_counter; + int max_line_bytes; + tU8 *next_byte; + tU8 *strip_image; + tU8 *current_strip_pointer; + tU8 *temp_strip_image; + tU8 *new_line; + tU8 byte; + tU16 *palette_entry; } // Offset: 7084 // Size: 578 // EAX: pThe_br_map tS8* ConvertPixToStripMap(br_pixelmap *pThe_br_map) { - int i; - int j; - int new_line_length; - int current_size; - int counting_blanks; - int counter; - int chunk_counter; - tU8 *next_byte; - tU8 *the_strip_image; - tU8 *current_strip_pointer; - tU8 *temp_strip_image; - tU8 new_line[800]; - tU8 the_byte; + int i; + int j; + int new_line_length; + int current_size; + int counting_blanks; + int counter; + int chunk_counter; + tU8 *next_byte; + tU8 *the_strip_image; + tU8 *current_strip_pointer; + tU8 *temp_strip_image; + tU8 new_line[800]; + tU8 the_byte; } // Offset: 7664 @@ -390,33 +388,32 @@ tS8* ConvertPixToStripMap(br_pixelmap *pThe_br_map) { // EAX: pModel // EDX: pMaterial void KillWindscreen(br_model *pModel, br_material *pMaterial) { - br_face *face; - int i; + br_face *face; + int i; } // Offset: 7812 // Size: 103 // EAX: pCar void DropOffDyingPeds(tCar_spec *pCar) { - br_actor *child; - br_actor *next; + br_actor *child; + br_actor *next; } // Offset: 7916 // Size: 1113 // EAX: pCar_spec // EDX: pOwner -void DisposeCar(tCar_spec *pCar_spec) { - int pOwner; - int i; - int j; +void DisposeCar(tCar_spec *pCar_spec, int pOwner) { + int i; + int j; } // Offset: 9032 // Size: 626 // EAX: pCar void AdjustCarCoordinates(tCar_spec *pCar) { - int i; + int i; } // Offset: 9660 @@ -424,13 +421,12 @@ void AdjustCarCoordinates(tCar_spec *pCar) { // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadSpeedo(FILE *pF, int pIndex) { - tCar_spec *pCar_spec; - tPath_name the_path; - char s[256]; - char *str; - char the_char1; - char the_char2; +void LoadSpeedo(FILE *pF, int pIndex, tCar_spec *pCar_spec) { + tPath_name the_path; + char s[256]; + char *str; + char the_char1; + char the_char2; } // Offset: 10592 @@ -438,13 +434,12 @@ void LoadSpeedo(FILE *pF, int pIndex) { // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadTacho(FILE *pF, int pIndex) { - tCar_spec *pCar_spec; - tPath_name the_path; - char s[256]; - char *str; - char the_char1; - char the_char2; +void LoadTacho(FILE *pF, int pIndex, tCar_spec *pCar_spec) { + tPath_name the_path; + char s[256]; + char *str; + char the_char1; + char the_char2; } // Offset: 11356 @@ -452,12 +447,11 @@ void LoadTacho(FILE *pF, int pIndex) { // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadHeadups(FILE *pF, int pIndex) { - tCar_spec *pCar_spec; - char s[256]; - char *str; - int j; - int number_of_slots; +void LoadHeadups(FILE *pF, int pIndex, tCar_spec *pCar_spec) { + char s[256]; + char *str; + int j; + int number_of_slots; } // Offset: 12172 @@ -465,17 +459,17 @@ void LoadHeadups(FILE *pF, int pIndex) { // EAX: pF // EDX: non_car void ReadNonCarMechanicsData(FILE *pF, tNon_car_spec *non_car) { - int number; - int i; - int j; - char s[256]; - tCollision_info *c; - br_scalar wid; - br_scalar het; - br_scalar len; - br_scalar ts; - br_scalar ts1; - br_scalar snap_angle; + int number; + int i; + int j; + char s[256]; + tCollision_info *c; + br_scalar wid; + br_scalar het; + br_scalar len; + br_scalar ts; + br_scalar ts1; + br_scalar snap_angle; } // Offset: 13992 @@ -483,21 +477,21 @@ void ReadNonCarMechanicsData(FILE *pF, tNon_car_spec *non_car) { // EAX: pF // EDX: c void ReadMechanicsData(FILE *pF, tCar_spec *c) { - char s[256]; - char version; - int i; - int j; - br_scalar ratio; - br_scalar ts1; - br_scalar theta_front; - br_scalar theta_back; - br_scalar theta_comp; - br_scalar wid; - br_scalar het; - br_scalar len; - br_vector3 *actor_offset; - br_scalar speed; - br_scalar force; + char s[256]; + char version; + int i; + int j; + br_scalar ratio; + br_scalar ts1; + br_scalar theta_front; + br_scalar theta_back; + br_scalar theta_comp; + br_scalar wid; + br_scalar het; + br_scalar len; + br_vector3 *actor_offset; + br_scalar speed; + br_scalar force; } // Offset: 17468 @@ -505,11 +499,10 @@ void ReadMechanicsData(FILE *pF, tCar_spec *c) { // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadGear(FILE *pF, int pIndex) { - tCar_spec *pCar_spec; - tPath_name the_path; - char s[256]; - char *str; +void LoadGear(FILE *pF, int pIndex, tCar_spec *pCar_spec) { + tPath_name the_path; + char s[256]; + char *str; } // Offset: 17664 @@ -524,29 +517,28 @@ void AddRefOffset(int *pRef_holder) { // EDX: pCar_spec // EBX: pImpact_location void GetDamageProgram(FILE *pF, tCar_spec *pCar_spec, tImpact_location pImpact_location) { - tDamage_clause *the_clause; - int i; - int j; - int k; - int count; - char s[256]; - char delim[64]; - char *str; + tDamage_clause *the_clause; + int i; + int j; + int k; + int count; + char s[256]; + char delim[64]; + char *str; } // Offset: 18420 // Size: 178 br_uint_32 LinkModel(br_actor *pActor, tModel_pool *pModel_pool) { - int i; + int i; } // Offset: 18600 // Size: 198 // EAX: pModel_array // EDX: pModel_count -void FreeUpBonnetModels(br_model **pModel_array) { - int pModel_count; - int i; +void FreeUpBonnetModels(br_model **pModel_array, int pModel_count) { + int i; } // Offset: 18800 @@ -554,9 +546,8 @@ void FreeUpBonnetModels(br_model **pModel_array) { // EAX: pActor // EDX: pModel_array // EBX: pModel_count -void LinkModelsToActor(br_actor *pActor, br_model **pModel_array) { - int pModel_count; - tModel_pool model_pool; +void LinkModelsToActor(br_actor *pActor, br_model **pModel_array, int pModel_count) { + tModel_pool model_pool; } // Offset: 18868 @@ -564,9 +555,9 @@ void LinkModelsToActor(br_actor *pActor, br_model **pModel_array) { // EAX: pF // EDX: pCar_spec void ReadShrapnelMaterials(FILE *pF, tCollision_info *pCar_spec) { - char s[256]; - char version; - int i; + char s[256]; + char version; + int i; } // Offset: 19000 @@ -574,7 +565,7 @@ void ReadShrapnelMaterials(FILE *pF, tCollision_info *pCar_spec) { // EAX: pOutput_car // EDX: pInput_car void CloneCar(tCar_spec **pOutput_car, tCar_spec *pInput_car) { - int i; + int i; } // Offset: 19200 @@ -587,29 +578,28 @@ void DisposeClonedCar(tCar_spec *pCar) { // Size: 523 // EAX: pModel int RemoveDoubleSided(br_model *pModel) { - br_face *faces; - br_face *face; - int temp; - int num_double_sided_faces; - int i; - int orig_nfaces; - int result; + br_face *faces; + br_face *face; + int temp; + int num_double_sided_faces; + int i; + int orig_nfaces; + int result; } // Offset: 19792 // Size: 201 // EAX: pModel void MungeWindscreen(br_model *pModel) { - br_face *face; - int i; + br_face *face; + int i; } // Offset: 19996 // Size: 141 // EAX: pModel // EDX: pOwner -void SetModelFlags(br_model *pModel) { - int pOwner; +void SetModelFlags(br_model *pModel, int pOwner) { } // Offset: 20140 @@ -618,59 +608,62 @@ void SetModelFlags(br_model *pModel) { // EDX: pDriver // EBX: pCar_spec // ECX: pOwner -void LoadCar(char *pCar_name, tDriver pDriver, tCar_spec *pCar_spec, int pOwner, char *pDriver_name, tBrender_storage *pStorage_space, signed char f, _complex g) { - tPath_name the_path; - int i; - int j; - int k; - int its_a_floorpan; - int number_of_floorpans; - int point_num; - int initial_vertex; - int old_model_count; - int old_material_count; - int temp_index; - int vertex_array_size; - char s[256]; - char *str; - br_pixelmap *the_image; - float rate; - float temp_float; - br_model *model; - br_vector3 tv; - int v; - int v_num; - int group; - int vertex_total; +void LoadCar(char *pCar_name, tDriver pDriver, tCar_spec *pCar_spec, int pOwner, char *pDriver_name, tBrender_storage *pStorage_space) { + FILE *f; + FILE *g; + FILE *h; + tPath_name the_path; + int i; + int j; + int k; + int its_a_floorpan; + int number_of_floorpans; + int point_num; + int initial_vertex; + int old_model_count; + int old_material_count; + int temp_index; + int vertex_array_size; + char s[256]; + char *str; + br_pixelmap *the_image; + float rate; + float temp_float; + br_model *model; + br_vector3 tv; + int v; + int v_num; + int group; + int vertex_total; } // Offset: 28344 // Size: 186 void LoadHeadupImages() { - tPath_name the_path; + tPath_name the_path; } // Offset: 28532 // Size: 94 void DisposeHeadupImages() { - tPath_name the_path; + tPath_name the_path; } // Offset: 28628 // Size: 109 FILE* OpenRaceFile() { - tPath_name the_path; + tPath_name the_path; } // Offset: 28740 // Size: 219 // EAX: pF void SkipRestOfRace(FILE *pF) { - int j; - int k; - int text_chunk_count; - int line_count; - char s[256]; + int j; + int k; + int text_chunk_count; + int line_count; + char s[256]; } // Offset: 28960 @@ -678,16 +671,15 @@ void SkipRestOfRace(FILE *pF) { // EAX: pRace_list // EDX: pCount // EBX: pRace_type_index -void LoadRaces(tRace_list_spec *pRace_list, int *pCount) { - int pRace_type_index; - FILE *f; - int i; - int j; - int k; - int number_of_racers; - int last_race; - char s[256]; - char *str; +void LoadRaces(tRace_list_spec *pRace_list, int *pCount, int pRace_type_index) { + FILE *f; + int i; + int j; + int k; + int number_of_racers; + int last_race; + char s[256]; + char *str; } // Offset: 29372 @@ -706,94 +698,93 @@ void LoadOpponentMugShot(int pIndex) { // Size: 136 // EAX: pRace_info // EDX: pIndex -void DisposeOpponentGridIcon(tRace_info *pRace_info) { - int pIndex; +void DisposeOpponentGridIcon(tRace_info *pRace_info, int pIndex) { } // Offset: 29764 // Size: 155 // EAX: pRace_info // EDX: pIndex -void LoadOpponentGridIcon(tRace_info *pRace_info) { - int pIndex; +void LoadOpponentGridIcon(tRace_info *pRace_info, int pIndex) { } // Offset: 29920 // Size: 804 // EAX: pRace_index // EDX: pRace_info -void LoadRaceInfo(int pRace_index, tRace_info *pRace_info, signed char f) { - int i; - int j; - int k; - int duplicate; - int substitute; - int auto_scum_count; - int old_index; - int temp_index; - char s[256]; - char *str; - float temp_float; - tText_chunk *the_chunk; +void LoadRaceInfo(int pRace_index, tRace_info *pRace_info) { + FILE *f; + int i; + int j; + int k; + int duplicate; + int substitute; + int auto_scum_count; + int old_index; + int temp_index; + char s[256]; + char *str; + float temp_float; + tText_chunk *the_chunk; } // Offset: 30724 // Size: 351 // EAX: pRace_info void DisposeRaceInfo(tRace_info *pRace_info) { - int i; - int j; - int k; - tText_chunk *the_chunk; + int i; + int j; + int k; + tText_chunk *the_chunk; } // Offset: 31076 // Size: 122 // EAX: pRace_info void LoadGridIcons(tRace_info *pRace_info) { - int i; + int i; } // Offset: 31200 // Size: 119 // EAX: pRace_info void DisposeGridIcons(tRace_info *pRace_info) { - int i; + int i; } // Offset: 31320 // Size: 1075 void LoadOpponents() { - tPath_name the_path; - int i; - int j; - int k; - char s[256]; - char *str; - tText_chunk *the_chunk; + tPath_name the_path; + int i; + int j; + int k; + char s[256]; + char *str; + tText_chunk *the_chunk; } // Offset: 32396 // Size: 647 // EAX: pName br_font* LoadBRFont(char *pName) { - FILE *f; - tPath_name the_path; - br_font *the_font; - tU32 data_size; - int i; + FILE *f; + tPath_name the_path; + br_font *the_font; + tU32 data_size; + int i; } // Offset: 33044 // Size: 262 void LoadParts() { - int j; + int j; } // Offset: 33308 // Size: 149 void UnlockParts() { - int j; + int j; } // Offset: 33460 @@ -812,38 +803,37 @@ void DisposeChromeFont(br_pixelmap *pThe_font) { // EAX: pF // EDX: pString_list // EBX: pCount -int GetALineAndInterpretCommand(FILE *pF, char **pString_list) { - int pCount; - int i; - char s[256]; - char *str; +int GetALineAndInterpretCommand(FILE *pF, char **pString_list, int pCount) { + int i; + char s[256]; + char *str; } // Offset: 33724 // Size: 101 // EAX: pF int GetAnInt(FILE *pF) { - char s[256]; - char *str; - int result; + char s[256]; + char *str; + int result; } // Offset: 33828 // Size: 101 // EAX: pF float GetAFloat(FILE *pF) { - char s[256]; - char *str; - float result; + char s[256]; + char *str; + float result; } // Offset: 33932 // Size: 107 // EAX: pF float GetAFloatPercent(FILE *pF) { - char s[256]; - char *str; - float result; + char s[256]; + char *str; + float result; } // Offset: 34040 @@ -852,8 +842,8 @@ float GetAFloatPercent(FILE *pF) { // EDX: pF1 // EBX: pF2 void GetPairOfFloats(FILE *pF, float *pF1, float *pF2) { - char s[256]; - char *str; + char s[256]; + char *str; } // Offset: 34172 @@ -863,8 +853,8 @@ void GetPairOfFloats(FILE *pF, float *pF1, float *pF2) { // EBX: pF2 // ECX: pF3 void GetThreeFloats(FILE *pF, float *pF1, float *pF2, float *pF3) { - char s[256]; - char *str; + char s[256]; + char *str; } // Offset: 34344 @@ -872,10 +862,9 @@ void GetThreeFloats(FILE *pF, float *pF1, float *pF2, float *pF3) { // EAX: pF // EDX: pF1 // EBX: pF2 -void GetPairOfInts(FILE *pF, int *pF1) { - int *pF2; - char s[256]; - char *str; +void GetPairOfInts(FILE *pF, int *pF1, int *pF2) { + char s[256]; + char *str; } // Offset: 34476 @@ -884,11 +873,9 @@ void GetPairOfInts(FILE *pF, int *pF1) { // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetThreeInts(FILE *pF, int *pF1) { - int *pF2; - int *pF3; - char s[256]; - char *str; +void GetThreeInts(FILE *pF, int *pF1, int *pF2, int *pF3) { + char s[256]; + char *str; } // Offset: 34648 @@ -897,11 +884,9 @@ void GetThreeInts(FILE *pF, int *pF1) { // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2) { - int *pF3; - char *pS; - char s[256]; - char *str; +void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2, int *pF3, char *pS) { + char s[256]; + char *str; } // Offset: 34848 @@ -910,11 +895,9 @@ void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2) { // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetFourInts(FILE *pF, int *pF1, int *pF2) { - int *pF3; - int *pF4; - char s[256]; - char *str; +void GetFourInts(FILE *pF, int *pF1, int *pF2, int *pF3, int *pF4) { + char s[256]; + char *str; } // Offset: 35056 @@ -947,12 +930,12 @@ void GetThreeScalars(FILE *pF, br_scalar *pS1, br_scalar *pS2, br_scalar *pS3) { // EBX: pF2 // ECX: pF3 void GetFourScalars(FILE *pF, br_scalar *pF1, br_scalar *pF2, br_scalar *pF3, br_scalar *pF4) { - char s[256]; - char *str; - float f1; - float f2; - float f3; - float f4; + char s[256]; + char *str; + float f1; + float f2; + float f3; + float f4; } // Offset: 35504 @@ -962,13 +945,13 @@ void GetFourScalars(FILE *pF, br_scalar *pF1, br_scalar *pF2, br_scalar *pF3, br // EBX: pF2 // ECX: pF3 void GetFiveScalars(FILE *pF, br_scalar *pF1, br_scalar *pF2, br_scalar *pF3, br_scalar *pF4, br_scalar *pF5) { - char s[256]; - char *str; - float f1; - float f2; - float f3; - float f4; - float f5; + char s[256]; + char *str; + float f1; + float f2; + float f3; + float f4; + float f5; } // Offset: 35792 @@ -976,12 +959,11 @@ void GetFiveScalars(FILE *pF, br_scalar *pF1, br_scalar *pF2, br_scalar *pF3, br // EAX: pF // EDX: pNumber // EBX: pScalars -void GetNScalars(FILE *pF, int pNumber) { - br_scalar *pScalars; - char s[256]; - char *str; - float fleurting_point_numero; - int i; +void GetNScalars(FILE *pF, int pNumber, br_scalar *pScalars) { + char s[256]; + char *str; + float fleurting_point_numero; + int i; } // Offset: 35944 @@ -990,8 +972,8 @@ void GetNScalars(FILE *pF, int pNumber) { // EDX: pF1 // EBX: pF2 void GetPairOfFloatPercents(FILE *pF, float *pF1, float *pF2) { - char s[256]; - char *str; + char s[256]; + char *str; } // Offset: 36104 @@ -1001,18 +983,17 @@ void GetPairOfFloatPercents(FILE *pF, float *pF1, float *pF2) { // EBX: pF2 // ECX: pF3 void GetThreeFloatPercents(FILE *pF, float *pF1, float *pF2, float *pF3) { - char s[256]; - char *str; + char s[256]; + char *str; } // Offset: 36312 // Size: 82 // EAX: pF // EDX: pString -void GetAString(FILE *pF) { - char *pString; - char s[256]; - char *str; +void GetAString(FILE *pF, char *pString) { + char s[256]; + char *str; } // Offset: 36396 @@ -1024,22 +1005,22 @@ void AboutToLoadFirstCar() { // Size: 275 // EAX: pRace_info void LoadOpponentsCars(tRace_info *pRace_info) { - int i; + int i; } // Offset: 36724 // Size: 184 // EAX: pRace_info void DisposeOpponentsCars(tRace_info *pRace_info) { - int i; + int i; } // Offset: 36908 // Size: 211 void LoadMiscStrings() { - FILE *f; - char s[256]; - tPath_name the_path; + FILE *f; + char s[256]; + tPath_name the_path; } // Offset: 37120 @@ -1053,16 +1034,16 @@ void FillInRaceInfo(tRace_info *pThe_race) { // EAX: pFilename // EDX: pMode FILE* OldDRfopen(char *pFilename, char *pMode) { - FILE *fp; - FILE *file_ptr; - FILE *test1; - FILE *test2; - char *data_dir; - tPath_name CD_dir; - tPath_name path_file; - tPath_name source_check; - int source_exists; - int len; + FILE *fp; + FILE *file_ptr; + FILE *test1; + FILE *test2; + char *data_dir; + tPath_name CD_dir; + tPath_name path_file; + tPath_name source_check; + int source_exists; + int len; } // Offset: 38332 @@ -1080,19 +1061,19 @@ void DoNotAllowOpenToFail() { // EAX: pFilename // EDX: pMode FILE* DRfopen(char *pFilename, char *pMode) { - FILE *result; - tPath_name CD_dir; - char msg[336]; + FILE *result; + tPath_name CD_dir; + char msg[336]; } // Offset: 38604 // Size: 178 // EAX: pPath_name int GetCDPathFromPathsTxtFile(char *pPath_name) { - int got_it_already; - tPath_name cd_pathname; - FILE *paths_txt_fp; - tPath_name paths_txt; + int got_it_already; + tPath_name cd_pathname; + FILE *paths_txt_fp; + tPath_name paths_txt; } // Offset: 38784 @@ -1121,24 +1102,23 @@ void ReadNetworkSettings(FILE *pF, tNet_game_options *pOptions) { // Size: 378 // EAX: pF // EDX: pIndex -int PrintNetOptions(FILE *pF) { - int pIndex; +int PrintNetOptions(FILE *pF, int pIndex) { } // Offset: 39512 // Size: 1398 int SaveOptions() { - FILE *f; + FILE *f; } // Offset: 40912 // Size: 1643 int RestoreOptions() { - FILE *f; - char line[80]; - char token[80]; - char *s; - float arg; + FILE *f; + char line[80]; + char token[80]; + char *s; + float arg; } // Offset: 42556 diff --git a/src/DETHRACE/source/common/loading.h b/src/DETHRACE/source/common/loading.h index 8763c101..eac205b3 100644 --- a/src/DETHRACE/source/common/loading.h +++ b/src/DETHRACE/source/common/loading.h @@ -1,5 +1,9 @@ +#ifndef _LOADING_H_ +#define _LOADING_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 67 // EAX: pF @@ -70,7 +74,7 @@ void WriteS8L(FILE *pF, tS8 pNumber); // Size: 54 // EAX: pF // EDX: pBytes_to_skip -void SkipBytes(FILE *pF); +void SkipBytes(FILE *pF, int pBytes_to_skip); // Offset: 872 // Size: 70 @@ -106,7 +110,7 @@ tS8 MemReadS8(char **pPtr); // Size: 46 // EAX: pPtr // EDX: pBytes_to_skip -void MemSkipBytes(char **pPtr); +void MemSkipBytes(char **pPtr, int pBytes_to_skip); // Offset: 1320 // Size: 2149 @@ -126,7 +130,7 @@ br_pixelmap* LoadPixelmap(char *pName); // EAX: pFile_name // EDX: pPixelmaps // EBX: pNum -br_uint_32 LoadPixelmaps(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum, unsigned char path); +br_uint_32 LoadPixelmaps(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum); // Offset: 4044 // Size: 99 @@ -162,7 +166,7 @@ void DRLoadShadeTable(char *pPath_name); // Size: 84 // EAX: pPixelmap_array // EDX: pCount -void RezeroPixelmaps(br_pixelmap **pPixelmap_array); +void RezeroPixelmaps(br_pixelmap **pPixelmap_array, int pCount); // Offset: 4748 // Size: 97 @@ -194,7 +198,7 @@ void DRLoadLights(char *pPath_name); // EAX: pThe_base_path // EDX: pThe_dir_name // EBX: pLoad_routine -void LoadInFiles(char *pThe_base_path, char *pThe_dir_name, void (*pLoad_routine)(char*), signed char the_path); +void LoadInFiles(char *pThe_base_path, char *pThe_dir_name, void (*pLoad_routine)(char*)); // Offset: 5400 // Size: 208 @@ -247,7 +251,7 @@ void DropOffDyingPeds(tCar_spec *pCar); // Size: 1113 // EAX: pCar_spec // EDX: pOwner -void DisposeCar(tCar_spec *pCar_spec); +void DisposeCar(tCar_spec *pCar_spec, int pOwner); // Offset: 9032 // Size: 626 @@ -259,21 +263,21 @@ void AdjustCarCoordinates(tCar_spec *pCar); // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadSpeedo(FILE *pF, int pIndex); +void LoadSpeedo(FILE *pF, int pIndex, tCar_spec *pCar_spec); // Offset: 10592 // Size: 764 // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadTacho(FILE *pF, int pIndex); +void LoadTacho(FILE *pF, int pIndex, tCar_spec *pCar_spec); // Offset: 11356 // Size: 816 // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadHeadups(FILE *pF, int pIndex); +void LoadHeadups(FILE *pF, int pIndex, tCar_spec *pCar_spec); // Offset: 12172 // Size: 1819 @@ -292,7 +296,7 @@ void ReadMechanicsData(FILE *pF, tCar_spec *c); // EAX: pF // EDX: pIndex // EBX: pCar_spec -void LoadGear(FILE *pF, int pIndex); +void LoadGear(FILE *pF, int pIndex, tCar_spec *pCar_spec); // Offset: 17664 // Size: 56 @@ -314,14 +318,14 @@ br_uint_32 LinkModel(br_actor *pActor, tModel_pool *pModel_pool); // Size: 198 // EAX: pModel_array // EDX: pModel_count -void FreeUpBonnetModels(br_model **pModel_array); +void FreeUpBonnetModels(br_model **pModel_array, int pModel_count); // Offset: 18800 // Size: 67 // EAX: pActor // EDX: pModel_array // EBX: pModel_count -void LinkModelsToActor(br_actor *pActor, br_model **pModel_array); +void LinkModelsToActor(br_actor *pActor, br_model **pModel_array, int pModel_count); // Offset: 18868 // Size: 132 @@ -354,7 +358,7 @@ void MungeWindscreen(br_model *pModel); // Size: 141 // EAX: pModel // EDX: pOwner -void SetModelFlags(br_model *pModel); +void SetModelFlags(br_model *pModel, int pOwner); // Offset: 20140 // Size: 8202 @@ -362,7 +366,7 @@ void SetModelFlags(br_model *pModel); // EDX: pDriver // EBX: pCar_spec // ECX: pOwner -void LoadCar(char *pCar_name, tDriver pDriver, tCar_spec *pCar_spec, int pOwner, char *pDriver_name, tBrender_storage *pStorage_space, signed char f, _complex g); +void LoadCar(char *pCar_name, tDriver pDriver, tCar_spec *pCar_spec, int pOwner, char *pDriver_name, tBrender_storage *pStorage_space); // Offset: 28344 // Size: 186 @@ -386,7 +390,7 @@ void SkipRestOfRace(FILE *pF); // EAX: pRace_list // EDX: pCount // EBX: pRace_type_index -void LoadRaces(tRace_list_spec *pRace_list, int *pCount); +void LoadRaces(tRace_list_spec *pRace_list, int *pCount, int pRace_type_index); // Offset: 29372 // Size: 88 @@ -402,19 +406,19 @@ void LoadOpponentMugShot(int pIndex); // Size: 136 // EAX: pRace_info // EDX: pIndex -void DisposeOpponentGridIcon(tRace_info *pRace_info); +void DisposeOpponentGridIcon(tRace_info *pRace_info, int pIndex); // Offset: 29764 // Size: 155 // EAX: pRace_info // EDX: pIndex -void LoadOpponentGridIcon(tRace_info *pRace_info); +void LoadOpponentGridIcon(tRace_info *pRace_info, int pIndex); // Offset: 29920 // Size: 804 // EAX: pRace_index // EDX: pRace_info -void LoadRaceInfo(int pRace_index, tRace_info *pRace_info, signed char f); +void LoadRaceInfo(int pRace_index, tRace_info *pRace_info); // Offset: 30724 // Size: 351 @@ -462,7 +466,7 @@ void DisposeChromeFont(br_pixelmap *pThe_font); // EAX: pF // EDX: pString_list // EBX: pCount -int GetALineAndInterpretCommand(FILE *pF, char **pString_list); +int GetALineAndInterpretCommand(FILE *pF, char **pString_list, int pCount); // Offset: 33724 // Size: 101 @@ -499,7 +503,7 @@ void GetThreeFloats(FILE *pF, float *pF1, float *pF2, float *pF3); // EAX: pF // EDX: pF1 // EBX: pF2 -void GetPairOfInts(FILE *pF, int *pF1); +void GetPairOfInts(FILE *pF, int *pF1, int *pF2); // Offset: 34476 // Size: 169 @@ -507,7 +511,7 @@ void GetPairOfInts(FILE *pF, int *pF1); // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetThreeInts(FILE *pF, int *pF1); +void GetThreeInts(FILE *pF, int *pF1, int *pF2, int *pF3); // Offset: 34648 // Size: 197 @@ -515,7 +519,7 @@ void GetThreeInts(FILE *pF, int *pF1); // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2); +void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2, int *pF3, char *pS); // Offset: 34848 // Size: 208 @@ -523,7 +527,7 @@ void GetThreeIntsAndAString(FILE *pF, int *pF1, int *pF2); // EDX: pF1 // EBX: pF2 // ECX: pF3 -void GetFourInts(FILE *pF, int *pF1, int *pF2); +void GetFourInts(FILE *pF, int *pF1, int *pF2, int *pF3, int *pF4); // Offset: 35056 // Size: 51 @@ -566,7 +570,7 @@ void GetFiveScalars(FILE *pF, br_scalar *pF1, br_scalar *pF2, br_scalar *pF3, br // EAX: pF // EDX: pNumber // EBX: pScalars -void GetNScalars(FILE *pF, int pNumber); +void GetNScalars(FILE *pF, int pNumber, br_scalar *pScalars); // Offset: 35944 // Size: 157 @@ -587,7 +591,7 @@ void GetThreeFloatPercents(FILE *pF, float *pF1, float *pF2, float *pF3); // Size: 82 // EAX: pF // EDX: pString -void GetAString(FILE *pF); +void GetAString(FILE *pF, char *pString); // Offset: 36396 // Size: 49 @@ -659,7 +663,7 @@ void ReadNetworkSettings(FILE *pF, tNet_game_options *pOptions); // Size: 378 // EAX: pF // EDX: pIndex -int PrintNetOptions(FILE *pF); +int PrintNetOptions(FILE *pF, int pIndex); // Offset: 39512 // Size: 1398 @@ -673,3 +677,4 @@ int RestoreOptions(); // Size: 75 void InitFunkGrooveFlags(); +#endif diff --git a/src/DETHRACE/source/common/loadsave.c b/src/DETHRACE/source/common/loadsave.c index 2a68e0da..2c18cce0 100644 --- a/src/DETHRACE/source/common/loadsave.c +++ b/src/DETHRACE/source/common/loadsave.c @@ -1,6 +1,5 @@ #include "loadsave.h" -// Global variables tSave_game *gSaved_games[8]; int gStarted_typing; int gSave_allowed; @@ -9,25 +8,25 @@ int gSave_allowed; // Size: 647 // EAX: pIndex void CorrectLoadByteOrdering(int pIndex) { - int i; + int i; } // Offset: 648 // Size: 128 // EAX: pSaved_game tU32 CalcLSChecksum(tSave_game *pSaved_game) { - tU32 checksum; - tU32 checksum2; - int i; - tU8 *ptr; + tU32 checksum; + tU32 checksum2; + int i; + tU8 *ptr; } // Offset: 776 // Size: 391 void LoadSavedGames() { - int i; - FILE *f; - tU32 the_size; + int i; + FILE *f; + tU32 the_size; } // Offset: 1168 @@ -39,14 +38,14 @@ void DisposeSavedGames() { // Size: 701 // EAX: pSlot_index void LoadTheGame(int pSlot_index) { - int i; - char the_car_name[14]; + int i; + char the_car_name[14]; } // Offset: 1968 // Size: 331 void StartRollingSaveNamesIn() { - int save_slot_height; + int save_slot_height; } // Offset: 2300 @@ -58,44 +57,44 @@ void LoadStart() { // Size: 415 // EAX: pSave_allowed int DoLoadGame(int pSave_allowed) { - tFlicette flicker_on[9]; - tFlicette flicker_off[9]; - tFlicette push[9]; - tMouse_area mouse_areas[9]; - tRectile recopy_areas[24]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_on[9]; + tFlicette flicker_off[9]; + tFlicette push[9]; + tMouse_area mouse_areas[9]; + tRectile recopy_areas[24]; + tInterface_spec interface_spec; + int result; } // Offset: 2756 // Size: 647 // EAX: pIndex void CorrectSaveByteOrdering(int pIndex) { - int i; + int i; } // Offset: 3404 // Size: 229 // EAX: pSlot_number void SaveTheGame(int pSlot_number) { - tPath_name the_path; - FILE *f; + tPath_name the_path; + FILE *f; } // Offset: 3636 // Size: 77 int ConfirmMidGameSave() { - tFlicette flicker_off[2]; - tFlicette push[2]; - tMouse_area mouse_areas[2]; - tInterface_spec interface_spec; + tFlicette flicker_off[2]; + tFlicette push[2]; + tMouse_area mouse_areas[2]; + tInterface_spec interface_spec; } // Offset: 3716 // Size: 492 // EAX: pSave_record void MakeSavedGame(tSave_game **pSave_record) { - int i; + int i; } // Offset: 4208 @@ -126,8 +125,8 @@ int SaveDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int pEscaped // EAX: pCurrent_choice // EDX: pCurrent_mode int SaveGoAhead(int *pCurrent_choice, int *pCurrent_mode) { - char s1[256]; - char s2[256]; + char s1[256]; + char s2[256]; } // Offset: 4956 @@ -135,20 +134,20 @@ int SaveGoAhead(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int SaveEscape(int *pCurrent_choice, int *pCurrent_mode) { - char s1[256]; - char s2[256]; + char s1[256]; + char s2[256]; } // Offset: 5324 // Size: 92 // EAX: pDefault_choice int SaveGameInterface(int pDefault_choice) { - tFlicette flicker_on[9]; - tFlicette flicker_off[9]; - tFlicette push[9]; - tMouse_area mouse_areas[9]; - tRectile recopy_areas[24]; - tInterface_spec interface_spec; + tFlicette flicker_on[9]; + tFlicette flicker_off[9]; + tFlicette push[9]; + tMouse_area mouse_areas[9]; + tRectile recopy_areas[24]; + tInterface_spec interface_spec; } // Offset: 5416 diff --git a/src/DETHRACE/source/common/loadsave.h b/src/DETHRACE/source/common/loadsave.h index a5e75ef8..99e57876 100644 --- a/src/DETHRACE/source/common/loadsave.h +++ b/src/DETHRACE/source/common/loadsave.h @@ -1,5 +1,9 @@ +#ifndef _LOADSAVE_H_ +#define _LOADSAVE_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 647 // EAX: pIndex @@ -97,3 +101,4 @@ int SaveGameInterface(int pDefault_choice); // EAX: pSave_allowed void DoSaveGame(int pSave_allowed); +#endif diff --git a/src/DETHRACE/source/common/main.c b/src/DETHRACE/source/common/main.c index 0b4890df..3646a6db 100644 --- a/src/DETHRACE/source/common/main.c +++ b/src/DETHRACE/source/common/main.c @@ -1,6 +1,5 @@ #include "main.h" -// Global variables // Offset: 0 // Size: 161 @@ -10,10 +9,10 @@ void QuitGame() { // Offset: 164 // Size: 97 tU32 TrackCount(br_actor *pActor, tU32 *pCount) { - unsigned int x; - unsigned int z; - int ad; - float e; + unsigned int x; + unsigned int z; + int ad; + float e; } // Offset: 264 @@ -41,6 +40,7 @@ void ServiceGameInRace() { // Size: 177 // EAX: pArgc // EDX: pArgv -void GameMain(int pArgc, char **pArgv, union CD_dir) { +void GameMain(int pArgc, char **pArgv) { + tPath_name CD_dir; } diff --git a/src/DETHRACE/source/common/main.h b/src/DETHRACE/source/common/main.h index d8d7a258..c68efc2e 100644 --- a/src/DETHRACE/source/common/main.h +++ b/src/DETHRACE/source/common/main.h @@ -1,5 +1,9 @@ +#ifndef _MAIN_H_ +#define _MAIN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 161 void QuitGame(); @@ -29,5 +33,6 @@ void ServiceGameInRace(); // Size: 177 // EAX: pArgc // EDX: pArgv -void GameMain(int pArgc, char **pArgv, union CD_dir); +void GameMain(int pArgc, char **pArgv); +#endif diff --git a/src/DETHRACE/source/common/mainloop.c b/src/DETHRACE/source/common/mainloop.c index 1f951941..a41f4b30 100644 --- a/src/DETHRACE/source/common/mainloop.c +++ b/src/DETHRACE/source/common/mainloop.c @@ -1,6 +1,5 @@ #include "mainloop.h" -// Global variables tU32 gOld_camera_time; tU32 gActual_last_tick_count; tU32 gLast_wasted_massage_start; @@ -29,10 +28,10 @@ void ToggleInfo() { // Offset: 164 // Size: 220 void CalculateFrameRate() { - tU32 new_time; - int last_rates[30]; - int new_rate; - int i; + tU32 new_time; + int last_rates[30]; + int new_rate; + int i; } // Offset: 384 @@ -49,29 +48,29 @@ void QueueWastedMassage(int pIndex) { // Offset: 588 // Size: 2796 void MungeHeadups() { - int flash_rate; - int new_countdown; - int net_credits; - int previous_gtimer; - int previous_time_bonus; - int effective_timer; - int bonus; - int oppo_count; - tU32 the_time; - float bearing; - br_material *nearby; - tPixelmap_user_data *user; - tU32 last_rattle_time; + int flash_rate; + int new_countdown; + int net_credits; + int previous_gtimer; + int previous_time_bonus; + int effective_timer; + int bonus; + int oppo_count; + tU32 the_time; + float bearing; + br_material *nearby; + tPixelmap_user_data *user; + tU32 last_rattle_time; } // Offset: 3384 // Size: 588 // EAX: pCamera_period void UpdateFramePeriod(tU32 *pCamera_period) { - tU32 new_tick_count; - tU32 new_camera_tick_count; - int error; - int last_AR_mode; + tU32 new_tick_count; + tU32 new_camera_tick_count; + int error; + int last_AR_mode; } // Offset: 3972 @@ -82,9 +81,9 @@ tU32 GetLastTickCount() { // Offset: 4020 // Size: 192 void CheckTimer() { - tS32 time_left; - tU32 last_time_in_seconds; - tU32 last_demo_time_in_seconds; + tS32 time_left; + tU32 last_time_in_seconds; + tU32 last_demo_time_in_seconds; } // Offset: 4212 @@ -95,13 +94,13 @@ int MungeRaceFinished() { // Offset: 4532 // Size: 1868 tRace_result MainGameLoop() { - tU32 camera_period; - tU32 start_menu_time; - tU32 frame_start_time; - tRace_result result; - int tried_to_allocate_AR; - int i; - int bonus; + tU32 camera_period; + tU32 start_menu_time; + tU32 frame_start_time; + tRace_result result; + int tried_to_allocate_AR; + int i; + int bonus; } // Offset: 6400 diff --git a/src/DETHRACE/source/common/mainloop.h b/src/DETHRACE/source/common/mainloop.h index d1a77d8a..f8d8b43e 100644 --- a/src/DETHRACE/source/common/mainloop.h +++ b/src/DETHRACE/source/common/mainloop.h @@ -1,5 +1,9 @@ +#ifndef _MAINLOOP_H_ +#define _MAINLOOP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 161 void ToggleInfo(); @@ -46,3 +50,4 @@ tRace_result MainGameLoop(); // Size: 61 tRace_result DoRace(); +#endif diff --git a/src/DETHRACE/source/common/mainmenu.c b/src/DETHRACE/source/common/mainmenu.c index 84b7977b..75319b90 100644 --- a/src/DETHRACE/source/common/mainmenu.c +++ b/src/DETHRACE/source/common/mainmenu.c @@ -1,6 +1,5 @@ #include "mainmenu.h" -// Global variables char *gPalette_copy; int gPixel_buffer_size; tInterface_spec *gMain_menu_spec; @@ -35,28 +34,26 @@ void StartMainMenu() { // Size: 455 // EAX: pTime_out // EDX: pContinue_allowed -int DoMainMenuInterface(tU32 pTime_out) { - int pContinue_allowed; - tFlicette flicker_on1[8]; - tFlicette flicker_off1[8]; - tFlicette push1[8]; - tMouse_area mouse_areas1[8]; - tInterface_spec interface_spec1; - tFlicette flicker_on2[5]; - tFlicette flicker_off2[5]; - tFlicette push2[5]; - tMouse_area mouse_areas2[5]; - tInterface_spec interface_spec2; - int result; +int DoMainMenuInterface(tU32 pTime_out, int pContinue_allowed) { + tFlicette flicker_on1[8]; + tFlicette flicker_off1[8]; + tFlicette push1[8]; + tMouse_area mouse_areas1[8]; + tInterface_spec interface_spec1; + tFlicette flicker_on2[5]; + tFlicette flicker_off2[5]; + tFlicette push2[5]; + tMouse_area mouse_areas2[5]; + tInterface_spec interface_spec2; + int result; } // Offset: 1068 // Size: 256 // EAX: pTime_out // EDX: pContinue_allowed -tMM_result GetMainMenuOption(tU32 pTime_out) { - int pContinue_allowed; - int result; +tMM_result GetMainMenuOption(tU32 pTime_out, int pContinue_allowed) { + int result; } // Offset: 1324 @@ -77,14 +74,14 @@ int QuitVerifyDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int pE // Size: 333 // EAX: pReplace_background int DoVerifyQuit(int pReplace_background) { - tFlicette flicker_on[2]; - tFlicette flicker_off[2]; - tFlicette push[2]; - tMouse_area mouse_areas[2]; - tInterface_spec interface_spec; - int result; - int switched_res; - int woz_in_race; + tFlicette flicker_on[2]; + tFlicette flicker_off[2]; + tFlicette push[2]; + tMouse_area mouse_areas[2]; + tInterface_spec interface_spec; + int result; + int switched_res; + int woz_in_race; } // Offset: 2052 @@ -92,9 +89,8 @@ int DoVerifyQuit(int pReplace_background) { // EAX: pTime_out // EDX: pSave_allowed // EBX: pContinue_allowed -tMM_result DoMainMenu(tU32 pTime_out, int pSave_allowed) { - int pContinue_allowed; - tMM_result the_result; +tMM_result DoMainMenu(tU32 pTime_out, int pSave_allowed, int pContinue_allowed) { + tMM_result the_result; } // Offset: 2420 @@ -102,8 +98,7 @@ tMM_result DoMainMenu(tU32 pTime_out, int pSave_allowed) { // EAX: pTime_out // EDX: pSave_allowed // EBX: pContinue_allowed -void DoMainMenuScreen(tU32 pTime_out, int pSave_allowed) { - int pContinue_allowed; - tPlayer_status old_status; +void DoMainMenuScreen(tU32 pTime_out, int pSave_allowed, int pContinue_allowed) { + tPlayer_status old_status; } diff --git a/src/DETHRACE/source/common/mainmenu.h b/src/DETHRACE/source/common/mainmenu.h index 36f19b12..9712286a 100644 --- a/src/DETHRACE/source/common/mainmenu.h +++ b/src/DETHRACE/source/common/mainmenu.h @@ -1,5 +1,9 @@ +#ifndef _MAINMENU_H_ +#define _MAINMENU_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 194 // EAX: pCurrent_choice @@ -24,13 +28,13 @@ void StartMainMenu(); // Size: 455 // EAX: pTime_out // EDX: pContinue_allowed -int DoMainMenuInterface(tU32 pTime_out); +int DoMainMenuInterface(tU32 pTime_out, int pContinue_allowed); // Offset: 1068 // Size: 256 // EAX: pTime_out // EDX: pContinue_allowed -tMM_result GetMainMenuOption(tU32 pTime_out); +tMM_result GetMainMenuOption(tU32 pTime_out, int pContinue_allowed); // Offset: 1324 // Size: 169 @@ -54,12 +58,13 @@ int DoVerifyQuit(int pReplace_background); // EAX: pTime_out // EDX: pSave_allowed // EBX: pContinue_allowed -tMM_result DoMainMenu(tU32 pTime_out, int pSave_allowed); +tMM_result DoMainMenu(tU32 pTime_out, int pSave_allowed, int pContinue_allowed); // Offset: 2420 // Size: 304 // EAX: pTime_out // EDX: pSave_allowed // EBX: pContinue_allowed -void DoMainMenuScreen(tU32 pTime_out, int pSave_allowed); +void DoMainMenuScreen(tU32 pTime_out, int pSave_allowed, int pContinue_allowed); +#endif diff --git a/src/DETHRACE/source/common/netgame.c b/src/DETHRACE/source/common/netgame.c index 1b621dfe..f7460df6 100644 --- a/src/DETHRACE/source/common/netgame.c +++ b/src/DETHRACE/source/common/netgame.c @@ -1,6 +1,5 @@ #include "netgame.h" -// Global variables int gGame_scores[6]; int gPowerup_cost[4]; int gPed_target; @@ -15,21 +14,21 @@ int gIt_or_fox; // Size: 2343 // EAX: pNext_frame_time void SendCarData(tU32 pNext_frame_time) { - tNet_contents *contents; - tCar_spec *car; - tCollision_info *ncar; - int i; - int j; - tU32 last_time; - tU32 time; - int damaged_wheels; + tNet_contents *contents; + tCar_spec *car; + tCollision_info *ncar; + int i; + int j; + tU32 last_time; + tU32 time; + int damaged_wheels; } // Offset: 2344 // Size: 137 // EAX: pContents void ReceivedRecover(tNet_contents *pContents) { - int i; + int i; } // Offset: 2484 @@ -37,61 +36,61 @@ void ReceivedRecover(tNet_contents *pContents) { // EAX: pCar // EDX: pContents void CopyMechanics(tCar_spec *pCar, tNet_contents *pContents) { - int j; + int j; } // Offset: 2604 // Size: 1378 // EAX: pContents void ReceivedMechanics(tNet_contents *pContents) { - int i; - tCar_spec *car; + int i; + tCar_spec *car; } // Offset: 3984 // Size: 576 // EAX: pContents void ReceivedCopInfo(tNet_contents *pContents) { - tCar_spec *c; - int i; + tCar_spec *c; + int i; } // Offset: 4560 // Size: 250 void SendAllNonCarPositions() { - int i; - br_actor **list; - tNon_car_spec *non_car; - tNet_contents *contents; + int i; + br_actor **list; + tNon_car_spec *non_car; + tNet_contents *contents; } // Offset: 4812 // Size: 118 // EAX: pContents void ReceivedNonCarPosition(tNet_contents *pContents) { - br_actor *actor; + br_actor *actor; } // Offset: 4932 // Size: 842 // EAX: pContents void ReceivedNonCar(tNet_contents *pContents) { - br_actor *actor; - br_vector3 tv; - tU8 cx; - tU8 cz; - tTrack_spec *track_spec; - tNon_car_spec *ncar; - tCollision_info *c; + br_actor *actor; + br_vector3 tv; + tU8 cx; + tU8 cz; + tTrack_spec *track_spec; + tNon_car_spec *ncar; + tCollision_info *c; } // Offset: 5776 // Size: 617 // EAX: pIndex void SignalToStartRace2(int pIndex) { - tNet_message *the_message; - int i; - int j; + tNet_message *the_message; + int i; + int j; } // Offset: 6396 @@ -102,25 +101,25 @@ void SignalToStartRace() { // Offset: 6452 // Size: 776 void SetUpNetCarPositions() { - int j; - int k; - int grid_index; - int racer_count; + int j; + int k; + int grid_index; + int racer_count; } // Offset: 7228 // Size: 93 // EAX: pCar void ReinitialiseCar(tCar_spec *pCar) { - int i; + int i; } // Offset: 7324 // Size: 285 // EAX: pIndex void RepositionPlayer(int pIndex) { - tNet_message *the_message; - tCar_spec *car; + tNet_message *the_message; + tCar_spec *car; } // Offset: 7612 @@ -139,10 +138,10 @@ void EnableCar(tCar_spec *pCar) { // Size: 893 // EAX: pCredits void DoNetworkHeadups(int pCredits) { - char s[256]; - char s2[256]; - tU32 last_flash; - int flash_state; + char s[256]; + char s2[256]; + tU32 last_flash; + int flash_state; } // Offset: 8932 @@ -164,26 +163,26 @@ int SortNetHeadDescending(void *pFirst_one, void *pSecond_one) { // EAX: pName // EDX: pFont // EBX: pMax_width -void ClipName(char *pName, tDR_font *pFont, int pMax_width, signed char __unk3__) { +void ClipName(char *pName, tDR_font *pFont, int pMax_width) { } // Offset: 9340 // Size: 2219 // EAX: pOnly_sort_scores void DoNetScores2(int pOnly_sort_scores) { - int i; - int j; - int score; - int flags; - int index; - int right_edge; - int x; - int len; - int ascending_order; - char s[256]; - tU32 last_flash; - int flash_state; - tHeadup_pair headup_pairs[6]; + int i; + int j; + int score; + int flags; + int index; + int right_edge; + int x; + int len; + int ascending_order; + char s[256]; + tU32 last_flash; + int flash_state; + tHeadup_pair headup_pairs[6]; } // Offset: 11560 @@ -204,26 +203,26 @@ void DisposeNetHeadups() { // Offset: 11908 // Size: 130 void EverybodysLost() { - int i; + int i; } // Offset: 12040 // Size: 676 // EAX: pWinner_index void DeclareWinner(int pWinner_index) { - tNet_message *the_message; - int i; - int j; - int best_score_index; - char s[256]; + tNet_message *the_message; + int i; + int j; + int best_score_index; + char s[256]; } // Offset: 12716 // Size: 476 // EAX: pPlayer void PlayerIsIt(tNet_game_player_info *pPlayer) { - int i; - char s[256]; + int i; + char s[256]; } // Offset: 13192 @@ -231,7 +230,7 @@ void PlayerIsIt(tNet_game_player_info *pPlayer) { // EAX: pPlayer_1 // EDX: pPlayer_2 int FarEnoughAway(tNet_game_player_info *pPlayer_1, tNet_game_player_info *pPlayer_2) { - br_vector3 difference; + br_vector3 difference; } // Offset: 13388 @@ -244,39 +243,39 @@ void CarInContactWithItOrFox(tNet_game_player_info *pPlayer) { // Size: 276 // EAX: pNot_this_one void SelectRandomItOrFox(int pNot_this_one) { - int i; - int new_choice; + int i; + int new_choice; } // Offset: 13808 // Size: 2570 void CalcPlayerScores() { - int j; - int knock_out_bit; - int e_dam; - int t_dam; - int d_dam; - int w_dam; - int cars_left; - int car_left; - int flags; - int score; - int highest; - int next_highest; - int lowest_score; - int player_left; - int new_choice; - tCar_spec *car; - tNet_message *message; - tS32 time; - char s[256]; - tNet_game_player_info *lowest_score_player; + int j; + int knock_out_bit; + int e_dam; + int t_dam; + int d_dam; + int w_dam; + int cars_left; + int car_left; + int flags; + int score; + int highest; + int next_highest; + int lowest_score; + int player_left; + int new_choice; + tCar_spec *car; + tNet_message *message; + tS32 time; + char s[256]; + tNet_game_player_info *lowest_score_player; } // Offset: 16380 // Size: 183 void SendPlayerScores() { - int i; + int i; } // Offset: 16564 @@ -299,8 +298,8 @@ void InitPlayers() { // Size: 343 // EAX: pIndex void BuyPSPowerup(int pIndex) { - char s[256]; - char s2[256]; + char s[256]; + char s2[256]; } // Offset: 17328 @@ -322,7 +321,7 @@ void BuyOffense() { // Size: 247 // EAX: pScore void UseGeneralScore(int pScore) { - int i; + int i; } // Offset: 17852 @@ -342,11 +341,11 @@ void UpdateEnvironments() { // EDX: pMessage // EBX: pReceive_time void ReceivedGameplay(tNet_contents *pContents, tNet_message *pMessage, tU32 pReceive_time) { - int must_revert_reentrancy; - int gPixel_buffer_size; - char *gPixels_copy; - char *gPalette_copy; - int pause_semaphore; + int must_revert_reentrancy; + int gPixel_buffer_size; + char *gPixels_copy; + char *gPalette_copy; + int pause_semaphore; } // Offset: 18696 @@ -355,10 +354,8 @@ void ReceivedGameplay(tNet_contents *pContents, tNet_message *pMessage, tU32 pRe // EDX: pMess // EBX: pParam_1 // ECX: pParam_2 -void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, int pParam_2) { - int pParam_3; - int pParam_4; - tNet_message *the_message; +void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4) { + tNet_message *the_message; } // Offset: 18816 @@ -367,10 +364,8 @@ void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, in // EDX: pParam_1 // EBX: pParam_2 // ECX: pParam_3 -void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam_2) { - int pParam_3; - int pParam_4; - tNet_message *the_message; +void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4) { + tNet_message *the_message; } // Offset: 18936 @@ -379,10 +374,8 @@ void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam // EDX: pParam_1 // EBX: pParam_2 // ECX: pParam_3 -void SendGameplayToHost(tNet_gameplay_mess pMess, int pParam_1, int pParam_2) { - int pParam_3; - int pParam_4; - tNet_message *the_message; +void SendGameplayToHost(tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4) { + tNet_message *the_message; } // Offset: 19064 @@ -401,14 +394,14 @@ void DefaultNetName() { // EDX: pCrush_point_index // EBX: pEnergy_vector void NetSendPointCrush(tCar_spec *pCar, tU16 pCrush_point_index, br_vector3 *pEnergy_vector) { - tNet_contents *contents; + tNet_contents *contents; } // Offset: 19276 // Size: 290 // EAX: pContents void RecievedCrushPoint(tNet_contents *pContents) { - tCar_spec *car; + tCar_spec *car; } // Offset: 19568 diff --git a/src/DETHRACE/source/common/netgame.h b/src/DETHRACE/source/common/netgame.h index d794343b..c5e0ae7f 100644 --- a/src/DETHRACE/source/common/netgame.h +++ b/src/DETHRACE/source/common/netgame.h @@ -1,5 +1,9 @@ +#ifndef _NETGAME_H_ +#define _NETGAME_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 2343 // EAX: pNext_frame_time @@ -95,7 +99,7 @@ int SortNetHeadDescending(void *pFirst_one, void *pSecond_one); // EAX: pName // EDX: pFont // EBX: pMax_width -void ClipName(char *pName, tDR_font *pFont, int pMax_width, signed char __unk3__); +void ClipName(char *pName, tDR_font *pFont, int pMax_width); // Offset: 9340 // Size: 2219 @@ -209,7 +213,7 @@ void ReceivedGameplay(tNet_contents *pContents, tNet_message *pMessage, tU32 pRe // EDX: pMess // EBX: pParam_1 // ECX: pParam_2 -void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, int pParam_2); +void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4); // Offset: 18816 // Size: 117 @@ -217,7 +221,7 @@ void SendGameplay(tPlayer_ID pPlayer, tNet_gameplay_mess pMess, int pParam_1, in // EDX: pParam_1 // EBX: pParam_2 // ECX: pParam_3 -void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam_2); +void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4); // Offset: 18936 // Size: 126 @@ -225,7 +229,7 @@ void SendGameplayToAllPlayers(tNet_gameplay_mess pMess, int pParam_1, int pParam // EDX: pParam_1 // EBX: pParam_2 // ECX: pParam_3 -void SendGameplayToHost(tNet_gameplay_mess pMess, int pParam_1, int pParam_2); +void SendGameplayToHost(tNet_gameplay_mess pMess, int pParam_1, int pParam_2, int pParam_3, int pParam_4); // Offset: 19064 // Size: 42 @@ -265,3 +269,4 @@ void GetExpandedMatrix(br_matrix34 *m1, tReduced_matrix *m2); // EDX: pCredits void NetEarnCredits(tNet_game_player_info *pPlayer, tS32 pCredits); +#endif diff --git a/src/DETHRACE/source/common/network.c b/src/DETHRACE/source/common/network.c index 31185f9e..5810359f 100644 --- a/src/DETHRACE/source/common/network.c +++ b/src/DETHRACE/source/common/network.c @@ -1,6 +1,5 @@ #include "network.h" -// Global variables tNet_game_player_info gNew_net_players[6]; tGuaranteed_message gGuarantee_list[150]; int gRace_only_flags[33]; @@ -46,7 +45,7 @@ int NetInitialise() { // Offset: 432 // Size: 103 int NetShutdown() { - int i; + int i; } // Offset: 536 @@ -78,21 +77,22 @@ void HaltNetServiceReentrancy() { // Size: 75 // EAX: pMessage void NetSendHeadupToAllPlayers(char *pMessage) { - tNet_contents *the_contents; + tNet_contents *the_contents; } // Offset: 876 // Size: 110 // EAX: pMessage void NetSendHeadupToEverybody(char *pMessage) { - tNet_contents *the_contents; + tNet_contents *the_contents; } // Offset: 988 // Size: 142 // EAX: pMessage // EDX: pPlayer -void NetSendHeadupToPlayer(char *pMessage, tPlayer_ID pPlayer, char message) { +void NetSendHeadupToPlayer(char *pMessage, tPlayer_ID pPlayer) { + tNet_message *message; } // Offset: 1132 @@ -153,19 +153,18 @@ void NetLeaveGameLowLevel(tNet_game_details *pDetails) { // Size: 382 // EAX: pNet_game void NetLeaveGame(tNet_game_details *pNet_game) { - tNet_message *the_message; - char s[256]; - char *s2; - int i; - int must_revert_reentrancy; + tNet_message *the_message; + char s[256]; + char *s2; + int i; + int must_revert_reentrancy; } // Offset: 2432 // Size: 49 // EAX: pPlayer // EDX: pSender_address -void NetSetPlayerSystemInfo(tNet_game_player_info *pPlayer) { - void *pSender_address; +void NetSetPlayerSystemInfo(tNet_game_player_info *pPlayer, void *pSender_address) { } // Offset: 2484 @@ -180,23 +179,23 @@ void NetDisposePlayer(tNet_game_player_info *pPlayer) { // EDX: pPlayer // EBX: pCar_index // ECX: pHost -void FillInThisPlayer(tNet_game_details *pGame, tNet_game_player_info *pPlayer, int pCar_index) { - int pHost; +void FillInThisPlayer(tNet_game_details *pGame, tNet_game_player_info *pPlayer, int pCar_index, int pHost) { } // Offset: 2768 // Size: 206 // EAX: pIndex // EDX: pPlayer -void LoadCarN(int pIndex, tNet_game_player_info *pPlayer, signed char switched_res) { +void LoadCarN(int pIndex, tNet_game_player_info *pPlayer) { + int switched_res; } // Offset: 2976 // Size: 266 // EAX: pIndex void DisposeCarN(int pIndex) { - int i; - int j; + int i; + int j; } // Offset: 3244 @@ -209,13 +208,14 @@ void PlayerHasLeft(int pIndex) { // Size: 1321 // EAX: pNew_count // EDX: pNew_players -void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players, signed char i) { - int j; - int k; - int switched_res; - int new_player; - int player_still_there; - tPlayer_ID old_fox_it; +void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players) { + int i; + int j; + int k; + int switched_res; + int new_player; + int player_still_there; + tPlayer_ID old_fox_it; } // Offset: 4724 @@ -224,12 +224,10 @@ void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players, sign // EDX: pOptions // EBX: pStart_rank // ECX: pHost_name -tNet_game_details* NetHostGame(tNet_game_type pGame_type, tNet_game_options *pOptions, int pStart_rank) { - char *pHost_name; - int pCar_index; - tNet_game_details *game; - void *host_address; - tNet_game_player_info me; +tNet_game_details* NetHostGame(tNet_game_type pGame_type, tNet_game_options *pOptions, int pStart_rank, char *pHost_name, int pCar_index) { + tNet_game_details *game; + void *host_address; + tNet_game_player_info me; } // Offset: 5112 @@ -242,8 +240,7 @@ int NetInitClient(tNet_game_details *pDetails) { // Size: 55 // EAX: pDetails // EDX: pPlayer_name -int NetJoinGameLowLevel(tNet_game_details *pDetails) { - char *pPlayer_name; +int NetJoinGameLowLevel(tNet_game_details *pDetails, char *pPlayer_name) { } // Offset: 5220 @@ -251,11 +248,10 @@ int NetJoinGameLowLevel(tNet_game_details *pDetails) { // EAX: pDetails // EDX: pPlayer_name // EBX: pCar_index -int NetJoinGame(tNet_game_details *pDetails, char *pPlayer_name) { - int pCar_index; - int result; - tNet_message *the_message; - tU32 start_time; +int NetJoinGame(tNet_game_details *pDetails, char *pPlayer_name, int pCar_index) { + int result; + tNet_message *the_message; + tU32 start_time; } // Offset: 5612 @@ -282,8 +278,7 @@ tPlayer_ID NetExtractPlayerID(tNet_game_details *pDetails) { // EAX: pDetails // EDX: pMessage // EBX: pAddress -int NetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage) { - void *pAddress; +int NetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress) { } // Offset: 5892 @@ -292,7 +287,7 @@ int NetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage) // EDX: pMessage // EBX: pPlayer int NetSendMessageToPlayer(tNet_game_details *pDetails, tNet_message *pMessage, tPlayer_ID pPlayer) { - int i; + int i; } // Offset: 6064 @@ -322,7 +317,7 @@ int NetSendMessageToAllPlayers(tNet_game_details *pDetails, tNet_message *pMessa // EAX: pType // EDX: pSize_decider tU32 NetGetContentsSize(tNet_message_type pType, tS32 pSize_decider) { - tU32 the_size; + tU32 the_size; } // Offset: 6968 @@ -336,7 +331,7 @@ tU32 NetGetMessageSize(tNet_message_type pType, tS32 pSize_decider) { // Size: 111 // EAX: pContents tS32 NetCalcSizeDecider(tNet_contents *pContents) { - tS32 the_decider; + tS32 the_decider; } // Offset: 7140 @@ -344,8 +339,8 @@ tS32 NetCalcSizeDecider(tNet_contents *pContents) { // EAX: pType // EDX: pSize_decider tNet_message* NetBuildMessage(tNet_message_type pType, tS32 pSize_decider) { - tNet_message *the_message; - tU32 the_size; + tNet_message *the_message; + tU32 the_size; } // Offset: 7256 @@ -353,8 +348,8 @@ tNet_message* NetBuildMessage(tNet_message_type pType, tS32 pSize_decider) { // EAX: pType // EDX: pSize_decider tNet_contents* NetGetToHostContents(tNet_message_type pType, tS32 pSize_decider) { - tU32 the_size; - tNet_contents *contents; + tU32 the_size; + tNet_contents *contents; } // Offset: 7488 @@ -362,8 +357,8 @@ tNet_contents* NetGetToHostContents(tNet_message_type pType, tS32 pSize_decider) // EAX: pType // EDX: pSize_decider tNet_contents* NetGetBroadcastContents(tNet_message_type pType, tS32 pSize_decider) { - tU32 the_size; - tNet_contents *contents; + tU32 the_size; + tNet_contents *contents; } // Offset: 7720 @@ -375,20 +370,20 @@ void NetSendMessageStacks() { // Size: 633 // EAX: pSize tNet_message* NetAllocateMessage(int pSize) { - void *pointer; - void *last_message; - char *test; - int rr_min; - int rr_mid; - int rr_max; - tNet_message *message; - int i; + void *pointer; + void *last_message; + char *test; + int rr_min; + int rr_mid; + int rr_max; + tNet_message *message; + int i; } // Offset: 8472 // Size: 96 void NetFreeExcessMemory() { - void *temp; + void *temp; } // Offset: 8568 @@ -409,9 +404,8 @@ tNet_message* NetGetNextMessage(tNet_game_details *pDetails, void **pSender_addr // Size: 102 // EAX: pContents // EDX: pSender_address -void ReceivedSendMeDetails(tNet_contents *pContents) { - void *pSender_address; - tNet_message *message; +void ReceivedSendMeDetails(tNet_contents *pContents, void *pSender_address) { + tNet_message *message; } // Offset: 8804 @@ -423,30 +417,29 @@ void ReceivedDetails(tNet_contents *pContents) { // Offset: 8884 // Size: 259 void SendOutPlayerList() { - int i; + int i; } // Offset: 9144 // Size: 600 // EAX: pContents // EDX: pSender_address -void ReceivedJoin(tNet_contents *pContents) { - void *pSender_address; - int i; - int new_player_count; - int slot_index; - tNet_message *message; - tNet_game_player_info *new_players; +void ReceivedJoin(tNet_contents *pContents, void *pSender_address) { + int i; + int new_player_count; + int slot_index; + tNet_message *message; + tNet_game_player_info *new_players; } // Offset: 9744 // Size: 364 // EAX: pID void KickPlayerOut(tPlayer_ID pID) { - int i; - int j; - int new_player_count; - tNet_game_player_info *new_players; + int i; + int j; + int new_player_count; + tNet_game_player_info *new_players; } // Offset: 10108 @@ -461,12 +454,12 @@ void ReceivedLeave(tNet_contents *pContents, tNet_message *pMessage) { // EAX: pStr_index // EDX: pLeave_it_up_there void NetFullScreenMessage(int pStr_index, int pLeave_it_up_there) { - tU32 start_time; - char *s; - int gPixel_buffer_size; - int restore_screen; - char *gPixels_copy; - char *gPalette_copy; + tU32 start_time; + char *s; + int gPixel_buffer_size; + int restore_screen; + char *gPixels_copy; + char *gPalette_copy; } // Offset: 10636 @@ -484,7 +477,7 @@ void ReceivedHosticide(tNet_contents *pContents) { // Offset: 10760 // Size: 75 void ConfirmReceipt() { - tNet_message *the_message; + tNet_message *the_message; } // Offset: 10836 @@ -492,7 +485,7 @@ void ConfirmReceipt() { // EAX: pContents // EDX: pM void ReceivedNewPlayerList(tNet_contents *pContents, tNet_message *pM) { - int i; + int i; } // Offset: 11344 @@ -506,22 +499,22 @@ void ReceivedRaceOver(tNet_contents *pContents) { // EAX: pContents // EDX: pMessage void ReceivedStatusReport(tNet_contents *pContents, tNet_message *pMessage) { - int i; + int i; } // Offset: 11688 // Size: 692 // EAX: pContents void ReceivedStartRace(tNet_contents *pContents) { - int i; - int index; + int i; + int index; } // Offset: 12380 // Size: 99 // EAX: pContents void ReceivedGuaranteeReply(tNet_contents *pContents) { - int i; + int i; } // Offset: 12480 @@ -535,30 +528,29 @@ void ReceivedHeadup(tNet_contents *pContents) { // EAX: pContents // EDX: pMessage void ReceivedHostQuery(tNet_contents *pContents, tNet_message *pMessage) { - tNet_message *message; + tNet_message *message; } // Offset: 12688 // Size: 140 // EAX: pContents void ReceivedHostReply(tNet_contents *pContents) { - tNet_message *message; + tNet_message *message; } // Offset: 12828 // Size: 91 // EAX: pMessage // EDX: pSender_address -void SendGuaranteeReply(tNet_message *pMessage) { - void *pSender_address; - tNet_message *message; +void SendGuaranteeReply(tNet_message *pMessage, void *pSender_address) { + tNet_message *message; } // Offset: 12920 // Size: 122 // EAX: pID int PlayerIsInList(tPlayer_ID pID) { - int i; + int i; } // Offset: 13044 @@ -573,7 +565,7 @@ void ReceivedTimeSync(tNet_contents *pContents, tNet_message *pMessage, tU32 pRe // Size: 107 // EAX: pContents void ReceivedConfirm(tNet_contents *pContents) { - int i; + int i; } // Offset: 13236 @@ -592,47 +584,46 @@ void ReceivedEnableCar(tNet_contents *pContents) { // Size: 103 // EAX: pContents void ReceivedScores(tNet_contents *pContents) { - int i; + int i; } // Offset: 13420 // Size: 696 // EAX: pContents void ReceivedWasted(tNet_contents *pContents) { - tNet_game_player_info *victim; - tNet_game_player_info *culprit; - char s[256]; - tCar_spec *car; - tS32 last_got_wasted_time; - tS32 last_wasted_em_time; - tS32 last_wasty_message_time; - tNet_game_player_info *last_culprit; - tNet_game_player_info *last_victim; + tNet_game_player_info *victim; + tNet_game_player_info *culprit; + char s[256]; + tCar_spec *car; + tS32 last_got_wasted_time; + tS32 last_wasted_em_time; + tS32 last_wasty_message_time; + tNet_game_player_info *last_culprit; + tNet_game_player_info *last_victim; } // Offset: 14116 // Size: 188 // EAX: pContents // EDX: pSender_address -void ReceivedCarDetailsReq(tNet_contents *pContents) { - void *pSender_address; - tNet_message *message; - int i; +void ReceivedCarDetailsReq(tNet_contents *pContents, void *pSender_address) { + tNet_message *message; + int i; } // Offset: 14304 // Size: 183 // EAX: pContents void ReceivedCarDetails(tNet_contents *pContents) { - int i; - int j; + int i; + int j; } // Offset: 14488 // Size: 146 // EAX: pContents void ReceivedGameScores(tNet_contents *pContents) { - int i; + int i; } // Offset: 14636 @@ -640,18 +631,17 @@ void ReceivedGameScores(tNet_contents *pContents) { // EAX: pMessage // EDX: pSender_address // EBX: pReceive_time -void ReceivedMessage(tNet_message *pMessage, void *pSender_address) { - tU32 pReceive_time; - tNet_contents *contents; - int i; +void ReceivedMessage(tNet_message *pMessage, void *pSender_address, tU32 pReceive_time) { + tNet_contents *contents; + int i; } // Offset: 15448 // Size: 177 void NetReceiveAndProcessMessages() { - void *sender_address; - tU32 receive_time; - int old_net_service; + void *sender_address; + tU32 receive_time; + int old_net_service; } // Offset: 15628 @@ -662,10 +652,10 @@ void BroadcastStatus() { // Offset: 15712 // Size: 354 void CheckForDisappearees() { - int j; - tU32 the_time; - char s[256]; - char *s2; + int j; + tU32 the_time; + char s[256]; + char *s2; } // Offset: 16068 @@ -677,8 +667,8 @@ void CheckForPendingStartRace() { // Size: 223 // EAX: pIn_race void NetService(int pIn_race) { - tU32 time; - tU32 last_status_broadcast; + tU32 time; + tU32 last_status_broadcast; } // Offset: 16400 @@ -686,7 +676,7 @@ void NetService(int pIn_race) { // EAX: pDetails // EDX: pReason void NetFinishRace(tNet_game_details *pDetails, tRace_over_reason pReason) { - tNet_message *the_message; + tNet_message *the_message; } // Offset: 16488 @@ -706,8 +696,8 @@ tPlayer_status NetGetPlayerStatus() { // EDX: pMessage // EBX: pNotifyFail int NetGuaranteedSendMessageToAllPlayers(tNet_game_details *pDetails, tNet_message *pMessage, int (*pNotifyFail)(tU32, tNet_message*)) { - int i; - int err; + int i; + int err; } // Offset: 16860 @@ -733,7 +723,7 @@ int NetGuaranteedSendMessageToHost(tNet_game_details *pDetails, tNet_message *pM // EBX: pPlayer // ECX: pNotifyFail int NetGuaranteedSendMessageToPlayer(tNet_game_details *pDetails, tNet_message *pMessage, tPlayer_ID pPlayer, int (*pNotifyFail)(tU32, tNet_message*)) { - int i; + int i; } // Offset: 17304 @@ -742,16 +732,15 @@ int NetGuaranteedSendMessageToPlayer(tNet_game_details *pDetails, tNet_message * // EDX: pMessage // EBX: pAddress // ECX: pNotifyFail -int NetGuaranteedSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress) { - int (*pNotifyFail)(tU32, tNet_message*); +int NetGuaranteedSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress, int (*pNotifyFail)(tU32, tNet_message*)) { } // Offset: 17672 // Size: 536 void ResendGuaranteedMessages() { - int i; - int j; - tU32 time; + int i; + int j; + tU32 time; } // Offset: 18208 @@ -764,40 +753,40 @@ int SampleFailNotifier(tU32 pAge, tNet_message *pMessage) { // Offset: 18276 // Size: 77 void NetWaitForGuaranteeReplies() { - tU32 start_time; + tU32 start_time; } // Offset: 18356 // Size: 114 // EAX: pPlayer tNet_game_player_info* NetPlayerFromID(tPlayer_ID pPlayer) { - int i; + int i; } // Offset: 18472 // Size: 78 // EAX: pPlayer tCar_spec* NetCarFromPlayerID(tPlayer_ID pPlayer) { - int i; - tNet_game_player_info *player; + int i; + tNet_game_player_info *player; } // Offset: 18552 // Size: 114 // EAX: pCar tNet_game_player_info* NetPlayerFromCar(tCar_spec *pCar) { - int i; + int i; } // Offset: 18668 // Size: 187 // EAX: pMessage tU32 DoCheckSum(tNet_message *pMessage) { - int i; - int j; - tU32 the_sum; - tU32 *p; - tU8 *q; + int i; + int j; + tU32 the_sum; + tU32 *p; + tU8 *q; } // Offset: 18856 diff --git a/src/DETHRACE/source/common/network.h b/src/DETHRACE/source/common/network.h index 126112e1..0ef09603 100644 --- a/src/DETHRACE/source/common/network.h +++ b/src/DETHRACE/source/common/network.h @@ -1,5 +1,9 @@ +#ifndef _NETWORK_H_ +#define _NETWORK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 429 int NetInitialise(); @@ -42,7 +46,7 @@ void NetSendHeadupToEverybody(char *pMessage); // Size: 142 // EAX: pMessage // EDX: pPlayer -void NetSendHeadupToPlayer(char *pMessage, tPlayer_ID pPlayer, char message); +void NetSendHeadupToPlayer(char *pMessage, tPlayer_ID pPlayer); // Offset: 1132 // Size: 94 @@ -97,7 +101,7 @@ void NetLeaveGame(tNet_game_details *pNet_game); // Size: 49 // EAX: pPlayer // EDX: pSender_address -void NetSetPlayerSystemInfo(tNet_game_player_info *pPlayer); +void NetSetPlayerSystemInfo(tNet_game_player_info *pPlayer, void *pSender_address); // Offset: 2484 // Size: 45 @@ -110,13 +114,13 @@ void NetDisposePlayer(tNet_game_player_info *pPlayer); // EDX: pPlayer // EBX: pCar_index // ECX: pHost -void FillInThisPlayer(tNet_game_details *pGame, tNet_game_player_info *pPlayer, int pCar_index); +void FillInThisPlayer(tNet_game_details *pGame, tNet_game_player_info *pPlayer, int pCar_index, int pHost); // Offset: 2768 // Size: 206 // EAX: pIndex // EDX: pPlayer -void LoadCarN(int pIndex, tNet_game_player_info *pPlayer, signed char switched_res); +void LoadCarN(int pIndex, tNet_game_player_info *pPlayer); // Offset: 2976 // Size: 266 @@ -132,7 +136,7 @@ void PlayerHasLeft(int pIndex); // Size: 1321 // EAX: pNew_count // EDX: pNew_players -void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players, signed char i); +void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players); // Offset: 4724 // Size: 386 @@ -140,7 +144,7 @@ void NetPlayersChanged(int pNew_count, tNet_game_player_info *pNew_players, sign // EDX: pOptions // EBX: pStart_rank // ECX: pHost_name -tNet_game_details* NetHostGame(tNet_game_type pGame_type, tNet_game_options *pOptions, int pStart_rank); +tNet_game_details* NetHostGame(tNet_game_type pGame_type, tNet_game_options *pOptions, int pStart_rank, char *pHost_name, int pCar_index); // Offset: 5112 // Size: 51 @@ -151,14 +155,14 @@ int NetInitClient(tNet_game_details *pDetails); // Size: 55 // EAX: pDetails // EDX: pPlayer_name -int NetJoinGameLowLevel(tNet_game_details *pDetails); +int NetJoinGameLowLevel(tNet_game_details *pDetails, char *pPlayer_name); // Offset: 5220 // Size: 392 // EAX: pDetails // EDX: pPlayer_name // EBX: pCar_index -int NetJoinGame(tNet_game_details *pDetails, char *pPlayer_name); +int NetJoinGame(tNet_game_details *pDetails, char *pPlayer_name, int pCar_index); // Offset: 5612 // Size: 56 @@ -181,7 +185,7 @@ tPlayer_ID NetExtractPlayerID(tNet_game_details *pDetails); // EAX: pDetails // EDX: pMessage // EBX: pAddress -int NetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage); +int NetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress); // Offset: 5892 // Size: 170 @@ -273,7 +277,7 @@ tNet_message* NetGetNextMessage(tNet_game_details *pDetails, void **pSender_addr // Size: 102 // EAX: pContents // EDX: pSender_address -void ReceivedSendMeDetails(tNet_contents *pContents); +void ReceivedSendMeDetails(tNet_contents *pContents, void *pSender_address); // Offset: 8804 // Size: 80 @@ -288,7 +292,7 @@ void SendOutPlayerList(); // Size: 600 // EAX: pContents // EDX: pSender_address -void ReceivedJoin(tNet_contents *pContents); +void ReceivedJoin(tNet_contents *pContents, void *pSender_address); // Offset: 9744 // Size: 364 @@ -368,7 +372,7 @@ void ReceivedHostReply(tNet_contents *pContents); // Size: 91 // EAX: pMessage // EDX: pSender_address -void SendGuaranteeReply(tNet_message *pMessage); +void SendGuaranteeReply(tNet_message *pMessage, void *pSender_address); // Offset: 12920 // Size: 122 @@ -411,7 +415,7 @@ void ReceivedWasted(tNet_contents *pContents); // Size: 188 // EAX: pContents // EDX: pSender_address -void ReceivedCarDetailsReq(tNet_contents *pContents); +void ReceivedCarDetailsReq(tNet_contents *pContents, void *pSender_address); // Offset: 14304 // Size: 183 @@ -428,7 +432,7 @@ void ReceivedGameScores(tNet_contents *pContents); // EAX: pMessage // EDX: pSender_address // EBX: pReceive_time -void ReceivedMessage(tNet_message *pMessage, void *pSender_address); +void ReceivedMessage(tNet_message *pMessage, void *pSender_address, tU32 pReceive_time); // Offset: 15448 // Size: 177 @@ -501,7 +505,7 @@ int NetGuaranteedSendMessageToPlayer(tNet_game_details *pDetails, tNet_message * // EDX: pMessage // EBX: pAddress // ECX: pNotifyFail -int NetGuaranteedSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress); +int NetGuaranteedSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress, int (*pNotifyFail)(tU32, tNet_message*)); // Offset: 17672 // Size: 536 @@ -547,3 +551,4 @@ void GetCheckSum(tNet_message *pMessage); // EAX: pMessage void CheckCheckSum(tNet_message *pMessage); +#endif diff --git a/src/DETHRACE/source/common/newgame.c b/src/DETHRACE/source/common/newgame.c index dc0f4e7e..94181df8 100644 --- a/src/DETHRACE/source/common/newgame.c +++ b/src/DETHRACE/source/common/newgame.c @@ -1,6 +1,5 @@ #include "newgame.h" -// Global variables char *gBasic_car_names[2]; tNet_game_options gNet_settings[8]; tRadio_bastards gRadio_bastards[11]; @@ -67,28 +66,28 @@ void FrankAnneDraw(int pCurrent_choice, int pCurrent_mode) { // Offset: 1032 // Size: 123 int FrankieOrAnnie() { - tFlicette flicker_off[3]; - tFlicette push[3]; - tMouse_area mouse_areas[3]; - tRectile recopy_areas[2]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[3]; + tFlicette push[3]; + tMouse_area mouse_areas[3]; + tRectile recopy_areas[2]; + tInterface_spec interface_spec; + int result; } // Offset: 1156 // Size: 88 int SelectSkillLevel() { - tFlicette flicker_off[4]; - tFlicette push[4]; - tMouse_area mouse_areas[4]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[4]; + tFlicette push[4]; + tMouse_area mouse_areas[4]; + tInterface_spec interface_spec; + int result; } // Offset: 1244 // Size: 323 int DoOnePlayerStart() { - tProgram_state saved_state; + tProgram_state saved_state; } // Offset: 1568 @@ -96,8 +95,8 @@ int DoOnePlayerStart() { // EAX: pCurrent_choice // EDX: pCurrent_mode int NewNetGameUp(int *pCurrent_choice, int *pCurrent_mode) { - int new_sel; - int i; + int new_sel; + int i; } // Offset: 1832 @@ -105,8 +104,8 @@ int NewNetGameUp(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int NewNetGameDown(int *pCurrent_choice, int *pCurrent_mode) { - int new_sel; - int i; + int new_sel; + int i; } // Offset: 2096 @@ -136,14 +135,14 @@ void DrawColumnHeading(int pStr_index, int pX) { // EAX: pCurrent_choice // EDX: pCurrent_mode void DrawGames(int pCurrent_choice, int pCurrent_mode) { - int i; - int font_index; - int current_index; - int x_coord; - int y_coord; - char s[256]; - char *s2; - char *s3; + int i; + int font_index; + int current_index; + int x_coord; + int y_coord; + char s[256]; + char *s2; + char *s3; } // Offset: 4236 @@ -155,16 +154,16 @@ void InitGamesToJoin() { // Size: 95 // EAX: pExemption void DisposeJoinList(int pExemption) { - int i; + int i; } // Offset: 4420 // Size: 227 // EAX: pGame void AddToJoinList(tNet_game_details *pGame) { - int i; - int slot_to_use; - tU32 this_game_ID; + int i; + int slot_to_use; + tU32 this_game_ID; } // Offset: 4648 @@ -206,13 +205,13 @@ int NewNetGoAhead(int *pCurrent_choice, int *pCurrent_mode) { // Size: 287 // EAX: pGame_to_join tJoin_or_host_result JoinOrHostGame(tNet_game_details **pGame_to_join) { - tFlicette flicker_on[2]; - tFlicette flicker_off[2]; - tFlicette push[2]; - tMouse_area mouse_areas[3]; - tRectile recopy_areas[1]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_on[2]; + tFlicette flicker_off[2]; + tFlicette push[2]; + tMouse_area mouse_areas[3]; + tRectile recopy_areas[1]; + tInterface_spec interface_spec; + int result; } // Offset: 5320 @@ -282,7 +281,7 @@ void NetPlayRadioOff(int pIndex, int pValue) { // Offset: 6404 // Size: 229 void DrawNOptInitialRadios() { - int j; + int j; } // Offset: 6636 @@ -303,7 +302,7 @@ void NetCheckboxChanged(int pIndex) { // EAX: pCurrent_choice // EDX: pCurrent_mode int NetOptLeft(int *pCurrent_choice, int *pCurrent_mode) { - int new_value; + int new_value; } // Offset: 6992 @@ -311,7 +310,7 @@ int NetOptLeft(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int NetOptRight(int *pCurrent_choice, int *pCurrent_mode) { - int new_value; + int new_value; } // Offset: 7152 @@ -335,22 +334,22 @@ int NetOptDown(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int NetRadioClick(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int i; + int i; } // Offset: 7664 // Size: 142 void RevertToDefaults() { - FILE *f; - tNet_game_options net_options; - int i; + FILE *f; + tNet_game_options net_options; + int i; } // Offset: 7808 // Size: 156 void DefaultNetSettings() { - FILE *f; - int i; + FILE *f; + int i; } // Offset: 7964 @@ -390,11 +389,11 @@ void DrawNetOptBox(int pCurrent_choice, int pCurrent_mode) { // Size: 111 // EAX: pGame_options void DoNetOptions(tNet_game_options *pGame_options) { - tFlicette flicker_on[14]; - tFlicette flicker_off[14]; - tFlicette push[14]; - tMouse_area mouse_areas[14]; - tInterface_spec interface_spec; + tFlicette flicker_on[14]; + tFlicette flicker_off[14]; + tFlicette push[14]; + tMouse_area mouse_areas[14]; + tInterface_spec interface_spec; } // Offset: 8560 @@ -452,9 +451,9 @@ void EraseAGraphBox(int pIndex) { // EAX: pCurrent_choice // EDX: pCurrent_mode void DrawNetChoose(int pCurrent_choice, int pCurrent_mode) { - char s[256]; - tU32 *k; - int i; + char s[256]; + tU32 *k; + int i; } // Offset: 10292 @@ -476,14 +475,13 @@ void SetGameTarget(tNet_game_type *pGame_type, tNet_game_options *pGame_options) // EAX: pGame_type // EDX: pGame_options // EBX: pRace_index -int NetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options) { - int *pRace_index; - tFlicette flicker_on[11]; - tFlicette flicker_off[11]; - tFlicette push[11]; - tMouse_area mouse_areas[11]; - tInterface_spec interface_spec; - int result; +int NetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options, int *pRace_index) { + tFlicette flicker_on[11]; + tFlicette flicker_off[11]; + tFlicette push[11]; + tMouse_area mouse_areas[11]; + tInterface_spec interface_spec; + int result; } // Offset: 10932 @@ -491,8 +489,7 @@ int NetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options) // EAX: pGame_type // EDX: pGame_options // EBX: pRace_index -void ReadNetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options) { - int *pRace_index; +void ReadNetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options, int *pRace_index) { } // Offset: 11028 @@ -511,14 +508,14 @@ void SetUpOtherNetThings(tNet_game_details *pNet_game) { // Size: 97 // EAX: pNet_game void RequestCarDetails(tNet_game_details *pNet_game) { - tNet_message *message; + tNet_message *message; } // Offset: 11248 // Size: 181 int PickARandomCar() { - int cars[120]; - int array_size; + int cars[120]; + int array_size; } // Offset: 11432 @@ -531,7 +528,7 @@ void PollCarDetails(tNet_game_details *pNet_game) { // Size: 278 // EAX: pOptions void SetNetAvailability(tNet_game_options *pOptions) { - int i; + int i; } // Offset: 11768 @@ -540,13 +537,12 @@ void SetNetAvailability(tNet_game_options *pOptions) { // EDX: pOptions // EBX: pCar_index // ECX: pIm_the_host_so_fuck_off -int ChooseNetCar(tNet_game_details *pNet_game, tNet_game_options *pOptions, int *pCar_index) { - int pIm_the_host_so_fuck_off; - tS32 start_time; - int i; - int result; - int car_index; - int the_car_index; +int ChooseNetCar(tNet_game_details *pNet_game, tNet_game_options *pOptions, int *pCar_index, int pIm_the_host_so_fuck_off) { + tS32 start_time; + int i; + int result; + int car_index; + int the_car_index; } // Offset: 12164 @@ -562,12 +558,12 @@ void DisposeNetStorageSpace() { // Offset: 12344 // Size: 793 int DoMultiPlayerStart() { - tNet_game_details *game_to_join; - char s[256]; - char *s2; - tNet_game_type new_game_type; - tNet_game_options new_game_options; - int start_rank; - int car_index; + tNet_game_details *game_to_join; + char s[256]; + char *s2; + tNet_game_type new_game_type; + tNet_game_options new_game_options; + int start_rank; + int car_index; } diff --git a/src/DETHRACE/source/common/newgame.h b/src/DETHRACE/source/common/newgame.h index e9ed3989..fb499c32 100644 --- a/src/DETHRACE/source/common/newgame.h +++ b/src/DETHRACE/source/common/newgame.h @@ -1,5 +1,9 @@ +#ifndef _NEWGAME_H_ +#define _NEWGAME_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 149 void StartRollingPlayerNamesIn(); @@ -339,14 +343,14 @@ void SetGameTarget(tNet_game_type *pGame_type, tNet_game_options *pGame_options) // EAX: pGame_type // EDX: pGame_options // EBX: pRace_index -int NetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options); +int NetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options, int *pRace_index); // Offset: 10932 // Size: 95 // EAX: pGame_type // EDX: pGame_options // EBX: pRace_index -void ReadNetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options); +void ReadNetGameChoices(tNet_game_type *pGame_type, tNet_game_options *pGame_options, int *pRace_index); // Offset: 11028 // Size: 56 @@ -383,7 +387,7 @@ void SetNetAvailability(tNet_game_options *pOptions); // EDX: pOptions // EBX: pCar_index // ECX: pIm_the_host_so_fuck_off -int ChooseNetCar(tNet_game_details *pNet_game, tNet_game_options *pOptions, int *pCar_index); +int ChooseNetCar(tNet_game_details *pNet_game, tNet_game_options *pOptions, int *pCar_index, int pIm_the_host_so_fuck_off); // Offset: 12164 // Size: 115 @@ -397,3 +401,4 @@ void DisposeNetStorageSpace(); // Size: 793 int DoMultiPlayerStart(); +#endif diff --git a/src/DETHRACE/source/common/oil.c b/src/DETHRACE/source/common/oil.c index 668e3ed1..a88cf207 100644 --- a/src/DETHRACE/source/common/oil.c +++ b/src/DETHRACE/source/common/oil.c @@ -1,6 +1,5 @@ #include "oil.h" -// Global variables int gNext_oil_pixie; char *gOil_pixie_names[1]; br_scalar gZ_buffer_diff; @@ -11,8 +10,8 @@ tOil_spill_info gOily_spills[15]; // Offset: 0 // Size: 811 void InitOilSpills() { - br_model *the_model; - br_material *the_material; + br_model *the_model; + br_material *the_material; } // Offset: 812 @@ -24,33 +23,33 @@ void ResetOilSpills() { // Size: 335 // EAX: pCar void QueueOilSpill(tCar_spec *pCar) { - int i; - int oily_index; - int oldest_one; - tU32 the_time; - tU32 oldest_time; + int i; + int oily_index; + int oldest_one; + tU32 the_time; + tU32 oldest_time; } // Offset: 1252 // Size: 967 // EAX: pOil int OKToSpillOil(tOil_spill_info *pOil) { - br_scalar temp; - br_scalar size_with_margin; - br_scalar distance; - br_scalar mr_dotty; - br_vector3 v; - br_vector3 ray_pos; - br_vector3 ray_dir; - br_vector3 normal; - tCar_spec *car; - int i; - int face_count; - int found_one; - br_angle angle_to_rotate_by; - tBounds kev_bounds; - tFace_ref the_list[10]; - tFace_ref *face_ref; + br_scalar temp; + br_scalar size_with_margin; + br_scalar distance; + br_scalar mr_dotty; + br_vector3 v; + br_vector3 ray_pos; + br_vector3 ray_dir; + br_vector3 normal; + tCar_spec *car; + int i; + int face_count; + int found_one; + br_angle angle_to_rotate_by; + tBounds kev_bounds; + tFace_ref the_list[10]; + tFace_ref *face_ref; } // Offset: 2220 @@ -67,10 +66,10 @@ void Vector3Interpolate(br_vector3 *pDst, br_vector3 *pFrom, br_vector3 *pTo, br // EDX: pGround_normal // EBX: pOld_pos void EnsureGroundDetailVisible(br_vector3 *pNew_pos, br_vector3 *pGround_normal, br_vector3 *pOld_pos) { - br_scalar factor; - br_scalar s; - br_scalar dist; - br_vector3 to_camera; + br_scalar factor; + br_scalar s; + br_scalar dist; + br_vector3 to_camera; } // Offset: 2596 @@ -96,14 +95,14 @@ void SetInitialOilStuff(tOil_spill_info *pOil, br_model *pModel) { // Size: 1329 // EAX: pFrame_period void ProcessOilSpills(tU32 pFrame_period) { - int i; - tU32 time; - br_model *the_model; - br_scalar grow_amount; - br_scalar initial_size; - br_scalar this_size; - br_vector3 v; - tNet_message *message; + int i; + tU32 time; + br_model *the_model; + br_scalar grow_amount; + br_scalar initial_size; + br_scalar this_size; + br_vector3 v; + tNet_message *message; } // Offset: 4244 @@ -116,15 +115,14 @@ int GetOilSpillCount() { // EAX: pIndex // EDX: pActor // EBX: pSize -void GetOilSpillDetails(int pIndex, br_actor **pActor, br_scalar *pSize, short __unk3__, br_memory_classes __unk4__) { +void GetOilSpillDetails(int pIndex, br_actor **pActor, br_scalar *pSize) { } // Offset: 4384 // Size: 273 // EAX: pV // EDX: pSpill -int PointInSpill(br_vector3 *pV) { - int pSpill; +int PointInSpill(br_vector3 *pV, int pSpill) { } // Offset: 4660 @@ -134,26 +132,26 @@ int PointInSpill(br_vector3 *pV) { // EBX: pFr_factor // ECX: pRl_factor void GetOilFrictionFactors(tCar_spec *pCar, br_scalar *pFl_factor, br_scalar *pFr_factor, br_scalar *pRl_factor, br_scalar *pRr_factor) { - int i; - br_vector3 wheel_world; + int i; + br_vector3 wheel_world; } // Offset: 5260 // Size: 211 // EAX: pIndex // EDX: pMat -void AdjustOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, char __unk9__, brfile_getchr_cbfn __unk10__, tNet_contents __unk11__, unsigned char __unk12__, br_memory_classes __unk13__, struct __unk15__, tNet_contents *__unk16__) { +void AdjustOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap) { } // Offset: 5472 // Size: 338 // EAX: pContents void ReceivedOilSpill(tNet_contents *pContents) { - int i; - int oily_index; - int oldest_one; - tU32 the_time; - tU32 oldest_time; - tCar_spec *car; + int i; + int oily_index; + int oldest_one; + tU32 the_time; + tU32 oldest_time; + tCar_spec *car; } diff --git a/src/DETHRACE/source/common/oil.h b/src/DETHRACE/source/common/oil.h index 2a861f98..e53c9dcc 100644 --- a/src/DETHRACE/source/common/oil.h +++ b/src/DETHRACE/source/common/oil.h @@ -1,5 +1,9 @@ +#ifndef _OIL_H_ +#define _OIL_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 811 void InitOilSpills(); @@ -62,13 +66,13 @@ int GetOilSpillCount(); // EAX: pIndex // EDX: pActor // EBX: pSize -void GetOilSpillDetails(int pIndex, br_actor **pActor, br_scalar *pSize, short __unk3__, br_memory_classes __unk4__); +void GetOilSpillDetails(int pIndex, br_actor **pActor, br_scalar *pSize); // Offset: 4384 // Size: 273 // EAX: pV // EDX: pSpill -int PointInSpill(br_vector3 *pV); +int PointInSpill(br_vector3 *pV, int pSpill); // Offset: 4660 // Size: 597 @@ -82,10 +86,11 @@ void GetOilFrictionFactors(tCar_spec *pCar, br_scalar *pFl_factor, br_scalar *pF // Size: 211 // EAX: pIndex // EDX: pMat -void AdjustOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, char __unk9__, brfile_getchr_cbfn __unk10__, tNet_contents __unk11__, unsigned char __unk12__, br_memory_classes __unk13__, struct __unk15__, tNet_contents *__unk16__); +void AdjustOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap); // Offset: 5472 // Size: 338 // EAX: pContents void ReceivedOilSpill(tNet_contents *pContents); +#endif diff --git a/src/DETHRACE/source/common/oppocar.c b/src/DETHRACE/source/common/oppocar.c index 1d236fdb..48234341 100644 --- a/src/DETHRACE/source/common/oppocar.c +++ b/src/DETHRACE/source/common/oppocar.c @@ -1,6 +1,5 @@ #include "oppocar.h" -// Global variables tFace_ref gFace_list[32]; void (*ControlCar[6])(tCar_spec*, br_scalar); int gMetal_crunch_sound_id[5]; @@ -25,12 +24,12 @@ void MakeCarStationary(tCar_spec *pCar_spec) { // EAX: pTime_difference // EDX: car void MoveThisCar(tU32 pTime_difference, tCar_spec *car) { - br_scalar dt; - br_scalar ts; - br_vector3 r; - br_vector3 minus_k; - int i; - int j; - br_angle phi; + br_scalar dt; + br_scalar ts; + br_vector3 r; + br_vector3 minus_k; + int i; + int j; + br_angle phi; } diff --git a/src/DETHRACE/source/common/oppocar.h b/src/DETHRACE/source/common/oppocar.h index be0c1915..31e10622 100644 --- a/src/DETHRACE/source/common/oppocar.h +++ b/src/DETHRACE/source/common/oppocar.h @@ -1,5 +1,9 @@ +#ifndef _OPPOCAR_H_ +#define _OPPOCAR_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 89 // EAX: pCar_spec @@ -11,3 +15,4 @@ void MakeCarStationary(tCar_spec *pCar_spec); // EDX: car void MoveThisCar(tU32 pTime_difference, tCar_spec *car); +#endif diff --git a/src/DETHRACE/source/common/opponent.c b/src/DETHRACE/source/common/opponent.c index 11e5fcbc..1cf7b5b0 100644 --- a/src/DETHRACE/source/common/opponent.c +++ b/src/DETHRACE/source/common/opponent.c @@ -1,6 +1,5 @@ #include "opponent.h" -// Global variables char gOppo_path_filename[256]; br_scalar gIn_view_distance; tU8 *gBit_per_node; @@ -71,7 +70,7 @@ tS16 gMobile_section; // EAX: pThe_actor // EDX: pThe_vector void PointActorAlongThisBloodyVector(br_actor *pThe_actor, br_vector3 *pThe_vector) { - br_transform trans; + br_transform trans; } // Offset: 140 @@ -85,16 +84,16 @@ void ProcessCurrentObjective(tOpponent_spec *pOpponent_spec, tProcess_objective_ // Size: 190 // EAX: pHow_many_then tS16 ReallocExtraPathNodes(int pHow_many_then) { - tPath_node *new_nodes; - tS16 first_new_node; + tPath_node *new_nodes; + tS16 first_new_node; } // Offset: 636 // Size: 188 // EAX: pHow_many_then tS16 ReallocExtraPathSections(int pHow_many_then) { - tPath_section *new_sections; - tS16 first_new_section; + tPath_section *new_sections; + tS16 first_new_section; } // Offset: 824 @@ -102,11 +101,11 @@ tS16 ReallocExtraPathSections(int pHow_many_then) { // EAX: pFrom // EDX: pTo int PointVisibleFromHere(br_vector3 *pFrom, br_vector3 *pTo) { - br_vector3 from; - br_vector3 dir; - br_vector3 norm; - br_scalar t; - br_material *material; + br_vector3 from; + br_vector3 dir; + br_vector3 norm; + br_scalar t; + br_material *material; } // Offset: 1012 @@ -114,10 +113,10 @@ int PointVisibleFromHere(br_vector3 *pFrom, br_vector3 *pTo) { // EAX: pActor_coords // EDX: pDistance tS16 FindNearestPathNode(br_vector3 *pActor_coords, br_scalar *pDistance) { - int i; - tS16 nearest_node; - br_scalar distance; - br_vector3 actor_to_node; + int i; + tS16 nearest_node; + br_scalar distance; + br_vector3 actor_to_node; } // Offset: 1288 @@ -136,22 +135,22 @@ tS16 FindNearestPathSection(br_vector3 *pActor_coords, br_vector3 *pPath_directi // EBX: pPath_direction // ECX: pIntersect tS16 FindNearestGeneralSection(tCar_spec *pPursuee, br_vector3 *pActor_coords, br_vector3 *pPath_direction, br_vector3 *pIntersect, br_scalar *pDistance) { - int section_no; - int no_sections; - tS16 nearest_node_section_no; - tS16 nearest_section; - br_scalar nearest_node_distance_squared; - br_scalar closest_distance_squared; - br_scalar the_distance_squared; - br_scalar t; - br_scalar length_squared_a; - br_vector3 a; - br_vector3 p; - br_vector3 wank; - br_vector3 intersect; - br_vector3 *start; - br_vector3 *finish; - br_vector3 *nearest_node_v; + int section_no; + int no_sections; + tS16 nearest_node_section_no; + tS16 nearest_section; + br_scalar nearest_node_distance_squared; + br_scalar closest_distance_squared; + br_scalar the_distance_squared; + br_scalar t; + br_scalar length_squared_a; + br_vector3 a; + br_vector3 p; + br_vector3 wank; + br_vector3 intersect; + br_vector3 *start; + br_vector3 *finish; + br_vector3 *nearest_node_v; } // Offset: 2544 @@ -175,41 +174,40 @@ void TurnOpponentPhysicsOff(tOpponent_spec *pOpponent_spec) { // Offset: 2868 // Size: 247 void NewObjective(tOpponent_spec *pOpponent_spec, tOpponent_objective_type pObjective_type, ...) { - va_list marker; + va_list marker; } // Offset: 3116 // Size: 929 // EAX: pOpponent_spec void CalcRaceRoute(tOpponent_spec *pOpponent_spec) { - tS16 section_no; - tS16 section_no_index; - tS16 node_no; - tS16 race_section_count; - tS16 normal_section_ok_direction_count; - tS16 normal_section_wrong_direction_count; - tS16 temp_section_array[8]; - br_scalar distance; - br_vector3 direction_v; - br_vector3 intersect; - char str[256]; - char work_str[32]; - int i; + tS16 section_no; + tS16 section_no_index; + tS16 node_no; + tS16 race_section_count; + tS16 normal_section_ok_direction_count; + tS16 normal_section_wrong_direction_count; + tS16 temp_section_array[8]; + br_scalar distance; + br_vector3 direction_v; + br_vector3 intersect; + char str[256]; + char work_str[32]; + int i; } // Offset: 4048 // Size: 790 // EAX: pOpponent_spec // EDX: pSections_to_add -void TopUpRandomRoute(tOpponent_spec *pOpponent_spec) { - int pSections_to_add; - tS16 section_no; - tS16 node_no; - tS16 temp_section_array[8]; - int i; - int target; - int num_of_temp_sections; - int direction; +void TopUpRandomRoute(tOpponent_spec *pOpponent_spec, int pSections_to_add) { + tS16 section_no; + tS16 node_no; + tS16 temp_section_array[8]; + int i; + int target; + int num_of_temp_sections; + int direction; } // Offset: 4840 @@ -218,17 +216,16 @@ void TopUpRandomRoute(tOpponent_spec *pOpponent_spec) { // EDX: pPerm_store // EBX: pNum_of_perm_store_sections // ECX: pTarget_section -int SearchForSection(tRoute_section *pTemp_store, tRoute_section *pPerm_store, int *pNum_of_perm_store_sections, tS16 pTarget_section, int pDepth, br_scalar pDistance_so_far) { - tOpponent_spec *pOpponent_spec; - br_scalar shortest_dist; - int routes_found; - char depth_indent[32]; - int direction; - tPath_node *node_ptr; - tS16 node_no; - tS16 section_no; - tS16 section_no_index; - br_scalar distance_so_far; +int SearchForSection(tRoute_section *pTemp_store, tRoute_section *pPerm_store, int *pNum_of_perm_store_sections, tS16 pTarget_section, int pDepth, br_scalar pDistance_so_far, tOpponent_spec *pOpponent_spec) { + br_scalar shortest_dist; + int routes_found; + char depth_indent[32]; + int direction; + tPath_node *node_ptr; + tS16 node_no; + tS16 section_no; + tS16 section_no_index; + br_scalar distance_so_far; } // Offset: 5784 @@ -236,38 +233,38 @@ int SearchForSection(tRoute_section *pTemp_store, tRoute_section *pPerm_store, i // EAX: pOpponent_spec // EDX: pPlayer void CalcGetNearPlayerRoute(tOpponent_spec *pOpponent_spec, tCar_spec *pPlayer) { - int i; - int pass_2_depth; - int sections_away; - int num_of_perm_store_sections; - int sections_to_copy; - int fuck_it; - tS16 section_no; - tS16 players_section; - br_vector3 section_v; - br_vector3 intersect; - br_scalar distance; - tRoute_section temp_store[10]; - tRoute_section perm_store[10]; - char work_str[32]; - char str[256]; + int i; + int pass_2_depth; + int sections_away; + int num_of_perm_store_sections; + int sections_to_copy; + int fuck_it; + tS16 section_no; + tS16 players_section; + br_vector3 section_v; + br_vector3 intersect; + br_scalar distance; + tRoute_section temp_store[10]; + tRoute_section perm_store[10]; + char work_str[32]; + char str[256]; } // Offset: 6580 // Size: 575 // EAX: pOpponent_spec void CalcReturnToStartPointRoute(tOpponent_spec *pOpponent_spec) { - int i; - int pass_2_depth; - int sections_away; - int num_of_perm_store_sections; - int sections_to_copy; - tS16 section_no; - br_vector3 intersect; - br_vector3 section_v; - br_scalar distance; - tRoute_section temp_store[10]; - tRoute_section perm_store[10]; + int i; + int pass_2_depth; + int sections_away; + int num_of_perm_store_sections; + int sections_to_copy; + tS16 section_no; + br_vector3 intersect; + br_vector3 section_v; + br_scalar distance; + tRoute_section temp_store[10]; + tRoute_section perm_store[10]; } // Offset: 7156 @@ -281,25 +278,22 @@ void ClearOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec) { // EAX: pOpponent_spec // EDX: pSection_no // EBX: pDirection -int AddToOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, tS16 pSection_no) { - int pDirection; +int AddToOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, tS16 pSection_no, int pDirection) { } // Offset: 7320 // Size: 177 // EAX: pOpponent_spec // EDX: pPlaces -int ShiftOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec) { - int pPlaces; - int i; +int ShiftOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, int pPlaces) { + int i; } // Offset: 7500 // Size: 134 // EAX: pOpponent_spec // EDX: pMilliseconds -void StunTheBugger(tOpponent_spec *pOpponent_spec) { - int pMilliseconds; +void StunTheBugger(tOpponent_spec *pOpponent_spec, int pMilliseconds) { } // Offset: 7636 @@ -313,33 +307,33 @@ void UnStunTheBugger(tOpponent_spec *pOpponent_spec) { // EAX: pOpponent_spec // EDX: pCommand void ProcessCompleteRace(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - br_vector3 *initial_pos; - br_actor *car_actor; - tComplete_race_data *data; - int res; - char str[256]; + br_vector3 *initial_pos; + br_actor *car_actor; + tComplete_race_data *data; + int res; + char str[256]; } // Offset: 8120 // Size: 337 // EAX: pPursuee void StartRecordingTrail(tCar_spec *pPursuee) { - int i; + int i; } // Offset: 8460 // Size: 1039 // EAX: pPursuee void RecordNextTrailNode(tCar_spec *pPursuee) { - tPursuee_trail *trail; - br_vector3 start1; - br_vector3 finish1; - br_vector3 start2; - br_vector3 finish2; - br_vector3 offset_v; - br_vector3 car_to_last_point_v; - br_scalar length; - int visible; + tPursuee_trail *trail; + br_vector3 start1; + br_vector3 finish1; + br_vector3 start2; + br_vector3 finish2; + br_vector3 offset_v; + br_vector3 car_to_last_point_v; + br_scalar length; + int visible; } // Offset: 9500 @@ -355,10 +349,9 @@ tS16 FindNearestTrailSection(tOpponent_spec *pOpponent_spec, tCar_spec *pPursuee // Size: 111 // EAX: pOpponent_spec // EDX: pSection -tS16 CalcNextTrailSection(tOpponent_spec *pOpponent_spec) { - int pSection; - int section_no; - tPursuee_trail *trail; +tS16 CalcNextTrailSection(tOpponent_spec *pOpponent_spec, int pSection) { + int section_no; + tPursuee_trail *trail; } // Offset: 9692 @@ -366,17 +359,17 @@ tS16 CalcNextTrailSection(tOpponent_spec *pOpponent_spec) { // EAX: pOpponent_spec // EDX: pCommand void ProcessPursueAndTwat(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - tPursue_car_data *data; - br_vector3 wank; - br_vector3 section_v; - br_vector3 intersect; - br_scalar d; - br_scalar s; - br_scalar t; - br_scalar distance; - tFollow_path_result res; - char str[256]; - tS16 section_no; + tPursue_car_data *data; + br_vector3 wank; + br_vector3 section_v; + br_vector3 intersect; + br_scalar d; + br_scalar s; + br_scalar t; + br_scalar distance; + tFollow_path_result res; + char str[256]; + tS16 section_no; } // Offset: 12208 @@ -384,12 +377,12 @@ void ProcessPursueAndTwat(tOpponent_spec *pOpponent_spec, tProcess_objective_com // EAX: pOpponent_spec // EDX: pCommand void ProcessRunAway(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - int res; - tS16 section_no; - br_scalar distance; - br_vector3 intersect; - br_vector3 direction_v; - char str[256]; + int res; + tS16 section_no; + br_scalar distance; + br_vector3 intersect; + br_vector3 direction_v; + char str[256]; } // Offset: 12848 @@ -404,11 +397,11 @@ void ProcessWaitForSomeHaplessSod(tOpponent_spec *pOpponent_spec, tProcess_objec // EAX: pOpponent_spec // EDX: pCommand void ProcessReturnToStart(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - br_vector3 section_v; - br_vector3 our_pos_xz; - br_vector3 cop_to_start; - br_scalar distance; - int res; + br_vector3 section_v; + br_vector3 our_pos_xz; + br_vector3 cop_to_start; + br_scalar distance; + int res; } // Offset: 13608 @@ -416,9 +409,9 @@ void ProcessReturnToStart(tOpponent_spec *pOpponent_spec, tProcess_objective_com // EAX: pOpponent_spec // EDX: pCommand void ProcessLevitate(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - float t; - float terminal_time; - float y; + float t; + float terminal_time; + float y; } // Offset: 14532 @@ -426,10 +419,10 @@ void ProcessLevitate(tOpponent_spec *pOpponent_spec, tProcess_objective_command // EAX: pOpponent_spec // EDX: pCommand void ProcessGetNearPlayer(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand) { - br_vector3 *initial_pos; - br_actor *car_actor; - int res; - char str[256]; + br_vector3 *initial_pos; + br_actor *car_actor; + int res; + char str[256]; } // Offset: 15076 @@ -443,7 +436,7 @@ void ProcessFrozen(tOpponent_spec *pOpponent_spec, tProcess_objective_command pC // Size: 355 // EAX: pOpponent_spec int HeadOnWithPlayerPossible(tOpponent_spec *pOpponent_spec) { - br_vector3 oppo_to_player_norm; + br_vector3 oppo_to_player_norm; } // Offset: 15664 @@ -475,55 +468,54 @@ void ObjectiveComplete(tOpponent_spec *pOpponent_spec) { // Size: 542 // EAX: pOpponent_spec void TeleportOpponentToNearestSafeLocation(tOpponent_spec *pOpponent_spec) { - tS16 section_no; - tU8 section_direction; - br_scalar distance; - br_vector3 direction_v; - br_vector3 intersect; - int section_counter; - int found_safe_place; + tS16 section_no; + tU8 section_direction; + br_scalar distance; + br_vector3 direction_v; + br_vector3 intersect; + int section_counter; + int found_safe_place; } // Offset: 16628 // Size: 4057 // EAX: pOpponent_spec // EDX: pMust_choose_one -void ChooseNewObjective(tOpponent_spec *pOpponent_spec) { - int pMust_choose_one; - char str[255]; - tS16 players_section; - br_vector3 wank; - br_vector3 player_to_oppo_v; - br_vector3 section_v; - br_vector3 intersect; - br_scalar dot; - br_scalar distance; - int do_it; - int i; - int j; - int pursuit_percentage; - int percentage; - int general_grudge_increase; +void ChooseNewObjective(tOpponent_spec *pOpponent_spec, int pMust_choose_one) { + char str[255]; + tS16 players_section; + br_vector3 wank; + br_vector3 player_to_oppo_v; + br_vector3 section_v; + br_vector3 intersect; + br_scalar dot; + br_scalar distance; + int do_it; + int i; + int j; + int pursuit_percentage; + int percentage; + int general_grudge_increase; } // Offset: 20688 // Size: 365 // EAX: pOpponent_spec void ProcessThisOpponent(tOpponent_spec *pOpponent_spec) { - int i; + int i; } // Offset: 21056 // Size: 256 // EAX: pPoint int IsNetCarActive(br_vector3 *pPoint) { - br_vector3 tv; + br_vector3 tv; } // Offset: 21312 // Size: 692 void RebuildActiveCarList() { - tCar_spec *car_spec; + tCar_spec *car_spec; } // Offset: 22004 @@ -547,90 +539,89 @@ void OiStopCheating(tOpponent_spec *pOpponent_spec) { // Size: 326 // EAX: pOpponent_spec int TeleportCopToStart(tOpponent_spec *pOpponent_spec) { - br_vector3 wank; + br_vector3 wank; } // Offset: 22672 // Size: 139 // EAX: pOpponent_spec void CalcDistanceFromHome(tOpponent_spec *pOpponent_spec) { - br_vector3 wank; + br_vector3 wank; } // Offset: 22812 // Size: 767 // EAX: pOpponent_spec // EDX: pMassage_count -int MassageOpponentPosition(tOpponent_spec *pOpponent_spec) { - int pMassage_count; - br_matrix34 *mat; - br_vector3 *car_trans; - br_vector3 displacement; - br_vector3 positive_y_vector; - br_vector3 direction_v; +int MassageOpponentPosition(tOpponent_spec *pOpponent_spec, int pMassage_count) { + br_matrix34 *mat; + br_vector3 *car_trans; + br_vector3 displacement; + br_vector3 positive_y_vector; + br_vector3 direction_v; } // Offset: 23580 // Size: 821 // EAX: pOpponent_spec int RematerialiseOpponentOnThisSection(tOpponent_spec *pOpponent_spec, br_scalar pSpeed, tS16 pSection_no) { - br_vector3 *start; - br_vector3 *finish; - br_vector3 a; - br_vector3 p; - br_vector3 section_v; - br_vector3 car_to_end; - br_vector3 intersect; - br_scalar t; - br_scalar distance_to_end; - br_scalar length; + br_vector3 *start; + br_vector3 *finish; + br_vector3 a; + br_vector3 p; + br_vector3 section_v; + br_vector3 car_to_end; + br_vector3 intersect; + br_scalar t; + br_scalar distance_to_end; + br_scalar length; } // Offset: 24404 // Size: 482 // EAX: pOpponent_spec int RematerialiseOpponentOnNearestSection(tOpponent_spec *pOpponent_spec, br_scalar pSpeed) { - br_vector3 intersect; - br_vector3 direction_v; - br_vector3 car_to_end; - br_vector3 *start; - br_vector3 *finish; - br_scalar distance; - br_scalar distance_to_end; - tS16 section_no; + br_vector3 intersect; + br_vector3 direction_v; + br_vector3 car_to_end; + br_vector3 *start; + br_vector3 *finish; + br_scalar distance; + br_scalar distance_to_end; + tS16 section_no; } // Offset: 24888 // Size: 2365 // EAX: pOpponent_spec int RematerialiseOpponent(tOpponent_spec *pOpponent_spec, br_scalar pSpeed) { - int count; - int total; - int highest; - int this_total; - br_matrix34 *mat; - br_matrix34 original_mat; - br_vector3 a; - br_vector3 b; - br_vector3 norm; - br_vector3 norm2; - br_scalar dist; - br_scalar dist2; - br_scalar ts; - br_angle phi; - int i; - int j; - int massage_count; - br_angle theta; - int sensible_place; + int count; + int total; + int highest; + int this_total; + br_matrix34 *mat; + br_matrix34 original_mat; + br_vector3 a; + br_vector3 b; + br_vector3 norm; + br_vector3 norm2; + br_scalar dist; + br_scalar dist2; + br_scalar ts; + br_angle phi; + int i; + int j; + int massage_count; + br_angle theta; + int sensible_place; } // Offset: 27256 // Size: 434 // EAX: pOpponent_spec void CalcPlayerConspicuousness(tOpponent_spec *pOpponent_spec) { - br_vector3 pos_in_cop_space; - br_matrix34 inverse_transform; + br_vector3 pos_in_cop_space; + br_matrix34 inverse_transform; } // Offset: 27692 @@ -655,25 +646,25 @@ void LoadCopCars() { // Size: 2460 // EAX: pF void LoadInOppoPaths(FILE *pF) { - char s[256]; - char *res; - int data_errors; - int section_no; - int node_no; - int i; - br_scalar x; - br_scalar y; - br_scalar z; - br_scalar scalars[8]; - br_scalar distance; - tPath_node *node_ptr; - br_vector3 section_v; - br_vector3 positive_y_vector; - br_vector3 intersect; - br_vector3 cop_to_section; - int j; - int sections_to_delete; - int delete_these[1024]; + char s[256]; + char *res; + int data_errors; + int section_no; + int node_no; + int i; + br_scalar x; + br_scalar y; + br_scalar z; + br_scalar scalars[8]; + br_scalar distance; + tPath_node *node_ptr; + br_vector3 section_v; + br_vector3 positive_y_vector; + br_vector3 intersect; + br_vector3 cop_to_section; + int j; + int sections_to_delete; + int delete_these[1024]; } // Offset: 30628 @@ -685,8 +676,8 @@ void DisposeOpponentPaths() { // Size: 950 // EAX: pFrame_period void MungeOpponents(tU32 pFrame_period) { - int i; - int un_stun_flag; + int i; + int un_stun_flag; } // Offset: 31736 @@ -698,11 +689,11 @@ void SetInitialCopPositions() { // Size: 2545 // EAX: pRace_info void InitOpponents(tRace_info *pRace_info) { - int i; - int opponent_number; - int rank_dependent_difficulty; - int skill_dependent_difficulty; - br_bounds bounds; + int i; + int opponent_number; + int rank_dependent_difficulty; + int skill_dependent_difficulty; + br_bounds bounds; } // Offset: 34536 @@ -714,14 +705,14 @@ void DisposeOpponents() { // Size: 311 // EAX: pWhat_the_countdown_was void WakeUpOpponentsToTheFactThatTheStartHasBeenJumped(int pWhat_the_countdown_was) { - int i; + int i; } // Offset: 34992 // Size: 91 // EAX: pCar_spec void ReportMurderToPoliceDepartment(tCar_spec *pCar_spec) { - int i; + int i; } // Offset: 35084 @@ -734,38 +725,35 @@ int GetCarCount(tVehicle_type pCategory) { // Size: 238 // EAX: pCategory // EDX: pIndex -tCar_spec* GetCarSpec(tVehicle_type pCategory) { - int pIndex; +tCar_spec* GetCarSpec(tVehicle_type pCategory, int pIndex) { } // Offset: 35504 // Size: 172 // EAX: pCategory // EDX: pIndex -char* GetDriverName(tVehicle_type pCategory) { - int pIndex; +char* GetDriverName(tVehicle_type pCategory, int pIndex) { } // Offset: 35676 // Size: 240 // EAX: pCar_spec tOpponent_spec* GetOpponentSpecFromCarSpec(tCar_spec *pCar_spec) { - int i; + int i; } // Offset: 35916 // Size: 113 // EAX: pIndex tCar_spec* GetCarSpecFromGlobalOppoIndex(int pIndex) { - int i; + int i; } // Offset: 36032 // Size: 95 // EAX: pOpponent_spec // EDX: pSection_no -int GetOpponentsRealSection(tOpponent_spec *pOpponent_spec) { - int pSection_no; +int GetOpponentsRealSection(tOpponent_spec *pOpponent_spec, int pSection_no) { } // Offset: 36128 @@ -786,8 +774,8 @@ int GetOpponentsNextSection(tOpponent_spec *pOpponent_spec, tS16 pCurrent_sectio // EAX: pOpponent_spec // EDX: pSection tS16 GetOpponentsSectionStartNode(tOpponent_spec *pOpponent_spec, tS16 pSection) { - tS16 section_no; - int node_index_index; + tS16 section_no; + int node_index_index; } // Offset: 36664 @@ -795,8 +783,8 @@ tS16 GetOpponentsSectionStartNode(tOpponent_spec *pOpponent_spec, tS16 pSection) // EAX: pOpponent_spec // EDX: pSection tS16 GetOpponentsSectionFinishNode(tOpponent_spec *pOpponent_spec, tS16 pSection) { - tS16 section_no; - int node_index_index; + tS16 section_no; + int node_index_index; } // Offset: 36852 @@ -804,9 +792,9 @@ tS16 GetOpponentsSectionFinishNode(tOpponent_spec *pOpponent_spec, tS16 pSection // EAX: pOpponent_spec // EDX: pSection br_vector3* GetOpponentsSectionStartNodePoint(tOpponent_spec *pOpponent_spec, tS16 pSection) { - tS16 section_no; - tS16 node_no; - int node_index_index; + tS16 section_no; + tS16 node_no; + int node_index_index; } // Offset: 37136 @@ -814,9 +802,9 @@ br_vector3* GetOpponentsSectionStartNodePoint(tOpponent_spec *pOpponent_spec, tS // EAX: pOpponent_spec // EDX: pSection br_vector3* GetOpponentsSectionFinishNodePoint(tOpponent_spec *pOpponent_spec, tS16 pSection) { - tS16 section_no; - tS16 node_no; - int node_index_index; + tS16 section_no; + tS16 node_no; + int node_index_index; } // Offset: 37404 @@ -831,10 +819,9 @@ br_scalar GetOpponentsSectionWidth(tOpponent_spec *pOpponent_spec, tS16 pSection // EAX: pOpponent_spec // EDX: pSection // EBX: pTowards_finish -int GetOpponentsSectionMinSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection) { - int pTowards_finish; - tS16 section_no; - int direction; +int GetOpponentsSectionMinSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection, int pTowards_finish) { + tS16 section_no; + int direction; } // Offset: 37836 @@ -842,17 +829,16 @@ int GetOpponentsSectionMinSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection) { // EAX: pOpponent_spec // EDX: pSection // EBX: pTowards_finish -int GetOpponentsSectionMaxSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection) { - int pTowards_finish; - tS16 section_no; - int direction; +int GetOpponentsSectionMaxSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection, int pTowards_finish) { + tS16 section_no; + int direction; } // Offset: 38100 // Size: 59 // EAX: pOpponent_index void InitOpponentPsyche(int pOpponent_index) { - int i; + int i; } // Offset: 38160 @@ -873,15 +859,15 @@ void TwoCarsHitEachOther(tCar_spec *pA_car, tCar_spec *pAnother_car) { // EAX: pTwatter // EDX: pTwattee void RecordOpponentTwattageOccurrence(tCar_spec *pTwatter, tCar_spec *pTwattee) { - int bangness; - int twatter_index; - int twattee_index; - int grudginess_caused_by_damage; - int new_grudge_value; - float damage; - char str[256]; - tOpponent_spec *twattee_opponent_spec; - tOpponent_spec *twatter_opponent_spec; + int bangness; + int twatter_index; + int twattee_index; + int grudginess_caused_by_damage; + int new_grudge_value; + float damage; + char str[256]; + tOpponent_spec *twattee_opponent_spec; + tOpponent_spec *twatter_opponent_spec; } // Offset: 39524 @@ -922,23 +908,22 @@ void CopyFace(br_face *pDest_face, br_face *pSrc_face) { // Size: 530 // EAX: pSection_to_delete void DeleteSection(tS16 pSection_to_delete) { - tS16 section_no; - tS16 section_no_index; - tS16 node_no; - tS16 node_no_index; - tS16 found_it; + tS16 section_no; + tS16 section_no_index; + tS16 node_no; + tS16 node_no_index; + tS16 found_it; } // Offset: 41096 // Size: 824 // EAX: pNode_to_delete // EDX: pAnd_sections -void DeleteNode(tS16 pNode_to_delete) { - int pAnd_sections; - tS16 node_no; - tS16 section_no; - tS16 section1; - tS16 section2; +void DeleteNode(tS16 pNode_to_delete, int pAnd_sections) { + tS16 node_no; + tS16 section_no; + tS16 section1; + tS16 section2; } // Offset: 41920 @@ -952,11 +937,11 @@ void DeleteOrphanNodes() { // EDX: pSection_no // EBX: pWhere void InsertThisNodeInThisSectionHere(tS16 pInserted_node, tS16 pSection_no, br_vector3 *pWhere) { - tS16 new_section; - tS16 section_no_index; - tS16 node1; - tS16 node2; - tS16 node3; + tS16 new_section; + tS16 section_no_index; + tS16 node1; + tS16 node2; + tS16 node3; } // Offset: 42752 @@ -969,26 +954,26 @@ void TrackElasticateyPath() { // EAX: pMax_not_min // EDX: pAdjustment void RecalcNearestPathSectionSpeed(int pMax_not_min, int pAdjustment) { - tS16 section_no; - br_vector3 direction_v; - br_vector3 intersect; - br_vector3 wank; - br_scalar distance; - br_scalar dist_to_start; - br_scalar dist_to_finish; - char str[128]; - int new_speed; - int nearest_end; + tS16 section_no; + br_vector3 direction_v; + br_vector3 intersect; + br_vector3 wank; + br_scalar distance; + br_scalar dist_to_start; + br_scalar dist_to_finish; + char str[128]; + int new_speed; + int nearest_end; } // Offset: 44052 // Size: 320 void RecalcNearestPathSectionWidth(br_scalar pAdjustment) { - tS16 section_no; - br_vector3 direction_v; - br_vector3 intersect; - br_scalar distance; - char str[128]; + tS16 section_no; + br_vector3 direction_v; + br_vector3 intersect; + br_scalar distance; + char str[128]; } // Offset: 44372 @@ -997,16 +982,15 @@ void RecalcNearestPathSectionWidth(br_scalar pAdjustment) { // EDX: pStart // EBX: pFinish void CalcNegativeXVector(br_vector3 *pNegative_x_vector, br_vector3 *pStart, br_vector3 *pFinish, br_scalar pLength) { - br_vector3 positive_y_vector; - br_vector3 path_vector; + br_vector3 positive_y_vector; + br_vector3 path_vector; } // Offset: 44700 // Size: 162 // EAX: pModel // EDX: pVertex_num -void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_scalar pY, br_scalar pZ) { - br_vector3 *pOffset; +void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_scalar pY, br_scalar pZ, br_vector3 *pOffset) { } // Offset: 44864 @@ -1015,9 +999,7 @@ void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_s // EDX: pFace_num // EBX: pV0 // ECX: pV1 -void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1) { - int pV2; - br_material *pMaterial; +void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1, int pV2, br_material *pMaterial) { } // Offset: 45000 @@ -1026,7 +1008,15 @@ void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1) { // EDX: pFirst_face // EBX: pStart // ECX: pFinish -void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pStart, br_vector3 *pFinish, br_scalar pWidth, br_material *pMaterial_centre_lt, br_material *pMaterial_centre_dk, br_material *pMaterial_edges_start_lt, br_material *pMaterial_edges_start_dk, br_material *pMaterial_edges_finish_lt, br_material *pMaterial_edges_finish_dk, div_t i, br_memory_classes offset_v, unsigned char the_material_start_lt, br_uint_16 the_material_start_dk, br_uint_16 the_material_finish_lt, br_vector3 *the_material_finish_dk, br_material *height, br_material *__unk19__) { +void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pStart, br_vector3 *pFinish, br_scalar pWidth, br_material *pMaterial_centre_lt, br_material *pMaterial_centre_dk, br_material *pMaterial_edges_start_lt, br_material *pMaterial_edges_start_dk, br_material *pMaterial_edges_finish_lt, br_material *pMaterial_edges_finish_dk) { + int i; + br_vector3 offset_v; + br_vector3 centre_length_v; + br_material *the_material_start_lt; + br_material *the_material_start_dk; + br_material *the_material_finish_lt; + br_material *the_material_finish_dk; + br_scalar height; } // Offset: 45944 @@ -1035,7 +1025,9 @@ void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *p // EDX: pFirst_face // EBX: pPoint // ECX: pMaterial_1 -void MakeCube(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pPoint, br_material *pMaterial_1, br_material *pMaterial_2, br_material *pMaterial_3, unsigned short offset_v, br_memory_classes point, union __unk9__) { +void MakeCube(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pPoint, br_material *pMaterial_1, br_material *pMaterial_2, br_material *pMaterial_3) { + br_vector3 offset_v; + br_vector3 point; } // Offset: 47180 @@ -1050,18 +1042,17 @@ void CalcNumberOfFacesAndVerticesForOppoPathModel(br_uint_16 *pFace_index_ptr, b // EAX: pModel // EDX: pNum_faces // EBX: pNum_vertices -void ReallocModelFacesAndVertices(br_model *pModel, int pNum_faces) { - int pNum_vertices; - br_vertex *new_vertices; - br_face *new_faces; - int i; +void ReallocModelFacesAndVertices(br_model *pModel, int pNum_faces, int pNum_vertices) { + br_vertex *new_vertices; + br_face *new_faces; + int i; } // Offset: 47704 // Size: 127 // EAX: pColour_index br_material* CreateSimpleMaterial(int pColour_index) { - br_material *return_me; + br_material *return_me; } // Offset: 47832 @@ -1072,33 +1063,33 @@ void AllocateMatsForOppoPathModel() { // Offset: 48088 // Size: 1093 void RebuildOppoPathModel() { - int nfaces_last_time; - int i; - int at_least_one; - br_uint_16 nfaces; - br_uint_16 nvertices; - br_uint_16 first_face; - br_uint_16 first_vertex; - br_material *centre_mat_lt; - br_material *centre_mat_dk; - br_material *edge_mat_start_lt; - br_material *edge_mat_start_dk; - br_material *edge_mat_finish_lt; - br_material *edge_mat_finish_dk; + int nfaces_last_time; + int i; + int at_least_one; + br_uint_16 nfaces; + br_uint_16 nvertices; + br_uint_16 first_face; + br_uint_16 first_vertex; + br_material *centre_mat_lt; + br_material *centre_mat_dk; + br_material *edge_mat_start_lt; + br_material *edge_mat_start_dk; + br_material *edge_mat_finish_lt; + br_material *edge_mat_finish_dk; } // Offset: 49184 // Size: 1319 int ConsistencyCheck() { - tS16 section_no; - tS16 start_node; - tS16 finish_node; - tS16 section_no_index; - tS16 section_no_index1; - int found_how_many; - int failed; - tU8 *nodes_referenced_by_sections_array; - tU8 *sections_referenced_by_nodes_array; + tS16 section_no; + tS16 start_node; + tS16 finish_node; + tS16 section_no_index; + tS16 section_no_index1; + int found_how_many; + int failed; + tU8 *nodes_referenced_by_sections_array; + tU8 *sections_referenced_by_nodes_array; } // Offset: 50504 @@ -1109,9 +1100,9 @@ void ShowOppoPaths() { // Offset: 50676 // Size: 832 void WriteOutOppoPaths() { - char str[13]; - FILE *f; - int i; + char str[13]; + FILE *f; + int i; } // Offset: 51508 @@ -1127,42 +1118,42 @@ void ShowHideOppoPaths() { // Offset: 51932 // Size: 1148 void DropElasticateyNode() { - tS16 old_node; - tS16 new_node; - tS16 section_no_index; - br_scalar distance; - int all_the_same_type; - int one_wayness; - tPath_section_type_enum section_type; - tPath_section_type_enum original_type; + tS16 old_node; + tS16 new_node; + tS16 section_no_index; + br_scalar distance; + int all_the_same_type; + int one_wayness; + tPath_section_type_enum section_type; + tPath_section_type_enum original_type; } // Offset: 53080 // Size: 1216 void InsertAndElasticate() { - tS16 elasticatey_node; - tS16 section_no; - tS16 new_section; - br_vector3 direction_v; - br_vector3 intersect; - br_vector3 wank; - br_scalar distance; - int not_perp; - int one_wayness; - char str[256]; - tPath_section_type_enum section_type; + tS16 elasticatey_node; + tS16 section_no; + tS16 new_section; + br_vector3 direction_v; + br_vector3 intersect; + br_vector3 wank; + br_scalar distance; + int not_perp; + int one_wayness; + char str[256]; + tPath_section_type_enum section_type; } // Offset: 54296 // Size: 623 void InsertAndDontElasticate() { - tS16 section_no; - br_vector3 direction_v; - br_vector3 intersect; - br_vector3 wank; - br_scalar distance; - int not_perp; - char str[256]; + tS16 section_no; + br_vector3 direction_v; + br_vector3 intersect; + br_vector3 wank; + br_scalar distance; + int not_perp; + char str[256]; } // Offset: 54920 @@ -1173,8 +1164,8 @@ void DropDeadEndNode() { // Offset: 55220 // Size: 404 void DropNodeOnNodeAndStopElasticating() { - char str[256]; - br_scalar distance; + char str[256]; + br_scalar distance; } // Offset: 55624 @@ -1210,89 +1201,89 @@ void DecreaseSectionMaxSpeed() { // Offset: 55968 // Size: 260 void PullOppoPoint() { - br_scalar distance; + br_scalar distance; } // Offset: 56228 // Size: 301 void ShowNodeInfo() { - char str[256]; - br_scalar distance; + char str[256]; + br_scalar distance; } // Offset: 56532 // Size: 364 void ShowSectionInfo1() { - char str[256]; - br_scalar distance; - br_vector3 direction_v; - br_vector3 intersect; + char str[256]; + br_scalar distance; + br_vector3 direction_v; + br_vector3 intersect; } // Offset: 56896 // Size: 717 void ShowSectionInfo2() { - char str[256]; - br_scalar distance; - br_vector3 direction_v; - br_vector3 intersect; + char str[256]; + br_scalar distance; + br_vector3 direction_v; + br_vector3 intersect; } // Offset: 57616 // Size: 226 void DeleteOppoPathSection() { - br_vector3 intersect; - br_vector3 direction_v; - tS16 section_no; + br_vector3 intersect; + br_vector3 direction_v; + tS16 section_no; } // Offset: 57844 // Size: 225 void DeleteOppoPathNodeAndSections() { - tS16 node_no; + tS16 node_no; } // Offset: 58072 // Size: 535 void DeleteOppoPathNodeAndJoin() { - tS16 node_no; + tS16 node_no; } // Offset: 58608 // Size: 424 void ReverseSectionDirection() { - tU8 speed_temp; - br_scalar distance; - br_vector3 intersect; - br_vector3 direction_v; - tS16 section_no; + tU8 speed_temp; + br_scalar distance; + br_vector3 intersect; + br_vector3 direction_v; + tS16 section_no; } // Offset: 59032 // Size: 325 void CycleSectionType() { - br_vector3 intersect; - br_vector3 direction_v; - tS16 section_no; - char str[256]; + br_vector3 intersect; + br_vector3 direction_v; + tS16 section_no; + char str[256]; } // Offset: 59360 // Size: 321 void ToggleOneWayNess() { - br_vector3 intersect; - br_vector3 direction_v; - tS16 section_no; + br_vector3 intersect; + br_vector3 direction_v; + tS16 section_no; } // Offset: 59684 // Size: 350 void CopStartPointInfo() { - int i; - int closest; - br_scalar closest_distance; - br_scalar distance; - br_vector3 car_to_point; + int i; + int closest; + br_scalar closest_distance; + br_scalar distance; + br_vector3 car_to_point; } // Offset: 60036 @@ -1303,11 +1294,11 @@ void DropCopStartPoint() { // Offset: 60356 // Size: 504 void DeleteCopStartPoint() { - int i; - int closest; - br_scalar closest_distance; - br_scalar distance; - br_vector3 car_to_point; + int i; + int closest; + br_scalar closest_distance; + br_scalar distance; + br_vector3 car_to_point; } // Offset: 60860 diff --git a/src/DETHRACE/source/common/opponent.h b/src/DETHRACE/source/common/opponent.h index f206f637..96bcbe12 100644 --- a/src/DETHRACE/source/common/opponent.h +++ b/src/DETHRACE/source/common/opponent.h @@ -1,5 +1,9 @@ +#ifndef _OPPONENT_H_ +#define _OPPONENT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 137 // EAX: pThe_actor @@ -78,7 +82,7 @@ void CalcRaceRoute(tOpponent_spec *pOpponent_spec); // Size: 790 // EAX: pOpponent_spec // EDX: pSections_to_add -void TopUpRandomRoute(tOpponent_spec *pOpponent_spec); +void TopUpRandomRoute(tOpponent_spec *pOpponent_spec, int pSections_to_add); // Offset: 4840 // Size: 942 @@ -86,7 +90,7 @@ void TopUpRandomRoute(tOpponent_spec *pOpponent_spec); // EDX: pPerm_store // EBX: pNum_of_perm_store_sections // ECX: pTarget_section -int SearchForSection(tRoute_section *pTemp_store, tRoute_section *pPerm_store, int *pNum_of_perm_store_sections, tS16 pTarget_section, int pDepth, br_scalar pDistance_so_far); +int SearchForSection(tRoute_section *pTemp_store, tRoute_section *pPerm_store, int *pNum_of_perm_store_sections, tS16 pTarget_section, int pDepth, br_scalar pDistance_so_far, tOpponent_spec *pOpponent_spec); // Offset: 5784 // Size: 796 @@ -109,19 +113,19 @@ void ClearOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec); // EAX: pOpponent_spec // EDX: pSection_no // EBX: pDirection -int AddToOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, tS16 pSection_no); +int AddToOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, tS16 pSection_no, int pDirection); // Offset: 7320 // Size: 177 // EAX: pOpponent_spec // EDX: pPlaces -int ShiftOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec); +int ShiftOpponentsProjectedRoute(tOpponent_spec *pOpponent_spec, int pPlaces); // Offset: 7500 // Size: 134 // EAX: pOpponent_spec // EDX: pMilliseconds -void StunTheBugger(tOpponent_spec *pOpponent_spec); +void StunTheBugger(tOpponent_spec *pOpponent_spec, int pMilliseconds); // Offset: 7636 // Size: 47 @@ -156,7 +160,7 @@ tS16 FindNearestTrailSection(tOpponent_spec *pOpponent_spec, tCar_spec *pPursuee // Size: 111 // EAX: pOpponent_spec // EDX: pSection -tS16 CalcNextTrailSection(tOpponent_spec *pOpponent_spec); +tS16 CalcNextTrailSection(tOpponent_spec *pOpponent_spec, int pSection); // Offset: 9692 // Size: 2515 @@ -235,7 +239,7 @@ void TeleportOpponentToNearestSafeLocation(tOpponent_spec *pOpponent_spec); // Size: 4057 // EAX: pOpponent_spec // EDX: pMust_choose_one -void ChooseNewObjective(tOpponent_spec *pOpponent_spec); +void ChooseNewObjective(tOpponent_spec *pOpponent_spec, int pMust_choose_one); // Offset: 20688 // Size: 365 @@ -279,7 +283,7 @@ void CalcDistanceFromHome(tOpponent_spec *pOpponent_spec); // Size: 767 // EAX: pOpponent_spec // EDX: pMassage_count -int MassageOpponentPosition(tOpponent_spec *pOpponent_spec); +int MassageOpponentPosition(tOpponent_spec *pOpponent_spec, int pMassage_count); // Offset: 23580 // Size: 821 @@ -362,13 +366,13 @@ int GetCarCount(tVehicle_type pCategory); // Size: 238 // EAX: pCategory // EDX: pIndex -tCar_spec* GetCarSpec(tVehicle_type pCategory); +tCar_spec* GetCarSpec(tVehicle_type pCategory, int pIndex); // Offset: 35504 // Size: 172 // EAX: pCategory // EDX: pIndex -char* GetDriverName(tVehicle_type pCategory); +char* GetDriverName(tVehicle_type pCategory, int pIndex); // Offset: 35676 // Size: 240 @@ -384,7 +388,7 @@ tCar_spec* GetCarSpecFromGlobalOppoIndex(int pIndex); // Size: 95 // EAX: pOpponent_spec // EDX: pSection_no -int GetOpponentsRealSection(tOpponent_spec *pOpponent_spec); +int GetOpponentsRealSection(tOpponent_spec *pOpponent_spec, int pSection_no); // Offset: 36128 // Size: 106 @@ -432,14 +436,14 @@ br_scalar GetOpponentsSectionWidth(tOpponent_spec *pOpponent_spec, tS16 pSection // EAX: pOpponent_spec // EDX: pSection // EBX: pTowards_finish -int GetOpponentsSectionMinSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection); +int GetOpponentsSectionMinSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection, int pTowards_finish); // Offset: 37836 // Size: 262 // EAX: pOpponent_spec // EDX: pSection // EBX: pTowards_finish -int GetOpponentsSectionMaxSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection); +int GetOpponentsSectionMaxSpeed(tOpponent_spec *pOpponent_spec, tS16 pSection, int pTowards_finish); // Offset: 38100 // Size: 59 @@ -500,7 +504,7 @@ void DeleteSection(tS16 pSection_to_delete); // Size: 824 // EAX: pNode_to_delete // EDX: pAnd_sections -void DeleteNode(tS16 pNode_to_delete); +void DeleteNode(tS16 pNode_to_delete, int pAnd_sections); // Offset: 41920 // Size: 116 @@ -538,7 +542,7 @@ void CalcNegativeXVector(br_vector3 *pNegative_x_vector, br_vector3 *pStart, br_ // Size: 162 // EAX: pModel // EDX: pVertex_num -void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_scalar pY, br_scalar pZ); +void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_scalar pY, br_scalar pZ, br_vector3 *pOffset); // Offset: 44864 // Size: 134 @@ -546,7 +550,7 @@ void MakeVertexAndOffsetIt(br_model *pModel, int pVertex_num, br_scalar pX, br_s // EDX: pFace_num // EBX: pV0 // ECX: pV1 -void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1); +void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1, int pV2, br_material *pMaterial); // Offset: 45000 // Size: 942 @@ -554,7 +558,7 @@ void MakeFaceAndTextureIt(br_model *pModel, int pFace_num, int pV0, int pV1); // EDX: pFirst_face // EBX: pStart // ECX: pFinish -void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pStart, br_vector3 *pFinish, br_scalar pWidth, br_material *pMaterial_centre_lt, br_material *pMaterial_centre_dk, br_material *pMaterial_edges_start_lt, br_material *pMaterial_edges_start_dk, br_material *pMaterial_edges_finish_lt, br_material *pMaterial_edges_finish_dk, div_t i, br_memory_classes offset_v, unsigned char the_material_start_lt, br_uint_16 the_material_start_dk, br_uint_16 the_material_finish_lt, br_vector3 *the_material_finish_dk, br_material *height, br_material *__unk19__); +void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pStart, br_vector3 *pFinish, br_scalar pWidth, br_material *pMaterial_centre_lt, br_material *pMaterial_centre_dk, br_material *pMaterial_edges_start_lt, br_material *pMaterial_edges_start_dk, br_material *pMaterial_edges_finish_lt, br_material *pMaterial_edges_finish_dk); // Offset: 45944 // Size: 1235 @@ -562,7 +566,7 @@ void MakeSection(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *p // EDX: pFirst_face // EBX: pPoint // ECX: pMaterial_1 -void MakeCube(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pPoint, br_material *pMaterial_1, br_material *pMaterial_2, br_material *pMaterial_3, unsigned short offset_v, br_memory_classes point, union __unk9__); +void MakeCube(br_uint_16 pFirst_vertex, br_uint_16 pFirst_face, br_vector3 *pPoint, br_material *pMaterial_1, br_material *pMaterial_2, br_material *pMaterial_3); // Offset: 47180 // Size: 88 @@ -575,7 +579,7 @@ void CalcNumberOfFacesAndVerticesForOppoPathModel(br_uint_16 *pFace_index_ptr, b // EAX: pModel // EDX: pNum_faces // EBX: pNum_vertices -void ReallocModelFacesAndVertices(br_model *pModel, int pNum_faces); +void ReallocModelFacesAndVertices(br_model *pModel, int pNum_faces, int pNum_vertices); // Offset: 47704 // Size: 127 @@ -710,3 +714,4 @@ void DeleteCopStartPoint(); // Size: 34 void CycleCopStartPointType(); +#endif diff --git a/src/DETHRACE/source/common/oppoproc.c b/src/DETHRACE/source/common/oppoproc.c index 06b4b103..d6d5deb8 100644 --- a/src/DETHRACE/source/common/oppoproc.c +++ b/src/DETHRACE/source/common/oppoproc.c @@ -1,6 +1,5 @@ #include "oppoproc.h" -// Global variables // Offset: 0 // Size: 724 @@ -8,17 +7,16 @@ // EDX: pRadius // EBX: pEntry_length // ECX: pLeft_not_right -int StraightestArcForCorner2D(br_vector2 *pCent, br_scalar *pRadius, br_scalar *pEntry_length, int *pLeft_not_right, br_vector2 *p1, br_vector2 *p2, br_vector2 *p3, br_scalar pWidth12) { - br_scalar pWidth23; - br_vector2 rel1; - br_vector2 rel3; - br_vector2 rot1; - br_vector2 rot1u; - br_scalar len12_squared; - br_scalar len23_squared; - br_scalar c; - br_scalar numerator; - br_scalar x; +int StraightestArcForCorner2D(br_vector2 *pCent, br_scalar *pRadius, br_scalar *pEntry_length, int *pLeft_not_right, br_vector2 *p1, br_vector2 *p2, br_vector2 *p3, br_scalar pWidth12, br_scalar pWidth23) { + br_vector2 rel1; + br_vector2 rel3; + br_vector2 rot1; + br_vector2 rot1u; + br_scalar len12_squared; + br_scalar len23_squared; + br_scalar c; + br_scalar numerator; + br_scalar x; } // Offset: 724 @@ -31,7 +29,7 @@ br_scalar CornerFudge(tCar_spec *pCar_spec) { // Size: 92 // EAX: pCar br_scalar MaxCurvatureForCarSpeed(tCar_spec *pCar, br_scalar pSpeed) { - br_scalar curv; + br_scalar curv; } // Offset: 864 @@ -45,7 +43,7 @@ br_scalar Vector2Cross(br_vector2 *pA, br_vector2 *pB) { // Size: 108 // EAX: pOpponent_spec tFollow_path_result EndOfPath(tOpponent_spec *pOpponent_spec) { - tCar_spec *car_spec; + tCar_spec *car_spec; } // Offset: 1044 @@ -54,12 +52,12 @@ tFollow_path_result EndOfPath(tOpponent_spec *pOpponent_spec) { // EDX: p2 // EBX: p3 int RoughlyColinear(br_vector2 *p1, br_vector2 *p2, br_vector2 *p3) { - br_vector2 rel1; - br_vector2 rel2; - br_vector2 sum; - br_scalar cross; - br_scalar dot; - br_scalar wibble; + br_vector2 rel1; + br_vector2 rel2; + br_vector2 sum; + br_scalar cross; + br_scalar dot; + br_scalar wibble; } // Offset: 1280 @@ -68,11 +66,10 @@ int RoughlyColinear(br_vector2 *p1, br_vector2 *p2, br_vector2 *p3) { // EDX: pFinish // EBX: pWidth // ECX: section1 -int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int section1, tOpponent_spec *pOpponent_spec) { - tFollow_path_data *data; - int section; - br_vector2 next; - br_scalar next_width; +int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int section1, tOpponent_spec *pOpponent_spec, tFollow_path_data *data) { + int section; + br_vector2 next; + br_scalar next_width; } // Offset: 1576 @@ -81,110 +78,108 @@ int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int // EDX: pCommand // EBX: pPursuit_mode // ECX: pIgnore_end -tFollow_path_result ProcessFollowPath(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand, int pPursuit_mode) { - int pIgnore_end; - int pNever_struggle; - tS16 real_section_no; - tFollow_path_data *data; - br_vector3 wank; - br_vector3 wank2; - br_vector3 *not_our_dir; - br_vector3 section_dir; - br_vector3 section_v; - br_vector3 start; - br_vector3 corner; - br_vector3 next; - br_vector3 goal_dir; - br_vector3 intersect; - br_vector3 a; - br_vector3 p; - br_vector3 car_to_end; - br_actor *car_master_actor; - br_scalar stopped_speed; - br_scalar dist_to_end; - br_scalar t; - br_scalar acc; - br_scalar speed; - br_scalar dist_to_goal; - br_scalar section_width; - br_scalar goal_width; - br_scalar desired_speed; - br_scalar dist_along; - br_scalar acc_factor; - br_scalar max_acc; - br_scalar speed_to_goal; - br_scalar error; - br_scalar radius; - br_scalar entry_len; - br_scalar corner_speed2; - br_scalar distance; - br_scalar stopping_distance; - br_scalar corner_speed; - br_scalar dot_a; - br_scalar dot_d; - br_scalar further_along; - tCar_spec *car_spec; - int engine_damage; - int trans_damage; - int section_no; - int sx; - int just_fucking_brake; - br_vector2 oppo_pos2d; - br_vector2 start2d; - br_vector2 finish2d; - br_vector2 next2d; - br_vector2 oppo_pos_rel; - br_vector2 oppo_pos_rel_next; - br_vector2 section_rel; - br_vector2 section_rel_next; - br_vector2 v2d; - br_vector2 corner2d; - br_vector2 after_corner2d; - br_vector2 next_turning_cent; - br_vector2 temp2d; - br_scalar section_len; - br_scalar section_len_next; - br_scalar pos_error; - br_scalar pos_error_next; - br_scalar pos_error_factor; - br_scalar sin_error; - br_scalar corner_radius; - br_scalar corner_entry_length; - br_scalar corner_distance; - br_scalar speed2d; - br_scalar stemp1; - br_scalar width; - br_scalar next_width; - br_scalar next_turning_radius; - br_scalar next_corner_size; - br_scalar later_width; - br_scalar effective_speed_factor; - int first_straight; - int next_straight; - int left_not_right; - int later_straight; - int next_left_not_right; +tFollow_path_result ProcessFollowPath(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand, int pPursuit_mode, int pIgnore_end, int pNever_struggle) { + tS16 real_section_no; + tFollow_path_data *data; + br_vector3 wank; + br_vector3 wank2; + br_vector3 *not_our_dir; + br_vector3 section_dir; + br_vector3 section_v; + br_vector3 start; + br_vector3 corner; + br_vector3 next; + br_vector3 goal_dir; + br_vector3 intersect; + br_vector3 a; + br_vector3 p; + br_vector3 car_to_end; + br_actor *car_master_actor; + br_scalar stopped_speed; + br_scalar dist_to_end; + br_scalar t; + br_scalar acc; + br_scalar speed; + br_scalar dist_to_goal; + br_scalar section_width; + br_scalar goal_width; + br_scalar desired_speed; + br_scalar dist_along; + br_scalar acc_factor; + br_scalar max_acc; + br_scalar speed_to_goal; + br_scalar error; + br_scalar radius; + br_scalar entry_len; + br_scalar corner_speed2; + br_scalar distance; + br_scalar stopping_distance; + br_scalar corner_speed; + br_scalar dot_a; + br_scalar dot_d; + br_scalar further_along; + tCar_spec *car_spec; + int engine_damage; + int trans_damage; + int section_no; + int sx; + int just_fucking_brake; + br_vector2 oppo_pos2d; + br_vector2 start2d; + br_vector2 finish2d; + br_vector2 next2d; + br_vector2 oppo_pos_rel; + br_vector2 oppo_pos_rel_next; + br_vector2 section_rel; + br_vector2 section_rel_next; + br_vector2 v2d; + br_vector2 corner2d; + br_vector2 after_corner2d; + br_vector2 next_turning_cent; + br_vector2 temp2d; + br_scalar section_len; + br_scalar section_len_next; + br_scalar pos_error; + br_scalar pos_error_next; + br_scalar pos_error_factor; + br_scalar sin_error; + br_scalar corner_radius; + br_scalar corner_entry_length; + br_scalar corner_distance; + br_scalar speed2d; + br_scalar stemp1; + br_scalar width; + br_scalar next_width; + br_scalar next_turning_radius; + br_scalar next_corner_size; + br_scalar later_width; + br_scalar effective_speed_factor; + int first_straight; + int next_straight; + int left_not_right; + int later_straight; + int next_left_not_right; } // Offset: 7500 // Size: 3018 // EAX: pOpponent_spec tFollow_path_result FollowCheatyPath(tOpponent_spec *pOpponent_spec) { - tFollow_path_data *data; - br_vector3 a; - br_vector3 p; - br_vector3 section_v; - br_vector3 car_to_end; - br_vector3 car_to_intersect; - br_vector3 *start; - br_vector3 *finish; - br_scalar t; - br_scalar frame_period_in_secs; - br_scalar distance_left; - br_scalar distance_to_end; - br_scalar distance_to_intersect; - br_scalar section_min; - br_scalar section_max; - br_scalar desired_speed_BRU; + tFollow_path_data *data; + br_vector3 a; + br_vector3 p; + br_vector3 section_v; + br_vector3 car_to_end; + br_vector3 car_to_intersect; + br_vector3 *start; + br_vector3 *finish; + br_scalar t; + br_scalar frame_period_in_secs; + br_scalar distance_left; + br_scalar distance_to_end; + br_scalar distance_to_intersect; + br_scalar section_min; + br_scalar section_max; + br_scalar desired_speed_BRU; } diff --git a/src/DETHRACE/source/common/oppoproc.h b/src/DETHRACE/source/common/oppoproc.h index 3e11b05c..65c21512 100644 --- a/src/DETHRACE/source/common/oppoproc.h +++ b/src/DETHRACE/source/common/oppoproc.h @@ -1,12 +1,16 @@ +#ifndef _OPPOPROC_H_ +#define _OPPOPROC_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 724 // EAX: pCent // EDX: pRadius // EBX: pEntry_length // ECX: pLeft_not_right -int StraightestArcForCorner2D(br_vector2 *pCent, br_scalar *pRadius, br_scalar *pEntry_length, int *pLeft_not_right, br_vector2 *p1, br_vector2 *p2, br_vector2 *p3, br_scalar pWidth12); +int StraightestArcForCorner2D(br_vector2 *pCent, br_scalar *pRadius, br_scalar *pEntry_length, int *pLeft_not_right, br_vector2 *p1, br_vector2 *p2, br_vector2 *p3, br_scalar pWidth12, br_scalar pWidth23); // Offset: 724 // Size: 47 @@ -42,7 +46,7 @@ int RoughlyColinear(br_vector2 *p1, br_vector2 *p2, br_vector2 *p3); // EDX: pFinish // EBX: pWidth // ECX: section1 -int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int section1, tOpponent_spec *pOpponent_spec); +int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int section1, tOpponent_spec *pOpponent_spec, tFollow_path_data *data); // Offset: 1576 // Size: 5921 @@ -50,10 +54,11 @@ int GetStraight(br_vector2 *pStart, br_vector2 *pFinish, br_scalar *pWidth, int // EDX: pCommand // EBX: pPursuit_mode // ECX: pIgnore_end -tFollow_path_result ProcessFollowPath(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand, int pPursuit_mode); +tFollow_path_result ProcessFollowPath(tOpponent_spec *pOpponent_spec, tProcess_objective_command pCommand, int pPursuit_mode, int pIgnore_end, int pNever_struggle); // Offset: 7500 // Size: 3018 // EAX: pOpponent_spec tFollow_path_result FollowCheatyPath(tOpponent_spec *pOpponent_spec); +#endif diff --git a/src/DETHRACE/source/common/options.c b/src/DETHRACE/source/common/options.c index 0e130129..c5cbf726 100644 --- a/src/DETHRACE/source/common/options.c +++ b/src/DETHRACE/source/common/options.c @@ -1,6 +1,5 @@ #include "options.h" -// Global variables int gKey_defns[18]; tRadio_bastards gRadio_bastards[13]; int gKey_count; @@ -25,8 +24,8 @@ void DrawDial(int pWhich_one, int pWhich_stage) { // EDX: pOld_stage // EBX: pNew_stage void MoveDialFromTo(int pWhich_one, int pOld_stage, int pNew_stage) { - tS32 time_diff; - tU32 start_time; + tS32 time_diff; + tU32 start_time; } // Offset: 552 @@ -48,8 +47,8 @@ int SoundOptionsDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int // EAX: pCurrent_choice // EDX: pCurrent_mode int SoundOptionsLeft(int *pCurrent_choice, int *pCurrent_mode) { - int old_value; - int *the_value; + int old_value; + int *the_value; } // Offset: 896 @@ -57,8 +56,8 @@ int SoundOptionsLeft(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int SoundOptionsRight(int *pCurrent_choice, int *pCurrent_mode) { - int old_value; - int *the_value; + int old_value; + int *the_value; } // Offset: 1052 @@ -68,27 +67,27 @@ int SoundOptionsRight(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int SoundClick(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - float x_delta; - float y_delta; - float angle; - int old_value; - int *the_value; + float x_delta; + float y_delta; + float angle; + int old_value; + int *the_value; } // Offset: 1436 // Size: 77 void DoSoundOptions() { - tFlicette flicker_off[3]; - tFlicette push[3]; - tMouse_area mouse_areas[3]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[3]; + tFlicette push[3]; + tMouse_area mouse_areas[3]; + tInterface_spec interface_spec; + int result; } // Offset: 1516 // Size: 586 void GetGraphicsOptions() { - br_scalar br_value; + br_scalar br_value; } // Offset: 2104 @@ -141,7 +140,7 @@ void RadioChanged(int pIndex, int pNew_value) { // EAX: pCurrent_choice // EDX: pCurrent_mode int GraphOptLeft(int *pCurrent_choice, int *pCurrent_mode) { - int new_value; + int new_value; } // Offset: 3260 @@ -149,7 +148,7 @@ int GraphOptLeft(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int GraphOptRight(int *pCurrent_choice, int *pCurrent_mode) { - int new_value; + int new_value; } // Offset: 3388 @@ -173,7 +172,7 @@ int GraphOptDown(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int RadioClick(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int i; + int i; } // Offset: 3860 @@ -212,47 +211,47 @@ void DrawGraphBox(int pCurrent_choice, int pCurrent_mode) { // Offset: 4296 // Size: 128 void DoGraphicsOptions() { - tFlicette flicker_off[14]; - tFlicette push[14]; - tMouse_area mouse_areas[14]; - tInterface_spec interface_spec; + tFlicette flicker_off[14]; + tFlicette push[14]; + tMouse_area mouse_areas[14]; + tInterface_spec interface_spec; } // Offset: 4424 // Size: 1526 void CalibrateJoysticks() { - int escaped; - int joy_value_x; - int joy_value_y; - int key; - int top_left[2]; - int bot_right[2]; - int centre[2]; - int range[2]; - int min[2]; - int i; - int saved_1x; - int saved_1y; - int saved_2x; - int saved_2y; - int max; - char s[256]; + int escaped; + int joy_value_x; + int joy_value_y; + int key; + int top_left[2]; + int bot_right[2]; + int centre[2]; + int range[2]; + int min[2]; + int i; + int saved_1x; + int saved_1y; + int saved_2x; + int saved_2y; + int max; + char s[256]; } // Offset: 5952 // Size: 118 // EAX: pStr void StripControls(unsigned char *pStr) { - int i; - int len; + int i; + int len; } // Offset: 6072 // Size: 215 void LoadKeyNames() { - FILE *f; - tPath_name the_path; - unsigned char s[256]; + FILE *f; + tPath_name the_path; + unsigned char s[256]; } // Offset: 6288 @@ -272,21 +271,21 @@ void SaveOrigKeyMapping() { // EBX: pName_x // ECX: pKey_x void GetKeyCoords(int pIndex, int *pY, int *pName_x, int *pKey_x, int *pEnd_box) { - int col; + int col; } // Offset: 6808 // Size: 182 void SetKeysToDefault() { - tPath_name the_path; - int i; + tPath_name the_path; + int i; } // Offset: 6992 // Size: 217 void SaveKeyMapping() { - tPath_name the_path; - int i; + tPath_name the_path; + int i; } // Offset: 7212 @@ -300,17 +299,17 @@ void ChangeKeyMapIndex(int pNew_one) { // EAX: pCurrent_choice // EDX: pCurrent_mode void DrawKeyAssignments(int pCurrent_choice, int pCurrent_mode) { - int i; - int y; - int x_coord; - int y_coord; - int name_x; - int key_x; - int new_key; - int end_box; - tDR_font *font_n; - tDR_font *font_k; - int on_radios_last_time; + int i; + int y; + int x_coord; + int y_coord; + int name_x; + int key_x; + int new_key; + int end_box; + tDR_font *font_n; + tDR_font *font_k; + int on_radios_last_time; } // Offset: 8452 @@ -318,7 +317,7 @@ void DrawKeyAssignments(int pCurrent_choice, int pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int KeyAssignLeft(int *pCurrent_choice, int *pCurrent_mode) { - int new_index; + int new_index; } // Offset: 8704 @@ -326,7 +325,7 @@ int KeyAssignLeft(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int KeyAssignRight(int *pCurrent_choice, int *pCurrent_mode) { - int new_index; + int new_index; } // Offset: 8956 @@ -348,16 +347,16 @@ int KeyAssignDown(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int KeyAssignGoAhead(int *pCurrent_choice, int *pCurrent_mode) { - int key; - int i; - int j; - int y; - int new_index; - int disallowed; - int name_x; - int key_x; - int end_box; - tDR_font *font; + int key; + int i; + int j; + int y; + int new_index; + int disallowed; + int name_x; + int key_x; + int end_box; + tDR_font *font; } // Offset: 10536 @@ -367,9 +366,9 @@ int KeyAssignGoAhead(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int MouseyClickBastard(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int i; - int x_coord; - int y_coord; + int i; + int x_coord; + int y_coord; } // Offset: 10704 @@ -380,16 +379,16 @@ void DrawInitialKMRadios() { // Offset: 10796 // Size: 366 void DoControlOptions() { - tFlicette flicker_off[4]; - tFlicette push[4]; - tMouse_area mouse_areas[5]; - tInterface_spec interface_spec; - int result; - int swap_font_1; - int swap_font_2; - int swap_font_3; - int second_time_around; - int orig_key_map_index; + tFlicette flicker_off[4]; + tFlicette push[4]; + tMouse_area mouse_areas[5]; + tInterface_spec interface_spec; + int result; + int swap_font_1; + int swap_font_2; + int swap_font_3; + int second_time_around; + int orig_key_map_index; } // Offset: 11164 @@ -410,10 +409,10 @@ void DrawDisabledOptions() { // Offset: 11448 // Size: 146 void DoOptions() { - tFlicette flicker_off[4]; - tFlicette push[4]; - tMouse_area mouse_areas[4]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[4]; + tFlicette push[4]; + tMouse_area mouse_areas[4]; + tInterface_spec interface_spec; + int result; } diff --git a/src/DETHRACE/source/common/options.h b/src/DETHRACE/source/common/options.h index 4c3b82b3..e9e33212 100644 --- a/src/DETHRACE/source/common/options.h +++ b/src/DETHRACE/source/common/options.h @@ -1,5 +1,9 @@ +#ifndef _OPTIONS_H_ +#define _OPTIONS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 161 // EAX: pWhich_one @@ -265,3 +269,4 @@ void DrawDisabledOptions(); // Size: 146 void DoOptions(); +#endif diff --git a/src/DETHRACE/source/common/pedestrn.c b/src/DETHRACE/source/common/pedestrn.c index 1be9b52f..ec9500fd 100644 --- a/src/DETHRACE/source/common/pedestrn.c +++ b/src/DETHRACE/source/common/pedestrn.c @@ -1,6 +1,5 @@ #include "pedestrn.h" -// Global variables int gPed_gib_counts[4][5]; int gPed_gib_maxes[4][5]; tPedestrian_instruction gPed_instrucs[100]; @@ -104,8 +103,7 @@ br_actor* GetPedestrianActor(int pIndex) { // Size: 97 // EAX: pActor // EDX: pFlipped -br_pixelmap* GetPedestrianTexture(br_actor *pActor) { - int *pFlipped; +br_pixelmap* GetPedestrianTexture(br_actor *pActor, int *pFlipped) { } // Offset: 660 @@ -116,26 +114,24 @@ void TogglePedestrians() { // Offset: 816 // Size: 918 void InitPedGibs() { - int j; - br_model *the_model; - br_pixelmap *the_pix; - br_material *the_material; + int j; + br_model *the_model; + br_pixelmap *the_pix; + br_material *the_material; } // Offset: 1736 // Size: 240 // EAX: pActor void SetPedMaterialForRender(br_actor *pActor) { - tPedestrian_data *ped; - int changed; + tPedestrian_data *ped; + int changed; } // Offset: 1976 // Size: 158 -void PedCallBack(br_actor *pActor, br_model *pModel, br_material *pMaterial, void *pRender_data) { - br_uint_8 pStyle; - int pOn_screen; - tPedestrian_data *ped; +void PedCallBack(br_actor *pActor, br_model *pModel, br_material *pMaterial, void *pRender_data, br_uint_8 pStyle, int pOn_screen) { + tPedestrian_data *ped; } // Offset: 2136 @@ -147,35 +143,34 @@ void InitPeds() { // Size: 275 // EAX: pActor void MungeModelSize(br_actor *pActor, br_scalar pScaling_factor) { - br_pixelmap *the_pix; - br_scalar half_width; - br_scalar half_height; + br_pixelmap *the_pix; + br_scalar half_width; + br_scalar half_height; } // Offset: 2928 // Size: 1468 // EAX: pPedestrian -int BurstPedestrian(tPedestrian_data *pPedestrian, float pSplattitudinalitude) { - int pAllow_explosion; - int i; - int j; - int gib_index; - int next_gib_index; - int size_threshold; - int current_size; - int max_size; - int gib_count; - int exploded; - tPed_gib *the_ped_gib; - br_scalar min_speed; - br_scalar max_speed; - tU32 the_time; +int BurstPedestrian(tPedestrian_data *pPedestrian, float pSplattitudinalitude, int pAllow_explosion) { + int i; + int j; + int gib_index; + int next_gib_index; + int size_threshold; + int current_size; + int max_size; + int gib_count; + int exploded; + tPed_gib *the_ped_gib; + br_scalar min_speed; + br_scalar max_speed; + tU32 the_time; } // Offset: 4396 // Size: 137 void ResetAllPedGibs() { - tPed_gib *the_ped_gib; + tPed_gib *the_ped_gib; } // Offset: 4536 @@ -184,19 +179,20 @@ void ResetAllPedGibs() { // EDX: pSize // EBX: pGib_index // ECX: pPed_index -void AdjustPedGib(int pIndex, int pSize, int pGib_index, int pPed_index, br_matrix34 *pTrans, unsigned char the_ped_gib) { +void AdjustPedGib(int pIndex, int pSize, int pGib_index, int pPed_index, br_matrix34 *pTrans) { + tPed_gib *the_ped_gib; } // Offset: 4736 // Size: 810 // EAX: pFrame_period void MungePedGibs(tU32 pFrame_period) { - int i; - int frame; - tPed_gib *the_ped_gib; - br_scalar s_frame_period; - tU32 the_time; - tPedestrian_data *pedestrian; + int i; + int frame; + tPed_gib *the_ped_gib; + br_scalar s_frame_period; + tU32 the_time; + tPedestrian_data *pedestrian; } // Offset: 5548 @@ -212,41 +208,38 @@ void KillPedestrian(tPedestrian_data *pPedestrian) { // EBX: pHeight // ECX: pWidth void CalcPedWidthNHeight(tPedestrian_data *pPedestrian, br_pixelmap *pPixelmap, br_scalar *pHeight, br_scalar *pWidth) { - br_pixelmap *reference_pixel_bastard; - br_scalar scale_to_use; + br_pixelmap *reference_pixel_bastard; + br_scalar scale_to_use; } // Offset: 6120 // Size: 1942 // EAX: pPedestrian -int PedestrianNextInstruction(tPedestrian_data *pPedestrian, float pDanger_level) { - int pPosition_explicitly; - int pMove_pc; - tPedestrian_instruction *instruction; - float most_dangerous; - float chance_value; - int result; - int start_index; - int end_index; - int i; - int j; - int choice; - int the_marker_ref; +int PedestrianNextInstruction(tPedestrian_data *pPedestrian, float pDanger_level, int pPosition_explicitly, int pMove_pc) { + tPedestrian_instruction *instruction; + float most_dangerous; + float chance_value; + int result; + int start_index; + int end_index; + int i; + int j; + int choice; + int the_marker_ref; } // Offset: 8064 // Size: 464 // EAX: pPedestrian // EDX: pAction_changed -void MungePedestrianSequence(tPedestrian_data *pPedestrian) { - int pAction_changed; - tPedestrian_action *the_action; - int i; - int the_sequence; - int current_looping; - br_scalar ped_movement_angle; - float heading_difference; - tPedestrian_sequence *sequence_ptr; +void MungePedestrianSequence(tPedestrian_data *pPedestrian, int pAction_changed) { + tPedestrian_action *the_action; + int i; + int the_sequence; + int current_looping; + br_scalar ped_movement_angle; + float heading_difference; + tPedestrian_sequence *sequence_ptr; } // Offset: 8528 @@ -259,7 +252,7 @@ void DetachPedFromCar(tPedestrian_data *pPedestrian) { // Size: 117 // EAX: pPedestrian void SetPedPos(tPedestrian_data *pPedestrian) { - br_vector3 temp_v; + br_vector3 temp_v; } // Offset: 8816 @@ -272,34 +265,34 @@ void DetachPedActorFromCar(br_actor *pActor) { // Size: 1317 // EAX: pPedestrian void MungePedestrianFrames(tPedestrian_data *pPedestrian) { - tPedestrian_sequence *the_sequence; - float f_the_time; - float frame_period; - int frame_offset; - int number_of_frames; - int new_frame; - tU32 the_time; + tPedestrian_sequence *the_sequence; + float f_the_time; + float frame_period; + int frame_offset; + int number_of_frames; + int new_frame; + tU32 the_time; } // Offset: 10196 // Size: 1288 // EAX: pPedestrian void MungePedModel(tPedestrian_data *pPedestrian) { - br_vector3 old_pos; - br_vector3 delta_pos; - br_scalar height_over2; - br_matrix34 mat; - br_scalar x_offset; - br_scalar y_offset; - br_scalar temp_scalar; - br_scalar *component_address; - br_pixelmap *current_pixel_bastard; - br_pixelmap *reference_pixel_bastard; - br_vertex *vertices; - int model_changed; - tPed_frame_info *the_frame; - tCar_spec *murderer; - br_actor *old_parent; + br_vector3 old_pos; + br_vector3 delta_pos; + br_scalar height_over2; + br_matrix34 mat; + br_scalar x_offset; + br_scalar y_offset; + br_scalar temp_scalar; + br_scalar *component_address; + br_pixelmap *current_pixel_bastard; + br_pixelmap *reference_pixel_bastard; + br_vertex *vertices; + int model_changed; + tPed_frame_info *the_frame; + tCar_spec *murderer; + br_actor *old_parent; } // Offset: 11484 @@ -307,25 +300,23 @@ void MungePedModel(tPedestrian_data *pPedestrian) { // EAX: pPedestrian // EDX: pAction_index // EBX: pRedo_frames_etc -void ChangeActionTo(tPedestrian_data *pPedestrian, int pAction_index) { - int pRedo_frames_etc; - tPedestrian_action *the_action; - int the_sound; - tU32 the_pitch; +void ChangeActionTo(tPedestrian_data *pPedestrian, int pAction_index, int pRedo_frames_etc) { + tPedestrian_action *the_action; + int the_sound; + tU32 the_pitch; } // Offset: 11892 // Size: 589 // EAX: pPedestrian -int MungePedestrianAction(tPedestrian_data *pPedestrian) { - float pDanger_level; - tU32 time_diff; - int i; - int choice; - int start_index; - int end_index; - float chance_value; - float most_dangerous; +int MungePedestrianAction(tPedestrian_data *pPedestrian, float pDanger_level) { + tU32 time_diff; + int i; + int choice; + int start_index; + int end_index; + float chance_value; + float most_dangerous; } // Offset: 12484 @@ -336,20 +327,19 @@ void MakeFlagWavingBastardWaveHisFlagWhichIsTheProbablyTheLastThingHeWillEverDo( // Offset: 12592 // Size: 2334 // EAX: pPedestrian -void MungePedestrianPath(tPedestrian_data *pPedestrian, float pDanger_level) { - br_vector3 *pDanger_direction; - tPedestrian_action *the_action; - float terminal_speed; - float new_falling_speed; - float grav_times_period; - float ped_gravity; - br_vector3 movement_vector; - br_vector3 over_shoot; - br_vector3 cast_point; - br_scalar old_y; - br_scalar new_y; - int damage; - tU32 the_pitch; +void MungePedestrianPath(tPedestrian_data *pPedestrian, float pDanger_level, br_vector3 *pDanger_direction) { + tPedestrian_action *the_action; + float terminal_speed; + float new_falling_speed; + float grav_times_period; + float ped_gravity; + br_vector3 movement_vector; + br_vector3 over_shoot; + br_vector3 cast_point; + br_scalar old_y; + br_scalar new_y; + int damage; + tU32 the_pitch; } // Offset: 14928 @@ -357,16 +347,16 @@ void MungePedestrianPath(tPedestrian_data *pPedestrian, float pDanger_level) { // EAX: pPedestrian // EDX: pDanger_direction float CalcPedestrianDangerLevel(tPedestrian_data *pPedestrian, br_vector3 *pDanger_direction) { - br_vector3 *ped_pos; - int i; - float most_dangerous; - float this_danger; - br_scalar distance_squared; - br_scalar car_movement_angle; - br_scalar car_to_pedestrian_angle; - br_scalar heading_difference; - br_scalar camera_view_angle; - tCar_spec *car; + br_vector3 *ped_pos; + int i; + float most_dangerous; + float this_danger; + br_scalar distance_squared; + br_scalar car_movement_angle; + br_scalar car_to_pedestrian_angle; + br_scalar heading_difference; + br_scalar camera_view_angle; + tCar_spec *car; } // Offset: 15692 @@ -375,19 +365,19 @@ float CalcPedestrianDangerLevel(tPedestrian_data *pPedestrian, br_vector3 *pDang // EDX: pCar // EBX: pCar_actor tPed_hit_position MoveToEdgeOfCar(tPedestrian_data *pPedestrian, tCollision_info *pCar, br_actor *pCar_actor, br_scalar pPed_x, br_scalar pPed_z, br_scalar pCar_bounds_min_x, br_scalar pCar_bounds_max_x, br_scalar pCar_bounds_min_z, br_scalar pCar_bounds_max_z, br_vector3 *pMin_ped_bounds_car, br_vector3 *pMax_ped_bounds_car) { - br_vector3 car_plus_ped; - br_vector3 delta_vector; - br_vector3 ped_move_in_car; - br_vector3 ped_move_in_global; - br_vector3 scaled_car_direction; - br_vector3 scaled_ped_direction; - br_matrix34 global_to_car; - br_scalar z_to_use; - br_scalar x_to_use; - br_scalar t; - br_scalar x; - br_scalar z; - tPed_hit_position result; + br_vector3 car_plus_ped; + br_vector3 delta_vector; + br_vector3 ped_move_in_car; + br_vector3 ped_move_in_global; + br_vector3 scaled_car_direction; + br_vector3 scaled_ped_direction; + br_matrix34 global_to_car; + br_scalar z_to_use; + br_scalar x_to_use; + br_scalar t; + br_scalar x; + br_scalar z; + tPed_hit_position result; } // Offset: 16664 @@ -400,96 +390,93 @@ void CheckLastPed() { // EAX: pCar // EDX: pPed_car int BloodyWheels(tCar_spec *pCar, br_vector3 *pPed_car, br_scalar pSize, br_vector3 *pPed_glob) { - int wheel; - int squish; - br_scalar ped_m_z; - br_scalar ped_m_x; - br_scalar dist_sqr; - br_scalar size_sqr; + int wheel; + int squish; + br_scalar ped_m_z; + br_scalar ped_m_x; + br_scalar dist_sqr; + br_scalar size_sqr; } // Offset: 17088 // Size: 142 // EAX: pPedestrian // EDX: pCar -int FancyATossOffMate(tPedestrian_data *pPedestrian, tCollision_info *pCar) { - float pImpact_speed; +int FancyATossOffMate(tPedestrian_data *pPedestrian, tCollision_info *pCar, float pImpact_speed) { } // Offset: 17232 // Size: 5870 // EAX: pPedestrian void CheckPedestrianDeathScenario(tPedestrian_data *pPedestrian) { - int norman; - int i; - int tossing; - int orig_gib_flag; - int exploded; - int proximity_rayed; - int fated; - int billiards_shot; - int credits_value; - br_vector3 *car_pos; - br_vector3 *ped_pos; - br_vector3 min_ped_bounds; - br_vector3 max_ped_bounds; - br_vector3 min_ped_bounds_car; - br_vector3 max_ped_bounds_car; - br_vector3 ped_to_car_vector; - br_vector3 up; - br_vector3 zero_v; - br_scalar attitude; - br_scalar distance_squared; - br_scalar ped_centre_x; - br_scalar ped_centre_y; - br_scalar car_bounds_min_x; - br_scalar car_bounds_max_x; - br_scalar car_bounds_min_z; - br_scalar car_bounds_max_z; - br_scalar prev_car_bounds_min_x; - br_scalar prev_car_bounds_max_x; - br_scalar prev_car_bounds_min_z; - br_scalar prev_car_bounds_max_z; - br_scalar scalar_frame_time; - br_scalar gross_dismiss; - br_actor *car_actor; - br_actor *incident_actor; - br_matrix34 ped_to_car; - tCollision_info *the_car; - float impact_speed; - float volume_damage; - tU32 the_time; - tPed_hit_position hit_pos; + int norman; + int i; + int tossing; + int orig_gib_flag; + int exploded; + int proximity_rayed; + int fated; + int billiards_shot; + int credits_value; + br_vector3 *car_pos; + br_vector3 *ped_pos; + br_vector3 min_ped_bounds; + br_vector3 max_ped_bounds; + br_vector3 min_ped_bounds_car; + br_vector3 max_ped_bounds_car; + br_vector3 ped_to_car_vector; + br_vector3 up; + br_vector3 zero_v; + br_scalar attitude; + br_scalar distance_squared; + br_scalar ped_centre_x; + br_scalar ped_centre_y; + br_scalar car_bounds_min_x; + br_scalar car_bounds_max_x; + br_scalar car_bounds_min_z; + br_scalar car_bounds_max_z; + br_scalar prev_car_bounds_min_x; + br_scalar prev_car_bounds_max_x; + br_scalar prev_car_bounds_min_z; + br_scalar prev_car_bounds_max_z; + br_scalar scalar_frame_time; + br_scalar gross_dismiss; + br_actor *car_actor; + br_actor *incident_actor; + br_matrix34 ped_to_car; + tCollision_info *the_car; + float impact_speed; + float volume_damage; + tU32 the_time; + tPed_hit_position hit_pos; } // Offset: 23104 // Size: 769 // EAX: pPedestrian // EDX: pIndex -void SendPedestrian(tPedestrian_data *pPedestrian) { - int pIndex; - tNet_contents *the_contents; - tNet_message *the_message; - int size_decider; +void SendPedestrian(tPedestrian_data *pPedestrian, int pIndex) { + tNet_contents *the_contents; + tNet_message *the_message; + int size_decider; } // Offset: 23876 // Size: 1162 // EAX: pPedestrian // EDX: pIndex -void DoPedestrian(tPedestrian_data *pPedestrian) { - int pIndex; - float danger_level; - float start_speed; - int action_changed; - int alive; - int old_frame; - int start_ins; - int start_act; - int start_hp; - int start_ins_dir; - br_vector3 danger_direction; - br_vector3 old_pos; +void DoPedestrian(tPedestrian_data *pPedestrian, int pIndex) { + float danger_level; + float start_speed; + int action_changed; + int alive; + int old_frame; + int start_ins; + int start_act; + int start_hp; + int start_ins_dir; + br_vector3 danger_direction; + br_vector3 old_pos; } // Offset: 25040 @@ -498,7 +485,10 @@ void DoPedestrian(tPedestrian_data *pPedestrian) { // EDX: pAction_index // EBX: pFrame_index // ECX: pHit_points -void AdjustPedestrian(int pIndex, int pAction_index, int pFrame_index, int pHit_points, int pDone_initial, tU16 pParent, br_actor *pParent_actor, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, br_vector3 *pTrans, unsigned short pedestrian, br_memory_classes parent, union __unk14__, br_vertex *__unk15__) { +void AdjustPedestrian(int pIndex, int pAction_index, int pFrame_index, int pHit_points, int pDone_initial, tU16 pParent, br_actor *pParent_actor, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, br_vector3 *pTrans) { + tPedestrian_data *pedestrian; + br_actor *parent; + br_vector3 old_pos; } // Offset: 25808 @@ -511,50 +501,49 @@ void SquirtPathVertex(br_vertex *pFirst_vertex, br_vector3 *pPoint) { // Offset: 26004 // Size: 92 void ResetAllPedestrians() { - tPedestrian_data *the_pedestrian; + tPedestrian_data *the_pedestrian; } // Offset: 26096 // Size: 476 // EAX: pPedestrian void GroundPedestrian(tPedestrian_data *pPedestrian) { - br_scalar new_y; - br_vector3 cast_point; - tPedestrian_sequence *sequence; + br_scalar new_y; + br_vector3 cast_point; + tPedestrian_sequence *sequence; } // Offset: 26572 // Size: 483 // EAX: pPedestrian // EDX: pAnimate -void RevivePedestrian(tPedestrian_data *pPedestrian) { - int pAnimate; +void RevivePedestrian(tPedestrian_data *pPedestrian, int pAnimate) { } // Offset: 27056 // Size: 1078 // EAX: pFrame_period void MungePedestrians(tU32 pFrame_period) { - int i; - int mirror_on; - tPedestrian_data *the_pedestrian; - br_vector3 ped_pos; - br_vector3 ped_pos_car; - br_vector3 ped_pos_temp; - br_matrix34 ped_pos_matrix; - br_camera *camera_ptr; - br_scalar max_distance; - br_scalar distance_squared; - br_scalar x_delta; - br_scalar y_delta; - br_scalar z_delta; - tS32 diff; + int i; + int mirror_on; + tPedestrian_data *the_pedestrian; + br_vector3 ped_pos; + br_vector3 ped_pos_car; + br_vector3 ped_pos_temp; + br_matrix34 ped_pos_matrix; + br_camera *camera_ptr; + br_scalar max_distance; + br_scalar distance_squared; + br_scalar x_delta; + br_scalar y_delta; + br_scalar z_delta; + tS32 diff; } // Offset: 28136 // Size: 201 void RespawnPedestrians() { - tPedestrian_data *the_pedestrian; + tPedestrian_data *the_pedestrian; } // Offset: 28340 @@ -566,7 +555,8 @@ int GetPedCount() { // Size: 260 // EAX: pIndex // EDX: pPos -int GetPedPosition(int pIndex, br_vector3 *pPos, size_t pedestrian) { +int GetPedPosition(int pIndex, br_vector3 *pPos) { + tPedestrian_data *pedestrian; } // Offset: 28648 @@ -575,34 +565,32 @@ int GetPedPosition(int pIndex, br_vector3 *pPos, size_t pedestrian) { // EDX: pInstructions // EBX: pInstruc_count // ECX: pInit_instruc -void CreatePedestrian(FILE *pG, tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc) { - int pRef_num; - int pForce_read; - tPath_name the_path; - char s[256]; - char s2[256]; - char *str; - char *str2; - tPedestrian_data *the_pedestrian; - tPedestrian_sequence *the_sequence; - tPedestrian_action *the_action; - br_model *the_model; - int the_ref; - int i; - int j; - int k; - int l; - int temp_int; - int new_frames; - tPed_collide_type collide_frame; - float temp_float1; - float temp_float2; - br_scalar height; - br_scalar width_over_2; - br_scalar minnest_min; - br_scalar maxest_min; - br_scalar minnest_max; - br_scalar maxest_max; +void CreatePedestrian(FILE *pG, tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc, int pRef_num, int pForce_read) { + tPath_name the_path; + char s[256]; + char s2[256]; + char *str; + char *str2; + tPedestrian_data *the_pedestrian; + tPedestrian_sequence *the_sequence; + tPedestrian_action *the_action; + br_model *the_model; + int the_ref; + int i; + int j; + int k; + int l; + int temp_int; + int new_frames; + tPed_collide_type collide_frame; + float temp_float1; + float temp_float2; + br_scalar height; + br_scalar width_over_2; + br_scalar minnest_min; + br_scalar maxest_min; + br_scalar minnest_max; + br_scalar maxest_max; } // Offset: 31580 @@ -618,7 +606,7 @@ void PedMaterialFromHell() { // Offset: 31692 // Size: 34 void ResetPedMaterial() { - int j; + int j; } // Offset: 31728 @@ -626,32 +614,31 @@ void ResetPedMaterial() { // EAX: pF // EDX: pSubs_count // EBX: pSubs_array -void LoadInPedestrians(FILE *pF, int pSubs_count) { - tPed_subs *pSubs_array; - tPath_name the_path; - char s[256]; - char s2[256]; - char *str; - char *str2; - FILE *g; - int the_ref; - int i; - int j; - int k; - int l; - int knock_out; - int check_for_duplicates; - int duplicates_found; - int temp_int; - int ref_number; - int instruc_count; - int ped_count; - int init_instruc; - float temp_float1; - float temp_float2; - tPedestrian_instruction *instructions; - tPedestrian_instruction *the_instruction; - tPed_choice *the_choice; +void LoadInPedestrians(FILE *pF, int pSubs_count, tPed_subs *pSubs_array) { + tPath_name the_path; + char s[256]; + char s2[256]; + char *str; + char *str2; + FILE *g; + int the_ref; + int i; + int j; + int k; + int l; + int knock_out; + int check_for_duplicates; + int duplicates_found; + int temp_int; + int ref_number; + int instruc_count; + int ped_count; + int init_instruc; + float temp_float1; + float temp_float2; + tPedestrian_instruction *instructions; + tPedestrian_instruction *the_instruction; + tPed_choice *the_choice; } // Offset: 33608 @@ -659,51 +646,50 @@ void LoadInPedestrians(FILE *pF, int pSubs_count) { // EAX: pInstructions // EDX: pInstruc_count // EBX: pInit_instruc -br_actor* BuildPedPaths(tPedestrian_instruction *pInstructions, int pInstruc_count) { - int pInit_instruc; - int vertex_count; - int last_vertex_count; - int face_count; - int j; - int point_count; - br_vector3 the_point; - br_material *the_mat; - br_model *the_model; - br_actor *the_actor; +br_actor* BuildPedPaths(tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc) { + int vertex_count; + int last_vertex_count; + int face_count; + int j; + int point_count; + br_vector3 the_point; + br_material *the_mat; + br_model *the_model; + br_actor *the_actor; } // Offset: 34924 // Size: 1161 void WriteOutPeds() { - int j; - int k; - int point_count; - int min_ped; - int min_point; - br_vector3 the_point; - br_vector3 last_point; - br_scalar min_distance; - br_scalar the_distance; - char s[255]; - tPedestrian_data *the_pedestrian; - tPedestrian_instruction *the_instruction; - tPed_choice *the_choice; - FILE *f; - tPath_name the_path; + int j; + int k; + int point_count; + int min_ped; + int min_point; + br_vector3 the_point; + br_vector3 last_point; + br_scalar min_distance; + br_scalar the_distance; + char s[255]; + tPedestrian_data *the_pedestrian; + tPedestrian_instruction *the_instruction; + tPed_choice *the_choice; + FILE *f; + tPath_name the_path; } // Offset: 36088 // Size: 213 void AddPed() { - FILE *g; - tPath_name the_path; + FILE *g; + tPath_name the_path; } // Offset: 36304 // Size: 296 // EAX: pRef_num void NewPed(int pRef_num) { - char s[255]; + char s[255]; } // Offset: 36600 @@ -858,8 +844,7 @@ void DropInitPedPointAir() { // Offset: 38452 // Size: 77 -br_uint_32 KillActorsModel(br_actor *pActor) { - void *pArg; +br_uint_32 KillActorsModel(br_actor *pActor, void *pArg) { } // Offset: 38532 @@ -872,45 +857,45 @@ void DisposePedPaths() { // EAX: pPed_index // EDX: pPoint_index void GetPedPos(int *pPed_index, int *pPoint_index) { - int i; - int j; - int point_count; - br_vector3 the_point; - br_vector3 last_point; - br_scalar min_distance; - br_scalar the_distance; + int i; + int j; + int point_count; + br_vector3 the_point; + br_vector3 last_point; + br_scalar min_distance; + br_scalar the_distance; } // Offset: 39108 // Size: 105 void ShowPedPos() { - int min_point; - char s[255]; + int min_point; + char s[255]; } // Offset: 39216 // Size: 381 void ShowPedPaths() { - br_model *the_model; + br_model *the_model; } // Offset: 39600 // Size: 104 void PullPedPoint() { - int the_point; + int the_point; } // Offset: 39704 // Size: 141 void PullPedPointAir() { - int the_point; + int the_point; } // Offset: 39848 // Size: 135 void DeletePedPath() { - int the_point; - int i; + int the_point; + int i; } // Offset: 39984 @@ -921,19 +906,19 @@ void DeletePedPoint() { // Offset: 40076 // Size: 589 void DisposePedestrians() { - int j; - tPedestrian_data *the_pedestrian; + int j; + tPedestrian_data *the_pedestrian; } // Offset: 40668 // Size: 364 void DoPedReport() { - tPath_name the_path; - time_t the_bloody_time; - int i; - int j; - int count; - int last_ref_num; + tPath_name the_path; + time_t the_bloody_time; + int i; + int j; + int count; + int last_ref_num; } // Offset: 41032 @@ -943,23 +928,23 @@ void DoPedReport() { // EBX: pCamera // ECX: pCamera_to_world void RenderProximityRays(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera, br_matrix34 *pCamera_to_world, tU32 pTime) { - int i; - float seed; - tU32 the_time; - br_vector3 car_pos; - br_vector3 ped_pos; - br_vector3 car_pos_cam; - br_vector3 ped_pos_cam; - br_vector3 car_add; - br_vector3 car_add_c; - br_vector3 ped_add; - br_vector3 ray; - br_vector3 r1; - br_vector3 from_pos; - br_vector3 to_pos; - br_model *car_model; - br_scalar distance; - br_scalar t; + int i; + float seed; + tU32 the_time; + br_vector3 car_pos; + br_vector3 ped_pos; + br_vector3 car_pos_cam; + br_vector3 ped_pos_cam; + br_vector3 car_add; + br_vector3 car_add_c; + br_vector3 ped_add; + br_vector3 ray; + br_vector3 r1; + br_vector3 from_pos; + br_vector3 to_pos; + br_model *car_model; + br_scalar distance; + br_scalar t; } // Offset: 42256 @@ -968,7 +953,7 @@ void RenderProximityRays(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer // EDX: pCar_ID // EBX: pPed_index // ECX: pTime -void AdjustProxRay(int pRay_index, tU16 pCar_ID, tU16 pPed_index, tU32 pTime, unsigned int __unk4__, br_memory_classes __unk5__) { +void AdjustProxRay(int pRay_index, tU16 pCar_ID, tU16 pPed_index, tU32 pTime) { } // Offset: 42404 @@ -977,23 +962,23 @@ void AdjustProxRay(int pRay_index, tU16 pCar_ID, tU16 pPed_index, tU32 pTime, un // EDX: pMessage // EBX: pReceive_time void ReceivedPedestrian(tNet_contents *pContents, tNet_message *pMessage, tU32 pReceive_time) { - tPedestrian_data *the_pedestrian; - tNet_game_player_info *sender; - tNet_game_player_info *murderer; - int modified_action; - int modified_action_2; - int action; - int instruction; - int dead; - tPedestrian_sequence *the_sequence; + tPedestrian_data *the_pedestrian; + tNet_game_player_info *sender; + tNet_game_player_info *murderer; + int modified_action; + int modified_action_2; + int action; + int instruction; + int dead; + tPedestrian_sequence *the_sequence; } // Offset: 43604 // Size: 115 // EAX: pPlayer void SendAllPedestrianPositions(tPlayer_ID pPlayer) { - int i; - tPedestrian_data *the_pedestrian; - tNet_contents *the_contents; + int i; + tPedestrian_data *the_pedestrian; + tNet_contents *the_contents; } diff --git a/src/DETHRACE/source/common/pedestrn.h b/src/DETHRACE/source/common/pedestrn.h index 5a7b414f..2a7fe7b6 100644 --- a/src/DETHRACE/source/common/pedestrn.h +++ b/src/DETHRACE/source/common/pedestrn.h @@ -1,5 +1,9 @@ +#ifndef _PEDESTRN_H_ +#define _PEDESTRN_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 152 // EAX: pModel @@ -34,7 +38,7 @@ br_actor* GetPedestrianActor(int pIndex); // Size: 97 // EAX: pActor // EDX: pFlipped -br_pixelmap* GetPedestrianTexture(br_actor *pActor); +br_pixelmap* GetPedestrianTexture(br_actor *pActor, int *pFlipped); // Offset: 660 // Size: 153 @@ -51,7 +55,7 @@ void SetPedMaterialForRender(br_actor *pActor); // Offset: 1976 // Size: 158 -void PedCallBack(br_actor *pActor, br_model *pModel, br_material *pMaterial, void *pRender_data); +void PedCallBack(br_actor *pActor, br_model *pModel, br_material *pMaterial, void *pRender_data, br_uint_8 pStyle, int pOn_screen); // Offset: 2136 // Size: 516 @@ -65,7 +69,7 @@ void MungeModelSize(br_actor *pActor, br_scalar pScaling_factor); // Offset: 2928 // Size: 1468 // EAX: pPedestrian -int BurstPedestrian(tPedestrian_data *pPedestrian, float pSplattitudinalitude); +int BurstPedestrian(tPedestrian_data *pPedestrian, float pSplattitudinalitude, int pAllow_explosion); // Offset: 4396 // Size: 137 @@ -77,7 +81,7 @@ void ResetAllPedGibs(); // EDX: pSize // EBX: pGib_index // ECX: pPed_index -void AdjustPedGib(int pIndex, int pSize, int pGib_index, int pPed_index, br_matrix34 *pTrans, unsigned char the_ped_gib); +void AdjustPedGib(int pIndex, int pSize, int pGib_index, int pPed_index, br_matrix34 *pTrans); // Offset: 4736 // Size: 810 @@ -100,13 +104,13 @@ void CalcPedWidthNHeight(tPedestrian_data *pPedestrian, br_pixelmap *pPixelmap, // Offset: 6120 // Size: 1942 // EAX: pPedestrian -int PedestrianNextInstruction(tPedestrian_data *pPedestrian, float pDanger_level); +int PedestrianNextInstruction(tPedestrian_data *pPedestrian, float pDanger_level, int pPosition_explicitly, int pMove_pc); // Offset: 8064 // Size: 464 // EAX: pPedestrian // EDX: pAction_changed -void MungePedestrianSequence(tPedestrian_data *pPedestrian); +void MungePedestrianSequence(tPedestrian_data *pPedestrian, int pAction_changed); // Offset: 8528 // Size: 166 @@ -138,12 +142,12 @@ void MungePedModel(tPedestrian_data *pPedestrian); // EAX: pPedestrian // EDX: pAction_index // EBX: pRedo_frames_etc -void ChangeActionTo(tPedestrian_data *pPedestrian, int pAction_index); +void ChangeActionTo(tPedestrian_data *pPedestrian, int pAction_index, int pRedo_frames_etc); // Offset: 11892 // Size: 589 // EAX: pPedestrian -int MungePedestrianAction(tPedestrian_data *pPedestrian); +int MungePedestrianAction(tPedestrian_data *pPedestrian, float pDanger_level); // Offset: 12484 // Size: 105 @@ -152,7 +156,7 @@ void MakeFlagWavingBastardWaveHisFlagWhichIsTheProbablyTheLastThingHeWillEverDo( // Offset: 12592 // Size: 2334 // EAX: pPedestrian -void MungePedestrianPath(tPedestrian_data *pPedestrian, float pDanger_level); +void MungePedestrianPath(tPedestrian_data *pPedestrian, float pDanger_level, br_vector3 *pDanger_direction); // Offset: 14928 // Size: 764 @@ -181,7 +185,7 @@ int BloodyWheels(tCar_spec *pCar, br_vector3 *pPed_car, br_scalar pSize, br_vect // Size: 142 // EAX: pPedestrian // EDX: pCar -int FancyATossOffMate(tPedestrian_data *pPedestrian, tCollision_info *pCar); +int FancyATossOffMate(tPedestrian_data *pPedestrian, tCollision_info *pCar, float pImpact_speed); // Offset: 17232 // Size: 5870 @@ -192,13 +196,13 @@ void CheckPedestrianDeathScenario(tPedestrian_data *pPedestrian); // Size: 769 // EAX: pPedestrian // EDX: pIndex -void SendPedestrian(tPedestrian_data *pPedestrian); +void SendPedestrian(tPedestrian_data *pPedestrian, int pIndex); // Offset: 23876 // Size: 1162 // EAX: pPedestrian // EDX: pIndex -void DoPedestrian(tPedestrian_data *pPedestrian); +void DoPedestrian(tPedestrian_data *pPedestrian, int pIndex); // Offset: 25040 // Size: 767 @@ -206,7 +210,7 @@ void DoPedestrian(tPedestrian_data *pPedestrian); // EDX: pAction_index // EBX: pFrame_index // ECX: pHit_points -void AdjustPedestrian(int pIndex, int pAction_index, int pFrame_index, int pHit_points, int pDone_initial, tU16 pParent, br_actor *pParent_actor, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, br_vector3 *pTrans, unsigned short pedestrian, br_memory_classes parent, union __unk14__, br_vertex *__unk15__); +void AdjustPedestrian(int pIndex, int pAction_index, int pFrame_index, int pHit_points, int pDone_initial, tU16 pParent, br_actor *pParent_actor, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, br_vector3 *pTrans); // Offset: 25808 // Size: 194 @@ -227,7 +231,7 @@ void GroundPedestrian(tPedestrian_data *pPedestrian); // Size: 483 // EAX: pPedestrian // EDX: pAnimate -void RevivePedestrian(tPedestrian_data *pPedestrian); +void RevivePedestrian(tPedestrian_data *pPedestrian, int pAnimate); // Offset: 27056 // Size: 1078 @@ -246,7 +250,7 @@ int GetPedCount(); // Size: 260 // EAX: pIndex // EDX: pPos -int GetPedPosition(int pIndex, br_vector3 *pPos, size_t pedestrian); +int GetPedPosition(int pIndex, br_vector3 *pPos); // Offset: 28648 // Size: 2930 @@ -254,7 +258,7 @@ int GetPedPosition(int pIndex, br_vector3 *pPos, size_t pedestrian); // EDX: pInstructions // EBX: pInstruc_count // ECX: pInit_instruc -void CreatePedestrian(FILE *pG, tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc); +void CreatePedestrian(FILE *pG, tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc, int pRef_num, int pForce_read); // Offset: 31580 // Size: 73 @@ -273,14 +277,14 @@ void ResetPedMaterial(); // EAX: pF // EDX: pSubs_count // EBX: pSubs_array -void LoadInPedestrians(FILE *pF, int pSubs_count); +void LoadInPedestrians(FILE *pF, int pSubs_count, tPed_subs *pSubs_array); // Offset: 33608 // Size: 1313 // EAX: pInstructions // EDX: pInstruc_count // EBX: pInit_instruc -br_actor* BuildPedPaths(tPedestrian_instruction *pInstructions, int pInstruc_count); +br_actor* BuildPedPaths(tPedestrian_instruction *pInstructions, int pInstruc_count, int pInit_instruc); // Offset: 34924 // Size: 1161 @@ -417,7 +421,7 @@ void DropInitPedPointAir(); // Offset: 38452 // Size: 77 -br_uint_32 KillActorsModel(br_actor *pActor); +br_uint_32 KillActorsModel(br_actor *pActor, void *pArg); // Offset: 38532 // Size: 154 @@ -475,7 +479,7 @@ void RenderProximityRays(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer // EDX: pCar_ID // EBX: pPed_index // ECX: pTime -void AdjustProxRay(int pRay_index, tU16 pCar_ID, tU16 pPed_index, tU32 pTime, unsigned int __unk4__, br_memory_classes __unk5__); +void AdjustProxRay(int pRay_index, tU16 pCar_ID, tU16 pPed_index, tU32 pTime); // Offset: 42404 // Size: 1200 @@ -489,3 +493,4 @@ void ReceivedPedestrian(tNet_contents *pContents, tNet_message *pMessage, tU32 p // EAX: pPlayer void SendAllPedestrianPositions(tPlayer_ID pPlayer); +#endif diff --git a/src/DETHRACE/source/common/piping.c b/src/DETHRACE/source/common/piping.c index 4b8cd44d..bcb91607 100644 --- a/src/DETHRACE/source/common/piping.c +++ b/src/DETHRACE/source/common/piping.c @@ -1,6 +1,5 @@ #include "piping.h" -// Global variables tPiped_registration_snapshot gRegistration_snapshots[5]; tPipe_reset_proc gReset_procs[32]; float gWall_severity; @@ -49,7 +48,7 @@ void GetReducedPos(br_vector3 *v, tReduced_pos *p) { // EAX: p // EDX: v void SaveReducedPos(tReduced_pos *p, br_vector3 *v) { - br_vector3 tv; + br_vector3 tv; } // Offset: 312 @@ -81,17 +80,16 @@ void EnablePipedSounds() { // Size: 1165 // EAX: pSession tU32 LengthOfSession(tPipe_session *pSession) { - int i; - tU32 running_total; - tPipe_chunk *the_chunk; + int i; + tU32 running_total; + tPipe_chunk *the_chunk; } // Offset: 1932 // Size: 196 // EAX: pThe_type // EDX: pMunge_reentrancy -void StartPipingSession2(tPipe_chunk_type pThe_type) { - int pMunge_reentrancy; +void StartPipingSession2(tPipe_chunk_type pThe_type, int pMunge_reentrancy) { } // Offset: 2128 @@ -104,7 +102,7 @@ void StartPipingSession(tPipe_chunk_type pThe_type) { // Size: 390 // EAX: pMunge_reentrancy void EndPipingSession2(int pMunge_reentrancy) { - int a; + int a; } // Offset: 2572 @@ -117,8 +115,9 @@ void EndPipingSession() { // EAX: pSubject_index // EDX: pData // EBX: pData_length -void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length, char temp_buffer_size) { - int variable_for_breaking_on; +void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length) { + tU32 temp_buffer_size; + int variable_for_breaking_on; } // Offset: 2784 @@ -127,9 +126,8 @@ void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length, char t // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count) { - tChanged_vertex *pCoordinates; - tU32 data_size; +void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count, tChanged_vertex *pCoordinates) { + tU32 data_size; } // Offset: 2924 @@ -138,9 +136,8 @@ void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count) { - tSmudged_vertex *pCoordinates; - tU32 data_size; +void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count, tSmudged_vertex *pCoordinates) { + tU32 data_size; } // Offset: 3064 @@ -149,7 +146,9 @@ void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count) // EDX: pTrans // EBX: pAction_index // ECX: pFrame_index -void AddPedestrianToPipingSession(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, int data, br_memory_classes data_size, enum __unk13__, int __unk14__, br_vector3 *__unk15__, br_vector3 *__unk16__) { +void AddPedestrianToPipingSession(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset) { + tPipe_pedestrian_data data; + tU32 data_size; } // Offset: 3272 @@ -157,7 +156,8 @@ void AddPedestrianToPipingSession(int pPedestrian_index, br_matrix34 *pTrans, tU // EAX: pSpark_index // EDX: pPos // EBX: pV -void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV, wchar_t data, br_memory_classes __unk4__) { +void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV) { + tPipe_spark_data data; } // Offset: 3380 @@ -166,7 +166,9 @@ void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV, // EDX: pPos // EBX: pAge // ECX: pMaterial -void AddShrapnelToPipingSession(int pShrapnel_index, br_vector3 *pPos, tU16 pAge, br_material *pMaterial, unsigned char data, br_memory_classes data_size) { +void AddShrapnelToPipingSession(int pShrapnel_index, br_vector3 *pPos, tU16 pAge, br_material *pMaterial) { + tPipe_shrapnel_data data; + tU32 data_size; } // Offset: 3500 @@ -174,7 +176,7 @@ void AddShrapnelToPipingSession(int pShrapnel_index, br_vector3 *pPos, tU16 pAge // EAX: pWobble_x // EDX: pWobble_y void AddScreenWobbleToPipingSession(int pWobble_x, int pWobble_y) { - tPipe_screen_shake_data data; + tPipe_screen_shake_data data; } // Offset: 3568 @@ -183,14 +185,16 @@ void AddScreenWobbleToPipingSession(int pWobble_x, int pWobble_y) { // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void AddGrooveStopToPipingSession(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, short data) { +void AddGrooveStopToPipingSession(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption) { + tPipe_groove_stop_data data; } // Offset: 3668 // Size: 79 // EAX: pIndex // EDX: pActor -void AddNonCarToPipingSession(int pIndex, br_actor *pActor, div_t data) { +void AddNonCarToPipingSession(int pIndex, br_actor *pActor) { + tPipe_non_car_data data; } // Offset: 3748 @@ -198,7 +202,8 @@ void AddNonCarToPipingSession(int pIndex, br_actor *pActor, div_t data) { // EAX: pIndex // EDX: pType // EBX: pPos -void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength, int data, br_memory_classes __unk6__, char __unk8__) { +void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength) { + tPipe_smoke_data data; } // Offset: 3876 @@ -207,35 +212,38 @@ void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar // EDX: pCar // EBX: pVertex // ECX: pColour -void AddSmokeColumnToPipingSession(int pIndex, tCar_spec *pCar, int pVertex, int pColour, div_t data) { +void AddSmokeColumnToPipingSession(int pIndex, tCar_spec *pCar, int pVertex, int pColour) { + tPipe_smoke_column_data data; } // Offset: 3964 // Size: 87 // EAX: pIndex // EDX: pFrame_count -void AddFlameToPipingSession(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z, char data, brfile_getchr_cbfn __unk7__, tCollision_info __unk8__, unsigned char __unk9__) { +void AddFlameToPipingSession(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z) { + tPipe_flame_data data; } // Offset: 4052 // Size: 122 // EAX: pCar void AddSplashToPipingSession(tCollision_info *pCar) { - tPipe_splash_data data; + tPipe_splash_data data; } // Offset: 4176 // Size: 134 // EAX: pIndex // EDX: pMat -void AddOilSpillToPipingSession(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, unsigned char data, br_memory_classes __unk10__, struct __unk12__, tU32 __unk13__, br_memory_classes __unk15__) { +void AddOilSpillToPipingSession(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap) { + tPipe_oil_spill_data data; } // Offset: 4312 // Size: 58 // EAX: pThe_time void AddFrameFinishToPipingSession(tU32 pThe_time) { - tPipe_frame_boundary_data data; + tPipe_frame_boundary_data data; } // Offset: 4372 @@ -243,7 +251,8 @@ void AddFrameFinishToPipingSession(tU32 pThe_time) { // EAX: pCar_ID // EDX: pCar_mat // EBX: pCar_velocity -void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag, long data, br_memory_classes __unk13__) { +void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag) { + tPipe_car_data data; } // Offset: 4732 @@ -252,24 +261,24 @@ void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_ // EDX: pSound_index // EBX: pL_volume // ECX: pR_volume -void AddSoundToPipingSession(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch) { - br_vector3 *pPos; - tPipe_sound_data data; +void AddSoundToPipingSession(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch, br_vector3 *pPos) { + tPipe_sound_data data; } // Offset: 4864 // Size: 94 // EAX: pCar_ID // EDX: pDifferences -void AddDamageToPipingSession(int pCar_ID, tS8 *pDifferences, unsigned char data) { - int i; +void AddDamageToPipingSession(int pCar_ID, tS8 *pDifferences) { + tPipe_damage_data data; + int i; } // Offset: 4960 // Size: 53 // EAX: pType void AddSpecialToPipingSession(tSpecial_type pType) { - tPipe_special_data data; + tPipe_special_data data; } // Offset: 5016 @@ -278,24 +287,28 @@ void AddSpecialToPipingSession(tSpecial_type pType) { // EDX: pTrans // EBX: pSize // ECX: pGib_index -void AddPedGibToPipingSession(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index, int data) { +void AddPedGibToPipingSession(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index) { + tPipe_ped_gib_data data; } // Offset: 5108 // Size: 83 -void AddCarIncidentToPipingSession(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point, short data, br_memory_classes __unk4__) { +void AddCarIncidentToPipingSession(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point) { + tPipe_incident_data data; } // Offset: 5192 // Size: 73 // EAX: pPed_index // EDX: pActor -void AddPedIncidentToPipingSession(int pPed_index, br_actor *pActor, div_t data) { +void AddPedIncidentToPipingSession(int pPed_index, br_actor *pActor) { + tPipe_incident_data data; } // Offset: 5268 // Size: 69 -void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point, wchar_t data) { +void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point) { + tPipe_incident_data data; } // Offset: 5340 @@ -304,7 +317,8 @@ void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point, // EDX: pCar // EBX: pPed_index // ECX: pTime -void AddProxRayToPipingSession(int pRay_index, tCar_spec *pCar, tU16 pPed_index, tU32 pTime, unsigned short data, br_memory_classes __unk5__) { +void AddProxRayToPipingSession(int pRay_index, tCar_spec *pCar, tU16 pPed_index, tU32 pTime) { + tPipe_prox_ray_data data; } // Offset: 5424 @@ -312,7 +326,8 @@ void AddProxRayToPipingSession(int pRay_index, tCar_spec *pCar, tU16 pPed_index, // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, signed char adjustment) { +void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index) { + tPipe_skid_adjustment adjustment; } // Offset: 5500 @@ -321,8 +336,7 @@ void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int p // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count) { - tChanged_vertex *pCoordinates; +void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count, tChanged_vertex *pCoordinates) { } // Offset: 5576 @@ -331,7 +345,7 @@ void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count) // EDX: pTrans // EBX: pAction_index // ECX: pFrame_index -void PipeSinglePedestrian(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, int __unk10__, br_memory_classes __unk11__, enum __unk13__, int __unk14__, br_vector3 *__unk15__, br_vector3 *__unk16__) { +void PipeSinglePedestrian(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset) { } // Offset: 5692 @@ -339,7 +353,7 @@ void PipeSinglePedestrian(int pPedestrian_index, br_matrix34 *pTrans, tU8 pActio // EAX: pCar_ID // EDX: pCar_mat // EBX: pCar_velocity -void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag, long __unk12__, br_memory_classes __unk13__) { +void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag) { } // Offset: 5836 @@ -348,22 +362,21 @@ void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity // EDX: pSound_index // EBX: pL_volume // ECX: pR_volume -void PipeSingleSound(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch) { - br_vector3 *pPos; +void PipeSingleSound(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch, br_vector3 *pPos) { } // Offset: 5940 // Size: 104 // EAX: pIndex // EDX: pMat -void PipeSingleOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, unsigned char __unk9__, br_memory_classes __unk10__, struct __unk12__, tU32 __unk13__, br_memory_classes __unk15__) { +void PipeSingleOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap) { } // Offset: 6044 // Size: 64 // EAX: pCar_ID // EDX: pDifferences -void PipeSingleDamage(int pCar_ID, tS8 *pDifferences, unsigned char __unk2__) { +void PipeSingleDamage(int pCar_ID, tS8 *pDifferences) { } // Offset: 6108 @@ -378,24 +391,24 @@ void PipeSingleSpecial(tSpecial_type pType) { // EDX: pTrans // EBX: pSize // ECX: pGib_index -void PipeSinglePedGib(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index, int __unk5__) { +void PipeSinglePedGib(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index) { } // Offset: 6248 // Size: 73 -void PipeSingleCarIncident(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point, short __unk3__, br_memory_classes __unk4__) { +void PipeSingleCarIncident(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point) { } // Offset: 6324 // Size: 74 // EAX: pPed_index // EDX: pActor -void PipeSinglePedIncident(int pPed_index, br_actor *pActor, div_t __unk2__) { +void PipeSinglePedIncident(int pPed_index, br_actor *pActor) { } // Offset: 6400 // Size: 69 -void PipeSingleWallIncident(float pSeverity, br_vector3 *pImpact_point, wchar_t __unk2__) { +void PipeSingleWallIncident(float pSeverity, br_vector3 *pImpact_point) { } // Offset: 6472 @@ -411,7 +424,7 @@ void PipeSingleScreenShake(int pWobble_x, int pWobble_y) { // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void PipeSingleGrooveStop(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, short __unk6__) { +void PipeSingleGrooveStop(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption) { } // Offset: 6628 @@ -429,7 +442,7 @@ void PipingFrameReset() { // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void PipeSingleSkidAdjustment(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, signed char __unk3__) { +void PipeSingleSkidAdjustment(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index) { } // Offset: 6900 @@ -450,30 +463,30 @@ void DisposePiping() { // Offset: 7352 // Size: 227 void InitLastDamageArrayEtc() { - int j; - int cat; - int car_count; - tCar_spec *car; + int j; + int cat; + int car_count; + tCar_spec *car; } // Offset: 7580 // Size: 169 void ResetCars() { - int cat; - int i; - int car_count; + int cat; + int i; + int car_count; } // Offset: 7752 // Size: 601 void PipeCarPositions() { - int cat; - int i; - int j; - int car_count; - int session_started; - int difference_found; - tS8 damage_deltas[12]; + int cat; + int i; + int j; + int car_count; + int session_started; + int difference_found; + tS8 damage_deltas[12]; } // Offset: 8356 @@ -502,30 +515,29 @@ void SetPipePlayPtr(tU8 *pPtr) { // EAX: pChunk // EDX: pType void AdvanceChunkPtr(tPipe_chunk **pChunk, tChunk_subject_index pType) { - tPipe_chunk *old_chunk; + tPipe_chunk *old_chunk; } // Offset: 9080 // Size: 368 // EAX: pChunk void ApplyModelGeometry(tPipe_chunk **pChunk) { - int i; - br_model *model_ptr; - tCar_spec *car; + int i; + br_model *model_ptr; + tCar_spec *car; } // Offset: 9448 // Size: 422 // EAX: pChunk // EDX: pDir -void DoSmudge(tPipe_chunk **pChunk) { - int pDir; - int i; - int v; - tU8 inc; - br_model *model_ptr; - tCar_spec *car; - int group; +void DoSmudge(tPipe_chunk **pChunk, int pDir) { + int i; + int v; + tU8 inc; + br_model *model_ptr; + tCar_spec *car; + int group; } // Offset: 9872 @@ -574,7 +586,7 @@ void ApplyNonCar(tPipe_chunk **pChunk) { // Size: 158 // EAX: pChunk void ApplySmoke(tPipe_chunk **pChunk) { - br_vector3 pos; + br_vector3 pos; } // Offset: 10724 @@ -593,7 +605,7 @@ void ApplyFlame(tPipe_chunk **pChunk) { // Size: 192 // EAX: pChunk void ApplySplash(tPipe_chunk **pChunk) { - tCar_spec *c; + tCar_spec *c; } // Offset: 11200 @@ -607,7 +619,7 @@ void ApplyOilSpill(tPipe_chunk **pChunk, tU32 pStop_time) { // Size: 79 // EAX: pChunk void ApplyFrameBoundary(tPipe_chunk **pChunk) { - tU32 result; + tU32 result; } // Offset: 11412 @@ -620,17 +632,17 @@ void ApplySound(tPipe_chunk **pChunk) { // Size: 962 // EAX: pChunk void ApplyCar(tPipe_chunk **pChunk) { - tCar_spec *car; - br_vector3 com_offset_c; - br_vector3 com_offset_w; + tCar_spec *car; + br_vector3 com_offset_c; + br_vector3 com_offset_w; } // Offset: 12820 // Size: 176 // EAX: pChunk void ApplyDamage(tPipe_chunk **pChunk) { - tCar_spec *car; - int i; + tCar_spec *car; + int i; } // Offset: 12996 @@ -661,10 +673,10 @@ void ApplySkidAdjustment(tPipe_chunk **pChunk) { // Size: 610 // EAX: pPtr int ApplyPipedSession(tU8 **pPtr) { - int i; - int return_value; - tPipe_chunk *chunk_ptr; - tPipe_chunk_type chunk_type; + int i; + int return_value; + tPipe_chunk *chunk_ptr; + tPipe_chunk_type chunk_type; } // Offset: 14088 @@ -685,30 +697,30 @@ int MoveSessionPointerForwardOne(tU8 **pPtr) { // EDX: pType // EBX: pIndex tPipe_chunk* FindPreviousChunk(tU8 *pPtr, tPipe_chunk_type pType, tChunk_subject_index pIndex) { - tU8 *ptr; - int i; - int reached_end; - int chunk_counter; - tPipe_chunk *mr_chunky; - tChunk_subject_index masked_index; + tU8 *ptr; + int i; + int reached_end; + int chunk_counter; + tPipe_chunk *mr_chunky; + tChunk_subject_index masked_index; } // Offset: 14616 // Size: 465 // EAX: pChunk void UndoModelGeometry(tPipe_chunk **pChunk) { - int i; - br_model *model_ptr; - tCar_spec *car; + int i; + br_model *model_ptr; + tCar_spec *car; } // Offset: 15084 // Size: 63 // EAX: pChunk void UndoSmudge(tPipe_chunk **pChunk) { - int i; - br_model *model_ptr; - tCar_spec *car; + int i; + br_model *model_ptr; + tCar_spec *car; } // Offset: 15148 @@ -716,7 +728,7 @@ void UndoSmudge(tPipe_chunk **pChunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoPedestrian(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 15252 @@ -724,7 +736,7 @@ void UndoPedestrian(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoFrameBoundary(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 15320 @@ -732,7 +744,7 @@ void UndoFrameBoundary(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoCar(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 15424 @@ -745,8 +757,8 @@ void UndoSound(tPipe_chunk **pChunk) { // Size: 176 // EAX: pChunk void UndoDamage(tPipe_chunk **pChunk) { - tCar_spec *car; - int i; + tCar_spec *car; + int i; } // Offset: 15652 @@ -760,7 +772,7 @@ void UndoSpecial(tPipe_chunk **pChunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoPedGib(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 15900 @@ -768,7 +780,7 @@ void UndoPedGib(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoSpark(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 15992 @@ -776,7 +788,7 @@ void UndoSpark(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoShrapnel(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16084 @@ -784,7 +796,7 @@ void UndoShrapnel(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoScreenWobble(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16188 @@ -792,7 +804,7 @@ void UndoScreenWobble(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoGrooveStop(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16280 @@ -800,7 +812,7 @@ void UndoGrooveStop(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoNonCar(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16372 @@ -808,7 +820,7 @@ void UndoNonCar(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoSmoke(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16464 @@ -816,7 +828,7 @@ void UndoSmoke(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoSmokeColumn(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16516 @@ -831,7 +843,7 @@ void UndoFlame(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoSplash(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16740 @@ -839,7 +851,7 @@ void UndoSplash(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // EAX: pChunk // EDX: pPrev_chunk void UndoOilSpill(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { - tPipe_chunk *temp_prev_chunk; + tPipe_chunk *temp_prev_chunk; } // Offset: 16840 @@ -859,19 +871,19 @@ void UndoSkidAdjustment(tPipe_chunk **pChunk, tPipe_chunk *pPrev_chunk) { // Size: 748 // EAX: pPtr int UndoPipedSession(tU8 **pPtr) { - tPipe_chunk *chunk_ptr; - tPipe_chunk *prev_chunk; - tU8 *temp_ptr; - tU8 *pushed_end_of_session; - int i; - tPipe_chunk_type chunk_type; + tPipe_chunk *chunk_ptr; + tPipe_chunk *prev_chunk; + tU8 *temp_ptr; + tU8 *pushed_end_of_session; + int i; + tPipe_chunk_type chunk_type; } // Offset: 17744 // Size: 84 // EAX: pPtr tU32 FindPrevFrameTime(tU8 *pPtr) { - tU8 *temp_ptr; + tU8 *temp_ptr; } // Offset: 17828 @@ -880,9 +892,9 @@ tU32 FindPrevFrameTime(tU8 *pPtr) { // EDX: pType // EBX: pDefault_time // ECX: pCall_back -void ScanBuffer(tU8 **pPtr, tPipe_chunk_type pType, tU32 pDefault_time, int (*pCall_back)(tPipe_chunk*, int), int (*pTime_check)(tU32)) { - tPipe_chunk *chunk_ptr; - tU32 the_time; +void ScanBuffer(tU8 **pPtr, tPipe_chunk_type pType, tU32 pDefault_time, int (*pCall_back)(tPipe_chunk*, int, tU32), int (*pTime_check)(tU32)) { + tPipe_chunk *chunk_ptr; + tU32 the_time; } // Offset: 18172 @@ -890,11 +902,10 @@ void ScanBuffer(tU8 **pPtr, tPipe_chunk_type pType, tU32 pDefault_time, int (*pC // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckSound(tPipe_chunk *pChunk_ptr, int pChunk_count) { - tU32 pTime; - int i; - int sound_length; - tPipe_chunk *temp_ptr; +int CheckSound(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime) { + int i; + int sound_length; + tPipe_chunk *temp_ptr; } // Offset: 18364 @@ -909,7 +920,7 @@ int SoundTimeout(tU32 pTime) { // EDX: pOldest_time // EBX: pYoungest_time void ScanAndPlaySoundsToBe(tU8 *pPtr, tU32 pOldest_time, tU32 pYoungest_time) { - tU8 *temp_ptr; + tU8 *temp_ptr; } // Offset: 18580 @@ -917,14 +928,13 @@ void ScanAndPlaySoundsToBe(tU8 *pPtr, tU32 pOldest_time, tU32 pYoungest_time) { // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckCar(tPipe_chunk *pChunk_ptr, int pChunk_count) { - tU32 pTime; - int i; - tCar_spec *car; - br_vector3 com_offset_c; - br_vector3 com_offset_w; - br_vector3 difference; - tPipe_chunk *temp_ptr; +int CheckCar(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime) { + int i; + tCar_spec *car; + br_vector3 com_offset_c; + br_vector3 com_offset_w; + br_vector3 difference; + tPipe_chunk *temp_ptr; } // Offset: 19216 @@ -938,7 +948,7 @@ int CarTimeout(tU32 pTime) { // EAX: pCar // EDX: pSource_pos void ScanCarsPositions(tCar_spec *pCar, br_vector3 *pSource_pos, br_scalar pMax_distance_sqr, tU32 pOffset_time, tU32 pTime_period, br_vector3 *pCar_pos, tU32 *pTime_returned) { - tU8 *temp_ptr; + tU8 *temp_ptr; } // Offset: 19856 @@ -946,8 +956,7 @@ void ScanCarsPositions(tCar_spec *pCar, br_vector3 *pSource_pos, br_scalar pMax_ // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckIncident(tPipe_chunk *pChunk_ptr, int pChunk_count) { - tU32 pTime; +int CheckIncident(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime) { } // Offset: 20112 @@ -957,7 +966,7 @@ int CheckIncident(tPipe_chunk *pChunk_ptr, int pChunk_count) { // EBX: pSeverity // ECX: pInfo int GetNextIncident(tU32 pOffset_time, tIncident_type *pIncident_type, float *pSeverity, tIncident_info *pInfo, tU32 *pTime_away) { - tU8 *temp_ptr; + tU8 *temp_ptr; } // Offset: 20708 diff --git a/src/DETHRACE/source/common/piping.h b/src/DETHRACE/source/common/piping.h index b119ca9f..f1944ee5 100644 --- a/src/DETHRACE/source/common/piping.h +++ b/src/DETHRACE/source/common/piping.h @@ -1,5 +1,9 @@ +#ifndef _PIPING_H_ +#define _PIPING_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 139 // EAX: v @@ -41,7 +45,7 @@ tU32 LengthOfSession(tPipe_session *pSession); // Size: 196 // EAX: pThe_type // EDX: pMunge_reentrancy -void StartPipingSession2(tPipe_chunk_type pThe_type); +void StartPipingSession2(tPipe_chunk_type pThe_type, int pMunge_reentrancy); // Offset: 2128 // Size: 50 @@ -62,7 +66,7 @@ void EndPipingSession(); // EAX: pSubject_index // EDX: pData // EBX: pData_length -void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length, char temp_buffer_size); +void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length); // Offset: 2784 // Size: 140 @@ -70,7 +74,7 @@ void AddDataToSession(int pSubject_index, void *pData, tU32 pData_length, char t // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count); +void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count, tChanged_vertex *pCoordinates); // Offset: 2924 // Size: 140 @@ -78,7 +82,7 @@ void AddModelGeometryToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count); +void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count, tSmudged_vertex *pCoordinates); // Offset: 3064 // Size: 208 @@ -86,14 +90,14 @@ void AddSmudgeToPipingSession(tU16 pCar_ID, int pModel_index, int pVertex_count) // EDX: pTrans // EBX: pAction_index // ECX: pFrame_index -void AddPedestrianToPipingSession(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, int data, br_memory_classes data_size, enum __unk13__, int __unk14__, br_vector3 *__unk15__, br_vector3 *__unk16__); +void AddPedestrianToPipingSession(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset); // Offset: 3272 // Size: 107 // EAX: pSpark_index // EDX: pPos // EBX: pV -void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV, wchar_t data, br_memory_classes __unk4__); +void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV); // Offset: 3380 // Size: 118 @@ -101,7 +105,7 @@ void AddSparkToPipingSession(int pSpark_index, br_vector3 *pPos, br_vector3 *pV, // EDX: pPos // EBX: pAge // ECX: pMaterial -void AddShrapnelToPipingSession(int pShrapnel_index, br_vector3 *pPos, tU16 pAge, br_material *pMaterial, unsigned char data, br_memory_classes data_size); +void AddShrapnelToPipingSession(int pShrapnel_index, br_vector3 *pPos, tU16 pAge, br_material *pMaterial); // Offset: 3500 // Size: 65 @@ -115,20 +119,20 @@ void AddScreenWobbleToPipingSession(int pWobble_x, int pWobble_y); // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void AddGrooveStopToPipingSession(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, short data); +void AddGrooveStopToPipingSession(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption); // Offset: 3668 // Size: 79 // EAX: pIndex // EDX: pActor -void AddNonCarToPipingSession(int pIndex, br_actor *pActor, div_t data); +void AddNonCarToPipingSession(int pIndex, br_actor *pActor); // Offset: 3748 // Size: 127 // EAX: pIndex // EDX: pType // EBX: pPos -void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength, int data, br_memory_classes __unk6__, char __unk8__); +void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength); // Offset: 3876 // Size: 87 @@ -136,13 +140,13 @@ void AddSmokeToPipingSession(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar // EDX: pCar // EBX: pVertex // ECX: pColour -void AddSmokeColumnToPipingSession(int pIndex, tCar_spec *pCar, int pVertex, int pColour, div_t data); +void AddSmokeColumnToPipingSession(int pIndex, tCar_spec *pCar, int pVertex, int pColour); // Offset: 3964 // Size: 87 // EAX: pIndex // EDX: pFrame_count -void AddFlameToPipingSession(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z, char data, brfile_getchr_cbfn __unk7__, tCollision_info __unk8__, unsigned char __unk9__); +void AddFlameToPipingSession(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z); // Offset: 4052 // Size: 122 @@ -153,7 +157,7 @@ void AddSplashToPipingSession(tCollision_info *pCar); // Size: 134 // EAX: pIndex // EDX: pMat -void AddOilSpillToPipingSession(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, unsigned char data, br_memory_classes __unk10__, struct __unk12__, tU32 __unk13__, br_memory_classes __unk15__); +void AddOilSpillToPipingSession(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap); // Offset: 4312 // Size: 58 @@ -165,7 +169,7 @@ void AddFrameFinishToPipingSession(tU32 pThe_time); // EAX: pCar_ID // EDX: pCar_mat // EBX: pCar_velocity -void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag, long data, br_memory_classes __unk13__); +void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag); // Offset: 4732 // Size: 129 @@ -173,13 +177,13 @@ void AddCarToPipingSession(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_ // EDX: pSound_index // EBX: pL_volume // ECX: pR_volume -void AddSoundToPipingSession(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch); +void AddSoundToPipingSession(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch, br_vector3 *pPos); // Offset: 4864 // Size: 94 // EAX: pCar_ID // EDX: pDifferences -void AddDamageToPipingSession(int pCar_ID, tS8 *pDifferences, unsigned char data); +void AddDamageToPipingSession(int pCar_ID, tS8 *pDifferences); // Offset: 4960 // Size: 53 @@ -192,21 +196,21 @@ void AddSpecialToPipingSession(tSpecial_type pType); // EDX: pTrans // EBX: pSize // ECX: pGib_index -void AddPedGibToPipingSession(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index, int data); +void AddPedGibToPipingSession(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index); // Offset: 5108 // Size: 83 -void AddCarIncidentToPipingSession(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point, short data, br_memory_classes __unk4__); +void AddCarIncidentToPipingSession(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point); // Offset: 5192 // Size: 73 // EAX: pPed_index // EDX: pActor -void AddPedIncidentToPipingSession(int pPed_index, br_actor *pActor, div_t data); +void AddPedIncidentToPipingSession(int pPed_index, br_actor *pActor); // Offset: 5268 // Size: 69 -void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point, wchar_t data); +void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point); // Offset: 5340 // Size: 83 @@ -214,14 +218,14 @@ void AddWallIncidentToPipingSession(float pSeverity, br_vector3 *pImpact_point, // EDX: pCar // EBX: pPed_index // ECX: pTime -void AddProxRayToPipingSession(int pRay_index, tCar_spec *pCar, tU16 pPed_index, tU32 pTime, unsigned short data, br_memory_classes __unk5__); +void AddProxRayToPipingSession(int pRay_index, tCar_spec *pCar, tU16 pPed_index, tU32 pTime); // Offset: 5424 // Size: 74 // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, signed char adjustment); +void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index); // Offset: 5500 // Size: 75 @@ -229,7 +233,7 @@ void AddSkidAdjustmentToPipingSession(int pSkid_num, br_matrix34 *pMatrix, int p // EDX: pModel_index // EBX: pVertex_count // ECX: pCoordinates -void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count); +void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count, tChanged_vertex *pCoordinates); // Offset: 5576 // Size: 116 @@ -237,14 +241,14 @@ void PipeSingleModelGeometry(tU16 pCar_ID, int pModel_index, int pVertex_count); // EDX: pTrans // EBX: pAction_index // ECX: pFrame_index -void PipeSinglePedestrian(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset, int __unk10__, br_memory_classes __unk11__, enum __unk13__, int __unk14__, br_vector3 *__unk15__, br_vector3 *__unk16__); +void PipeSinglePedestrian(int pPedestrian_index, br_matrix34 *pTrans, tU8 pAction_index, tU8 pFrame_index, tS8 pHit_points, int pDone_initial, tU16 pParent_ID, float pSpin_period, br_scalar pJump_magnitude, br_vector3 *pOffset); // Offset: 5692 // Size: 141 // EAX: pCar_ID // EDX: pCar_mat // EBX: pCar_velocity -void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag, long __unk12__, br_memory_classes __unk13__); +void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity, float pSpeedo_speed, float pLf_sus_position, float pRf_sus_position, float pLr_sus_position, float pRr_sus_position, float pSteering_angle, br_scalar pRevs, int pGear, int pFrame_coll_flag); // Offset: 5836 // Size: 102 @@ -252,19 +256,19 @@ void PipeSingleCar(int pCar_ID, br_matrix34 *pCar_mat, br_vector3 *pCar_velocity // EDX: pSound_index // EBX: pL_volume // ECX: pR_volume -void PipeSingleSound(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch); +void PipeSingleSound(tS3_outlet_ptr pOutlet, int pSound_index, tS3_volume pL_volume, tS3_volume pR_volume, tS3_pitch pPitch, br_vector3 *pPos); // Offset: 5940 // Size: 104 // EAX: pIndex // EDX: pMat -void PipeSingleOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap, unsigned char __unk9__, br_memory_classes __unk10__, struct __unk12__, tU32 __unk13__, br_memory_classes __unk15__); +void PipeSingleOilSpill(int pIndex, br_matrix34 *pMat, br_scalar pFull_size, br_scalar pGrow_rate, tU32 pSpill_time, tU32 pStop_time, tCar_spec *pCar, br_vector3 *pOriginal_pos, br_pixelmap *pPixelmap); // Offset: 6044 // Size: 64 // EAX: pCar_ID // EDX: pDifferences -void PipeSingleDamage(int pCar_ID, tS8 *pDifferences, unsigned char __unk2__); +void PipeSingleDamage(int pCar_ID, tS8 *pDifferences); // Offset: 6108 // Size: 60 @@ -277,21 +281,21 @@ void PipeSingleSpecial(tSpecial_type pType); // EDX: pTrans // EBX: pSize // ECX: pGib_index -void PipeSinglePedGib(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index, int __unk5__); +void PipeSinglePedGib(int pIndex, br_matrix34 *pTrans, int pSize, int pGib_index, int pPed_index); // Offset: 6248 // Size: 73 -void PipeSingleCarIncident(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point, short __unk3__, br_memory_classes __unk4__); +void PipeSingleCarIncident(float pSeverity, tCar_spec *pCar, br_vector3 *pImpact_point); // Offset: 6324 // Size: 74 // EAX: pPed_index // EDX: pActor -void PipeSinglePedIncident(int pPed_index, br_actor *pActor, div_t __unk2__); +void PipeSinglePedIncident(int pPed_index, br_actor *pActor); // Offset: 6400 // Size: 69 -void PipeSingleWallIncident(float pSeverity, br_vector3 *pImpact_point, wchar_t __unk2__); +void PipeSingleWallIncident(float pSeverity, br_vector3 *pImpact_point); // Offset: 6472 // Size: 64 @@ -305,7 +309,7 @@ void PipeSingleScreenShake(int pWobble_x, int pWobble_y); // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void PipeSingleGrooveStop(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, short __unk6__); +void PipeSingleGrooveStop(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption); // Offset: 6628 // Size: 113 @@ -320,7 +324,7 @@ void PipingFrameReset(); // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void PipeSingleSkidAdjustment(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, signed char __unk3__); +void PipeSingleSkidAdjustment(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index); // Offset: 6900 // Size: 84 @@ -378,7 +382,7 @@ void ApplyModelGeometry(tPipe_chunk **pChunk); // Size: 422 // EAX: pChunk // EDX: pDir -void DoSmudge(tPipe_chunk **pChunk); +void DoSmudge(tPipe_chunk **pChunk, int pDir); // Offset: 9872 // Size: 63 @@ -639,14 +643,14 @@ tU32 FindPrevFrameTime(tU8 *pPtr); // EDX: pType // EBX: pDefault_time // ECX: pCall_back -void ScanBuffer(tU8 **pPtr, tPipe_chunk_type pType, tU32 pDefault_time, int (*pCall_back)(tPipe_chunk*, int), int (*pTime_check)(tU32)); +void ScanBuffer(tU8 **pPtr, tPipe_chunk_type pType, tU32 pDefault_time, int (*pCall_back)(tPipe_chunk*, int, tU32), int (*pTime_check)(tU32)); // Offset: 18172 // Size: 191 // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckSound(tPipe_chunk *pChunk_ptr, int pChunk_count); +int CheckSound(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime); // Offset: 18364 // Size: 88 @@ -665,7 +669,7 @@ void ScanAndPlaySoundsToBe(tU8 *pPtr, tU32 pOldest_time, tU32 pYoungest_time); // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckCar(tPipe_chunk *pChunk_ptr, int pChunk_count); +int CheckCar(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime); // Offset: 19216 // Size: 237 @@ -683,7 +687,7 @@ void ScanCarsPositions(tCar_spec *pCar, br_vector3 *pSource_pos, br_scalar pMax_ // EAX: pChunk_ptr // EDX: pChunk_count // EBX: pTime -int CheckIncident(tPipe_chunk *pChunk_ptr, int pChunk_count); +int CheckIncident(tPipe_chunk *pChunk_ptr, int pChunk_count, tU32 pTime); // Offset: 20112 // Size: 595 @@ -697,3 +701,4 @@ int GetNextIncident(tU32 pOffset_time, tIncident_type *pIncident_type, float *pS // Size: 87 tU32 GetARStartTime(); +#endif diff --git a/src/DETHRACE/source/common/powerup.c b/src/DETHRACE/source/common/powerup.c index 012515ee..63862a59 100644 --- a/src/DETHRACE/source/common/powerup.c +++ b/src/DETHRACE/source/common/powerup.c @@ -1,6 +1,5 @@ #include "powerup.h" -// Global variables int gPed_harvest_sounds[4]; tGot_proc gGot_procs[34]; tLose_proc gLose_procs[34]; @@ -19,10 +18,9 @@ br_vector3 gZero_v; // Size: 303 // EAX: pThe_powerup // EDX: pTell_net_players -void LosePowerupX(tPowerup *pThe_powerup) { - int pTell_net_players; - int i; - tNet_message *the_message; +void LosePowerupX(tPowerup *pThe_powerup, int pTell_net_players) { + int i; + tNet_message *the_message; } // Offset: 304 @@ -35,8 +33,8 @@ void LosePowerup(tPowerup *pThe_powerup) { // Size: 139 // EAX: pThe_powerup void LoseAllSimilarPowerups(tPowerup *pThe_powerup) { - int i; - tPowerup *the_powerup; + int i; + tPowerup *the_powerup; } // Offset: 496 @@ -45,78 +43,75 @@ void LoseAllSimilarPowerups(tPowerup *pThe_powerup) { // EDX: pIndex // EBX: pTell_net_players // ECX: pDisplay_headup -int GotPowerupX(tCar_spec *pCar, int pIndex, int pTell_net_players) { - int pDisplay_headup; - tU32 pTime_left; - tPowerup *the_powerup; - int i; - int original_index; - int icon_index; - int ps_power; - char s[256]; - char *s2; - tNet_message *the_message; +int GotPowerupX(tCar_spec *pCar, int pIndex, int pTell_net_players, int pDisplay_headup, tU32 pTime_left) { + tPowerup *the_powerup; + int i; + int original_index; + int icon_index; + int ps_power; + char s[256]; + char *s2; + tNet_message *the_message; } // Offset: 1560 // Size: 67 // EAX: pCar // EDX: pIndex -int GotPowerup(tCar_spec *pCar) { - int pIndex; +int GotPowerup(tCar_spec *pCar, int pIndex) { } // Offset: 1628 // Size: 811 void LoadPowerups() { - tPath_name the_path; - char s[256]; - int i; - int j; - int time; - int action_index; - tPowerup *the_powerup; + tPath_name the_path; + char s[256]; + int i; + int j; + int time; + int action_index; + tPowerup *the_powerup; } // Offset: 2440 // Size: 112 void InitPowerups() { - tPowerup *the_powerup; + tPowerup *the_powerup; } // Offset: 2552 // Size: 99 void CloseDownPowerUps() { - tPowerup *the_powerup; + tPowerup *the_powerup; } // Offset: 2652 // Size: 701 // EAX: pTime void DrawPowerups(tU32 pTime) { - int i; - int y; - int timer; - tPowerup *the_powerup; - char s[8]; - tHeadup_icon *the_icon; - br_pixelmap *fizzle_pix; + int i; + int y; + int timer; + tPowerup *the_powerup; + char s[8]; + tHeadup_icon *the_icon; + br_pixelmap *fizzle_pix; } // Offset: 3356 // Size: 176 // EAX: pFrame_period void DoPowerupPeriodics(tU32 pFrame_period) { - int i; - tPowerup *the_powerup; - tU32 the_time; + int i; + tPowerup *the_powerup; + tU32 the_time; } // Offset: 3532 // Size: 158 // EAX: pN void GotPowerupN(int pN) { - int modifiers; + int modifiers; } // Offset: 3692 @@ -174,17 +169,16 @@ void GotPowerup9() { // EAX: pPowerup // EDX: pCar int GotCredits(tPowerup *pPowerup, tCar_spec *pCar) { - int credits; - char s[256]; + int credits; + char s[256]; } // Offset: 4296 // Size: 89 // EAX: pCar // EDX: pIndex -void ImprovePSPowerup(tCar_spec *pCar) { - int pIndex; - tNet_message *the_message; +void ImprovePSPowerup(tCar_spec *pCar, int pIndex) { + tNet_message *the_message; } // Offset: 4388 @@ -192,11 +186,11 @@ void ImprovePSPowerup(tCar_spec *pCar) { // EAX: pPowerup // EDX: pCar int GotTimeOrPower(tPowerup *pPowerup, tCar_spec *pCar) { - int time; - int index; - int i; - int not_allowed_power; - char s[256]; + int time; + int index; + int i; + int not_allowed_power; + char s[256]; } // Offset: 4788 @@ -225,7 +219,7 @@ void ResetHades(tPowerup *pPowerup, tCar_spec *pCar) { // EAX: pPowerup // EDX: pCar int SetPedSize(tPowerup *pPowerup, tCar_spec *pCar) { - br_scalar old_scale; + br_scalar old_scale; } // Offset: 5172 @@ -338,8 +332,8 @@ int SetUnderwater(tPowerup *pPowerup, tCar_spec *pCar) { // EAX: pPowerup // EDX: pCar int TrashBodywork(tPowerup *pPowerup, tCar_spec *pCar) { - int i; - tCar_spec *c; + int i; + tCar_spec *c; } // Offset: 6544 @@ -353,9 +347,8 @@ int TakeDrugs(tPowerup *pPowerup, tCar_spec *pCar) { // Size: 195 // EAX: pPixelmap // EDX: pOffset -void PaletteFuckedUpByDrugs(br_pixelmap *pPixelmap) { - int pOffset; - int i; +void PaletteFuckedUpByDrugs(br_pixelmap *pPixelmap, int pOffset) { + int i; } // Offset: 6884 @@ -370,7 +363,7 @@ void TheEffectsOfDrugs(tPowerup *pPowerup, tU32 pPeriod) { // EAX: pPowerup // EDX: pCar int SetOpponentsSpeed(tPowerup *pPowerup, tCar_spec *pCar) { - int i; + int i; } // Offset: 7120 @@ -455,7 +448,7 @@ void PukeDrugsBackUp(tPowerup *pPowerup, tCar_spec *pCar) { // EAX: pPowerup // EDX: pCar void ResetOpponentsSpeed(tPowerup *pPowerup, tCar_spec *pCar) { - int i; + int i; } // Offset: 8200 @@ -568,8 +561,8 @@ void DoBouncey(tPowerup *pPowerup, tU32 pPeriod) { // EAX: pPowerup // EDX: pCar int HitMine(tPowerup *pPowerup, tCar_spec *pCar) { - int i; - float fudge_multiplier; + int i; + float fudge_multiplier; } // Offset: 9668 @@ -626,7 +619,7 @@ int SetPedHarvest(tPowerup *pPowerup, tCar_spec *pCar) { // EAX: pPowerup // EDX: pCar void ResetPedHarvest(tPowerup *pPowerup, tCar_spec *pCar) { - int i; + int i; } // Offset: 10288 @@ -647,25 +640,25 @@ void ResetVesuvianCorpses(tPowerup *pPowerup, tCar_spec *pCar) { // Size: 423 // EAX: pContents void ReceivedPowerup(tNet_contents *pContents) { - tPowerup *powerup; - tCar_spec *car; + tPowerup *powerup; + tCar_spec *car; } // Offset: 10836 // Size: 354 void SendCurrentPowerups() { - int cat; - int j; - int car_count; - tCar_spec *car; - tNet_contents *the_contents; - tPlayer_ID ID; + int cat; + int j; + int car_count; + tCar_spec *car; + tNet_contents *the_contents; + tPlayer_ID ID; } // Offset: 11192 // Size: 137 // EAX: pCar void LoseAllLocalPowerups(tCar_spec *pCar) { - int i; + int i; } diff --git a/src/DETHRACE/source/common/powerup.h b/src/DETHRACE/source/common/powerup.h index 5fb041d4..fa79dbd0 100644 --- a/src/DETHRACE/source/common/powerup.h +++ b/src/DETHRACE/source/common/powerup.h @@ -1,10 +1,14 @@ +#ifndef _POWERUP_H_ +#define _POWERUP_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 303 // EAX: pThe_powerup // EDX: pTell_net_players -void LosePowerupX(tPowerup *pThe_powerup); +void LosePowerupX(tPowerup *pThe_powerup, int pTell_net_players); // Offset: 304 // Size: 50 @@ -22,13 +26,13 @@ void LoseAllSimilarPowerups(tPowerup *pThe_powerup); // EDX: pIndex // EBX: pTell_net_players // ECX: pDisplay_headup -int GotPowerupX(tCar_spec *pCar, int pIndex, int pTell_net_players); +int GotPowerupX(tCar_spec *pCar, int pIndex, int pTell_net_players, int pDisplay_headup, tU32 pTime_left); // Offset: 1560 // Size: 67 // EAX: pCar // EDX: pIndex -int GotPowerup(tCar_spec *pCar); +int GotPowerup(tCar_spec *pCar, int pIndex); // Offset: 1628 // Size: 811 @@ -107,7 +111,7 @@ int GotCredits(tPowerup *pPowerup, tCar_spec *pCar); // Size: 89 // EAX: pCar // EDX: pIndex -void ImprovePSPowerup(tCar_spec *pCar); +void ImprovePSPowerup(tCar_spec *pCar, int pIndex); // Offset: 4388 // Size: 397 @@ -245,7 +249,7 @@ int TakeDrugs(tPowerup *pPowerup, tCar_spec *pCar); // Size: 195 // EAX: pPixelmap // EDX: pOffset -void PaletteFuckedUpByDrugs(br_pixelmap *pPixelmap); +void PaletteFuckedUpByDrugs(br_pixelmap *pPixelmap, int pOffset); // Offset: 6884 // Size: 72 @@ -501,3 +505,4 @@ void SendCurrentPowerups(); // EAX: pCar void LoseAllLocalPowerups(tCar_spec *pCar); +#endif diff --git a/src/DETHRACE/source/common/pratcam.c b/src/DETHRACE/source/common/pratcam.c index 9676ce37..f80bb908 100644 --- a/src/DETHRACE/source/common/pratcam.c +++ b/src/DETHRACE/source/common/pratcam.c @@ -1,6 +1,5 @@ #include "pratcam.h" -// Global variables tFlic_descriptor gPrat_flic; tS3_sound_tag gWhirr_noise; tPrat_sequence *gPratcam_sequences; @@ -34,32 +33,32 @@ int PratcamGetPending() { // Offset: 144 // Size: 240 void TogglePratcam() { - tU32 time_diff; + tU32 time_diff; } // Offset: 384 // Size: 1836 // EAX: pFolder_name void LoadPratcam(char *pFolder_name) { - FILE *f; - FILE *g; - tPath_name the_path; - int i; - int j; - int k; - int l; - char s[256]; - char folder_path[256]; - char *str; - char num_str[256]; + FILE *f; + FILE *g; + tPath_name the_path; + int i; + int j; + int k; + int l; + char s[256]; + char folder_path[256]; + char *str; + char num_str[256]; } // Offset: 2220 // Size: 495 void NextPratcamChunk() { - int random_number; - int count; - tPrat_alternative *current_alternative; + int random_number; + int count; + tPrat_alternative *current_alternative; } // Offset: 2716 @@ -112,26 +111,26 @@ void InitPratcam() { // Offset: 3776 // Size: 447 void DisposePratcam() { - int j; - int k; - int l; + int j; + int k; + int l; } // Offset: 4224 // Size: 1252 // EAX: pThe_time void DoPratcam(tU32 pThe_time) { - int i; - int offset; - int y_offset; - int top_border_height; - int prat_cam_move_width; - int right_hand; - tU32 time_diff; - tU32 old_last_time; - br_pixelmap *the_image; - br_pixelmap *left_image; - br_pixelmap *right_image; + int i; + int offset; + int y_offset; + int top_border_height; + int prat_cam_move_width; + int right_hand; + tU32 time_diff; + tU32 old_last_time; + br_pixelmap *the_image; + br_pixelmap *left_image; + br_pixelmap *right_image; } // Offset: 5476 diff --git a/src/DETHRACE/source/common/pratcam.h b/src/DETHRACE/source/common/pratcam.h index aedc2867..4b7cd730 100644 --- a/src/DETHRACE/source/common/pratcam.h +++ b/src/DETHRACE/source/common/pratcam.h @@ -1,5 +1,9 @@ +#ifndef _PRATCAM_H_ +#define _PRATCAM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 45 int PratcamGetCurrent(); @@ -118,3 +122,4 @@ void PratCam8(); // Size: 44 void PratCam9(); +#endif diff --git a/src/DETHRACE/source/common/racestrt.c b/src/DETHRACE/source/common/racestrt.c index 1327035f..3e833375 100644 --- a/src/DETHRACE/source/common/racestrt.c +++ b/src/DETHRACE/source/common/racestrt.c @@ -1,6 +1,5 @@ #include "racestrt.h" -// Global variables int gGrid_number_colour[4]; br_pixelmap *gDead_car; int gFade_away_parts_shop; @@ -38,18 +37,18 @@ int gOur_starting_position; // Size: 1371 // EAX: pOffset void DrawRaceList(int pOffset) { - int i; - int font_height; - int pitch; - int y; - int left_most; - int right_most; - int rank_colour; - int text_colour; - int box_bot; - int text_width; - int text_x; - char rank_str[256]; + int i; + int font_height; + int pitch; + int y; + int left_most; + int right_most; + int rank_colour; + int text_colour; + int box_bot; + int text_width; + int text_x; + char rank_str[256]; } // Offset: 1372 @@ -57,10 +56,11 @@ void DrawRaceList(int pOffset) { // EAX: pFrom // EDX: pTo // EBX: pTime_to_move -void MoveRaceList(int pFrom, int pTo, tS32 pTime_to_move, unsigned short start_time) { - tS32 the_time; - int move_distance; - int pitch; +void MoveRaceList(int pFrom, int pTo, tS32 pTime_to_move) { + tS32 start_time; + tS32 the_time; + int move_distance; + int pitch; } // Offset: 1516 @@ -84,9 +84,9 @@ int DownRace(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int ClickOnRace(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int x_coord; - int y_coord; - int race_delta; + int x_coord; + int y_coord; + int race_delta; } // Offset: 2208 @@ -117,12 +117,13 @@ void StartChangeRace() { // EAX: pRace_index // EDX: pNet_mode // EBX: pNet_race_sequence -int ChangeRace(int *pRace_index, int pNet_mode, tNet_sequence_type pNet_race_sequence, signed char flicker_on) { - tFlicette flicker_off[4]; - tFlicette push[4]; - tMouse_area mouse_areas[5]; - tInterface_spec interface_spec; - int result; +int ChangeRace(int *pRace_index, int pNet_mode, tNet_sequence_type pNet_race_sequence) { + tFlicette flicker_on[4]; + tFlicette flicker_off[4]; + tFlicette push[4]; + tMouse_area mouse_areas[5]; + tInterface_spec interface_spec; + int result; } // Offset: 2620 @@ -135,9 +136,9 @@ void DoChangeRace() { // EAX: pCurrent_choice // EDX: pCurrent_mode void DrawCar(int pCurrent_choice, int pCurrent_mode) { - char s[64]; - int text_x; - int text_width; + char s[64]; + int text_x; + int text_width; } // Offset: 3424 @@ -189,14 +190,15 @@ int ChangeCarGoAhead(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pNet_mode // EDX: pCar_index // EBX: pNet_game -int ChangeCar(int pNet_mode, int *pCar_index, tNet_game_details *pNet_game, signed char flicker_on) { - tFlicette flicker_off[4]; - tFlicette push[4]; - tMouse_area mouse_areas[4]; - tInterface_spec interface_spec; - int i; - int result; - int power_up_levels[3]; +int ChangeCar(int pNet_mode, int *pCar_index, tNet_game_details *pNet_game) { + tFlicette flicker_on[4]; + tFlicette flicker_off[4]; + tFlicette push[4]; + tMouse_area mouse_areas[4]; + tInterface_spec interface_spec; + int i; + int result; + int power_up_levels[3]; } // Offset: 5260 @@ -207,9 +209,9 @@ void DoChangeCar() { // Offset: 5308 // Size: 264 int PartsShopRecommended() { - int i; - int current_index; - int counter; + int i; + int current_index; + int counter; } // Offset: 5572 @@ -219,7 +221,7 @@ int PartsShopRecommended() { // EBX: pPrice // ECX: pCost void CalcPartPrice(int pCategory, int pIndex, int *pPrice, int *pCost) { - int current_value; + int current_value; } // Offset: 5752 @@ -227,18 +229,18 @@ void CalcPartPrice(int pCategory, int pIndex, int *pPrice, int *pCost) { // EAX: pCategory // EDX: pIndex int BuyPart(int pCategory, int pIndex) { - int price; - int cost; + int price; + int cost; } // Offset: 5900 // Size: 257 void DoAutoParts() { - int lowest_yet; - int lowest_one; - int price; - int cost; - int current_level; + int lowest_yet; + int lowest_one; + int price; + int cost; + int current_level; } // Offset: 6160 @@ -255,7 +257,7 @@ void ErasePartsText(int pTotal_as_well) { // Offset: 6592 // Size: 788 void DrawPartsText() { - int cost; + int cost; } // Offset: 7380 @@ -276,7 +278,7 @@ void CalcPartsIndex() { // Offset: 7784 // Size: 148 void DoExchangePart() { - int cost; + int cost; } // Offset: 7932 @@ -284,7 +286,7 @@ void DoExchangePart() { // EAX: pCurrent_choice // EDX: pCurrent_mode int PartsShopGoAhead(int *pCurrent_choice, int *pCurrent_mode) { - int flic_index; + int flic_index; } // Offset: 8448 @@ -358,12 +360,12 @@ void DrawPartsShop(int pCurrent_choice, int pCurrent_mode) { // Size: 195 // EAX: pFade_away void DoPartsShop(int pFade_away) { - tFlicette flicker_on[7]; - tFlicette flicker_off[7]; - tFlicette push[7]; - tMouse_area mouse_areas[7]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_on[7]; + tFlicette flicker_off[7]; + tFlicette push[7]; + tMouse_area mouse_areas[7]; + tInterface_spec interface_spec; + int result; } // Offset: 10084 @@ -378,11 +380,11 @@ int AutoPartsDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int pEs // Offset: 10152 // Size: 166 tSO_result DoAutoPartsShop() { - tFlicette flicker_off[3]; - tFlicette push[3]; - tMouse_area mouse_areas[3]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[3]; + tFlicette push[3]; + tMouse_area mouse_areas[3]; + tInterface_spec interface_spec; + int result; } // Offset: 10320 @@ -463,11 +465,11 @@ void SelectRaceStart() { // Offset: 11808 // Size: 480 int SuggestRace() { - int least_done; - int suggested_so_far; - int suggested_race; - int new_suggestion; - int number_of_visits; + int least_done; + int suggested_so_far; + int suggested_race; + int new_suggestion; + int number_of_visits; } // Offset: 12288 @@ -475,32 +477,32 @@ int SuggestRace() { // EAX: pCurrent_choice // EDX: pCurrent_mode void SelectRaceDraw(int pCurrent_choice, int pCurrent_mode) { - tOpponent *the_opponent; - tText_chunk *the_chunk; - int j; - int k; - int y_coord; - char s[256]; - char temp_str[256]; - char *sub_pt; - char sub_str[16]; - tU32 *test; - tU32 test2; + tOpponent *the_opponent; + tText_chunk *the_chunk; + int j; + int k; + int y_coord; + char s[256]; + char temp_str[256]; + char *sub_pt; + char sub_str[16]; + tU32 *test; + tU32 test2; } // Offset: 13784 // Size: 754 // EAX: pSecond_time_around tSO_result DoSelectRace(int *pSecond_time_around) { - tFlicette flicker_on[7]; - tFlicette flicker_off[7]; - tFlicette push[7]; - tMouse_area mouse_areas[7]; - tInterface_spec interface_spec; - int result; - int default_choice; - int suggested; - int old_current_race; + tFlicette flicker_on[7]; + tFlicette flicker_off[7]; + tFlicette push[7]; + tMouse_area mouse_areas[7]; + tInterface_spec interface_spec; + int result; + int default_choice; + int suggested; + int old_current_race; } // Offset: 14540 @@ -508,7 +510,7 @@ tSO_result DoSelectRace(int *pSecond_time_around) { // EAX: pX // EDX: pY // EBX: pImage -void DrawGridCar(int pX, int pY, br_pixelmap *pImage, char __unk3__) { +void DrawGridCar(int pX, int pY, br_pixelmap *pImage) { } // Offset: 14676 @@ -516,24 +518,24 @@ void DrawGridCar(int pX, int pY, br_pixelmap *pImage, char __unk3__) { // EAX: pOffset // EDX: pDraw_it void DrawGrid(int pOffset, int pDraw_it) { - int i; - int j; - int y; - int x; - int str_x; - int width_job; - int done_highest; - int str_index; - int swap_1_x; - int swap_1_y; - int swap_2_x; - int swap_2_y; - br_pixelmap *the_image; - br_pixelmap *swap_1_image; - br_pixelmap *swap_2_image; - char numbers_str[4][100]; - char total_str[256]; - tU32 the_time; + int i; + int j; + int y; + int x; + int str_x; + int width_job; + int done_highest; + int str_index; + int swap_1_x; + int swap_1_y; + int swap_2_x; + int swap_2_y; + br_pixelmap *the_image; + br_pixelmap *swap_1_image; + br_pixelmap *swap_2_image; + char numbers_str[4][100]; + char total_str[256]; + tU32 the_time; } // Offset: 16792 @@ -541,10 +543,11 @@ void DrawGrid(int pOffset, int pDraw_it) { // EAX: pFrom // EDX: pTo // EBX: pTime_to_move -void MoveGrid(int pFrom, int pTo, tS32 pTime_to_move, unsigned short start_time) { - tS32 the_time; - int move_distance; - int pitch; +void MoveGrid(int pFrom, int pTo, tS32 pTime_to_move) { + tS32 start_time; + tS32 the_time; + int move_distance; + int pitch; } // Offset: 16948 @@ -565,7 +568,7 @@ void GridDraw(int pCurrent_choice, int pCurrent_mode) { // EAX: pFirst_index // EDX: pSecond_index void ActuallySwapOrder(int pFirst_index, int pSecond_index) { - tOpp_spec temp_opp; + tOpp_spec temp_opp; } // Offset: 17200 @@ -573,20 +576,20 @@ void ActuallySwapOrder(int pFirst_index, int pSecond_index) { // EAX: pFirst_index // EDX: pSecond_index void DoGridTransition(int pFirst_index, int pSecond_index) { - tU32 start_time; - tU32 the_time; + tU32 start_time; + tU32 the_time; } // Offset: 17444 // Size: 895 void ChallengeStart() { - int i; - int j; - int line_count; - int dare_index; - FILE *f; - tPath_name the_path; - char s[256]; + int i; + int j; + int line_count; + int dare_index; + FILE *f; + tPath_name the_path; + char s[256]; } // Offset: 18340 @@ -608,11 +611,11 @@ int ChallengeDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int pEs // Offset: 18740 // Size: 172 void DoChallengeScreen() { - tFlicette flicker_off[2]; - tFlicette push[2]; - tMouse_area mouse_areas[2]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[2]; + tFlicette push[2]; + tMouse_area mouse_areas[2]; + tInterface_spec interface_spec; + int result; } // Offset: 18912 @@ -650,10 +653,10 @@ int GridMoveRight(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int GridClickCar(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int rel_pos; - int new_pos; - int base_pos; - int x_coord; + int rel_pos; + int new_pos; + int base_pos; + int x_coord; } // Offset: 19684 @@ -663,8 +666,8 @@ int GridClickCar(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY // EBX: pX_offset // ECX: pY_offset int GridClickNumbers(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int new_pos; - int i; + int new_pos; + int i; } // Offset: 19900 @@ -696,7 +699,7 @@ int CheckChallenge(int *pCurrent_choice, int *pCurrent_mode) { // Size: 100 // EAX: pOur_rank int FindBestPos(int pOur_rank) { - int i; + int i; } // Offset: 20220 @@ -714,18 +717,18 @@ void SortOpponents() { // Offset: 20564 // Size: 326 tSO_result DoGridPosition() { - tFlicette flicker_off[3]; - tFlicette push[3]; - tMouse_area mouse_areas[5]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[3]; + tFlicette push[3]; + tMouse_area mouse_areas[5]; + tInterface_spec interface_spec; + int result; } // Offset: 20892 // Size: 185 void CheckPlayersAreResponding() { - tU32 time; - tNet_message *message; + tU32 time; + tNet_message *message; } // Offset: 21080 @@ -747,9 +750,9 @@ void DrawAnItem(int pX, int pY_index, int pFont_index, char *pText) { // EAX: pCurrent_choice // EDX: pCurrent_mode void NetSynchStartDraw(int pCurrent_choice, int pCurrent_mode) { - int i; - int number_ready; - char s[256]; + int i; + int number_ready; + char s[256]; } // Offset: 21972 @@ -779,22 +782,22 @@ int ExitWhenReady(int *pCurrent_choice, int *pCurrent_mode) { // Size: 246 // EAX: pMode tSO_result NetSynchRaceStart2(tNet_synch_mode pMode) { - tFlicette flicker_on_hf[2]; - tFlicette flicker_off_hf[2]; - tFlicette push_hf[2]; - tMouse_area mouse_areas_hf[2]; - tInterface_spec interface_spec_hf; - tFlicette flicker_on_hs[1]; - tFlicette flicker_off_hs[1]; - tFlicette push_hs[1]; - tMouse_area mouse_areas_hs[1]; - tInterface_spec interface_spec_hs; - tFlicette flicker_on_c[1]; - tFlicette flicker_off_c[1]; - tFlicette push_c[1]; - tMouse_area mouse_areas_c[1]; - tInterface_spec interface_spec_c; - int result; + tFlicette flicker_on_hf[2]; + tFlicette flicker_off_hf[2]; + tFlicette push_hf[2]; + tMouse_area mouse_areas_hf[2]; + tInterface_spec interface_spec_hf; + tFlicette flicker_on_hs[1]; + tFlicette flicker_off_hs[1]; + tFlicette push_hs[1]; + tMouse_area mouse_areas_hs[1]; + tInterface_spec interface_spec_hs; + tFlicette flicker_on_c[1]; + tFlicette flicker_off_c[1]; + tFlicette push_c[1]; + tMouse_area mouse_areas_c[1]; + tInterface_spec interface_spec_c; + int result; } // Offset: 22636 diff --git a/src/DETHRACE/source/common/racestrt.h b/src/DETHRACE/source/common/racestrt.h index f31bdf27..72c38e19 100644 --- a/src/DETHRACE/source/common/racestrt.h +++ b/src/DETHRACE/source/common/racestrt.h @@ -1,5 +1,9 @@ +#ifndef _RACESTRT_H_ +#define _RACESTRT_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 1371 // EAX: pOffset @@ -10,7 +14,7 @@ void DrawRaceList(int pOffset); // EAX: pFrom // EDX: pTo // EBX: pTime_to_move -void MoveRaceList(int pFrom, int pTo, tS32 pTime_to_move, unsigned short start_time); +void MoveRaceList(int pFrom, int pTo, tS32 pTime_to_move); // Offset: 1516 // Size: 227 @@ -57,7 +61,7 @@ void StartChangeRace(); // EAX: pRace_index // EDX: pNet_mode // EBX: pNet_race_sequence -int ChangeRace(int *pRace_index, int pNet_mode, tNet_sequence_type pNet_race_sequence, signed char flicker_on); +int ChangeRace(int *pRace_index, int pNet_mode, tNet_sequence_type pNet_race_sequence); // Offset: 2620 // Size: 62 @@ -112,7 +116,7 @@ int ChangeCarGoAhead(int *pCurrent_choice, int *pCurrent_mode); // EAX: pNet_mode // EDX: pCar_index // EBX: pNet_game -int ChangeCar(int pNet_mode, int *pCar_index, tNet_game_details *pNet_game, signed char flicker_on); +int ChangeCar(int pNet_mode, int *pCar_index, tNet_game_details *pNet_game); // Offset: 5260 // Size: 48 @@ -334,7 +338,7 @@ tSO_result DoSelectRace(int *pSecond_time_around); // EAX: pX // EDX: pY // EBX: pImage -void DrawGridCar(int pX, int pY, br_pixelmap *pImage, char __unk3__); +void DrawGridCar(int pX, int pY, br_pixelmap *pImage); // Offset: 14676 // Size: 2113 @@ -347,7 +351,7 @@ void DrawGrid(int pOffset, int pDraw_it); // EAX: pFrom // EDX: pTo // EBX: pTime_to_move -void MoveGrid(int pFrom, int pTo, tS32 pTime_to_move, unsigned short start_time); +void MoveGrid(int pFrom, int pTo, tS32 pTime_to_move); // Offset: 16948 // Size: 57 @@ -526,3 +530,4 @@ tSO_result NetSynchRaceStart2(tNet_synch_mode pMode); // Size: 100 tSO_result NetSynchRaceStart(); +#endif diff --git a/src/DETHRACE/source/common/racesumm.c b/src/DETHRACE/source/common/racesumm.c index b6760dea..7cc2cee4 100644 --- a/src/DETHRACE/source/common/racesumm.c +++ b/src/DETHRACE/source/common/racesumm.c @@ -1,6 +1,5 @@ #include "racesumm.h" -// Global variables int gPlayer_lookup[6]; tMouse_area gOld_back_button; tWreck_info gWreck_array[30]; @@ -36,8 +35,8 @@ int gTemp_lost; // Size: 302 // EAX: pThe_state void MungeRankEtc(tProgram_state *pThe_state) { - int i; - int not_done_yet; + int i; + int not_done_yet; } // Offset: 304 @@ -89,12 +88,12 @@ void RampUpRate(float *pRate, tU32 pTime) { // EAX: pCurrent_choice // EDX: pCurrent_mode void DrawSummary(int pCurrent_choice, int pCurrent_mode) { - tU32 the_time; - tU32 last_time; - tU32 last_change_time; - int credit_delta; - float old_temp_increase; - float rank_delta; + tU32 the_time; + tU32 last_time; + tU32 last_change_time; + int credit_delta; + float old_temp_increase; + float rank_delta; } // Offset: 2352 @@ -119,49 +118,49 @@ int Summ1GoAhead(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int SummCheckGameOver(int *pCurrent_choice, int *pCurrent_mode) { - int i; - tS3_sound_tag sound_tag; + int i; + tS3_sound_tag sound_tag; } // Offset: 2896 // Size: 288 tSO_result DoEndRaceSummary1() { - tFlicette flicker_off[1]; - tFlicette push[1]; - tMouse_area mouse_areas[1]; - tInterface_spec interface_spec; - int result; - int completed_already; + tFlicette flicker_off[1]; + tFlicette push[1]; + tMouse_area mouse_areas[1]; + tInterface_spec interface_spec; + int result; + int completed_already; } // Offset: 3184 // Size: 165 // EAX: model void PrepareBoundingRadius(br_model *model) { - float d; - float max; - int v; - br_vertex *vp; + float d; + float max; + int v; + br_vertex *vp; } // Offset: 3352 // Size: 1003 void BuildWrecks() { - int i; - int position; - int car_count; - br_actor *this_car; - tCar_spec *the_car; + int i; + int position; + int car_count; + br_actor *this_car; + tCar_spec *the_car; } // Offset: 4356 // Size: 385 void DisposeWrecks() { - int i; - int position; - int car_count; - br_actor *this_car; - tCar_spec *the_car; + int i; + int position; + int car_count; + br_actor *this_car; + tCar_spec *the_car; } // Offset: 4744 @@ -174,9 +173,9 @@ int MatrixIsIdentity(br_matrix34 *pMat) { // Size: 403 // EAX: pFrame_period void SpinWrecks(tU32 pFrame_period) { - int i; - br_vector3 translation; - br_matrix34 old_mat; + int i; + br_vector3 translation; + br_matrix34 old_mat; } // Offset: 5336 @@ -197,9 +196,8 @@ void ZoomOutTo(int pIndex, int *pCurrent_choice, int *pCurrent_mode) { // Offset: 5672 // Size: 102 -int WreckPick(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pNear, br_scalar pFar) { - void *pArg; - int i; +int WreckPick(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pNear, br_scalar pFar, void *pArg) { + int i; } // Offset: 5776 @@ -207,11 +205,11 @@ int WreckPick(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vec // EAX: pCurrent_choice // EDX: pCurrent_mode int CastSelectionRay(int *pCurrent_choice, int *pCurrent_mode) { - int mouse_x; - int mouse_y; - int i; - int result; - br_scalar inv_wreck_pick_scale_factor; + int mouse_x; + int mouse_y; + int i; + int result; + br_scalar inv_wreck_pick_scale_factor; } // Offset: 6180 @@ -226,16 +224,16 @@ int DamageScrnExit(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode void DamageScrnDraw(int pCurrent_choice, int pCurrent_mode) { - tU32 the_time; - br_vector3 camera_movement; - int finished; - int h; - int v; - int rows; - int columns; - float spacing; - br_actor *sel_actor; - char *name; + tU32 the_time; + br_vector3 camera_movement; + int finished; + int h; + int v; + int rows; + int columns; + float spacing; + br_actor *sel_actor; + char *name; } // Offset: 8832 @@ -243,7 +241,7 @@ void DamageScrnDraw(int pCurrent_choice, int pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int DamageScrnLeft(int *pCurrent_choice, int *pCurrent_mode) { - int i; + int i; } // Offset: 9100 @@ -251,7 +249,7 @@ int DamageScrnLeft(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int DamageScrnRight(int *pCurrent_choice, int *pCurrent_mode) { - int i; + int i; } // Offset: 9376 @@ -259,10 +257,10 @@ int DamageScrnRight(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int DamageScrnUp(int *pCurrent_choice, int *pCurrent_mode) { - int i; - int difference; - int new_difference; - int new_selection; + int i; + int difference; + int new_difference; + int new_selection; } // Offset: 9804 @@ -270,10 +268,10 @@ int DamageScrnUp(int *pCurrent_choice, int *pCurrent_mode) { // EAX: pCurrent_choice // EDX: pCurrent_mode int DamageScrnDown(int *pCurrent_choice, int *pCurrent_mode) { - int i; - int difference; - int new_difference; - int new_selection; + int i; + int difference; + int new_difference; + int new_selection; } // Offset: 10276 @@ -290,10 +288,10 @@ int DamageScrnGoHead(int *pCurrent_choice, int *pCurrent_mode) { // EBX: pX_offset // ECX: pY_offset int ClickDamage(int *pCurrent_choice, int *pCurrent_mode, int pX_offset, int pY_offset) { - int mouse_x; - int mouse_y; - int old_mouse_x; - int old_mouse_y; + int mouse_x; + int mouse_y; + int old_mouse_x; + int old_mouse_y; } // Offset: 10712 @@ -308,11 +306,11 @@ int DamageScrnDone(int pCurrent_choice, int pCurrent_mode, int pGo_ahead, int pE // Offset: 10780 // Size: 286 tSO_result DoEndRaceSummary2() { - tFlicette flicker_off[3]; - tFlicette push[3]; - tMouse_area mouse_areas[3]; - tInterface_spec interface_spec; - int result; + tFlicette flicker_off[3]; + tFlicette push[3]; + tMouse_area mouse_areas[3]; + tInterface_spec interface_spec; + int result; } // Offset: 11068 @@ -348,27 +346,28 @@ void SortGameScores() { // EAX: pCurrent_choice // EDX: pCurrent_mode void NetSumDraw(int pCurrent_choice, int pCurrent_mode) { - int i; - char s[256]; - tNet_game_player_info *player; + int i; + char s[256]; + tNet_game_player_info *player; } // Offset: 12104 // Size: 188 void DoNetRaceSummary() { - tFlicette flicker_off[1]; - tFlicette push[1]; - tMouse_area mouse_areas[1]; - tInterface_spec interface_spec; - int i; - int result; - tS32 start_time; + tFlicette flicker_off[1]; + tFlicette push[1]; + tMouse_area mouse_areas[1]; + tInterface_spec interface_spec; + int i; + int result; + tS32 start_time; } // Offset: 12292 // Size: 227 // EAX: pFirst_summary_done // EDX: pRace_result -tSO_result DoEndRaceSummary(int *pFirst_summary_done, tRace_result pRace_result, union result) { +tSO_result DoEndRaceSummary(int *pFirst_summary_done, tRace_result pRace_result) { + tSO_result result; } diff --git a/src/DETHRACE/source/common/racesumm.h b/src/DETHRACE/source/common/racesumm.h index 994ea8b1..0c45c23c 100644 --- a/src/DETHRACE/source/common/racesumm.h +++ b/src/DETHRACE/source/common/racesumm.h @@ -1,5 +1,9 @@ +#ifndef _RACESUMM_H_ +#define _RACESUMM_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 302 // EAX: pThe_state @@ -112,7 +116,7 @@ void ZoomOutTo(int pIndex, int *pCurrent_choice, int *pCurrent_mode); // Offset: 5672 // Size: 102 -int WreckPick(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pNear, br_scalar pFar); +int WreckPick(br_actor *pActor, br_model *pModel, br_material *pMaterial, br_vector3 *pRay_pos, br_vector3 *pRay_dir, br_scalar pNear, br_scalar pFar, void *pArg); // Offset: 5776 // Size: 404 @@ -220,5 +224,6 @@ void DoNetRaceSummary(); // Size: 227 // EAX: pFirst_summary_done // EDX: pRace_result -tSO_result DoEndRaceSummary(int *pFirst_summary_done, tRace_result pRace_result, union result); +tSO_result DoEndRaceSummary(int *pFirst_summary_done, tRace_result pRace_result); +#endif diff --git a/src/DETHRACE/source/common/raycast.c b/src/DETHRACE/source/common/raycast.c index a7f0efe6..4793de12 100644 --- a/src/DETHRACE/source/common/raycast.c +++ b/src/DETHRACE/source/common/raycast.c @@ -1,6 +1,5 @@ #include "raycast.h" -// Global variables br_matrix34 gPick_model_to_view; int gBelow_face_index; br_scalar gCurrent_y; @@ -42,9 +41,9 @@ void DRVector2AccumulateScale(br_vector2 *a, br_vector2 *b, br_scalar s) { // EDX: rp // EBX: rd int PickBoundsTestRay(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; + int i; + float s; + float t; } // Offset: 1136 @@ -53,16 +52,15 @@ int PickBoundsTestRay(br_bounds *b, br_vector3 *rp, br_vector3 *rd, br_scalar t_ // EDX: model // EBX: material // ECX: callback -int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_cbfn *callback) { - void *arg; - br_actor *a; - br_model *this_model; - br_material *this_material; - br_matrix34 m_to_v; - br_matrix34 v_to_m; - br_scalar t_near; - br_scalar t_far; - int r; +int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_cbfn *callback, void *arg) { + br_actor *a; + br_model *this_model; + br_material *this_material; + br_matrix34 m_to_v; + br_matrix34 v_to_m; + br_scalar t_near; + br_scalar t_far; + int r; } // Offset: 1756 @@ -71,15 +69,13 @@ int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_ // EDX: camera // EBX: viewport // ECX: pick_x -int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, int pick_x, int pick_y) { - dr_pick2d_cbfn *callback; - void *arg; - br_matrix34 camera_tfm; - br_scalar scale; - br_scalar cos_angle; - br_scalar sin_angle; - br_camera *camera_data; - br_angle view_over_2; +int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, int pick_x, int pick_y, dr_pick2d_cbfn *callback, void *arg) { + br_matrix34 camera_tfm; + br_scalar scale; + br_scalar cos_angle; + br_scalar sin_angle; + br_camera *camera_data; + br_angle view_over_2; } // Offset: 2100 @@ -88,11 +84,10 @@ int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, in // EDX: camera // EBX: callback // ECX: arg -int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback) { - void *arg; - br_matrix34 camera_tfm; - br_scalar scale; - br_camera *camera_data; +int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback, void *arg) { + br_matrix34 camera_tfm; + br_scalar scale; + br_camera *camera_data; } // Offset: 2368 @@ -101,94 +96,86 @@ int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback) { // EDX: material // EBX: ray_pos // ECX: ray_dir -int DRModelPick2D(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; - int axis_0; - int axis_1; - int group; - br_scalar t; - br_scalar n; - br_scalar d; - br_vector3 p; - double u0; - double u1; - double u2; - double v0; - double v1; - double v2; - br_scalar v0i1; - br_scalar v0i2; - double alpha; - double beta; - double f_d; - double f_n; - br_scalar s_alpha; - br_scalar s_beta; - br_vector2 map; - int v; - int e; - int r; - br_material *this_material; - br_scalar numerator; - double f_numerator; +int DRModelPick2D(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; + int axis_0; + int axis_1; + int group; + br_scalar t; + br_scalar n; + br_scalar d; + br_vector3 p; + double u0; + double u1; + double u2; + double v0; + double v1; + double v2; + br_scalar v0i1; + br_scalar v0i2; + double alpha; + double beta; + double f_d; + double f_n; + br_scalar s_alpha; + br_scalar s_beta; + br_vector2 map; + int v; + int e; + int r; + br_material *this_material; + br_scalar numerator; + double f_numerator; } // Offset: 4148 // Size: 141 -int 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; - br_scalar the_y; +int 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) { + br_scalar the_y; } // Offset: 4292 // Size: 112 -int 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(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) { } // Offset: 4404 // Size: 194 // EAX: pPosition // EDX: gWorld -void FindBestY(br_vector3 *pPosition, br_actor *gWorld, br_scalar pStarting_height, br_scalar *pNearest_y_above, br_scalar *pNearest_y_below, br_model **pNearest_above_model, br_model **pNearest_below_model, int *pNearest_above_face_index) { - int *pNearest_below_face_index; +void FindBestY(br_vector3 *pPosition, br_actor *gWorld, br_scalar pStarting_height, br_scalar *pNearest_y_above, br_scalar *pNearest_y_below, br_model **pNearest_above_model, br_model **pNearest_below_model, int *pNearest_above_face_index, int *pNearest_below_face_index) { } // Offset: 4600 // Size: 102 -int FindYVerticallyBelowPolyCallBack(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; - br_scalar the_y; +int FindYVerticallyBelowPolyCallBack(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) { + br_scalar the_y; } // Offset: 4704 // Size: 112 -int FindYVerticallyBelowCallBack(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 FindYVerticallyBelowCallBack(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) { } // Offset: 4816 // Size: 558 // EAX: pPosition br_scalar FindYVerticallyBelow(br_vector3 *pPosition) { - tU8 cx; - tU8 cz; - tU8 x; - tU8 z; - tTrack_spec *track_spec; + tU8 cx; + tU8 cz; + tU8 x; + tU8 z; + tTrack_spec *track_spec; } // Offset: 5376 // Size: 110 // EAX: pCast_point br_scalar FindYVerticallyBelow2(br_vector3 *pCast_point) { - br_scalar result; - int number_of_attempts; - br_vector3 cast_point; + br_scalar result; + int number_of_attempts; + br_vector3 cast_point; } diff --git a/src/DETHRACE/source/common/raycast.h b/src/DETHRACE/source/common/raycast.h index 33a32ad6..719afb49 100644 --- a/src/DETHRACE/source/common/raycast.h +++ b/src/DETHRACE/source/common/raycast.h @@ -1,5 +1,9 @@ +#ifndef _RAYCAST_H_ +#define _RAYCAST_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 190 // EAX: a @@ -34,7 +38,7 @@ int PickBoundsTestRay(br_bounds *b, br_vector3 *rp, br_vector3 *rd, br_scalar t_ // EDX: model // EBX: material // ECX: callback -int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_cbfn *callback); +int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_cbfn *callback, void *arg); // Offset: 1756 // Size: 342 @@ -42,7 +46,7 @@ int ActorPick2D(br_actor *ap, br_model *model, br_material *material, dr_pick2d_ // EDX: camera // EBX: viewport // ECX: pick_x -int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, int pick_x, int pick_y); +int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, int pick_x, int pick_y, dr_pick2d_cbfn *callback, void *arg); // Offset: 2100 // Size: 266 @@ -50,7 +54,7 @@ int DRScenePick2DXY(br_actor *world, br_actor *camera, br_pixelmap *viewport, in // EDX: camera // EBX: callback // ECX: arg -int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback); +int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback, void *arg); // Offset: 2368 // Size: 1777 @@ -58,29 +62,29 @@ int DRScenePick2D(br_actor *world, br_actor *camera, dr_pick2d_cbfn *callback); // EDX: material // EBX: ray_pos // ECX: ray_dir -int DRModelPick2D(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); +int DRModelPick2D(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); // Offset: 4148 // Size: 141 -int 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); +int 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); // Offset: 4292 // Size: 112 -int 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); +int 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); // Offset: 4404 // Size: 194 // EAX: pPosition // EDX: gWorld -void FindBestY(br_vector3 *pPosition, br_actor *gWorld, br_scalar pStarting_height, br_scalar *pNearest_y_above, br_scalar *pNearest_y_below, br_model **pNearest_above_model, br_model **pNearest_below_model, int *pNearest_above_face_index); +void FindBestY(br_vector3 *pPosition, br_actor *gWorld, br_scalar pStarting_height, br_scalar *pNearest_y_above, br_scalar *pNearest_y_below, br_model **pNearest_above_model, br_model **pNearest_below_model, int *pNearest_above_face_index, int *pNearest_below_face_index); // Offset: 4600 // Size: 102 -int FindYVerticallyBelowPolyCallBack(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); +int FindYVerticallyBelowPolyCallBack(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); // Offset: 4704 // Size: 112 -int FindYVerticallyBelowCallBack(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); +int FindYVerticallyBelowCallBack(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); // Offset: 4816 // Size: 558 @@ -92,3 +96,4 @@ br_scalar FindYVerticallyBelow(br_vector3 *pPosition); // EAX: pCast_point br_scalar FindYVerticallyBelow2(br_vector3 *pCast_point); +#endif diff --git a/src/DETHRACE/source/common/replay.c b/src/DETHRACE/source/common/replay.c index 0fe1c0ed..d07ef446 100644 --- a/src/DETHRACE/source/common/replay.c +++ b/src/DETHRACE/source/common/replay.c @@ -1,6 +1,5 @@ #include "replay.h" -// Global variables int gProgress_line_top[2]; int gProgress_line_left[2]; int gProgress_line_right[2]; @@ -48,12 +47,12 @@ void StopSaving() { // Size: 1597 // EAX: pSpecial_zappy_bastard void ActualActionReplayHeadups(int pSpecial_zappy_bastard) { - tU32 the_time; - int x; - tU16 played_col1; - tU16 played_col2; - tU16 to_play_col1; - tU16 to_play_col2; + tU32 the_time; + int x; + tU16 played_col1; + tU16 played_col2; + tU16 to_play_col1; + tU16 to_play_col2; } // Offset: 1824 @@ -65,7 +64,7 @@ void DoActionReplayPostSwap() { // Size: 109 // EAX: pSpecial_zappy_bastard void DoZappyActionReplayHeadups(int pSpecial_zappy_bastard) { - tU32 the_time; + tU32 the_time; } // Offset: 1980 @@ -77,12 +76,12 @@ void DoActionReplayHeadups() { // Size: 318 // EAX: pMove_amount void MoveReplayBuffer(tS32 pMove_amount) { - tU8 *play_ptr; - tU8 *old_play_ptr; - tU8 *old_play_ptr2; - int i; - int a; - tU32 old_time; + tU8 *play_ptr; + tU8 *old_play_ptr; + tU8 *old_play_ptr2; + int i; + int a; + tU32 old_time; } // Offset: 2344 @@ -110,23 +109,23 @@ void ReverseSound(tS3_effect_tag pEffect_index, tS3_sound_tag pSound_tag) { // Offset: 3032 // Size: 223 int FindUniqueFile() { - FILE *f; - tPath_name the_path; + FILE *f; + tPath_name the_path; } // Offset: 3256 // Size: 1576 // EAX: pFrame_period void PollActionReplayControls(tU32 pFrame_period) { - float old_replay_rate; - int old_key_down; - int x_coord; - int y_coord; - int i; - tU32 real_time; - tU32 last_real_time; - int psuedo_mouse_keys[8]; - tRectangle mouse_areas[2][8]; + float old_replay_rate; + int old_key_down; + int x_coord; + int y_coord; + int i; + tU32 real_time; + tU32 last_real_time; + int psuedo_mouse_keys[8]; + tRectangle mouse_areas[2][8]; } // Offset: 4832 @@ -148,7 +147,7 @@ void DoActionReplay(tU32 pFrame_period) { // Offset: 5100 // Size: 330 void SynchronizeActionReplay() { - tPath_name the_path; - tU32 gLast_synch_time; + tPath_name the_path; + tU32 gLast_synch_time; } diff --git a/src/DETHRACE/source/common/replay.h b/src/DETHRACE/source/common/replay.h index be96fc04..fae560c7 100644 --- a/src/DETHRACE/source/common/replay.h +++ b/src/DETHRACE/source/common/replay.h @@ -1,5 +1,9 @@ +#ifndef _REPLAY_H_ +#define _REPLAY_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 71 int ReplayIsPaused(); @@ -83,3 +87,4 @@ void DoActionReplay(tU32 pFrame_period); // Size: 330 void SynchronizeActionReplay(); +#endif diff --git a/src/DETHRACE/source/common/skidmark.c b/src/DETHRACE/source/common/skidmark.c index 28a4f5ad..3a319c0f 100644 --- a/src/DETHRACE/source/common/skidmark.c +++ b/src/DETHRACE/source/common/skidmark.c @@ -1,6 +1,5 @@ #include "skidmark.h" -// Global variables char *gMaterial_names[2]; char *gBoring_material_names[2]; tSkid gSkids[100]; @@ -11,10 +10,10 @@ tSkid gSkids[100]; // EDX: pFrom // EBX: pTo void StretchMark(tSkid *pMark, br_vector3 *pFrom, br_vector3 *pTo, br_scalar pTexture_start) { - br_vector3 temp; - br_vector3 *rows; - br_scalar len; - br_model *model; + br_vector3 temp; + br_vector3 *rows; + br_scalar len; + br_model *model; } // Offset: 600 @@ -28,7 +27,7 @@ br_material* MaterialFromIndex(int pIndex) { // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void AdjustSkid(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, unsigned int __unk3__) { +void AdjustSkid(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index) { } // Offset: 800 @@ -37,10 +36,10 @@ void AdjustSkid(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, unsign // EDX: pL1 // EBX: pL2 int FarFromLine2D(br_vector3 *pPt, br_vector3 *pL1, br_vector3 *pL2) { - br_vector2 line; - br_vector2 to_pt; - br_scalar line_len; - br_scalar cross; + br_vector2 line; + br_vector2 to_pt; + br_scalar line_len; + br_scalar cross; } // Offset: 984 @@ -49,17 +48,17 @@ int FarFromLine2D(br_vector3 *pPt, br_vector3 *pL1, br_vector3 *pL2) { // EDX: pL1 // EBX: pL2 int Reflex2D(br_vector3 *pPt, br_vector3 *pL1, br_vector3 *pL2) { - br_vector2 line; - br_vector2 to_pt; + br_vector2 line; + br_vector2 to_pt; } // Offset: 1124 // Size: 885 void InitSkids() { - int mat; - int sl; - br_model *square; - char *str; + int mat; + int sl; + br_model *square; + char *str; } // Offset: 2012 @@ -85,34 +84,32 @@ br_scalar SkidLen(int pSkid) { // EDX: pWheel_num // EBX: pPos // ECX: pMaterial_index -void SkidSection(tCar_spec *pCar, int pWheel_num, br_vector3 *pPos) { - int pMaterial_index; - tU16 skid; - br_material *material; +void SkidSection(tCar_spec *pCar, int pWheel_num, br_vector3 *pPos, int pMaterial_index) { + tU16 skid; + br_material *material; } // Offset: 3220 // Size: 1175 // EAX: pCar // EDX: pWheel_num -void SkidMark(tCar_spec *pCar) { - int pWheel_num; - br_vector3 pos; - br_vector3 world_pos; - br_vector3 disp; - br_vector3 spesh_to_wheel; - int material_index; - br_scalar dist; - br_scalar dist2; - int on_ground; - br_material *material; +void SkidMark(tCar_spec *pCar, int pWheel_num) { + br_vector3 pos; + br_vector3 world_pos; + br_vector3 disp; + br_vector3 spesh_to_wheel; + int material_index; + br_scalar dist; + br_scalar dist2; + int on_ground; + br_material *material; } // Offset: 4396 // Size: 130 // EAX: pCar void InitCarSkidStuff(tCar_spec *pCar) { - int wheel; + int wheel; } // Offset: 4528 diff --git a/src/DETHRACE/source/common/skidmark.h b/src/DETHRACE/source/common/skidmark.h index 583d11bd..7e974122 100644 --- a/src/DETHRACE/source/common/skidmark.h +++ b/src/DETHRACE/source/common/skidmark.h @@ -1,5 +1,9 @@ +#ifndef _SKIDMARK_H_ +#define _SKIDMARK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 600 // EAX: pMark @@ -17,7 +21,7 @@ br_material* MaterialFromIndex(int pIndex); // EAX: pSkid_num // EDX: pMatrix // EBX: pMaterial_index -void AdjustSkid(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index, unsigned int __unk3__); +void AdjustSkid(int pSkid_num, br_matrix34 *pMatrix, int pMaterial_index); // Offset: 800 // Size: 182 @@ -57,13 +61,13 @@ br_scalar SkidLen(int pSkid); // EDX: pWheel_num // EBX: pPos // ECX: pMaterial_index -void SkidSection(tCar_spec *pCar, int pWheel_num, br_vector3 *pPos); +void SkidSection(tCar_spec *pCar, int pWheel_num, br_vector3 *pPos, int pMaterial_index); // Offset: 3220 // Size: 1175 // EAX: pCar // EDX: pWheel_num -void SkidMark(tCar_spec *pCar); +void SkidMark(tCar_spec *pCar, int pWheel_num); // Offset: 4396 // Size: 130 @@ -78,3 +82,4 @@ void SkidsPerFrame(); // Size: 76 void RemoveMaterialsFromSkidmarks(); +#endif diff --git a/src/DETHRACE/source/common/sound.c b/src/DETHRACE/source/common/sound.c index f9342683..5dc170cb 100644 --- a/src/DETHRACE/source/common/sound.c +++ b/src/DETHRACE/source/common/sound.c @@ -1,6 +1,5 @@ #include "sound.h" -// Global variables tS3_outlet_ptr gIndexed_outlets[6]; int gRandom_CDA_tunes[7]; tU32 gLast_sound_service; @@ -33,19 +32,19 @@ tS3_outlet_ptr gEffects_outlet; // Offset: 0 // Size: 224 void UsePathFileToDetermineIfFullInstallation() { - char line2[80]; - char line3[80]; - char path_file[80]; - FILE *fp; + char line2[80]; + char line3[80]; + char path_file[80]; + FILE *fp; } // Offset: 224 // Size: 976 void InitSound() { - tS3_sound_tag tag; - int engine_channel_count; - int car_channel_count; - int ped_channel_count; + tS3_sound_tag tag; + int engine_channel_count; + int car_channel_count; + int ped_channel_count; } // Offset: 1200 @@ -179,25 +178,25 @@ void ToggleSoundEnable() { // Offset: 2900 // Size: 125 void SoundService() { - br_matrix34 mat; + br_matrix34 mat; } // Offset: 3028 // Size: 521 void InitSoundSources() { - int car_count; - int i; - int toggle; - tCar_spec *the_car; + int car_count; + int i; + int toggle; + tCar_spec *the_car; } // Offset: 3552 // Size: 411 void DisposeSoundSources() { - int car_count; - int i; - int toggle; - tCar_spec *the_car; + int car_count; + int i; + int toggle; + tCar_spec *the_car; } // Offset: 3964 @@ -207,7 +206,7 @@ void DisposeSoundSources() { // EBX: pInitial_position // ECX: pInitial_velocity tS3_sound_tag DRS3StartSound3D(tS3_outlet_ptr pOutlet, tS3_sound_id pSound, br_vector3 *pInitial_position, br_vector3 *pInitial_velocity, tS3_repeats pRepeats, tS3_volume pVolume, tS3_pitch pPitch, tS3_speed pSpeed) { - tS3_sound_tag tag; + tS3_sound_tag tag; } // Offset: 4156 @@ -217,7 +216,7 @@ tS3_sound_tag DRS3StartSound3D(tS3_outlet_ptr pOutlet, tS3_sound_id pSound, br_v // EBX: pRepeats // ECX: pVolume tS3_sound_tag DRS3StartSoundFromSource3(tS3_sound_source_ptr pSource, tS3_sound_id pSound, tS3_repeats pRepeats, tS3_volume pVolume, tS3_pitch pPitch, tS3_speed pSpeed) { - tS3_sound_tag tag; + tS3_sound_tag tag; } // Offset: 4256 @@ -225,20 +224,20 @@ tS3_sound_tag DRS3StartSoundFromSource3(tS3_sound_source_ptr pSource, tS3_sound_ // EAX: pSource // EDX: pSound tS3_sound_tag DRS3StartSoundFromSource(tS3_sound_source_ptr pSource, tS3_sound_id pSound) { - tS3_sound_tag tag; + tS3_sound_tag tag; } // Offset: 4336 // Size: 1377 void MungeEngineNoise() { - tU32 pitch; - int vol; - int cat; - int car_count; - int i; - int stop_all; - int type_of_engine_noise; - tS3_sound_id engine_noise; + tU32 pitch; + int vol; + int cat; + int car_count; + int i; + int stop_all; + int type_of_engine_noise; + tS3_sound_id engine_noise; } // Offset: 5716 @@ -256,7 +255,7 @@ tS3_outlet_ptr GetOutletFromIndex(int pIndex) { // Size: 97 // EAX: pOutlet int GetIndexFromOutlet(tS3_outlet_ptr pOutlet) { - int i; + int i; } // Offset: 6028 diff --git a/src/DETHRACE/source/common/sound.h b/src/DETHRACE/source/common/sound.h index 9443754f..d685438d 100644 --- a/src/DETHRACE/source/common/sound.h +++ b/src/DETHRACE/source/common/sound.h @@ -1,5 +1,9 @@ +#ifndef _SOUND_H_ +#define _SOUND_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 224 void UsePathFileToDetermineIfFullInstallation(); @@ -185,3 +189,4 @@ void StartMusic(); // Size: 48 void StopMusic(); +#endif diff --git a/src/DETHRACE/source/common/spark.c b/src/DETHRACE/source/common/spark.c index 6b5db690..0c656cf5 100644 --- a/src/DETHRACE/source/common/spark.c +++ b/src/DETHRACE/source/common/spark.c @@ -1,6 +1,5 @@ #include "spark.h" -// Global variables br_pixelmap *gFlame_map[20]; tBRender_smoke *gBR_smoke_pointers[30]; tSplash gSplash[32]; @@ -49,8 +48,8 @@ void DrawDot(br_scalar z, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr) { // Size: 234 // EAX: pScreen void SetWorldToScreen(br_pixelmap *pScreen) { - br_matrix4 mat; - br_matrix4 mat2; + br_matrix4 mat; + br_matrix4 mat2; } // Offset: 356 @@ -67,12 +66,12 @@ void DrawLine3DThroughBRender(br_vector3 *pStart, br_vector3 *pEnd) { // EBX: pScreen // ECX: pDepth_buffer int DrawLine3D(br_vector3 *start, br_vector3 *end, br_pixelmap *pScreen, br_pixelmap *pDepth_buffer, br_pixelmap *shade_table) { - br_vector3 o; - br_vector3 p; - br_vector3 tv; - br_vector4 o2; - br_vector4 p2; - br_scalar ts; + br_vector3 o; + br_vector3 p; + br_vector3 tv; + br_vector4 o2; + br_vector4 p2; + br_scalar ts; } // Offset: 1020 @@ -82,26 +81,26 @@ int DrawLine3D(br_vector3 *start, br_vector3 *end, br_pixelmap *pScreen, br_pixe // EBX: pScreen // ECX: pDepth_buffer int DrawLine2D(br_vector3 *o, br_vector3 *p, br_pixelmap *pScreen, br_pixelmap *pDepth_buffer, br_scalar brightness, br_pixelmap *shade_table) { - tU8 *scr_ptr; - tU16 *depth_ptr; - tU8 *shade_ptr; - int x1; - int x2; - int y1; - int y2; - int d; - int dx; - int dy; - int ax; - int sx; - int ay; - int sy; - int x; - int y; - br_scalar zbuff; - br_scalar zbuff_inc; - int darken_count; - int darken_init; + tU8 *scr_ptr; + tU16 *depth_ptr; + tU8 *shade_ptr; + int x1; + int x2; + int y1; + int y2; + int d; + int dx; + int dy; + int ax; + int sx; + int ay; + int sy; + int x; + int y; + br_scalar zbuff; + br_scalar zbuff_inc; + int darken_count; + int darken_init; } // Offset: 3244 @@ -117,12 +116,12 @@ void SetLineModelCols(tU8 pCol) { // EBX: pCamera // ECX: pTime void ReplaySparks(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera, tU32 pTime) { - int i; - br_vector3 pos; - br_vector3 o; - br_vector3 p; - br_vector3 tv; - br_vector3 new_pos; + int i; + br_vector3 pos; + br_vector3 o; + br_vector3 p; + br_vector3 tv; + br_vector3 new_pos; } // Offset: 4092 @@ -132,14 +131,14 @@ void ReplaySparks(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_ac // EBX: pCamera // ECX: pCamera_to_world void RenderSparks(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera, br_matrix34 *pCamera_to_world, tU32 pTime) { - int i; - int time; - br_vector3 tv; - br_vector3 o; - br_vector3 p; - br_vector3 pos; - br_vector3 new_pos; - br_scalar ts; + int i; + int time; + br_vector3 tv; + br_vector3 o; + br_vector3 p; + br_vector3 pos; + br_vector3 new_pos; + br_scalar ts; } // Offset: 6392 @@ -156,15 +155,15 @@ void CreateSingleSpark(tCar_spec *pCar, br_vector3 *pPos, br_vector3 *pVel) { // EDX: v // EBX: pForce void CreateSparks(br_vector3 *pos, br_vector3 *v, br_vector3 *pForce, br_scalar sparkiness, tCar_spec *pCar) { - br_vector3 norm; - br_vector3 normal; - br_vector3 tv; - br_vector3 tv2; - br_vector3 pos2; - br_scalar ts; - br_scalar ts2; - int num; - int i; + br_vector3 norm; + br_vector3 normal; + br_vector3 tv; + br_vector3 tv2; + br_vector3 pos2; + br_scalar ts; + br_scalar ts2; + int num; + int i; } // Offset: 8276 @@ -174,14 +173,14 @@ void CreateSparks(br_vector3 *pos, br_vector3 *v, br_vector3 *pForce, br_scalar // EBX: pForce // ECX: pCar1 void CreateSparkShower(br_vector3 *pos, br_vector3 *v, br_vector3 *pForce, tCar_spec *pCar1, tCar_spec *pCar2) { - br_scalar ts; - br_scalar ts2; - int num; - int i; - tCar_spec *c; - br_vector3 tv; - br_vector3 tv2; - br_vector3 normal; + br_scalar ts; + br_scalar ts2; + int num; + int i; + tCar_spec *c; + br_vector3 tv; + br_vector3 tv2; + br_vector3 normal; } // Offset: 9288 @@ -189,8 +188,10 @@ void CreateSparkShower(br_vector3 *pos, br_vector3 *v, br_vector3 *pForce, tCar_ // EAX: pSpark_num // EDX: pos // EBX: length -void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length, wchar_t tv, br_memory_classes mat) { - int i; +void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length) { + br_vector3 tv; + br_matrix34 *mat; + int i; } // Offset: 9596 @@ -199,7 +200,8 @@ void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length, wchar_t tv // EDX: pos // EBX: pAge // ECX: pMaterial -void AdjustShrapnel(int pShrapnel_num, br_vector3 *pos, tU16 pAge, br_material *pMaterial, ldiv_t i, br_memory_classes __unk5__) { +void AdjustShrapnel(int pShrapnel_num, br_vector3 *pos, tU16 pAge, br_material *pMaterial) { + int i; } // Offset: 9804 @@ -218,15 +220,15 @@ void ResetShrapnel() { // EDX: v // EBX: pNormal void CreateShrapnelShower(br_vector3 *pos, br_vector3 *v, br_vector3 *pNormal, br_scalar pForce, tCar_spec *c1, tCar_spec *c2) { - br_scalar ts; - br_scalar ts2; - br_scalar rnd; - int num; - int i; - tCar_spec *c; - br_vector3 tv; - br_vector3 tv2; - br_vector3 vel; + br_scalar ts; + br_scalar ts2; + br_scalar rnd; + int num; + int i; + tCar_spec *c; + br_vector3 tv; + br_vector3 tv2; + br_vector3 vel; } // Offset: 10820 @@ -237,7 +239,7 @@ br_scalar random() { // Offset: 10880 // Size: 523 void InitShrapnel() { - int j; + int j; } // Offset: 11404 @@ -260,18 +262,18 @@ void DisposeShrapnel() { // Size: 249 // EAX: pTime void ReplayShrapnel(tU32 pTime) { - int i; - br_matrix34 *mat; + int i; + br_matrix34 *mat; } // Offset: 12024 // Size: 958 // EAX: pTime void MungeShrapnel(tU32 pTime) { - br_vector3 disp; - int i; - br_matrix34 *mat; - br_scalar ts; + br_vector3 disp; + int i; + br_matrix34 *mat; + br_scalar ts; } // Offset: 12984 @@ -280,91 +282,95 @@ void MungeShrapnel(tU32 pTime) { // EDX: r // EBX: a void DrMatrix34Rotate(br_matrix34 *mat, br_angle r, br_vector3 *a) { - br_scalar t; - br_scalar s; - br_scalar c; - br_scalar txy; - br_scalar txz; - br_scalar tyz; - br_scalar sx; - br_scalar sy; - br_scalar sz; + br_scalar t; + br_scalar s; + br_scalar c; + br_scalar txy; + br_scalar txz; + br_scalar tyz; + br_scalar sx; + br_scalar sy; + br_scalar sz; } // Offset: 13280 // Size: 245 // EAX: l // EDX: x -void SmokeLine(int l, int x, br_scalar zbuff, int r_squared, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr, br_scalar r_multiplier, br_scalar z_multiplier, br_scalar shade_offset, void (i)(), br_memory_classes r_multiplier_int, unsigned short z, br_vector3 *__unk14__, br_scalar __unk15__, br_scalar __unk16__) { +void SmokeLine(int l, int x, br_scalar zbuff, int r_squared, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr, br_scalar r_multiplier, br_scalar z_multiplier, br_scalar shade_offset) { + int i; + int r_multiplier_int; + int shade_offset_int; + tU16 z; } // Offset: 13528 // Size: 2390 // EAX: o void SmokeCircle(br_vector3 *o, br_scalar r, br_scalar extra_z, br_scalar strength, br_scalar pAspect, br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table) { - tU8 *scr_ptr; - tU16 *depth_ptr; - tU8 *shade_ptr; - tU8 *osp; - tU16 *odp; - int ox; - int oy; - int i; - int r_squared; - int max_r_squared; - int l; - int l2; - int x; - int x2; - int sx; - int y; - int inc; - int y_limit; - int max_x; - int min_x; - br_scalar shade_offset; - br_scalar r_multiplier; - br_scalar ry; - br_scalar z_multiplier; - br_scalar zbuff; - br_scalar aspect_squared; - void (*line)(int, int, br_scalar, int, tU8*, tU16*, tU8*, br_scalar, br_scalar, br_scalar, void ()(), br_memory_classes, unsigned short, br_vector3*, br_scalar, br_scalar); + tU8 *scr_ptr; + tU16 *depth_ptr; + tU8 *shade_ptr; + tU8 *osp; + tU16 *odp; + int ox; + int oy; + int i; + int r_squared; + int max_r_squared; + int l; + int l2; + int x; + int x2; + int sx; + int y; + int inc; + int y_limit; + int max_x; + int min_x; + br_scalar shade_offset; + br_scalar r_multiplier; + br_scalar ry; + br_scalar z_multiplier; + br_scalar zbuff; + br_scalar aspect_squared; + void (*line)(int, int, br_scalar, int, tU8*, tU16*, tU8*, br_scalar, br_scalar, br_scalar); } // Offset: 15920 // Size: 112 int CmpSmokeZ(void *p1, void *p2) { - tBRender_smoke **a; - tBRender_smoke **b; + tBRender_smoke **a; + tBRender_smoke **b; } // Offset: 16032 // Size: 506 void RenderRecordedSmokeCircles() { - tBRender_smoke *smoke; - tU8 red; - tU8 grn; - tU8 blu; + tBRender_smoke *smoke; + tU8 red; + tU8 grn; + tU8 blu; } // Offset: 16540 // Size: 266 // EAX: pCent void RecordSmokeCircle(br_vector3 *pCent, br_scalar pR, br_scalar pStrength, br_pixelmap *pShade, br_scalar pAspect) { - tU8 shade_index; - br_colour shade_rgb; + tU8 shade_index; + br_colour shade_rgb; } // Offset: 16808 // Size: 506 // EAX: o void SmokeCircle3D(br_vector3 *o, br_scalar r, br_scalar strength, br_scalar pAspect, br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_pixelmap *pShade_table, br_actor *pCam) { - br_vector3 tv; - br_vector3 p; - br_vector4 o2; - br_camera *cam; - int scaled_r; - br_scalar extra_z; + br_vector3 tv; + br_vector3 p; + br_vector4 o2; + br_camera *cam; + int scaled_r; + br_scalar extra_z; } // Offset: 17316 @@ -373,8 +379,8 @@ void SmokeCircle3D(br_vector3 *o, br_scalar r, br_scalar strength, br_scalar pAs // EDX: pDepth_buffer // EBX: pCamera void ReplaySmoke(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera) { - br_scalar aspect; - int i; + br_scalar aspect; + int i; } // Offset: 17636 @@ -382,17 +388,16 @@ void ReplaySmoke(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_act // EAX: pCar // EDX: wheel // EBX: pTime -void GenerateContinuousSmoke(tCar_spec *pCar, int wheel) { - tU32 pTime; - br_vector3 pos; - br_vector3 v; - br_vector3 vcs; - br_vector3 tv; - br_scalar decay_factor; - br_scalar ts; - br_scalar alpha; - br_scalar beta; - int colour; +void GenerateContinuousSmoke(tCar_spec *pCar, int wheel, tU32 pTime) { + br_vector3 pos; + br_vector3 v; + br_vector3 vcs; + br_vector3 tv; + br_scalar decay_factor; + br_scalar ts; + br_scalar alpha; + br_scalar beta; + int colour; } // Offset: 18572 @@ -407,23 +412,22 @@ void DustRotate() { // EBX: pCamera // ECX: pCamera_to_world void RenderSmoke(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera, br_matrix34 *pCamera_to_world, tU32 pTime) { - int i; - int j; - br_vector3 tv; - br_scalar aspect; - br_scalar ts; - tU32 seed; - tU32 not_lonely; + int i; + int j; + br_vector3 tv; + br_scalar aspect; + br_scalar ts; + tU32 seed; + tU32 not_lonely; } // Offset: 20480 // Size: 672 // EAX: pos // EDX: v -void CreatePuffOfSmoke(br_vector3 *pos, br_vector3 *v, br_scalar strength, br_scalar pDecay_factor, int pType) { - tCar_spec *pC; - br_vector3 tv; - int pipe_me; +void CreatePuffOfSmoke(br_vector3 *pos, br_vector3 *v, br_scalar strength, br_scalar pDecay_factor, int pType, tCar_spec *pC) { + br_vector3 tv; + int pipe_me; } // Offset: 21152 @@ -436,7 +440,7 @@ void ResetSmoke() { // EAX: pIndex // EDX: pType // EBX: pPos -void AdjustSmoke(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength, int __unk5__, br_memory_classes __unk6__, char __unk8__) { +void AdjustSmoke(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength) { } // Offset: 21340 @@ -450,8 +454,9 @@ void ActorError() { // EDX: pCar // EBX: pVertex // ECX: pColour -void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour, unsigned int i) { - br_actor *actor; +void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour) { + int i; + br_actor *actor; } // Offset: 21632 @@ -460,24 +465,23 @@ void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour, un // EDX: pColour // EBX: pVertex_index // ECX: pLifetime -void CreateSmokeColumn(tCar_spec *pCar, int pColour, int pVertex_index) { - tU32 pLifetime; - int i; - br_actor *actor; - tSmoke_column *col; +void CreateSmokeColumn(tCar_spec *pCar, int pColour, int pVertex_index, tU32 pLifetime) { + int i; + br_actor *actor; + tSmoke_column *col; } // Offset: 22512 // Size: 309 void GenerateSmokeShades() { - int gb; - int bb; - int rd; - int gd; - int bd; - int rg; - int gg; - int bg; + int gb; + int bb; + int rd; + int gd; + int bd; + int rg; + int gg; + int bg; } // Offset: 22824 @@ -489,7 +493,11 @@ void GenerateItFoxShadeTable() { // Size: 153 // EAX: pIndex // EDX: pFrame_count -void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z, unsigned short i, br_memory_classes j, union actor) { +void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z) { + int i; + int j; + tSmoke_column *col; + br_actor *actor; } // Offset: 23076 @@ -497,7 +505,7 @@ void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pSc // EAX: col // EDX: actor void ReplayFlame(tSmoke_column *col, br_actor *actor) { - int i; + int i; } // Offset: 23452 @@ -505,8 +513,10 @@ void ReplayFlame(tSmoke_column *col, br_actor *actor) { // EAX: c // EDX: pPos // EBX: pTime -void FlameAnimate(int c, br_vector3 *pPos, tU32 pTime, int col, br_memory_classes actor) { - int i; +void FlameAnimate(int c, br_vector3 *pPos, tU32 pTime) { + tSmoke_column *col; + br_actor *actor; + int i; } // Offset: 24388 @@ -514,73 +524,75 @@ void FlameAnimate(int c, br_vector3 *pPos, tU32 pTime, int col, br_memory_classe // EAX: i // EDX: pTime // EBX: pRet_car_pos -void DoSmokeColumn(int i, tU32 pTime, br_vector3 *pRet_car_pos, signed char c, _complex actor) { - br_actor *bonny; - int group; +void DoSmokeColumn(int i, tU32 pTime, br_vector3 *pRet_car_pos) { + tCar_spec *c; + br_actor *actor; + br_actor *bonny; + int group; } // Offset: 24928 // Size: 132 // EAX: pTime void ReplaySmokeColumn(tU32 pTime) { - int i; - br_vector3 dummy; + int i; + br_vector3 dummy; } // Offset: 25060 // Size: 1157 // EAX: pTime void MungeSmokeColumn(tU32 pTime) { - int i; - int plane; - br_actor *actor; - br_actor *bonny; - br_vector3 car_pos; - br_vector3 pos; - br_vector3 v; - br_vector3 up; - br_vector3 start; - br_vector3 end; - br_scalar ts; - br_scalar decay_factor; - tCar_spec *c; + int i; + int plane; + br_actor *actor; + br_actor *bonny; + br_vector3 car_pos; + br_vector3 pos; + br_vector3 v; + br_vector3 up; + br_vector3 start; + br_vector3 end; + br_scalar ts; + br_scalar decay_factor; + tCar_spec *c; } // Offset: 26220 // Size: 304 void DisposeFlame() { - int j; - br_actor *actor; - br_material *material; + int j; + br_actor *actor; + br_material *material; } // Offset: 26524 // Size: 840 void InitFlame() { - int j; - int num; - char the_path[256]; - br_actor *actor; - br_material *material; + int j; + int num; + char the_path[256]; + br_actor *actor; + br_material *material; } // Offset: 27364 // Size: 1197 // EAX: pF void InitSplash(FILE *pF) { - int i; - int num_files; - int num; - br_actor *actor; - char the_path[256]; - char s[256]; - br_pixelmap *splash_maps[20]; + int i; + int num_files; + int num; + br_actor *actor; + char the_path[256]; + char s[256]; + br_pixelmap *splash_maps[20]; } // Offset: 28564 // Size: 257 void DisposeSplash() { - int i; + int i; } // Offset: 28824 @@ -589,47 +601,46 @@ void DisposeSplash() { // EDX: pDepth_buffer // EBX: pCamera void DrawTheGlow(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_actor *pCamera) { - int i; - br_scalar strength; - br_vector3 tv; - tU32 seed; + int i; + br_scalar strength; + br_vector3 tv; + tU32 seed; } // Offset: 29132 // Size: 944 // EAX: pCar void PipeInstantUnSmudge(tCar_spec *pCar) { - br_model *model; - br_model *b_model; - br_actor *actor; - br_actor *bonny; - int j; - int n; - int v; - int group; - tSmudged_vertex data[1000]; + br_model *model; + br_model *b_model; + br_actor *actor; + br_actor *bonny; + int j; + int n; + int v; + int group; + tSmudged_vertex data[1000]; } // Offset: 30076 // Size: 1828 // EAX: pCar // EDX: fire_point -void SmudgeCar(tCar_spec *pCar) { - int fire_point; - int v; - int j; - int real_vertex_number; - br_model *model; - br_model *b_model; - br_actor *actor; - br_actor *bonny; - br_scalar ts; - br_vector3 tv; - br_vector3 bonny_pos; - int group; - br_vector3 point; - tSmudged_vertex data[30]; - int n; +void SmudgeCar(tCar_spec *pCar, int fire_point) { + int v; + int j; + int real_vertex_number; + br_model *model; + br_model *b_model; + br_actor *actor; + br_actor *bonny; + br_scalar ts; + br_vector3 tv; + br_vector3 bonny_pos; + int group; + br_vector3 point; + tSmudged_vertex data[30]; + int n; } // Offset: 31904 @@ -664,14 +675,14 @@ int GetSmokeOn() { // Size: 107 // EAX: pCar void StopCarSmoking(tCar_spec *pCar) { - int i; + int i; } // Offset: 32320 // Size: 91 // EAX: pCar void StopCarSmokingInstantly(tCar_spec *pCar) { - int i; + int i; } // Offset: 32412 @@ -679,9 +690,8 @@ void StopCarSmokingInstantly(tCar_spec *pCar) { // EAX: pCar // EDX: pDamage_index // EBX: pColour -void ConditionalSmokeColumn(tCar_spec *pCar, int pDamage_index) { - int pColour; - int i; +void ConditionalSmokeColumn(tCar_spec *pCar, int pDamage_index, int pColour) { + int i; } // Offset: 32660 @@ -691,13 +701,13 @@ void ConditionalSmokeColumn(tCar_spec *pCar, int pDamage_index) { // EBX: normal // ECX: pTime void SingleSplash(tCar_spec *pCar, br_vector3 *sp, br_vector3 *normal, tU32 pTime) { - br_matrix34 *mat; - br_matrix34 *c_mat; - br_vector3 tv; - br_vector3 vel; - br_scalar size; - br_scalar speed; - br_scalar ts; + br_matrix34 *mat; + br_matrix34 *c_mat; + br_vector3 tv; + br_vector3 vel; + br_scalar size; + br_scalar speed; + br_scalar ts; } // Offset: 33728 @@ -705,41 +715,41 @@ void SingleSplash(tCar_spec *pCar, br_vector3 *sp, br_vector3 *normal, tU32 pTim // EAX: pCar // EDX: pTime void CreateSplash(tCar_spec *pCar, tU32 pTime) { - br_vector3 normal_car_space; - br_vector3 pos2; - br_vector3 v_plane; - br_vector3 p; - br_vector3 tv; - br_vector3 tv2; - br_vector3 cm; - int i; - int j; - int mask; - int axis1; - int axis2; - int axis3; - br_bounds bnds; - br_scalar min; - br_scalar max; - br_scalar d; - br_scalar d2; - br_scalar dist; - br_scalar dist2; - br_scalar ts; - br_vector3 back_point[2]; - br_scalar back_val[2]; + br_vector3 normal_car_space; + br_vector3 pos2; + br_vector3 v_plane; + br_vector3 p; + br_vector3 tv; + br_vector3 tv2; + br_vector3 cm; + int i; + int j; + int mask; + int axis1; + int axis2; + int axis3; + br_bounds bnds; + br_scalar min; + br_scalar max; + br_scalar d; + br_scalar d2; + br_scalar dist; + br_scalar dist2; + br_scalar ts; + br_vector3 back_point[2]; + br_scalar back_val[2]; } // Offset: 36936 // Size: 977 // EAX: pTime void MungeSplash(tU32 pTime) { - int i; - br_vector3 tv; - br_scalar dt; - br_scalar ts; - tCar_spec *car; - tVehicle_type type; + int i; + br_vector3 tv; + br_scalar dt; + br_scalar ts; + tCar_spec *car; + tVehicle_type type; } // Offset: 37916 @@ -751,19 +761,19 @@ void RenderSplashes() { // Size: 207 // EAX: f void GetSmokeShadeTables(FILE *f) { - int i; - int red; - int green; - int blue; - br_scalar quarter; - br_scalar half; - br_scalar three_quarter; + int i; + int red; + int green; + int blue; + br_scalar quarter; + br_scalar half; + br_scalar three_quarter; } // Offset: 38268 // Size: 117 void FreeSmokeShadeTables() { - int i; + int i; } // Offset: 38388 @@ -781,29 +791,25 @@ void DisposeKevStuff() { // Size: 259 // EAX: pCar void DisposeKevStuffCar(tCar_spec *pCar) { - int i; + int i; } // Offset: 38780 // Size: 829 -void DoTrueColModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; - int group; - int j; - int val; +void DoTrueColModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data, br_uint_8 style, int on_screen) { + int group; + int j; + int val; } // Offset: 39612 // Size: 856 -void DoModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data) { - br_uint_8 style; - int on_screen; - int j; - int i; - int group; - tU32 t; - int val; +void DoModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data, br_uint_8 style, int on_screen) { + int j; + int i; + int group; + tU32 t; + int val; } // Offset: 40468 @@ -811,29 +817,29 @@ void DoModelThing(br_actor *actor, br_model *pModel, br_material *material, void // EAX: pActor // EDX: pShade void SetModelShade(br_actor *pActor, br_pixelmap *pShade) { - int i; - br_material *material; - br_model *model; + int i; + br_material *material; + br_model *model; } // Offset: 40672 // Size: 414 // EAX: pCar void MakeCarIt(tCar_spec *pCar) { - br_actor *actor; - br_actor *bonny; - br_pixelmap *shade[6]; - int shade_num; - int i; + br_actor *actor; + br_actor *bonny; + br_pixelmap *shade[6]; + int shade_num; + int i; } // Offset: 41088 // Size: 1093 // EAX: pCar void StopCarBeingIt(tCar_spec *pCar) { - int i; - int group; - br_actor *actor; - br_actor *bonny; + int i; + int group; + br_actor *actor; + br_actor *bonny; } diff --git a/src/DETHRACE/source/common/spark.h b/src/DETHRACE/source/common/spark.h index ebdba015..27190c7e 100644 --- a/src/DETHRACE/source/common/spark.h +++ b/src/DETHRACE/source/common/spark.h @@ -1,5 +1,9 @@ +#ifndef _SPARK_H_ +#define _SPARK_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 119 void DrawDot(br_scalar z, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr); @@ -79,7 +83,7 @@ void CreateSparkShower(br_vector3 *pos, br_vector3 *v, br_vector3 *pForce, tCar_ // EAX: pSpark_num // EDX: pos // EBX: length -void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length, wchar_t tv, br_memory_classes mat); +void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length); // Offset: 9596 // Size: 206 @@ -87,7 +91,7 @@ void AdjustSpark(int pSpark_num, br_vector3 *pos, br_vector3 *length, wchar_t tv // EDX: pos // EBX: pAge // ECX: pMaterial -void AdjustShrapnel(int pShrapnel_num, br_vector3 *pos, tU16 pAge, br_material *pMaterial, ldiv_t i, br_memory_classes __unk5__); +void AdjustShrapnel(int pShrapnel_num, br_vector3 *pos, tU16 pAge, br_material *pMaterial); // Offset: 9804 // Size: 44 @@ -146,7 +150,7 @@ void DrMatrix34Rotate(br_matrix34 *mat, br_angle r, br_vector3 *a); // Size: 245 // EAX: l // EDX: x -void SmokeLine(int l, int x, br_scalar zbuff, int r_squared, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr, br_scalar r_multiplier, br_scalar z_multiplier, br_scalar shade_offset, void (i)(), br_memory_classes r_multiplier_int, unsigned short z, br_vector3 *__unk14__, br_scalar __unk15__, br_scalar __unk16__); +void SmokeLine(int l, int x, br_scalar zbuff, int r_squared, tU8 *scr_ptr, tU16 *depth_ptr, tU8 *shade_ptr, br_scalar r_multiplier, br_scalar z_multiplier, br_scalar shade_offset); // Offset: 13528 // Size: 2390 @@ -183,7 +187,7 @@ void ReplaySmoke(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_act // EAX: pCar // EDX: wheel // EBX: pTime -void GenerateContinuousSmoke(tCar_spec *pCar, int wheel); +void GenerateContinuousSmoke(tCar_spec *pCar, int wheel, tU32 pTime); // Offset: 18572 // Size: 91 @@ -201,7 +205,7 @@ void RenderSmoke(br_pixelmap *pRender_screen, br_pixelmap *pDepth_buffer, br_act // Size: 672 // EAX: pos // EDX: v -void CreatePuffOfSmoke(br_vector3 *pos, br_vector3 *v, br_scalar strength, br_scalar pDecay_factor, int pType); +void CreatePuffOfSmoke(br_vector3 *pos, br_vector3 *v, br_scalar strength, br_scalar pDecay_factor, int pType, tCar_spec *pC); // Offset: 21152 // Size: 44 @@ -212,7 +216,7 @@ void ResetSmoke(); // EAX: pIndex // EDX: pType // EBX: pPos -void AdjustSmoke(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength, int __unk5__, br_memory_classes __unk6__, char __unk8__); +void AdjustSmoke(int pIndex, tU8 pType, br_vector3 *pPos, br_scalar pRadius, br_scalar pStrength); // Offset: 21340 // Size: 34 @@ -224,7 +228,7 @@ void ActorError(); // EDX: pCar // EBX: pVertex // ECX: pColour -void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour, unsigned int i); +void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour); // Offset: 21632 // Size: 880 @@ -232,7 +236,7 @@ void AdjustSmokeColumn(int pIndex, tCar_spec *pCar, int pVertex, int pColour, un // EDX: pColour // EBX: pVertex_index // ECX: pLifetime -void CreateSmokeColumn(tCar_spec *pCar, int pColour, int pVertex_index); +void CreateSmokeColumn(tCar_spec *pCar, int pColour, int pVertex_index, tU32 pLifetime); // Offset: 22512 // Size: 309 @@ -246,7 +250,7 @@ void GenerateItFoxShadeTable(); // Size: 153 // EAX: pIndex // EDX: pFrame_count -void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z, unsigned short i, br_memory_classes j, union actor); +void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z); // Offset: 23076 // Size: 373 @@ -259,14 +263,14 @@ void ReplayFlame(tSmoke_column *col, br_actor *actor); // EAX: c // EDX: pPos // EBX: pTime -void FlameAnimate(int c, br_vector3 *pPos, tU32 pTime, int col, br_memory_classes actor); +void FlameAnimate(int c, br_vector3 *pPos, tU32 pTime); // Offset: 24388 // Size: 537 // EAX: i // EDX: pTime // EBX: pRet_car_pos -void DoSmokeColumn(int i, tU32 pTime, br_vector3 *pRet_car_pos, signed char c, _complex actor); +void DoSmokeColumn(int i, tU32 pTime, br_vector3 *pRet_car_pos); // Offset: 24928 // Size: 132 @@ -311,7 +315,7 @@ void PipeInstantUnSmudge(tCar_spec *pCar); // Size: 1828 // EAX: pCar // EDX: fire_point -void SmudgeCar(tCar_spec *pCar); +void SmudgeCar(tCar_spec *pCar, int fire_point); // Offset: 31904 // Size: 105 @@ -351,7 +355,7 @@ void StopCarSmokingInstantly(tCar_spec *pCar); // EAX: pCar // EDX: pDamage_index // EBX: pColour -void ConditionalSmokeColumn(tCar_spec *pCar, int pDamage_index); +void ConditionalSmokeColumn(tCar_spec *pCar, int pDamage_index, int pColour); // Offset: 32660 // Size: 1065 @@ -401,11 +405,11 @@ void DisposeKevStuffCar(tCar_spec *pCar); // Offset: 38780 // Size: 829 -void DoTrueColModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data); +void DoTrueColModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 39612 // Size: 856 -void DoModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data); +void DoModelThing(br_actor *actor, br_model *pModel, br_material *material, void *render_data, br_uint_8 style, int on_screen); // Offset: 40468 // Size: 204 @@ -423,3 +427,4 @@ void MakeCarIt(tCar_spec *pCar); // EAX: pCar void StopCarBeingIt(tCar_spec *pCar); +#endif diff --git a/src/DETHRACE/source/common/structur.c b/src/DETHRACE/source/common/structur.c index 48b7cc13..ab2792a2 100644 --- a/src/DETHRACE/source/common/structur.c +++ b/src/DETHRACE/source/common/structur.c @@ -1,6 +1,5 @@ #include "structur.h" -// Global variables int gOpponent_mix[10][5]; int gPratcam_on; tRace_over_reason gRace_over_reason; @@ -12,9 +11,9 @@ int gMirror_on; // Offset: 0 // Size: 124 int NumberOfOpponentsLeft() { - int car_count; - int result; - tCar_spec *the_car; + int car_count; + int result; + tCar_spec *the_car; } // Offset: 124 @@ -47,8 +46,8 @@ void IncrementLap() { // EBX: pV2 // ECX: pNormal int RayHitFace(br_vector3 *pV0, br_vector3 *pV1, br_vector3 *pV2, br_vector3 *pNormal, br_vector3 *pStart, br_vector3 *pDir) { - tFace_ref the_face; - br_scalar rt; + tFace_ref the_face; + br_scalar rt; } // Offset: 1156 @@ -60,15 +59,15 @@ void WrongCheckpoint(int pCheckpoint_index) { // Offset: 1400 // Size: 870 void CheckCheckpoints() { - tCar_spec *car; - br_vector3 orig; - br_vector3 dir; - int i; - int j; - int cat; - int car_count; - int car_index; - tNet_game_player_info *net_player; + tCar_spec *car; + br_vector3 orig; + br_vector3 dir; + int i; + int j; + int cat; + int car_count; + int car_index; + tNet_game_player_info *net_player; } // Offset: 2272 @@ -96,36 +95,37 @@ void DoProgramDemo() { // EAX: pNastiness // EDX: pHad_scum int ChooseOpponent(int pNastiness, int *pHad_scum) { - int i; - int count; - int temp_array[40]; + int i; + int count; + int temp_array[40]; } // Offset: 2832 // Size: 294 // EAX: pRace_info void SelectOpponents(tRace_info *pRace_info) { - int i; - int rank_band; - int nastiness; - int had_scum; + int i; + int rank_band; + int nastiness; + int had_scum; } // Offset: 3128 // Size: 269 // EAX: pCurrent_race // EDX: pNet_race_sequence -int PickNetRace(int pCurrent_race, tNet_sequence_type pNet_race_sequence, char i) { - int new_index; - int races_count; - int most_seldom_seen; - int races_to_pick_from[50]; +int PickNetRace(int pCurrent_race, tNet_sequence_type pNet_race_sequence) { + int i; + int new_index; + int races_count; + int most_seldom_seen; + int races_to_pick_from[50]; } // Offset: 3400 // Size: 288 void SwapNetCarsLoad() { - int switched_res; + int switched_res; } // Offset: 3688 @@ -136,10 +136,10 @@ void SwapNetCarsDispose() { // Offset: 3856 // Size: 1161 void DoGame() { - tRace_result race_result; - int second_select_race; - int first_summary_done; - int i; + tRace_result race_result; + int second_select_race; + int first_summary_done; + int i; } // Offset: 5020 diff --git a/src/DETHRACE/source/common/structur.h b/src/DETHRACE/source/common/structur.h index 603c93bd..e75607b9 100644 --- a/src/DETHRACE/source/common/structur.h +++ b/src/DETHRACE/source/common/structur.h @@ -1,5 +1,9 @@ +#ifndef _STRUCTUR_H_ +#define _STRUCTUR_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 124 int NumberOfOpponentsLeft(); @@ -71,7 +75,7 @@ void SelectOpponents(tRace_info *pRace_info); // Size: 269 // EAX: pCurrent_race // EDX: pNet_race_sequence -int PickNetRace(int pCurrent_race, tNet_sequence_type pNet_race_sequence, char i); +int PickNetRace(int pCurrent_race, tNet_sequence_type pNet_race_sequence); // Offset: 3400 // Size: 288 @@ -105,3 +109,4 @@ void GoingToInterfaceFromRace(); // Size: 81 void GoingBackToRaceFromInterface(); +#endif diff --git a/src/DETHRACE/source/common/trig.c b/src/DETHRACE/source/common/trig.c index 3a5a617e..042a87d0 100644 --- a/src/DETHRACE/source/common/trig.c +++ b/src/DETHRACE/source/common/trig.c @@ -1,6 +1,5 @@ #include "trig.h" -// Global variables br_matrix23 mat23tmp1; br_matrix23 mat23tmp2; br_matrix34 mattmp1; @@ -60,15 +59,15 @@ br_scalar FastScalarCosAngle(br_angle pBR_angle) { // Size: 91 // EAX: pBR_angle br_scalar FastScalarTanAngle(br_angle pBR_angle) { - int angle_in_degrees; + int angle_in_degrees; } // Offset: 892 // Size: 201 float FastFloatArcSin(float pValue) { - float low_limit; - float high_limit; - float mid_point; + float low_limit; + float high_limit; + float mid_point; } // Offset: 1096 @@ -89,29 +88,29 @@ br_scalar FastScalarArcCos(br_scalar pValue) { // Offset: 1284 // Size: 388 float FastFloatArcTan2(float pY, float pX) { - float abs_x; - float abs_y; + float abs_x; + float abs_y; } // Offset: 1672 // Size: 67 br_scalar FastScalarArcTan2(br_scalar pY, br_scalar pX) { - br_scalar abs_x; - br_scalar abs_y; + br_scalar abs_x; + br_scalar abs_y; } // Offset: 1740 // Size: 533 br_angle FastFloatArcTan2Angle(float pY, float pX) { - float abs_x; - float abs_y; + float abs_x; + float abs_y; } // Offset: 2276 // Size: 65 br_angle FastScalarArcTan2Angle(br_scalar pY, br_scalar pX) { - br_scalar abs_x; - br_scalar abs_y; + br_scalar abs_x; + br_scalar abs_y; } // Offset: 2344 @@ -119,8 +118,8 @@ br_angle FastScalarArcTan2Angle(br_scalar pY, br_scalar pX) { // EAX: mat // EDX: rx void DRMatrix34RotateX(br_matrix34 *mat, br_angle rx) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 2528 @@ -128,8 +127,8 @@ void DRMatrix34RotateX(br_matrix34 *mat, br_angle rx) { // EAX: mat // EDX: ry void DRMatrix34RotateY(br_matrix34 *mat, br_angle ry) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 2712 @@ -137,8 +136,8 @@ void DRMatrix34RotateY(br_matrix34 *mat, br_angle ry) { // EAX: mat // EDX: rz void DRMatrix34RotateZ(br_matrix34 *mat, br_angle rz) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 2896 @@ -147,15 +146,15 @@ void DRMatrix34RotateZ(br_matrix34 *mat, br_angle rz) { // EDX: r // EBX: a void DRMatrix34Rotate(br_matrix34 *mat, br_angle r, br_vector3 *a) { - br_scalar t; - br_scalar s; - br_scalar c; - br_scalar txy; - br_scalar txz; - br_scalar tyz; - br_scalar sx; - br_scalar sy; - br_scalar sz; + br_scalar t; + br_scalar s; + br_scalar c; + br_scalar txy; + br_scalar txz; + br_scalar tyz; + br_scalar sx; + br_scalar sy; + br_scalar sz; } // Offset: 3228 @@ -221,8 +220,8 @@ void DRMatrix34PostRotate(br_matrix34 *mat, br_angle r, br_vector3 *axis) { // EAX: mat // EDX: rz void DRMatrix23Rotate(br_matrix23 *mat, br_angle rz) { - br_scalar s; - br_scalar c; + br_scalar s; + br_scalar c; } // Offset: 4128 diff --git a/src/DETHRACE/source/common/trig.h b/src/DETHRACE/source/common/trig.h index 5c328362..42275650 100644 --- a/src/DETHRACE/source/common/trig.h +++ b/src/DETHRACE/source/common/trig.h @@ -1,5 +1,9 @@ +#ifndef _TRIG_H_ +#define _TRIG_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 198 // EAX: pAngle_in_degrees @@ -170,3 +174,4 @@ void DRMatrix23PreRotate(br_matrix23 *mat, br_angle rz); // EDX: rz void DRMatrix23PostRotate(br_matrix23 *mat, br_angle rz); +#endif diff --git a/src/DETHRACE/source/common/utility.c b/src/DETHRACE/source/common/utility.c index 2b387f40..683389e8 100644 --- a/src/DETHRACE/source/common/utility.c +++ b/src/DETHRACE/source/common/utility.c @@ -1,6 +1,5 @@ #include "utility.h" -// Global variables tU32 gLong_key[4]; tU32 gOther_long_key[4]; char *gMisc_strings[250]; @@ -13,7 +12,7 @@ br_pixelmap *gSource_for_16bit_palette; // Offset: 0 // Size: 144 int CheckQuit() { - int got_as_far_as_verify; + int got_as_far_as_verify; } // Offset: 144 @@ -25,12 +24,12 @@ double sqr(double pN) { // Size: 542 // EAX: pS void EncodeLine(char *pS) { - int len; - int seed; - int i; - char *key; - unsigned char c; - FILE *test; + int len; + int seed; + int i; + char *key; + unsigned char c; + FILE *test; } // Offset: 740 @@ -38,8 +37,8 @@ void EncodeLine(char *pS) { // EAX: pA // EDX: pB int IRandomBetween(int pA, int pB) { - int num; - char s[32]; + int num; + char s[32]; } // Offset: 816 @@ -78,21 +77,19 @@ br_scalar SRandomPosNeg(br_scalar pN) { // Size: 506 // EAX: pF // EDX: pS -char* GetALineWithNoPossibleService(FILE *pF) { - unsigned char *pS; - signed char *result; - signed char s[256]; - int ch; - int len; - int i; +char* GetALineWithNoPossibleService(FILE *pF, unsigned char *pS) { + signed char *result; + signed char s[256]; + int ch; + int len; + int i; } // Offset: 1744 // Size: 60 // EAX: pF // EDX: pS -char* GetALineAndDontArgue(FILE *pF) { - char *pS; +char* GetALineAndDontArgue(FILE *pF, char *pS) { } // Offset: 1804 @@ -117,7 +114,7 @@ float tandeg(float pAngle) { // Size: 80 // EAX: pF tU32 GetFileLength(FILE *pF) { - tU32 the_size; + tU32 the_size; } // Offset: 2164 @@ -133,7 +130,7 @@ int BooleanTo1Or0(int pB) { // EBX: pH // ECX: pPixels br_pixelmap* DRPixelmapAllocate(br_uint_8 pType, br_uint_16 pW, br_uint_16 pH, void *pPixels, int pFlags) { - br_pixelmap *the_map; + br_pixelmap *the_map; } // Offset: 2348 @@ -142,10 +139,8 @@ br_pixelmap* DRPixelmapAllocate(br_uint_8 pType, br_uint_16 pW, br_uint_16 pH, v // EDX: pX // EBX: pY // ECX: pW -br_pixelmap* DRPixelmapAllocateSub(br_pixelmap *pPm, br_uint_16 pX, br_uint_16 pY) { - br_uint_16 pW; - br_uint_16 pH; - br_pixelmap *the_map; +br_pixelmap* DRPixelmapAllocateSub(br_pixelmap *pPm, br_uint_16 pX, br_uint_16 pY, br_uint_16 pW, br_uint_16 pH) { + br_pixelmap *the_map; } // Offset: 2468 @@ -155,7 +150,7 @@ br_pixelmap* DRPixelmapAllocateSub(br_pixelmap *pPm, br_uint_16 pX, br_uint_16 p // EBX: pWidth // ECX: pHeight br_pixelmap* DRPixelmapMatchSized(br_pixelmap *pSrc, tU8 pMatch_type, tS32 pWidth, tS32 pHeight) { - br_pixelmap *result; + br_pixelmap *result; } // Offset: 2664 @@ -164,15 +159,13 @@ br_pixelmap* DRPixelmapMatchSized(br_pixelmap *pSrc, tU8 pMatch_type, tS32 pWidt // EDX: pSrc // EBX: pSrc_width // ECX: pSrc_height -void CopyDoubled8BitTo16BitRectangle(br_pixelmap *pDst, br_pixelmap *pSrc, int pSrc_width, int pSrc_height, int pDst_x) { - int pDst_y; - br_pixelmap *pPalette; - int x; - int y; - tU8 *src_start; - tU16 *dst_start0; - tU16 *dst_start1; - tU16 *palette_entry; +void CopyDoubled8BitTo16BitRectangle(br_pixelmap *pDst, br_pixelmap *pSrc, int pSrc_width, int pSrc_height, int pDst_x, int pDst_y, br_pixelmap *pPalette) { + int x; + int y; + tU8 *src_start; + tU16 *dst_start0; + tU16 *dst_start1; + tU16 *palette_entry; } // Offset: 3024 @@ -180,54 +173,52 @@ void CopyDoubled8BitTo16BitRectangle(br_pixelmap *pDst, br_pixelmap *pSrc, int p // EAX: pSrc // EDX: pWidth // EBX: pHeight -br_pixelmap* Scale8BitPixelmap(br_pixelmap *pSrc, int pWidth) { - int pHeight; - br_pixelmap *result; - int x; - int y; - tU8 *src_pixels; - tU8 *dst_pixels; +br_pixelmap* Scale8BitPixelmap(br_pixelmap *pSrc, int pWidth, int pHeight) { + br_pixelmap *result; + int x; + int y; + tU8 *src_pixels; + tU8 *dst_pixels; } // Offset: 3288 // Size: 390 // EAX: pSrc // EDX: pN -br_pixelmap* Tile8BitPixelmap(br_pixelmap *pSrc) { - int pN; - br_pixelmap *result; - int new_width; - int new_height; - int x; - int y2; - int y; - tU8 *src_pixels; - tU8 *dst_pixels; +br_pixelmap* Tile8BitPixelmap(br_pixelmap *pSrc, int pN) { + br_pixelmap *result; + int new_width; + int new_height; + int x; + int y2; + int y; + tU8 *src_pixels; + tU8 *dst_pixels; } // Offset: 3680 // Size: 83 // EAX: pName // EDX: pList -tException_list FindExceptionInList(char *pName, tException_list pList, short __unk2__) { +tException_list FindExceptionInList(char *pName, tException_list pList) { } // Offset: 3764 // Size: 492 // EAX: pSrc br_pixelmap* PurifiedPixelmap(br_pixelmap *pSrc) { - br_pixelmap *intermediate; - br_pixelmap *result; - int new_width; - int new_height; - tException_list e; + br_pixelmap *intermediate; + br_pixelmap *result; + int new_width; + int new_height; + tException_list e; } // Offset: 4256 // Size: 105 // EAX: pFile_name br_pixelmap* DRPixelmapLoad(char *pFile_name) { - br_pixelmap *the_map; + br_pixelmap *the_map; } // Offset: 4364 @@ -235,16 +226,17 @@ br_pixelmap* DRPixelmapLoad(char *pFile_name) { // EAX: pFile_name // EDX: pPixelmaps // EBX: pNum -br_uint_32 DRPixelmapLoadMany(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum, unsigned char the_map) { - int number_loaded; - int i; +br_uint_32 DRPixelmapLoadMany(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum) { + br_pixelmap *the_map; + int number_loaded; + int i; } // Offset: 4540 // Size: 67 // EAX: pDelay void WaitFor(tU32 pDelay) { - tU32 start_time; + tU32 start_time; } // Offset: 4608 @@ -252,23 +244,20 @@ void WaitFor(tU32 pDelay) { // EAX: pActor // EDX: callback // EBX: arg -br_uint_32 DRActorEnumRecurse(br_actor *pActor, br_actor_enum_cbfn *callback) { - void *arg; - br_uint_32 result; +br_uint_32 DRActorEnumRecurse(br_actor *pActor, br_actor_enum_cbfn *callback, void *arg) { + br_uint_32 result; } // Offset: 4744 // Size: 77 -br_uint_32 CompareActorID(br_actor *pActor) { - void *pArg; +br_uint_32 CompareActorID(br_actor *pActor, void *pArg) { } // Offset: 4824 // Size: 60 // EAX: pSearch_root // EDX: pName -br_actor* DRActorFindRecurse(br_actor *pSearch_root) { - char *pName; +br_actor* DRActorFindRecurse(br_actor *pSearch_root, char *pName) { } // Offset: 4884 @@ -277,9 +266,8 @@ br_actor* DRActorFindRecurse(br_actor *pSearch_root) { // EDX: pMat // EBX: pCall_back // ECX: pArg -br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uint_32 (*pCall_back)(br_actor*, br_material*)) { - void *pArg; - br_uint_32 result; +br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uint_32 (*pCall_back)(br_actor*, br_material*, void*), void *pArg) { + br_uint_32 result; } // Offset: 5040 @@ -288,10 +276,9 @@ br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uin // EDX: pMatrix // EBX: pCall_back // ECX: pArg -br_uint_32 DRActorEnumRecurseWithTrans(br_actor *pActor, br_matrix34 *pMatrix, br_uint_32 (*pCall_back)(br_actor*, br_matrix34*)) { - void *pArg; - br_uint_32 result; - br_matrix34 combined_transform; +br_uint_32 DRActorEnumRecurseWithTrans(br_actor *pActor, br_matrix34 *pMatrix, br_uint_32 (*pCall_back)(br_actor*, br_matrix34*, void*), void *pArg) { + br_uint_32 result; + br_matrix34 combined_transform; } // Offset: 5228 @@ -310,32 +297,32 @@ float fsign(float pNumber) { // EAX: pPrefix // EDX: pExtension FILE* OpenUniqueFileB(char *pPrefix, char *pExtension) { - int index; - FILE *f; - tPath_name the_path; + int index; + FILE *f; + tPath_name the_path; } // Offset: 5632 // Size: 572 // EAX: pF void PrintScreenFile(FILE *pF) { - int i; - int j; - int bit_map_size; - int offset; - tU8 *pixel_ptr; + int i; + int j; + int bit_map_size; + int offset; + tU8 *pixel_ptr; } // Offset: 6204 // Size: 554 // EAX: pF void PrintScreenFile16(FILE *pF) { - int i; - int j; - int bit_map_size; - int offset; - tU8 *pixel_ptr; - tU16 pixel; + int i; + int j; + int bit_map_size; + int offset; + tU8 *pixel_ptr; + tU16 pixel; } // Offset: 6760 @@ -365,10 +352,8 @@ void AddLostTime(tU32 pLost_time) { // EDX: pStr // EBX: pFudge_colon // ECX: pForce_colon -void TimerString(tU32 pTime, char *pStr) { - int pFudge_colon; - int pForce_colon; - int seconds; +void TimerString(tU32 pTime, char *pStr, int pFudge_colon, int pForce_colon) { + int seconds; } // Offset: 7256 @@ -389,9 +374,8 @@ void GetCopyOfMiscString(int pIndex, char *pStr) { // EAX: pPeriod // EDX: pLast_change // EBX: pCurrent_state -int Flash(tU32 pPeriod, tU32 *pLast_change) { - int *pCurrent_state; - tU32 the_time; +int Flash(tU32 pPeriod, tU32 *pLast_change, int *pCurrent_state) { + tU32 the_time; } // Offset: 7488 @@ -413,12 +397,12 @@ double RGBDifferenceSqr(tRGB_colour *pColour_1, tRGB_colour *pColour_2) { // EAX: pRGB_colour // EDX: pPalette int FindBestMatch(tRGB_colour *pRGB_colour, br_pixelmap *pPalette) { - int n; - int near_c; - double min_d; - double d; - tRGB_colour trial_RGB; - br_colour *dp; + int n; + int near_c; + double min_d; + double d; + tRGB_colour trial_RGB; + br_colour *dp; } // Offset: 8056 @@ -428,7 +412,7 @@ int FindBestMatch(tRGB_colour *pRGB_colour, br_pixelmap *pPalette) { // EBX: pG // ECX: pB void BuildShadeTablePath(char *pThe_path, int pR, int pG, int pB) { - char s[32]; + char s[32]; } // Offset: 8288 @@ -437,7 +421,7 @@ void BuildShadeTablePath(char *pThe_path, int pR, int pG, int pB) { // EDX: pG // EBX: pB br_pixelmap* LoadGeneratedShadeTable(int pR, int pG, int pB) { - char the_path[256]; + char the_path[256]; } // Offset: 8368 @@ -446,10 +430,8 @@ br_pixelmap* LoadGeneratedShadeTable(int pR, int pG, int pB) { // EDX: pR // EBX: pG // ECX: pB -void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR) { - int pG; - int pB; - char the_path[256]; +void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR, int pG, int pB) { + char the_path[256]; } // Offset: 8448 @@ -458,7 +440,7 @@ void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR) { // EDX: pPalette // EBX: pRed_mix // ECX: pGreen_mix -br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, ldiv_t __unk8__) { +br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter) { } // Offset: 8556 @@ -467,24 +449,26 @@ br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix // EDX: pPalette // EBX: pRed_mix // ECX: pGreen_mix -br_pixelmap* GenerateDarkenedShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, br_scalar pDarken, unsigned int the_table, br_memory_classes the_RGB) { - tRGB_colour new_RGB; - tRGB_colour ref_col; - br_colour *cp; - char *tab_ptr; - char *shade_ptr; - double f_i; - double f_total_minus_1; - double ratio1; - double ratio2; - int i; - int c; +br_pixelmap* GenerateDarkenedShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, br_scalar pDarken) { + br_pixelmap *the_table; + tRGB_colour the_RGB; + tRGB_colour new_RGB; + tRGB_colour ref_col; + br_colour *cp; + char *tab_ptr; + char *shade_ptr; + double f_i; + double f_total_minus_1; + double ratio1; + double ratio2; + int i; + int c; } // Offset: 9320 // Size: 92 void PossibleService() { - tU32 last_service; + tU32 last_service; } // Offset: 9412 @@ -493,29 +477,28 @@ void PossibleService() { // EDX: pB // EBX: pC void DRMatrix34TApplyP(br_vector3 *pA, br_vector3 *pB, br_matrix34 *pC) { - br_scalar t1; - br_scalar t2; - br_scalar t3; + br_scalar t1; + br_scalar t2; + br_scalar t3; } // Offset: 9604 // Size: 132 // EAX: pPal // EDX: pEntry -tU16 PaletteEntry16Bit(br_pixelmap *pPal) { - int pEntry; - tU32 *src_entry; - int red; - int green; - int blue; +tU16 PaletteEntry16Bit(br_pixelmap *pPal, int pEntry) { + tU32 *src_entry; + int red; + int green; + int blue; } // Offset: 9736 // Size: 210 // EAX: pSrc br_pixelmap* PaletteOf16Bits(br_pixelmap *pSrc) { - tU16 *dst_entry; - int value; + tU16 *dst_entry; + int value; } // Offset: 9948 @@ -524,11 +507,11 @@ br_pixelmap* PaletteOf16Bits(br_pixelmap *pSrc) { // EDX: pSrc // EBX: pPalette void Copy8BitTo16Bit(br_pixelmap *pDst, br_pixelmap *pSrc, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src_start; - tU16 *dst_start; - tU16 *palette_entry; + int x; + int y; + tU8 *src_start; + tU16 *dst_start; + tU16 *palette_entry; } // Offset: 10168 @@ -538,11 +521,11 @@ void Copy8BitTo16Bit(br_pixelmap *pDst, br_pixelmap *pSrc, br_pixelmap *pPalette // EBX: pDst_y // ECX: pSrc void Copy8BitTo16BitRectangle(br_pixelmap *pDst, tS16 pDst_x, tS16 pDst_y, br_pixelmap *pSrc, tS16 pSrc_x, tS16 pSrc_y, tS16 pWidth, tS16 pHeight, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src_start; - tU16 *dst_start; - tU16 *palette_entry; + int x; + int y; + tU8 *src_start; + tU16 *dst_start; + tU16 *palette_entry; } // Offset: 10728 @@ -552,11 +535,11 @@ void Copy8BitTo16BitRectangle(br_pixelmap *pDst, tS16 pDst_x, tS16 pDst_y, br_pi // EBX: pDst_y // ECX: pSrc void Copy8BitTo16BitRectangleWithTransparency(br_pixelmap *pDst, tS16 pDst_x, tS16 pDst_y, br_pixelmap *pSrc, tS16 pSrc_x, tS16 pSrc_y, tS16 pWidth, tS16 pHeight, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src_start; - tU16 *dst_start; - tU16 *palette_entry; + int x; + int y; + tU8 *src_start; + tU16 *dst_start; + tU16 *palette_entry; } // Offset: 11248 @@ -566,11 +549,11 @@ void Copy8BitTo16BitRectangleWithTransparency(br_pixelmap *pDst, tS16 pDst_x, tS // EBX: pDst_y // ECX: pSrc void Copy8BitToOnscreen16BitRectangleWithTransparency(br_pixelmap *pDst, tS16 pDst_x, tS16 pDst_y, br_pixelmap *pSrc, tS16 pSrc_x, tS16 pSrc_y, tS16 pWidth, tS16 pHeight, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src_start; - tU16 *dst_start; - tU16 *palette_entry; + int x; + int y; + tU8 *src_start; + tU16 *dst_start; + tU16 *palette_entry; } // Offset: 11528 @@ -580,15 +563,15 @@ void Copy8BitToOnscreen16BitRectangleWithTransparency(br_pixelmap *pDst, tS16 pD // EBX: pDst_y // ECX: pSrc void Copy8BitRectangleTo16BitRhombusWithTransparency(br_pixelmap *pDst, tS16 pDst_x, tS16 pDst_y, br_pixelmap *pSrc, tS16 pSrc_x, tS16 pSrc_y, tS16 pWidth, tS16 pHeight, tX1616 pShear, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src_start; - tU16 *dst_start; - tU16 *palette_entry; - tX1616 total_shear; - tS16 sheared_x; - tS16 clipped_src_x; - tS16 clipped_width; + int x; + int y; + tU8 *src_start; + tU16 *dst_start; + tU16 *palette_entry; + tX1616 total_shear; + tS16 sheared_x; + tS16 clipped_src_x; + tS16 clipped_width; } // Offset: 12132 @@ -597,10 +580,7 @@ void Copy8BitRectangleTo16BitRhombusWithTransparency(br_pixelmap *pDst, tS16 pDs // EDX: dx // EBX: dy // ECX: src -void DRPixelmapRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx) { - br_int_16 sy; - br_uint_16 w; - br_uint_16 h; +void DRPixelmapRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx, br_int_16 sy, br_uint_16 w, br_uint_16 h) { } // Offset: 12308 @@ -616,10 +596,7 @@ void DRPixelmapCopy(br_pixelmap *dst, br_pixelmap *src) { // EDX: x // EBX: y // ECX: w -void DRPixelmapRectangleFill(br_pixelmap *dst, br_int_16 x, br_int_16 y) { - br_uint_16 w; - br_uint_16 h; - br_uint_32 colour; +void DRPixelmapRectangleFill(br_pixelmap *dst, br_int_16 x, br_int_16 y, br_uint_16 w, br_uint_16 h, br_uint_32 colour) { } // Offset: 12500 @@ -627,95 +604,95 @@ void DRPixelmapRectangleFill(br_pixelmap *dst, br_int_16 x, br_int_16 y) { // EAX: pPoint // EDX: pNormal int NormalSideOfPlane(br_vector3 *pPoint, br_vector3 *pNormal, br_scalar pD) { - br_scalar numer; - br_scalar denom; + br_scalar numer; + br_scalar denom; } // Offset: 12656 // Size: 351 // EAX: pMaterial br_material* DRMaterialClone(br_material *pMaterial) { - br_material *the_material; - char s[256]; - int name_suffix; + br_material *the_material; + char s[256]; + int name_suffix; } // Offset: 13008 // Size: 93 // EAX: s void StripCR(char *s) { - char *pos; + char *pos; } // Offset: 13104 // Size: 132 void SubsStringJob(char *pStr, ...) { - char *sub_str; - char temp_str[256]; - char *sub_pt; - va_list ap; + char *sub_str; + char temp_str[256]; + char *sub_pt; + va_list ap; } // Offset: 13236 // Size: 454 // EAX: pS void DecodeLine2(char *pS) { - int len; - int seed; - int i; - unsigned char c; - char *key; + int len; + int seed; + int i; + unsigned char c; + char *key; } // Offset: 13692 // Size: 304 // EAX: pS void EncodeLine2(char *pS) { - int len; - int seed; - int i; - int count; - unsigned char c; - char *key; + int len; + int seed; + int i; + int count; + unsigned char c; + char *key; } // Offset: 13996 // Size: 553 // EAX: pThe_path void EncodeFile(char *pThe_path) { - FILE *f; - FILE *d; - char line[257]; - char new_file[256]; - char *s; - char *result; - int ch; - int decode; - int len; - int count; + FILE *f; + FILE *d; + char line[257]; + char new_file[256]; + char *s; + char *result; + int ch; + int decode; + int len; + int count; } // Offset: 14552 // Size: 513 // EAX: pThe_path void EncodeFileWrapper(char *pThe_path) { - int len; + int len; } // Offset: 15068 // Size: 72 // EAX: pThe_path void EncodeAllFilesInDirectory(char *pThe_path) { - char s[256]; + char s[256]; } // Offset: 15140 // Size: 89 // EAX: pF void SkipNLines(FILE *pF) { - int i; - int count; - char s[256]; + int i; + int count; + char s[256]; } // Offset: 15232 @@ -723,42 +700,40 @@ void SkipNLines(FILE *pF) { // EAX: p1 // EDX: p2 int DRStricmp(char *p1, char *p2) { - int val; + int val; } // Offset: 15352 // Size: 559 // EAX: pArray // EDX: pCount -void GlorifyMaterial(br_material **pArray) { - int pCount; - int i; - int c; - br_pixelmap *big_tile; - tException_list e; +void GlorifyMaterial(br_material **pArray, int pCount) { + int i; + int c; + br_pixelmap *big_tile; + tException_list e; } // Offset: 15912 // Size: 178 // EAX: pArray // EDX: pN -void WhitenVertexRGB(br_model **pArray) { - int pN; - int m; - int v; - br_vertex *vertex; +void WhitenVertexRGB(br_model **pArray, int pN) { + int m; + int v; + br_vertex *vertex; } // Offset: 16092 // Size: 239 // EAX: pPalette void NobbleNonzeroBlacks(br_pixelmap *pPalette) { - tU32 red; - tU32 green; - tU32 blue; - tU32 value; - tU32 *palette_entry; - tU32 frobbed; + tU32 red; + tU32 green; + tU32 blue; + tU32 value; + tU32 *palette_entry; + tU32 frobbed; } // Offset: 16332 @@ -783,27 +758,24 @@ int AlreadyBlended(br_material *pMaterial) { // Size: 148 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterialTablishly(br_material *pMaterial) { - int pPercent; - char *s; +void BlendifyMaterialTablishly(br_material *pMaterial, int pPercent) { + char *s; } // Offset: 16740 // Size: 110 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterialPrimitively(br_material *pMaterial) { - int pPercent; - br_token_value alpha25[3]; - br_token_value alpha50[3]; - br_token_value alpha75[3]; +void BlendifyMaterialPrimitively(br_material *pMaterial, int pPercent) { + br_token_value alpha25[3]; + br_token_value alpha50[3]; + br_token_value alpha75[3]; } // Offset: 16852 // Size: 73 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterial(br_material *pMaterial) { - int pPercent; +void BlendifyMaterial(br_material *pMaterial, int pPercent) { } diff --git a/src/DETHRACE/source/common/utility.h b/src/DETHRACE/source/common/utility.h index 089b98a7..d8fa81c8 100644 --- a/src/DETHRACE/source/common/utility.h +++ b/src/DETHRACE/source/common/utility.h @@ -1,5 +1,9 @@ +#ifndef _UTILITY_H_ +#define _UTILITY_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 144 int CheckQuit(); @@ -49,13 +53,13 @@ br_scalar SRandomPosNeg(br_scalar pN); // Size: 506 // EAX: pF // EDX: pS -char* GetALineWithNoPossibleService(FILE *pF); +char* GetALineWithNoPossibleService(FILE *pF, unsigned char *pS); // Offset: 1744 // Size: 60 // EAX: pF // EDX: pS -char* GetALineAndDontArgue(FILE *pF); +char* GetALineAndDontArgue(FILE *pF, char *pS); // Offset: 1804 // Size: 86 @@ -96,7 +100,7 @@ br_pixelmap* DRPixelmapAllocate(br_uint_8 pType, br_uint_16 pW, br_uint_16 pH, v // EDX: pX // EBX: pY // ECX: pW -br_pixelmap* DRPixelmapAllocateSub(br_pixelmap *pPm, br_uint_16 pX, br_uint_16 pY); +br_pixelmap* DRPixelmapAllocateSub(br_pixelmap *pPm, br_uint_16 pX, br_uint_16 pY, br_uint_16 pW, br_uint_16 pH); // Offset: 2468 // Size: 195 @@ -112,26 +116,26 @@ br_pixelmap* DRPixelmapMatchSized(br_pixelmap *pSrc, tU8 pMatch_type, tS32 pWidt // EDX: pSrc // EBX: pSrc_width // ECX: pSrc_height -void CopyDoubled8BitTo16BitRectangle(br_pixelmap *pDst, br_pixelmap *pSrc, int pSrc_width, int pSrc_height, int pDst_x); +void CopyDoubled8BitTo16BitRectangle(br_pixelmap *pDst, br_pixelmap *pSrc, int pSrc_width, int pSrc_height, int pDst_x, int pDst_y, br_pixelmap *pPalette); // Offset: 3024 // Size: 262 // EAX: pSrc // EDX: pWidth // EBX: pHeight -br_pixelmap* Scale8BitPixelmap(br_pixelmap *pSrc, int pWidth); +br_pixelmap* Scale8BitPixelmap(br_pixelmap *pSrc, int pWidth, int pHeight); // Offset: 3288 // Size: 390 // EAX: pSrc // EDX: pN -br_pixelmap* Tile8BitPixelmap(br_pixelmap *pSrc); +br_pixelmap* Tile8BitPixelmap(br_pixelmap *pSrc, int pN); // Offset: 3680 // Size: 83 // EAX: pName // EDX: pList -tException_list FindExceptionInList(char *pName, tException_list pList, short __unk2__); +tException_list FindExceptionInList(char *pName, tException_list pList); // Offset: 3764 // Size: 492 @@ -148,7 +152,7 @@ br_pixelmap* DRPixelmapLoad(char *pFile_name); // EAX: pFile_name // EDX: pPixelmaps // EBX: pNum -br_uint_32 DRPixelmapLoadMany(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum, unsigned char the_map); +br_uint_32 DRPixelmapLoadMany(char *pFile_name, br_pixelmap **pPixelmaps, br_uint_16 pNum); // Offset: 4540 // Size: 67 @@ -160,17 +164,17 @@ void WaitFor(tU32 pDelay); // EAX: pActor // EDX: callback // EBX: arg -br_uint_32 DRActorEnumRecurse(br_actor *pActor, br_actor_enum_cbfn *callback); +br_uint_32 DRActorEnumRecurse(br_actor *pActor, br_actor_enum_cbfn *callback, void *arg); // Offset: 4744 // Size: 77 -br_uint_32 CompareActorID(br_actor *pActor); +br_uint_32 CompareActorID(br_actor *pActor, void *pArg); // Offset: 4824 // Size: 60 // EAX: pSearch_root // EDX: pName -br_actor* DRActorFindRecurse(br_actor *pSearch_root); +br_actor* DRActorFindRecurse(br_actor *pSearch_root, char *pName); // Offset: 4884 // Size: 156 @@ -178,7 +182,7 @@ br_actor* DRActorFindRecurse(br_actor *pSearch_root); // EDX: pMat // EBX: pCall_back // ECX: pArg -br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uint_32 (*pCall_back)(br_actor*, br_material*)); +br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uint_32 (*pCall_back)(br_actor*, br_material*, void*), void *pArg); // Offset: 5040 // Size: 188 @@ -186,7 +190,7 @@ br_uint_32 DRActorEnumRecurseWithMat(br_actor *pActor, br_material *pMat, br_uin // EDX: pMatrix // EBX: pCall_back // ECX: pArg -br_uint_32 DRActorEnumRecurseWithTrans(br_actor *pActor, br_matrix34 *pMatrix, br_uint_32 (*pCall_back)(br_actor*, br_matrix34*)); +br_uint_32 DRActorEnumRecurseWithTrans(br_actor *pActor, br_matrix34 *pMatrix, br_uint_32 (*pCall_back)(br_actor*, br_matrix34*, void*), void *pArg); // Offset: 5228 // Size: 89 @@ -236,7 +240,7 @@ void AddLostTime(tU32 pLost_time); // EDX: pStr // EBX: pFudge_colon // ECX: pForce_colon -void TimerString(tU32 pTime, char *pStr); +void TimerString(tU32 pTime, char *pStr, int pFudge_colon, int pForce_colon); // Offset: 7256 // Size: 55 @@ -254,7 +258,7 @@ void GetCopyOfMiscString(int pIndex, char *pStr); // EAX: pPeriod // EDX: pLast_change // EBX: pCurrent_state -int Flash(tU32 pPeriod, tU32 *pLast_change); +int Flash(tU32 pPeriod, tU32 *pLast_change, int *pCurrent_state); // Offset: 7488 // Size: 225 @@ -295,7 +299,7 @@ br_pixelmap* LoadGeneratedShadeTable(int pR, int pG, int pB); // EDX: pR // EBX: pG // ECX: pB -void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR); +void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR, int pG, int pB); // Offset: 8448 // Size: 106 @@ -303,7 +307,7 @@ void SaveGeneratedShadeTable(br_pixelmap *pThe_table, int pR); // EDX: pPalette // EBX: pRed_mix // ECX: pGreen_mix -br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, ldiv_t __unk8__); +br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter); // Offset: 8556 // Size: 761 @@ -311,7 +315,7 @@ br_pixelmap* GenerateShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix // EDX: pPalette // EBX: pRed_mix // ECX: pGreen_mix -br_pixelmap* GenerateDarkenedShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, br_scalar pDarken, unsigned int the_table, br_memory_classes the_RGB); +br_pixelmap* GenerateDarkenedShadeTable(int pHeight, br_pixelmap *pPalette, int pRed_mix, int pGreen_mix, int pBlue_mix, float pQuarter, float pHalf, float pThree_quarter, br_scalar pDarken); // Offset: 9320 // Size: 92 @@ -328,7 +332,7 @@ void DRMatrix34TApplyP(br_vector3 *pA, br_vector3 *pB, br_matrix34 *pC); // Size: 132 // EAX: pPal // EDX: pEntry -tU16 PaletteEntry16Bit(br_pixelmap *pPal); +tU16 PaletteEntry16Bit(br_pixelmap *pPal, int pEntry); // Offset: 9736 // Size: 210 @@ -380,7 +384,7 @@ void Copy8BitRectangleTo16BitRhombusWithTransparency(br_pixelmap *pDst, tS16 pDs // EDX: dx // EBX: dy // ECX: src -void DRPixelmapRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx); +void DRPixelmapRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx, br_int_16 sy, br_uint_16 w, br_uint_16 h); // Offset: 12308 // Size: 107 @@ -394,7 +398,7 @@ void DRPixelmapCopy(br_pixelmap *dst, br_pixelmap *src); // EDX: x // EBX: y // ECX: w -void DRPixelmapRectangleFill(br_pixelmap *dst, br_int_16 x, br_int_16 y); +void DRPixelmapRectangleFill(br_pixelmap *dst, br_int_16 x, br_int_16 y, br_uint_16 w, br_uint_16 h, br_uint_32 colour); // Offset: 12500 // Size: 156 @@ -456,13 +460,13 @@ int DRStricmp(char *p1, char *p2); // Size: 559 // EAX: pArray // EDX: pCount -void GlorifyMaterial(br_material **pArray); +void GlorifyMaterial(br_material **pArray, int pCount); // Offset: 15912 // Size: 178 // EAX: pArray // EDX: pN -void WhitenVertexRGB(br_model **pArray); +void WhitenVertexRGB(br_model **pArray, int pN); // Offset: 16092 // Size: 239 @@ -488,17 +492,18 @@ int AlreadyBlended(br_material *pMaterial); // Size: 148 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterialTablishly(br_material *pMaterial); +void BlendifyMaterialTablishly(br_material *pMaterial, int pPercent); // Offset: 16740 // Size: 110 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterialPrimitively(br_material *pMaterial); +void BlendifyMaterialPrimitively(br_material *pMaterial, int pPercent); // Offset: 16852 // Size: 73 // EAX: pMaterial // EDX: pPercent -void BlendifyMaterial(br_material *pMaterial); +void BlendifyMaterial(br_material *pMaterial, int pPercent); +#endif diff --git a/src/DETHRACE/source/common/world.c b/src/DETHRACE/source/common/world.c index 6101def3..d27528e1 100644 --- a/src/DETHRACE/source/common/world.c +++ b/src/DETHRACE/source/common/world.c @@ -1,6 +1,5 @@ #include "world.h" -// Global variables br_actor *gActor_array[500]; float *gGroove_funk_bindings[960]; br_actor *gDelete_list[500]; @@ -62,23 +61,23 @@ void SetSightDistance(br_scalar pYon) { // Size: 121 // EAX: pThe_name br_actor* FindActorInArray(char *pThe_name) { - int i; + int i; } // Offset: 276 // Size: 121 // EAX: pThe_name br_actor* FindLightInArray(char *pThe_name) { - int i; + int i; } // Offset: 400 // Size: 223 // EAX: pSource_actor br_actor* CloneActor(br_actor *pSource_actor) { - br_actor *new_actor; - br_actor *child_actor; - br_actor *new_child_actor; + br_actor *new_actor; + br_actor *child_actor; + br_actor *new_child_actor; } // Offset: 624 @@ -87,9 +86,7 @@ br_actor* CloneActor(br_actor *pSource_actor) { // EDX: pMax_pixelmaps // EBX: pMax_shade_tables // ECX: pMax_materials -void InitialiseStorageSpace(tBrender_storage *pStorage_space, int pMax_pixelmaps, int pMax_shade_tables) { - int pMax_materials; - int pMax_models; +void InitialiseStorageSpace(tBrender_storage *pStorage_space, int pMax_pixelmaps, int pMax_shade_tables, int pMax_materials, int pMax_models) { } // Offset: 872 @@ -102,7 +99,7 @@ void DisposeStorageSpace(tBrender_storage *pStorage_space) { // Size: 463 // EAX: pStorage_space void ClearOutStorageSpace(tBrender_storage *pStorage_space) { - int i; + int i; } // Offset: 1444 @@ -110,7 +107,7 @@ void ClearOutStorageSpace(tBrender_storage *pStorage_space) { // EAX: pStorage_space // EDX: pThe_pm tAdd_to_storage_result AddPixelmapToStorage(tBrender_storage *pStorage_space, br_pixelmap **pThe_pm) { - int i; + int i; } // Offset: 1676 @@ -118,7 +115,7 @@ tAdd_to_storage_result AddPixelmapToStorage(tBrender_storage *pStorage_space, br // EAX: pStorage_space // EDX: pThe_st tAdd_to_storage_result AddShadeTableToStorage(tBrender_storage *pStorage_space, br_pixelmap *pThe_st) { - int i; + int i; } // Offset: 1888 @@ -126,7 +123,7 @@ tAdd_to_storage_result AddShadeTableToStorage(tBrender_storage *pStorage_space, // EAX: pStorage_space // EDX: pThe_mat tAdd_to_storage_result AddMaterialToStorage(tBrender_storage *pStorage_space, br_material *pThe_mat) { - int i; + int i; } // Offset: 2124 @@ -134,7 +131,7 @@ tAdd_to_storage_result AddMaterialToStorage(tBrender_storage *pStorage_space, br // EAX: pStorage_space // EDX: pThe_mod tAdd_to_storage_result AddModelToStorage(tBrender_storage *pStorage_space, br_model *pThe_mod) { - int i; + int i; } // Offset: 2356 @@ -142,34 +139,31 @@ tAdd_to_storage_result AddModelToStorage(tBrender_storage *pStorage_space, br_mo // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNPixelmaps(tBrender_storage *pStorage_space, FILE *pF) { - int pCount; - tPath_name the_path; - int i; - int j; - int new_ones; - int total; - char s[256]; - char *str; - br_pixelmap *temp_array[200]; +int LoadNPixelmaps(tBrender_storage *pStorage_space, FILE *pF, int pCount) { + tPath_name the_path; + int i; + int j; + int new_ones; + int total; + char s[256]; + char *str; + br_pixelmap *temp_array[200]; } // Offset: 2864 // Size: 195 // EAX: pStorage_space // EDX: pName -br_pixelmap* LoadSinglePixelmap(tBrender_storage *pStorage_space) { - char *pName; - br_pixelmap *temp; +br_pixelmap* LoadSinglePixelmap(tBrender_storage *pStorage_space, char *pName) { + br_pixelmap *temp; } // Offset: 3060 // Size: 195 // EAX: pStorage_space // EDX: pName -br_material* LoadSingleMaterial(tBrender_storage *pStorage_space) { - char *pName; - br_material *temp; +br_material* LoadSingleMaterial(tBrender_storage *pStorage_space, char *pName) { + br_material *temp; } // Offset: 3256 @@ -177,25 +171,23 @@ br_material* LoadSingleMaterial(tBrender_storage *pStorage_space) { // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNShadeTables(tBrender_storage *pStorage_space, FILE *pF) { - int pCount; - tPath_name the_path; - int i; - int j; - int new_ones; - int total; - char s[256]; - char *str; - br_pixelmap *temp_array[50]; +int LoadNShadeTables(tBrender_storage *pStorage_space, FILE *pF, int pCount) { + tPath_name the_path; + int i; + int j; + int new_ones; + int total; + char s[256]; + char *str; + br_pixelmap *temp_array[50]; } // Offset: 3652 // Size: 195 // EAX: pStorage_space // EDX: pName -br_pixelmap* LoadSingleShadeTable(tBrender_storage *pStorage_space) { - char *pName; - br_pixelmap *temp; +br_pixelmap* LoadSingleShadeTable(tBrender_storage *pStorage_space, char *pName) { + br_pixelmap *temp; } // Offset: 3848 @@ -203,16 +195,15 @@ br_pixelmap* LoadSingleShadeTable(tBrender_storage *pStorage_space) { // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNMaterials(tBrender_storage *pStorage_space, FILE *pF) { - int pCount; - tPath_name the_path; - int i; - int j; - int new_ones; - int total; - char s[256]; - char *str; - br_material *temp_array[200]; +int LoadNMaterials(tBrender_storage *pStorage_space, FILE *pF, int pCount) { + tPath_name the_path; + int i; + int j; + int new_ones; + int total; + char s[256]; + char *str; + br_material *temp_array[200]; } // Offset: 4264 @@ -220,18 +211,17 @@ int LoadNMaterials(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNModels(tBrender_storage *pStorage_space, FILE *pF) { - int pCount; - tPath_name the_path; - int i; - int j; - int new_ones; - int total; - char s[256]; - char *str; - br_model *temp_array[2000]; - v11model *prepared; - int group; +int LoadNModels(tBrender_storage *pStorage_space, FILE *pF, int pCount) { + tPath_name the_path; + int i; + int j; + int new_ones; + int total; + char s[256]; + char *str; + br_model *temp_array[2000]; + v11model *prepared; + int group; } // Offset: 4716 @@ -244,10 +234,9 @@ void DodgyModelUpdate(br_model *pM) { // Size: 197 // EAX: pOld // EDX: pSuffix -br_material* SuffixedMaterial(br_material *pOld) { - char *pSuffix; - br_material *new_mat; - char *new_id; +br_material* SuffixedMaterial(br_material *pOld, char *pSuffix) { + br_material *new_mat; + char *new_id; } // Offset: 5020 @@ -255,9 +244,9 @@ br_material* SuffixedMaterial(br_material *pOld) { // EAX: pModel // EDX: pFace int FaceIsRoad(br_model *pModel, tU16 pFace) { - br_vector3 v0; - br_vector3 v1; - br_vector3 cross; + br_vector3 v0; + br_vector3 v1; + br_vector3 cross; } // Offset: 5676 @@ -265,8 +254,8 @@ int FaceIsRoad(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* RoadPerspToUntex(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 5840 @@ -274,8 +263,8 @@ br_material* RoadPerspToUntex(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallPerspToLinear(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 6012 @@ -283,8 +272,8 @@ br_material* WallPerspToLinear(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallPerspToUntex(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 6200 @@ -292,9 +281,9 @@ br_material* WallPerspToUntex(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pCallback void ProcessModelFaceMaterials2(br_model *pModel, tPMFM2CB pCallback) { - tU16 f; - tU16 group; - br_material *old_mat; + tU16 f; + tU16 group; + br_material *old_mat; } // Offset: 6460 @@ -302,9 +291,9 @@ void ProcessModelFaceMaterials2(br_model *pModel, tPMFM2CB pCallback) { // EAX: pModel // EDX: pCallback void ProcessModelFaceMaterials(br_model *pModel, tPMFMCB pCallback) { - tU16 f; - br_material *possible_mat; - br_material *new_mat; + tU16 f; + br_material *possible_mat; + br_material *new_mat; } // Offset: 6636 @@ -312,18 +301,17 @@ void ProcessModelFaceMaterials(br_model *pModel, tPMFMCB pCallback) { // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNTrackModels(tBrender_storage *pStorage_space, FILE *pF) { - int pCount; - tPath_name the_path; - int i; - int j; - int new_ones; - int total; - int group; - char s[256]; - char *str; - br_model *temp_array[2000]; - v11model *prepared; +int LoadNTrackModels(tBrender_storage *pStorage_space, FILE *pF, int pCount) { + tPath_name the_path; + int i; + int j; + int new_ones; + int total; + int group; + char s[256]; + char *str; + br_model *temp_array[2000]; + v11model *prepared; } // Offset: 7192 @@ -331,14 +319,14 @@ int LoadNTrackModels(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF void LoadSomePixelmaps(tBrender_storage *pStorage_space, FILE *pF) { - tPath_name the_path; - int i; - int j; - int count; - int new_ones; - char s[256]; - char *str; - br_pixelmap *temp_array[200]; + tPath_name the_path; + int i; + int j; + int count; + int new_ones; + char s[256]; + char *str; + br_pixelmap *temp_array[200]; } // Offset: 7300 @@ -346,14 +334,14 @@ void LoadSomePixelmaps(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF void LoadSomeShadeTables(tBrender_storage *pStorage_space, FILE *pF) { - tPath_name the_path; - int i; - int j; - int count; - int new_ones; - char s[256]; - char *str; - br_pixelmap *temp_array[50]; + tPath_name the_path; + int i; + int j; + int count; + int new_ones; + char s[256]; + char *str; + br_pixelmap *temp_array[50]; } // Offset: 7408 @@ -361,14 +349,14 @@ void LoadSomeShadeTables(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF void LoadSomeMaterials(tBrender_storage *pStorage_space, FILE *pF) { - tPath_name the_path; - int i; - int j; - int count; - int new_ones; - char s[256]; - char *str; - br_material *temp_array[200]; + tPath_name the_path; + int i; + int j; + int count; + int new_ones; + char s[256]; + char *str; + br_material *temp_array[200]; } // Offset: 7516 @@ -376,14 +364,14 @@ void LoadSomeMaterials(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF void LoadSomeModels(tBrender_storage *pStorage_space, FILE *pF) { - tPath_name the_path; - int i; - int j; - int count; - int new_ones; - char s[256]; - char *str; - br_model *temp_array[2000]; + tPath_name the_path; + int i; + int j; + int count; + int new_ones; + char s[256]; + char *str; + br_model *temp_array[2000]; } // Offset: 7624 @@ -391,21 +379,21 @@ void LoadSomeModels(tBrender_storage *pStorage_space, FILE *pF) { // EAX: pStorage_space // EDX: pF void LoadSomeTrackModels(tBrender_storage *pStorage_space, FILE *pF) { - tPath_name the_path; - int i; - int j; - int count; - int new_ones; - char s[256]; - char *str; - br_model *temp_array[2000]; + tPath_name the_path; + int i; + int j; + int count; + int new_ones; + char s[256]; + char *str; + br_model *temp_array[2000]; } // Offset: 7732 // Size: 87 // EAX: pSlot_number // EDX: pPeriod_address -void AddFunkGrooveBinding(int pSlot_number, float *pPeriod_address, unsigned char __unk2__) { +void AddFunkGrooveBinding(int pSlot_number, float *pPeriod_address) { } // Offset: 7820 @@ -426,21 +414,21 @@ float ControlBoundFunkGroovePlus(int pSlot_number, float pValue) { // EDX: pEnd // EBX: pDelta void ShiftBoundGrooveFunks(char *pStart, char *pEnd, int pDelta) { - int i; + int i; } // Offset: 8160 // Size: 361 tFunkotronic_spec* AddNewFunkotronic() { - int i; + int i; } // Offset: 8524 // Size: 261 // EAX: pOwner void DisposeFunkotronics(int pOwner) { - int i; - tFunkotronic_spec *the_funk; + int i; + tFunkotronic_spec *the_funk; } // Offset: 8788 @@ -453,7 +441,7 @@ void AddProximityVertex(br_vector3 *pV, tFunkotronic_spec *pThe_funk) { // Offset: 8864 // Size: 65 void AddProximityVertexXYZ(br_scalar pX, br_scalar pY, br_scalar pZ, tFunkotronic_spec *pThe_funk) { - br_vector3 v; + br_vector3 v; } // Offset: 8932 @@ -462,8 +450,8 @@ void AddProximityVertexXYZ(br_scalar pX, br_scalar pY, br_scalar pZ, tFunkotroni // EDX: pMat // EBX: pThe_funk br_uint_32 CalcProximities(br_actor *pActor, br_material *pMat, tFunkotronic_spec *pThe_funk) { - br_face *the_face; - int i; + br_face *the_face; + int i; } // Offset: 9100 @@ -472,8 +460,8 @@ br_uint_32 CalcProximities(br_actor *pActor, br_material *pMat, tFunkotronic_spe // EDX: pMat // EBX: pThe_funk br_uint_32 AddProximities(br_actor *pActor, br_material *pMat, tFunkotronic_spec *pThe_funk) { - br_face *the_face; - int i; + br_face *the_face; + int i; } // Offset: 9652 @@ -482,7 +470,7 @@ br_uint_32 AddProximities(br_actor *pActor, br_material *pMat, tFunkotronic_spec // EDX: pVictim2 // EBX: pCulprit void Adjust2FloatsForExceptions(float *pVictim1, float *pVictim2, br_pixelmap *pCulprit) { - tException_list e; + tException_list e; } // Offset: 9804 @@ -490,38 +478,37 @@ void Adjust2FloatsForExceptions(float *pVictim1, float *pVictim2, br_pixelmap *p // EAX: pF // EDX: pOwner // EBX: pRef_offset -void AddFunkotronics(FILE *pF, int pOwner) { - int pRef_offset; - char s[256]; - char *str; - int first_time; - int i; - int j; - tFunkotronic_spec *the_funk; - float speed1; - float speed2; - float a_min; - float d_min; - float s_min; - float a_max; - float d_max; - float s_max; - void *the_pixels; - br_pixelmap *the_pixelmap; +void AddFunkotronics(FILE *pF, int pOwner, int pRef_offset) { + char s[256]; + char *str; + int first_time; + int i; + int j; + tFunkotronic_spec *the_funk; + float speed1; + float speed2; + float a_min; + float d_min; + float s_min; + float a_max; + float d_max; + float s_max; + void *the_pixels; + br_pixelmap *the_pixelmap; } // Offset: 13060 // Size: 118 // EAX: pOwner void DisposeGroovidelics(int pOwner) { - int i; - tGroovidelic_spec *the_groove; + int i; + tGroovidelic_spec *the_groove; } // Offset: 13180 // Size: 349 tGroovidelic_spec* AddNewGroovidelic() { - int i; + int i; } // Offset: 13532 @@ -530,31 +517,29 @@ tGroovidelic_spec* AddNewGroovidelic() { // EDX: pOwner // EBX: pParent_actor // ECX: pRef_offset -void AddGroovidelics(FILE *pF, int pOwner, br_actor *pParent_actor) { - int pRef_offset; - int pAllowed_to_be_absent; - char s[256]; - char *str; - int first_time; - int i; - int j; - tGroovidelic_spec *the_groove; +void AddGroovidelics(FILE *pF, int pOwner, br_actor *pParent_actor, int pRef_offset, int pAllowed_to_be_absent) { + char s[256]; + char *str; + int first_time; + int i; + int j; + tGroovidelic_spec *the_groove; } // Offset: 16148 // Size: 161 // EAX: pOwner void KillGroovadelic(int pOwner) { - int i; - tGroovidelic_spec *the_groove; + int i; + tGroovidelic_spec *the_groove; } // Offset: 16312 // Size: 186 // EAX: pOwner void KillFunkotronic(int pOwner) { - int i; - tFunkotronic_spec *the_funk; + int i; + tFunkotronic_spec *the_funk; } // Offset: 16500 @@ -562,10 +547,9 @@ void KillFunkotronic(int pOwner) { // EAX: pActor // EDX: pMatrix // EBX: pArg -br_uint_32 DeleteBastards(br_actor *pActor, br_matrix34 *pMatrix) { - void *pArg; - int i; - int parent_already_doomed; +br_uint_32 DeleteBastards(br_actor *pActor, br_matrix34 *pMatrix, void *pArg) { + int i; + int parent_already_doomed; } // Offset: 16736 @@ -578,18 +562,17 @@ void DeleteAnyZeroBastards() { // EAX: pActor // EDX: pMatrix // EBX: pArg -br_uint_32 ApplyTransToModels(br_actor *pActor, br_matrix34 *pMatrix) { - void *pArg; - int i; - br_vector3 temp_point; +br_uint_32 ApplyTransToModels(br_actor *pActor, br_matrix34 *pMatrix, void *pArg) { + int i; + br_vector3 temp_point; } // Offset: 17068 // Size: 120 // EAX: pActor int FindSpecVolIndex(br_actor *pActor) { - int i; - tSpecial_volume *v; + int i; + tSpecial_volume *v; } // Offset: 17188 @@ -598,37 +581,36 @@ int FindSpecVolIndex(br_actor *pActor) { // EDX: pMat_1 // EBX: pMat_2 // ECX: pAxis_0 -void MungeMaterial(br_matrix34 *pMat, br_material *pMat_1, br_material *pMat_2, int pAxis_0) { - int pAxis_1; +void MungeMaterial(br_matrix34 *pMat, br_material *pMat_1, br_material *pMat_2, int pAxis_0, int pAxis_1) { } // Offset: 17432 // Size: 166 // EAX: pActor void SetSpecVolMatSize(br_actor *pActor) { - br_model *model; + br_model *model; } // Offset: 17600 // Size: 115 // EAX: pSpec void FindInverseAndWorldBox(tSpecial_volume *pSpec) { - br_bounds bnds; + br_bounds bnds; } // Offset: 17716 // Size: 109 void UpdateSpecVol() { - int index; - tSpecial_volume *v; + int index; + tSpecial_volume *v; } // Offset: 17828 // Size: 834 void SaveSpecialVolumes() { - FILE *f; - int i; - tSpecial_volume *v; + FILE *f; + int i; + tSpecial_volume *v; } // Offset: 18664 @@ -677,10 +659,10 @@ br_uint_32 ProcessFaceMaterials(br_actor *pActor, tPMFMCB pCallback) { // Size: 236 // EAX: pm int DRPixelmapHasZeros(br_pixelmap *pm) { - int x; - int y; - char *row_ptr; - char *pp; + int x; + int y; + char *row_ptr; + char *pp; } // Offset: 19684 @@ -688,35 +670,35 @@ int DRPixelmapHasZeros(br_pixelmap *pm) { // EAX: pStorage // EDX: pMap int StorageContainsPixelmap(tBrender_storage *pStorage, br_pixelmap *pMap) { - int i; + int i; } // Offset: 19812 // Size: 266 // EAX: pStorage void HideStoredOpaqueTextures(tBrender_storage *pStorage) { - int i; + int i; } // Offset: 20080 // Size: 224 // EAX: pStorage void RevealStoredTransparentTextures(tBrender_storage *pStorage) { - int i; + int i; } // Offset: 20304 // Size: 236 // EAX: pStorage void HideStoredTextures(tBrender_storage *pStorage) { - int i; + int i; } // Offset: 20540 // Size: 197 // EAX: pStorage void RevealStoredTextures(tBrender_storage *pStorage) { - int i; + int i; } // Offset: 20740 @@ -743,8 +725,8 @@ void SetCarTexturingLevel(tCar_texturing_level pLevel) { // EAX: pIdent // EDX: pSuffix int HasThisSuffix(char *pIdent, char *pSuffix) { - size_t len_ident; - size_t len_suffix; + size_t len_ident; + size_t len_suffix; } // Offset: 21192 @@ -752,9 +734,9 @@ int HasThisSuffix(char *pIdent, char *pSuffix) { // EAX: pOld_ident // EDX: pSuffix br_material* UnsuffixedMaterial(char *pOld_ident, char *pSuffix) { - br_material *result; - int unsuffixed_len; - char *new_id; + br_material *result; + int unsuffixed_len; + char *new_id; } // Offset: 21340 @@ -762,8 +744,8 @@ br_material* UnsuffixedMaterial(char *pOld_ident, char *pSuffix) { // EAX: pModel // EDX: pFace br_material* RoadUntexToPersp(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 21460 @@ -771,8 +753,8 @@ br_material* RoadUntexToPersp(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallLinearToUntex(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 21700 @@ -780,8 +762,8 @@ br_material* WallLinearToUntex(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallUntexToLinear(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 21904 @@ -789,8 +771,8 @@ br_material* WallUntexToLinear(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallUntexToPersp(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 22060 @@ -798,8 +780,8 @@ br_material* WallUntexToPersp(br_model *pModel, tU16 pFace) { // EAX: pModel // EDX: pFace br_material* WallLinearToPersp(br_model *pModel, tU16 pFace) { - br_material *old_mat; - br_material *new_mat; + br_material *old_mat; + br_material *new_mat; } // Offset: 22172 @@ -834,7 +816,7 @@ void SetWallTexturingLevel(tWall_texturing_level pLevel) { // Size: 82 // EAX: pLevel void ReallySetWallTexturingLevel(tWall_texturing_level pLevel) { - tPMFMCB tweaker[3][3]; + tPMFMCB tweaker[3][3]; } // Offset: 22536 @@ -842,12 +824,12 @@ void ReallySetWallTexturingLevel(tWall_texturing_level pLevel) { // EAX: pModel // EDX: pFace br_material* DisposeSuffixedMaterials(br_model *pModel, tU16 pFace) { - size_t max_suffix_len; - br_material *mat; - br_material *victim; - char *suffixes[3]; - int s; - char *id; + size_t max_suffix_len; + br_material *mat; + br_material *victim; + char *suffixes[3]; + int s; + char *id; } // Offset: 22836 @@ -857,15 +839,14 @@ void DisposeTexturingMaterials() { // Offset: 23000 // Size: 73 -br_uint_32 SetAccessoryRenderingCB(br_actor *pActor) { - void *pFlag; +br_uint_32 SetAccessoryRenderingCB(br_actor *pActor, void *pFlag) { } // Offset: 23076 // Size: 100 // EAX: pOn void SetAccessoryRendering(int pOn) { - int style; + int style; } // Offset: 23176 @@ -889,9 +870,8 @@ int GetCarSimplificationLevel() { // EAX: pF // EDX: pSpec // EBX: pScreen_name_str -void ParseSpecialVolume(FILE *pF, tSpecial_volume *pSpec) { - char *pScreen_name_str; - char s[256]; +void ParseSpecialVolume(FILE *pF, tSpecial_volume *pSpec, char *pScreen_name_str) { + char s[256]; } // Offset: 23584 @@ -905,25 +885,25 @@ void AddExceptionToList(tException_list *pDst, tException_list pNew) { // Size: 527 // EAX: pName void LoadExceptionsFile(char *pName) { - FILE *f; - char line[256]; - char *tok; - int file_version; - tException_list e; - char delimiters[4]; + FILE *f; + char line[256]; + char *tok; + int file_version; + tException_list e; + char delimiters[4]; } // Offset: 24168 // Size: 91 // EAX: pTrack_file_name void LoadExceptionsFileForTrack(char *pTrack_file_name) { - tPath_name exceptions_file_name; + tPath_name exceptions_file_name; } // Offset: 24260 // Size: 104 void FreeExceptions() { - tException_list next; + tException_list next; } // Offset: 24364 @@ -931,49 +911,50 @@ void FreeExceptions() { // EAX: pFile_name // EDX: pTrack_spec // EBX: pRace_info -void LoadTrack(char *pFile_name, tTrack_spec *pTrack_spec, tRace_info *pRace_info, char temp_name, double f) { - FILE *non_car_f; - FILE *g; - int i; - int j; - int k; - int group; - int needs_updating; - int killed_sky; - int line_count; - int ped_subs_index; - int sl; - int num_materials; - int count; - int num_non_cars; - int style; - int cp_rect_w[2]; - int cp_rect_h[2]; - tPath_name the_path; - tPath_name general_file_path; - char s[256]; - char *str; - float temp_float; - br_actor *new_root; - br_vector3 a; - br_vector3 b; - tU16 sky_pixels_high; - tNon_car_spec *non_car; - tSpecial_volume *spec; - br_vector3 p[3]; - br_vector3 v1; - br_vector3 v2; - br_vector3 temp_v; - br_bounds temp_bounds; - tPed_subs *ped_subs; - br_pixelmap *sky; - br_material *material; +void LoadTrack(char *pFile_name, tTrack_spec *pTrack_spec, tRace_info *pRace_info) { + char temp_name[14]; + FILE *f; + FILE *non_car_f; + FILE *g; + int i; + int j; + int k; + int group; + int needs_updating; + int killed_sky; + int line_count; + int ped_subs_index; + int sl; + int num_materials; + int count; + int num_non_cars; + int style; + int cp_rect_w[2]; + int cp_rect_h[2]; + tPath_name the_path; + tPath_name general_file_path; + char s[256]; + char *str; + float temp_float; + br_actor *new_root; + br_vector3 a; + br_vector3 b; + tU16 sky_pixels_high; + tNon_car_spec *non_car; + tSpecial_volume *spec; + br_vector3 p[3]; + br_vector3 v1; + br_vector3 v2; + br_vector3 temp_v; + br_bounds temp_bounds; + tPed_subs *ped_subs; + br_pixelmap *sky; + br_material *material; } // Offset: 31676 // Size: 82 -br_uint_32 RemoveBounds(br_actor *pActor) { - void *pArg; +br_uint_32 RemoveBounds(br_actor *pActor, void *pArg) { } // Offset: 31760 @@ -986,8 +967,8 @@ void RemoveBoundsStructures(br_actor *pActor) { // Size: 439 // EAX: pTrack_spec void FreeTrack(tTrack_spec *pTrack_spec) { - int i; - tNon_car_spec *non_car; + int i; + tNon_car_spec *non_car; } // Offset: 32252 @@ -996,8 +977,7 @@ void FreeTrack(tTrack_spec *pTrack_spec) { // EDX: pTrack_spec // EBX: pCamera // ECX: pCamera_to_world_transform -void ProcessTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform) { - int pRender_blends; +void ProcessTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform, int pRender_blends) { } // Offset: 32348 @@ -1008,20 +988,20 @@ br_scalar NormaliseDegreeAngle(br_scalar pAngle) { // Offset: 32420 // Size: 9373 void FunkThoseTronics() { - int j; - int iteration_count; - int finished; - tFunkotronic_spec *the_funk; - br_vector3 *the_proximity; - tS32 the_time; - tS32 old_last_time; - tS32 time_diff; - br_matrix23 *mat_matrix; - br_material *the_material; - float f_the_time; - float rot_amount; - float f_time_diff; - br_pixelmap *old_colour_map; + int j; + int iteration_count; + int finished; + tFunkotronic_spec *the_funk; + br_vector3 *the_proximity; + tS32 the_time; + tS32 old_last_time; + tS32 time_diff; + br_matrix23 *mat_matrix; + br_material *the_material; + float f_the_time; + float rot_amount; + float f_time_diff; + br_pixelmap *old_colour_map; } // Offset: 41796 @@ -1030,12 +1010,12 @@ void FunkThoseTronics() { // EDX: ref_to_world // EBX: pWhich_axis void LollipopizeActor(br_actor *pSubject_actor, br_matrix34 *ref_to_world, tLollipop_mode pWhich_axis) { - br_vector3 ref_to_subject; - br_vector3 fixed_axis; - br_vector3 vector_a; - br_vector3 vector_b; - br_matrix34 subject_to_world; - br_matrix34 mat; + br_vector3 ref_to_subject; + br_vector3 fixed_axis; + br_vector3 vector_a; + br_vector3 vector_b; + br_matrix34 subject_to_world; + br_matrix34 mat; } // Offset: 42600 @@ -1049,7 +1029,7 @@ void CalcActorGlobalPos(br_vector3 *pResult, br_actor *pActor) { // Size: 320 // EAX: pPoint int PointOutOfSight(br_vector3 *pPoint, br_scalar pMax_distance) { - br_vector3 distance_vector; + br_vector3 distance_vector; } // Offset: 43060 @@ -1058,9 +1038,8 @@ int PointOutOfSight(br_vector3 *pPoint, br_scalar pMax_distance) { // EDX: pTime // EBX: pMat // ECX: pInterrupt_it -void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat) { - int pInterrupt_it; - br_scalar pos; +void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat, int pInterrupt_it) { + br_scalar pos; } // Offset: 46756 @@ -1069,14 +1048,13 @@ void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat // EDX: pTime // EBX: pMat // ECX: pInterrupt_it -void ObjectGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat) { - int pInterrupt_it; - int rock_it; - br_scalar x_size; - br_scalar y_size; - br_scalar z_size; - br_scalar pos; - br_bounds *bounds; +void ObjectGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat, int pInterrupt_it) { + int rock_it; + br_scalar x_size; + br_scalar y_size; + br_scalar z_size; + br_scalar pos; + br_bounds *bounds; } // Offset: 56176 @@ -1084,28 +1062,27 @@ void ObjectGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pM // EAX: pGroove // EDX: pTime // EBX: pInterrupt_it -void GrooveThisDelic(tGroovidelic_spec *pGroove, tU32 pTime) { - int pInterrupt_it; - br_actor *the_actor; - br_vector3 actor_pos; - br_matrix34 *the_mat; - tInterrupt_status old_path_interrupt; - tInterrupt_status old_object_interrupt; +void GrooveThisDelic(tGroovidelic_spec *pGroove, tU32 pTime, int pInterrupt_it) { + br_actor *the_actor; + br_vector3 actor_pos; + br_matrix34 *the_mat; + tInterrupt_status old_path_interrupt; + tInterrupt_status old_object_interrupt; } // Offset: 56788 // Size: 191 void GrooveThoseDelics() { - tGroovidelic_spec *the_groove; - float f_the_time; + tGroovidelic_spec *the_groove; + float f_the_time; } // Offset: 56980 // Size: 137 // EAX: pActor void StopGroovidelic(br_actor *pActor) { - int i; - tGroovidelic_spec *the_groove; + int i; + tGroovidelic_spec *the_groove; } // Offset: 57120 @@ -1114,14 +1091,15 @@ void StopGroovidelic(br_actor *pActor) { // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void SetGrooveInterrupt(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, signed char the_groove) { +void SetGrooveInterrupt(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption) { + tGroovidelic_spec *the_groove; } // Offset: 57240 // Size: 92 void ResetGrooveFlags() { - int i; - tGroovidelic_spec *the_groove; + int i; + tGroovidelic_spec *the_groove; } // Offset: 57332 @@ -1134,9 +1112,9 @@ tSpecial_volume* GetDefaultSpecialVolumeForWater() { // EAX: pP // EDX: pLast_vol tSpecial_volume* FindSpecialVolume(br_vector3 *pP, tSpecial_volume *pLast_vol) { - int i; - tSpecial_volume *v; - br_vector3 p; + int i; + tSpecial_volume *v; + br_vector3 p; } // Offset: 57724 @@ -1149,22 +1127,20 @@ void SaveAdditionalActors() { // EAX: pPos // EDX: pFace br_scalar DistanceFromFace(br_vector3 *pPos, tFace_ref *pFace) { - br_vector3 normal; + br_vector3 normal; } // Offset: 57864 // Size: 166 -br_uint_32 CalcHighestID(br_actor *pActor) { - int *pHighest; - char s[256]; - int number; +br_uint_32 CalcHighestID(br_actor *pActor, int *pHighest) { + char s[256]; + int number; } // Offset: 58032 // Size: 182 -br_uint_32 SetID(br_actor *pActor) { - void *pArg; - char s[256]; +br_uint_32 SetID(br_actor *pActor, void *pArg) { + char s[256]; } // Offset: 58216 @@ -1172,65 +1148,62 @@ br_uint_32 SetID(br_actor *pActor) { // EAX: pUniverse_actor // EDX: pActor void UniquificateActorsName(br_actor *pUniverse_actor, br_actor *pActor) { - int highest; + int highest; } // Offset: 58316 // Size: 107 // EAX: pActor // EDX: pPrefix -void AccessoryHeadup(br_actor *pActor) { - char *pPrefix; - char s[256]; - int i; - br_actor *original_actor; +void AccessoryHeadup(br_actor *pActor, char *pPrefix) { + char s[256]; + int i; + br_actor *original_actor; } // Offset: 58424 // Size: 132 -br_uint_32 CalcHighestNonAmID(br_actor *pActor) { - int *pHighest; - char s[256]; - int number; +br_uint_32 CalcHighestNonAmID(br_actor *pActor, int *pHighest) { + char s[256]; + int number; } // Offset: 58556 // Size: 443 -br_uint_32 SetIDAndDupModel(br_actor *pActor) { - void *pArg; - char s[256]; - char s2[256]; - br_model *new_model; +br_uint_32 SetIDAndDupModel(br_actor *pActor, void *pArg) { + char s[256]; + char s2[256]; + br_model *new_model; } // Offset: 59000 // Size: 100 // EAX: pActor void DuplicateIfNotAmpersand(br_actor *pActor) { - int highest; + int highest; } // Offset: 59100 // Size: 1246 // EAX: pIndex void DropActor(int pIndex) { - FILE *f; - tPath_name the_path; - char s[256]; - int i; - int face_bastard; - int face_count; - tBounds kev_bounds; - tFace_ref the_list[50]; - br_scalar nearest_bastard; - br_scalar distance_bastard; - br_scalar ts; - br_vector3 side_vector; - br_angle phi; - br_matrix34 mat; - br_transform new_transform; - br_actor *a; - br_actor *last_non_ampersand; + FILE *f; + tPath_name the_path; + char s[256]; + int i; + int face_bastard; + int face_count; + tBounds kev_bounds; + tFace_ref the_list[50]; + br_scalar nearest_bastard; + br_scalar distance_bastard; + br_scalar ts; + br_vector3 side_vector; + br_angle phi; + br_matrix34 mat; + br_transform new_transform; + br_actor *a; + br_actor *last_non_ampersand; } // Offset: 60348 @@ -1285,11 +1258,10 @@ void DropActor9() { // Offset: 60788 // Size: 273 -br_uint_32 IdentifyAccCB(br_actor *pActor) { - void *pArg; - br_scalar distance; - char s[256]; - br_vector3 v; +br_uint_32 IdentifyAccCB(br_actor *pActor, void *pArg) { + br_scalar distance; + char s[256]; + br_vector3 v; } // Offset: 61064 @@ -1299,18 +1271,16 @@ void IdentifyAcc() { // Offset: 61172 // Size: 108 -br_uint_32 DelGrooveRef(br_actor *pActor) { - void *pArg; - tGroovidelic_spec *the_groove; - int i; +br_uint_32 DelGrooveRef(br_actor *pActor, void *pArg) { + tGroovidelic_spec *the_groove; + int i; } // Offset: 61280 // Size: 177 -br_uint_32 DelReferencedModels(br_actor *pActor) { - void *pArg; - tGroovidelic_spec *the_groove; - int i; +br_uint_32 DelReferencedModels(br_actor *pActor, void *pArg) { + tGroovidelic_spec *the_groove; + int i; } // Offset: 61460 @@ -1320,9 +1290,8 @@ void DeleteAcc() { // Offset: 61596 // Size: 170 -br_uint_32 OffsetModel(br_actor *pActor) { - void *pArg; - int i; +br_uint_32 OffsetModel(br_actor *pActor, void *pArg) { + int i; } // Offset: 61768 @@ -1348,19 +1317,19 @@ void SnapAccToVertical() { // Size: 280 // EAX: pAngle void RotateAccessory(br_angle pAngle) { - br_vector3 mr_offset; + br_vector3 mr_offset; } // Offset: 62548 // Size: 377 void ScaleAccessory(float pScaling_factor) { - br_vector3 mr_offset; + br_vector3 mr_offset; } // Offset: 62928 // Size: 110 void MoveAccessory(br_scalar pX_shift, br_scalar pY_shift, br_scalar pZ_shift) { - br_vector3 v; + br_vector3 v; } // Offset: 63040 @@ -1579,27 +1548,26 @@ br_material* GetExternalMat() { // EDX: pIndex // EBX: pInt_mat // ECX: pExt_mat -void BuildSpecVolModel(tSpecial_volume *pSpec, int pIndex, br_material *pInt_mat) { - br_material *pExt_mat; - int i; - int j; - int temp; - tSpecial_volume *v; - br_actor *actor; - br_model *model; +void BuildSpecVolModel(tSpecial_volume *pSpec, int pIndex, br_material *pInt_mat, br_material *pExt_mat) { + int i; + int j; + int temp; + tSpecial_volume *v; + br_actor *actor; + br_model *model; } // Offset: 67484 // Size: 427 // EAX: pIndex void DropSpecVol(int pIndex) { - FILE *f; - tPath_name the_path; - int i; - int spec_count; - tSpecial_volume spec; - tSpecial_volume *new_specs; - char s[256]; + FILE *f; + tPath_name the_path; + int i; + int spec_count; + tSpecial_volume spec; + tSpecial_volume *new_specs; + char s[256]; } // Offset: 67912 @@ -1655,20 +1623,20 @@ void DropSpecVol9() { // Offset: 68344 // Size: 344 void IdentifySpecVol() { - int min_index; - tSpecial_volume *v; - br_scalar min_d; - br_scalar d; - br_vector3 *p; - char s[256]; + int min_index; + tSpecial_volume *v; + br_scalar min_d; + br_scalar d; + br_vector3 *p; + char s[256]; } // Offset: 68688 // Size: 349 // EAX: pIndex void DelSpecVolumeGraph(int pIndex) { - br_actor *actor; - br_model *model; + br_actor *actor; + br_model *model; } // Offset: 69040 @@ -1884,18 +1852,18 @@ void SnapSpecVolToVertical() { // Offset: 70932 // Size: 165 void ShowSpecialVolumes() { - int j; - int temp; - tSpecial_volume *v; - br_actor *actor; - br_model *model; - br_material *internal_mat; - br_material *external_mat; + int j; + int temp; + tSpecial_volume *v; + br_actor *actor; + br_model *model; + br_material *internal_mat; + br_material *external_mat; } // Offset: 71100 // Size: 112 void HideSpecialVolumes() { - tSpecial_volume *v; + tSpecial_volume *v; } diff --git a/src/DETHRACE/source/common/world.h b/src/DETHRACE/source/common/world.h index 48ccee01..272bd6f9 100644 --- a/src/DETHRACE/source/common/world.h +++ b/src/DETHRACE/source/common/world.h @@ -1,5 +1,9 @@ +#ifndef _WORLD_H_ +#define _WORLD_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 88 float MapSawToTriangle(float pNumber); @@ -29,7 +33,7 @@ br_actor* CloneActor(br_actor *pSource_actor); // EDX: pMax_pixelmaps // EBX: pMax_shade_tables // ECX: pMax_materials -void InitialiseStorageSpace(tBrender_storage *pStorage_space, int pMax_pixelmaps, int pMax_shade_tables); +void InitialiseStorageSpace(tBrender_storage *pStorage_space, int pMax_pixelmaps, int pMax_shade_tables, int pMax_materials, int pMax_models); // Offset: 872 // Size: 107 @@ -70,46 +74,46 @@ tAdd_to_storage_result AddModelToStorage(tBrender_storage *pStorage_space, br_mo // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNPixelmaps(tBrender_storage *pStorage_space, FILE *pF); +int LoadNPixelmaps(tBrender_storage *pStorage_space, FILE *pF, int pCount); // Offset: 2864 // Size: 195 // EAX: pStorage_space // EDX: pName -br_pixelmap* LoadSinglePixelmap(tBrender_storage *pStorage_space); +br_pixelmap* LoadSinglePixelmap(tBrender_storage *pStorage_space, char *pName); // Offset: 3060 // Size: 195 // EAX: pStorage_space // EDX: pName -br_material* LoadSingleMaterial(tBrender_storage *pStorage_space); +br_material* LoadSingleMaterial(tBrender_storage *pStorage_space, char *pName); // Offset: 3256 // Size: 394 // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNShadeTables(tBrender_storage *pStorage_space, FILE *pF); +int LoadNShadeTables(tBrender_storage *pStorage_space, FILE *pF, int pCount); // Offset: 3652 // Size: 195 // EAX: pStorage_space // EDX: pName -br_pixelmap* LoadSingleShadeTable(tBrender_storage *pStorage_space); +br_pixelmap* LoadSingleShadeTable(tBrender_storage *pStorage_space, char *pName); // Offset: 3848 // Size: 414 // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNMaterials(tBrender_storage *pStorage_space, FILE *pF); +int LoadNMaterials(tBrender_storage *pStorage_space, FILE *pF, int pCount); // Offset: 4264 // Size: 449 // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNModels(tBrender_storage *pStorage_space, FILE *pF); +int LoadNModels(tBrender_storage *pStorage_space, FILE *pF, int pCount); // Offset: 4716 // Size: 103 @@ -120,7 +124,7 @@ void DodgyModelUpdate(br_model *pM); // Size: 197 // EAX: pOld // EDX: pSuffix -br_material* SuffixedMaterial(br_material *pOld); +br_material* SuffixedMaterial(br_material *pOld, char *pSuffix); // Offset: 5020 // Size: 656 @@ -163,7 +167,7 @@ void ProcessModelFaceMaterials(br_model *pModel, tPMFMCB pCallback); // EAX: pStorage_space // EDX: pF // EBX: pCount -int LoadNTrackModels(tBrender_storage *pStorage_space, FILE *pF); +int LoadNTrackModels(tBrender_storage *pStorage_space, FILE *pF, int pCount); // Offset: 7192 // Size: 107 @@ -199,7 +203,7 @@ void LoadSomeTrackModels(tBrender_storage *pStorage_space, FILE *pF); // Size: 87 // EAX: pSlot_number // EDX: pPeriod_address -void AddFunkGrooveBinding(int pSlot_number, float *pPeriod_address, unsigned char __unk2__); +void AddFunkGrooveBinding(int pSlot_number, float *pPeriod_address); // Offset: 7820 // Size: 81 @@ -263,7 +267,7 @@ void Adjust2FloatsForExceptions(float *pVictim1, float *pVictim2, br_pixelmap *p // EAX: pF // EDX: pOwner // EBX: pRef_offset -void AddFunkotronics(FILE *pF, int pOwner); +void AddFunkotronics(FILE *pF, int pOwner, int pRef_offset); // Offset: 13060 // Size: 118 @@ -280,7 +284,7 @@ tGroovidelic_spec* AddNewGroovidelic(); // EDX: pOwner // EBX: pParent_actor // ECX: pRef_offset -void AddGroovidelics(FILE *pF, int pOwner, br_actor *pParent_actor); +void AddGroovidelics(FILE *pF, int pOwner, br_actor *pParent_actor, int pRef_offset, int pAllowed_to_be_absent); // Offset: 16148 // Size: 161 @@ -297,7 +301,7 @@ void KillFunkotronic(int pOwner); // EAX: pActor // EDX: pMatrix // EBX: pArg -br_uint_32 DeleteBastards(br_actor *pActor, br_matrix34 *pMatrix); +br_uint_32 DeleteBastards(br_actor *pActor, br_matrix34 *pMatrix, void *pArg); // Offset: 16736 // Size: 110 @@ -308,7 +312,7 @@ void DeleteAnyZeroBastards(); // EAX: pActor // EDX: pMatrix // EBX: pArg -br_uint_32 ApplyTransToModels(br_actor *pActor, br_matrix34 *pMatrix); +br_uint_32 ApplyTransToModels(br_actor *pActor, br_matrix34 *pMatrix, void *pArg); // Offset: 17068 // Size: 120 @@ -321,7 +325,7 @@ int FindSpecVolIndex(br_actor *pActor); // EDX: pMat_1 // EBX: pMat_2 // ECX: pAxis_0 -void MungeMaterial(br_matrix34 *pMat, br_material *pMat_1, br_material *pMat_2, int pAxis_0); +void MungeMaterial(br_matrix34 *pMat, br_material *pMat_1, br_material *pMat_2, int pAxis_0, int pAxis_1); // Offset: 17432 // Size: 166 @@ -504,7 +508,7 @@ void DisposeTexturingMaterials(); // Offset: 23000 // Size: 73 -br_uint_32 SetAccessoryRenderingCB(br_actor *pActor); +br_uint_32 SetAccessoryRenderingCB(br_actor *pActor, void *pFlag); // Offset: 23076 // Size: 100 @@ -529,7 +533,7 @@ int GetCarSimplificationLevel(); // EAX: pF // EDX: pSpec // EBX: pScreen_name_str -void ParseSpecialVolume(FILE *pF, tSpecial_volume *pSpec); +void ParseSpecialVolume(FILE *pF, tSpecial_volume *pSpec, char *pScreen_name_str); // Offset: 23584 // Size: 56 @@ -556,11 +560,11 @@ void FreeExceptions(); // EAX: pFile_name // EDX: pTrack_spec // EBX: pRace_info -void LoadTrack(char *pFile_name, tTrack_spec *pTrack_spec, tRace_info *pRace_info, char temp_name, double f); +void LoadTrack(char *pFile_name, tTrack_spec *pTrack_spec, tRace_info *pRace_info); // Offset: 31676 // Size: 82 -br_uint_32 RemoveBounds(br_actor *pActor); +br_uint_32 RemoveBounds(br_actor *pActor, void *pArg); // Offset: 31760 // Size: 52 @@ -578,7 +582,7 @@ void FreeTrack(tTrack_spec *pTrack_spec); // EDX: pTrack_spec // EBX: pCamera // ECX: pCamera_to_world_transform -void ProcessTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform); +void ProcessTrack(br_actor *pWorld, tTrack_spec *pTrack_spec, br_actor *pCamera, br_matrix34 *pCamera_to_world_transform, int pRender_blends); // Offset: 32348 // Size: 71 @@ -612,7 +616,7 @@ int PointOutOfSight(br_vector3 *pPoint, br_scalar pMax_distance); // EDX: pTime // EBX: pMat // ECX: pInterrupt_it -void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat); +void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat, int pInterrupt_it); // Offset: 46756 // Size: 9418 @@ -620,14 +624,14 @@ void PathGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat // EDX: pTime // EBX: pMat // ECX: pInterrupt_it -void ObjectGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat); +void ObjectGrooveBastard(tGroovidelic_spec *pGroove, tU32 pTime, br_matrix34 *pMat, int pInterrupt_it); // Offset: 56176 // Size: 611 // EAX: pGroove // EDX: pTime // EBX: pInterrupt_it -void GrooveThisDelic(tGroovidelic_spec *pGroove, tU32 pTime); +void GrooveThisDelic(tGroovidelic_spec *pGroove, tU32 pTime, int pInterrupt_it); // Offset: 56788 // Size: 191 @@ -644,7 +648,7 @@ void StopGroovidelic(br_actor *pActor); // EDX: pMatrix // EBX: pPath_interrupt // ECX: pObject_interrupt -void SetGrooveInterrupt(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption, signed char the_groove); +void SetGrooveInterrupt(int pGroove_index, br_matrix34 *pMatrix, int pPath_interrupt, int pObject_interrupt, float pPath_resumption, float pObject_resumption); // Offset: 57240 // Size: 92 @@ -672,11 +676,11 @@ br_scalar DistanceFromFace(br_vector3 *pPos, tFace_ref *pFace); // Offset: 57864 // Size: 166 -br_uint_32 CalcHighestID(br_actor *pActor); +br_uint_32 CalcHighestID(br_actor *pActor, int *pHighest); // Offset: 58032 // Size: 182 -br_uint_32 SetID(br_actor *pActor); +br_uint_32 SetID(br_actor *pActor, void *pArg); // Offset: 58216 // Size: 100 @@ -688,15 +692,15 @@ void UniquificateActorsName(br_actor *pUniverse_actor, br_actor *pActor); // Size: 107 // EAX: pActor // EDX: pPrefix -void AccessoryHeadup(br_actor *pActor); +void AccessoryHeadup(br_actor *pActor, char *pPrefix); // Offset: 58424 // Size: 132 -br_uint_32 CalcHighestNonAmID(br_actor *pActor); +br_uint_32 CalcHighestNonAmID(br_actor *pActor, int *pHighest); // Offset: 58556 // Size: 443 -br_uint_32 SetIDAndDupModel(br_actor *pActor); +br_uint_32 SetIDAndDupModel(br_actor *pActor, void *pArg); // Offset: 59000 // Size: 100 @@ -750,7 +754,7 @@ void DropActor9(); // Offset: 60788 // Size: 273 -br_uint_32 IdentifyAccCB(br_actor *pActor); +br_uint_32 IdentifyAccCB(br_actor *pActor, void *pArg); // Offset: 61064 // Size: 105 @@ -758,11 +762,11 @@ void IdentifyAcc(); // Offset: 61172 // Size: 108 -br_uint_32 DelGrooveRef(br_actor *pActor); +br_uint_32 DelGrooveRef(br_actor *pActor, void *pArg); // Offset: 61280 // Size: 177 -br_uint_32 DelReferencedModels(br_actor *pActor); +br_uint_32 DelReferencedModels(br_actor *pActor, void *pArg); // Offset: 61460 // Size: 135 @@ -770,7 +774,7 @@ void DeleteAcc(); // Offset: 61596 // Size: 170 -br_uint_32 OffsetModel(br_actor *pActor); +br_uint_32 OffsetModel(br_actor *pActor, void *pArg); // Offset: 61768 // Size: 54 @@ -975,7 +979,7 @@ br_material* GetExternalMat(); // EDX: pIndex // EBX: pInt_mat // ECX: pExt_mat -void BuildSpecVolModel(tSpecial_volume *pSpec, int pIndex, br_material *pInt_mat); +void BuildSpecVolModel(tSpecial_volume *pSpec, int pIndex, br_material *pInt_mat, br_material *pExt_mat); // Offset: 67484 // Size: 427 @@ -1207,3 +1211,4 @@ void ShowSpecialVolumes(); // Size: 112 void HideSpecialVolumes(); +#endif diff --git a/src/DETHRACE/source/pc-dos/dosnet.c b/src/DETHRACE/source/pc-dos/dosnet.c index eeaa5c0f..792f5fa8 100644 --- a/src/DETHRACE/source/pc-dos/dosnet.c +++ b/src/DETHRACE/source/pc-dos/dosnet.c @@ -1,6 +1,5 @@ #include "dosnet.h" -// Global variables _IPX_ELEMENT gListen_elements[16]; char gLocal_ipx_addr_string[32]; _IPX_ELEMENT gSend_elements[16]; @@ -42,7 +41,7 @@ void ClearupPDNetworkStuff() { // EAX: pFunction_name // EDX: pMessage // EBX: pAlleged_size -void MATTMessageCheck(char *pFunction_name, tNet_message *pMessage, int pAlleged_size, unsigned short __unk3__) { +void MATTMessageCheck(char *pFunction_name, tNet_message *pMessage, int pAlleged_size) { } // Offset: 244 @@ -52,18 +51,18 @@ void MATTMessageCheck(char *pFunction_name, tNet_message *pMessage, int pAlleged // EBX: pFname // ECX: pKeyname int GetProfileText(char *pDest, int pDest_len, char *pFname, char *pKeyname) { - FILE *fp; - char in_buf[256]; - int i; - int j; - int len; + FILE *fp; + char in_buf[256]; + int i; + int j; + int len; } // Offset: 728 // Size: 187 int GetSocketNumberFromProfileFile() { - int sscanf_res; - tU32 socknum; + int sscanf_res; + tU32 socknum; } // Offset: 916 @@ -76,15 +75,15 @@ tU32 EthernetAddressToU32(_IPX_LOCAL_TARGET *pAddr_ipx) { // Size: 175 // EAX: pString // EDX: pSock_addr_ipx -void NetNowIPXLocalTarget2String(char *pString, _IPX_LOCAL_TARGET *pSock_addr_ipx, signed char __unk2__) { +void NetNowIPXLocalTarget2String(char *pString, _IPX_LOCAL_TARGET *pSock_addr_ipx) { } // Offset: 1196 // Size: 157 // EAX: pMessage_str int GetMessageTypeFromMessage(char *pMessage_str) { - char *real_msg; - int msg_type_int; + char *real_msg; + int msg_type_int; } // Offset: 1356 @@ -98,8 +97,8 @@ int SameEthernetAddress(_IPX_LOCAL_TARGET *pAddr_ipx1, _IPX_LOCAL_TARGET *pAddr_ // Size: 194 // EAX: pPlayer_id _IPX_LOCAL_TARGET* GetIPXAddrFromPlayerID(tPlayer_ID pPlayer_id) { - int i; - tU8 *nodenum; + int i; + tU8 *nodenum; } // Offset: 1648 @@ -111,24 +110,24 @@ void MakeMessageToSend(int pMessage_type) { // Offset: 1716 // Size: 514 int ReceiveHostResponses() { - int i; - int already_registered; + int i; + int already_registered; } // Offset: 2232 // Size: 229 int BroadcastMessage() { - int errors; - char broadcast_addr_string[32]; - char *real_msg; + int errors; + char broadcast_addr_string[32]; + char *real_msg; } // Offset: 2464 // Size: 174 // EAX: wSocket BOOL hmiIPXCloseSocket(W32 wSocket) { - REGS regs; - SREGS sregs; + REGS regs; + SREGS sregs; } // Offset: 2640 @@ -136,10 +135,10 @@ BOOL hmiIPXCloseSocket(W32 wSocket) { // EAX: pECB_ptr // EDX: pOffset void hmiIPXListenForPacket(_IPX_ECB *pECB_ptr, tU32 pOffset) { - SREGS sregs; - REGS regs; - _IPX_HEADER *IPX_header_ptr; - _IPX_ECB *sIPXECB; + SREGS sregs; + REGS regs; + _IPX_HEADER *IPX_header_ptr; + _IPX_ECB *sIPXECB; } // Offset: 2980 @@ -152,10 +151,10 @@ BOOL hmiIPXPostListen(_IPX_ECB *pECB_ptr, tU32 pOffset) { // Offset: 3040 // Size: 278 BOOL hmiIPXGetData(PSTR pData, tU32 wDSize) { - tU32 packets_checked; - tU32 full_packet_ooer_missus; - _IPX_ECB *ECB_ptr; - tU32 round_robin_jobby; + tU32 packets_checked; + tU32 full_packet_ooer_missus; + _IPX_ECB *ECB_ptr; + tU32 round_robin_jobby; } // Offset: 3320 @@ -165,11 +164,11 @@ BOOL hmiIPXGetData(PSTR pData, tU32 wDSize) { // EBX: pHeader // ECX: wSize void hmiIPXSendPacket(_IPX_ECB *sECB, _IPX_ECB **pPacket, PSTR pHeader, W32 wSize) { - SREGS sregs; - REGS regs; - _IPX_HEADER *sIPXHeader; - _IPX_ECB *sIPXECB; - PSTR pIPXData; + SREGS sregs; + REGS regs; + _IPX_HEADER *sIPXHeader; + _IPX_ECB *sIPXECB; + PSTR pIPXData; } // Offset: 3744 @@ -179,25 +178,25 @@ void hmiIPXSendPacket(_IPX_ECB *sECB, _IPX_ECB **pPacket, PSTR pHeader, W32 wSiz // EBX: pData // ECX: wDSize BOOL hmiIPXSendDataDirect(PSTR pHeader, W32 wHSize, PSTR pData, W32 wDSize, _NETNOW_NODE_ADDR *sNode) { - W32 wIndex; - _IPX_ELEMENT *sElement; - W32 *pSequence; + W32 wIndex; + _IPX_ELEMENT *sElement; + W32 *pSequence; } // Offset: 4244 // Size: 183 // EAX: sInterworkAddr void hmiIPXGetInternetworkAddr(_IPX_INTERNET_ADDR *sInterworkAddr) { - SREGS sregs; - REGS regs; + SREGS sregs; + REGS regs; } // Offset: 4428 // Size: 211 // EAX: sNetworkAddr void hmiIPXGetLocalTarget(_IPX_LOCAL_TARGET *sNetworkAddr) { - SREGS sregs; - REGS regs; + SREGS sregs; + REGS regs; } // Offset: 4640 @@ -207,55 +206,55 @@ void hmiIPXGetLocalTarget(_IPX_LOCAL_TARGET *sNetworkAddr) { // EBX: pSegment // ECX: pSelector BOOL AllocateRealMem(W32 wSize, PSTR *pPtr, W32 *pSegment, tU16 *pSelector) { - REGS regs; - SREGS sregs; - W32 wAddress; - W32 wHandle; - W32 wSegment; - W32 wLinear; + REGS regs; + SREGS sregs; + W32 wAddress; + W32 wHandle; + W32 wSegment; + W32 wLinear; } // Offset: 4864 // Size: 165 // EAX: pSelector BOOL FreeRealMem(tU16 pSelector) { - REGS regs; - SREGS sregs; - W32 wAddress; - W32 wHandle; - W32 wSegment; - W32 wLinear; + REGS regs; + SREGS sregs; + W32 wAddress; + W32 wHandle; + W32 wSegment; + W32 wLinear; } // Offset: 5032 // Size: 210 BOOL hmiIPXInstalled() { - REGS regs; + REGS regs; } // Offset: 5244 // Size: 204 // EAX: wSocket BOOL hmiIPXOpenSocket(W32 wSocket) { - SREGS sregs; - REGS regs; + SREGS sregs; + REGS regs; } // Offset: 5448 // Size: 203 void GetLargestPacketSizeOoErBetterInsertLinfordChristieJokeHere() { - REGS regs; + REGS regs; } // Offset: 5652 // Size: 510 // EAX: wSocket BOOL hmiIPXInitSystem(W32 wSocket) { - W32 wNIndex; - W32 wIndex; - W32 wMIndex; - USHORT wSOffset; - USHORT wLOffset; + W32 wNIndex; + W32 wIndex; + W32 wMIndex; + USHORT wSOffset; + USHORT wLOffset; } // Offset: 6164 @@ -266,13 +265,13 @@ void GetIPXToStickItsEarToTheGround() { // Offset: 6252 // Size: 342 int PDNetInitialise() { - char profile_string[32]; - char key_name[32]; - int sscanf_res; - int i; - tU32 netnum; - char str[256]; - int mess_num; + char profile_string[32]; + char key_name[32]; + int sscanf_res; + int i; + tU32 netnum; + char str[256]; + int mess_num; } // Offset: 6596 @@ -294,13 +293,12 @@ void PDNetEndJoinList() { // Size: 369 // EAX: pGame // EDX: pIndex -int PDNetGetNextJoinGame(tNet_game_details *pGame) { - int pIndex; - tU32 next_broadcast_time; - int i; - int j; - int number_of_hosts_has_changed; - char str[256]; +int PDNetGetNextJoinGame(tNet_game_details *pGame, int pIndex) { + tU32 next_broadcast_time; + int i; + int j; + int number_of_hosts_has_changed; + char str[256]; } // Offset: 7220 @@ -314,16 +312,14 @@ void PDNetDisposeGameDetails(tNet_game_details *pDetails) { // EAX: pDetails // EDX: pHost_name // EBX: pHost_address -int PDNetHostGame(tNet_game_details *pDetails, char *pHost_name) { - void **pHost_address; +int PDNetHostGame(tNet_game_details *pDetails, char *pHost_name, void **pHost_address) { } // Offset: 7344 // Size: 62 // EAX: pDetails // EDX: pPlayer_name -int PDNetJoinGame(tNet_game_details *pDetails) { - char *pPlayer_name; +int PDNetJoinGame(tNet_game_details *pDetails, char *pPlayer_name) { } // Offset: 7408 @@ -363,8 +359,8 @@ void PDNetObtainSystemUserName(char *pName, int pMax_length) { // EDX: pMessage // EBX: pPlayer int PDNetSendMessageToPlayer(tNet_game_details *pDetails, tNet_message *pMessage, tPlayer_ID pPlayer) { - char str[256]; - _IPX_LOCAL_TARGET *remote_addr_ipx; + char str[256]; + _IPX_LOCAL_TARGET *remote_addr_ipx; } // Offset: 7960 @@ -372,8 +368,8 @@ int PDNetSendMessageToPlayer(tNet_game_details *pDetails, tNet_message *pMessage // EAX: pDetails // EDX: pMessage int PDNetSendMessageToAllPlayers(tNet_game_details *pDetails, tNet_message *pMessage) { - char str[256]; - int i; + char str[256]; + int i; } // Offset: 8236 @@ -381,9 +377,9 @@ int PDNetSendMessageToAllPlayers(tNet_game_details *pDetails, tNet_message *pMes // EAX: pDetails // EDX: pSender_address tNet_message* PDNetGetNextMessage(tNet_game_details *pDetails, void **pSender_address) { - char *receive_buffer; - char str[256]; - int msg_type; + char *receive_buffer; + char str[256]; + int msg_type; } // Offset: 8656 @@ -404,8 +400,7 @@ void PDNetDisposeMessage(tNet_game_details *pDetails, tNet_message *pMessage) { // Size: 62 // EAX: pPlayer // EDX: pSender_address -void PDNetSetPlayerSystemInfo(tNet_game_player_info *pPlayer) { - void *pSender_address; +void PDNetSetPlayerSystemInfo(tNet_game_player_info *pPlayer, void *pSender_address) { } // Offset: 8860 @@ -419,9 +414,8 @@ void PDNetDisposePlayer(tNet_game_player_info *pPlayer) { // EAX: pDetails // EDX: pMessage // EBX: pAddress -int PDNetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage) { - void *pAddress; - char str[256]; +int PDNetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress) { + char str[256]; } // Offset: 9116 diff --git a/src/DETHRACE/source/pc-dos/dosnet.h b/src/DETHRACE/source/pc-dos/dosnet.h index fd789cd9..e3477622 100644 --- a/src/DETHRACE/source/pc-dos/dosnet.h +++ b/src/DETHRACE/source/pc-dos/dosnet.h @@ -1,5 +1,9 @@ +#ifndef _DOSNET_H_ +#define _DOSNET_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 201 void ClearupPDNetworkStuff(); @@ -9,7 +13,7 @@ void ClearupPDNetworkStuff(); // EAX: pFunction_name // EDX: pMessage // EBX: pAlleged_size -void MATTMessageCheck(char *pFunction_name, tNet_message *pMessage, int pAlleged_size, unsigned short __unk3__); +void MATTMessageCheck(char *pFunction_name, tNet_message *pMessage, int pAlleged_size); // Offset: 244 // Size: 484 @@ -32,7 +36,7 @@ tU32 EthernetAddressToU32(_IPX_LOCAL_TARGET *pAddr_ipx); // Size: 175 // EAX: pString // EDX: pSock_addr_ipx -void NetNowIPXLocalTarget2String(char *pString, _IPX_LOCAL_TARGET *pSock_addr_ipx, signed char __unk2__); +void NetNowIPXLocalTarget2String(char *pString, _IPX_LOCAL_TARGET *pSock_addr_ipx); // Offset: 1196 // Size: 157 @@ -165,7 +169,7 @@ void PDNetEndJoinList(); // Size: 369 // EAX: pGame // EDX: pIndex -int PDNetGetNextJoinGame(tNet_game_details *pGame); +int PDNetGetNextJoinGame(tNet_game_details *pGame, int pIndex); // Offset: 7220 // Size: 51 @@ -177,13 +181,13 @@ void PDNetDisposeGameDetails(tNet_game_details *pDetails); // EAX: pDetails // EDX: pHost_name // EBX: pHost_address -int PDNetHostGame(tNet_game_details *pDetails, char *pHost_name); +int PDNetHostGame(tNet_game_details *pDetails, char *pHost_name, void **pHost_address); // Offset: 7344 // Size: 62 // EAX: pDetails // EDX: pPlayer_name -int PDNetJoinGame(tNet_game_details *pDetails); +int PDNetJoinGame(tNet_game_details *pDetails, char *pPlayer_name); // Offset: 7408 // Size: 51 @@ -246,7 +250,7 @@ void PDNetDisposeMessage(tNet_game_details *pDetails, tNet_message *pMessage); // Size: 62 // EAX: pPlayer // EDX: pSender_address -void PDNetSetPlayerSystemInfo(tNet_game_player_info *pPlayer); +void PDNetSetPlayerSystemInfo(tNet_game_player_info *pPlayer, void *pSender_address); // Offset: 8860 // Size: 51 @@ -258,7 +262,7 @@ void PDNetDisposePlayer(tNet_game_player_info *pPlayer); // EAX: pDetails // EDX: pMessage // EBX: pAddress -int PDNetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage); +int PDNetSendMessageToAddress(tNet_game_details *pDetails, tNet_message *pMessage, void *pAddress); // Offset: 9116 // Size: 61 @@ -269,3 +273,4 @@ int PDNetInitClient(tNet_game_details *pDetails); // Size: 44 int PDNetGetHeaderSize(); +#endif diff --git a/src/DETHRACE/source/pc-dos/dossys.c b/src/DETHRACE/source/pc-dos/dossys.c index b28e607f..84390676 100644 --- a/src/DETHRACE/source/pc-dos/dossys.c +++ b/src/DETHRACE/source/pc-dos/dossys.c @@ -1,6 +1,5 @@ #include "dossys.h" -// Global variables int gASCII_table[128]; tU32 gKeyboard_bits[8]; int gASCII_shift_table[128]; @@ -33,9 +32,9 @@ tU8 gScan_code[123][2]; // Offset: 0 // Size: 291 void KeyboardHandler() { - tU8 scan_code; - tU8 up; - tU8 extended; + tU8 scan_code; + tU8 up; + tU8 extended; } // Offset: 292 @@ -72,11 +71,10 @@ int KeyDown22(int pKey_index) { // Size: 141 // EAX: pKeys // EDX: pMark -void PDSetKeyArray(int *pKeys) { - int pMark; - int i; - tS32 joyX; - tS32 joyY; +void PDSetKeyArray(int *pKeys, int pMark) { + int i; + tS32 joyX; + tS32 joyY; } // Offset: 2612 @@ -89,7 +87,7 @@ int PDGetASCIIFromKey(int pKey) { // Size: 174 // EAX: pThe_str void PDFatalError(char *pThe_str) { - int been_here; + int been_here; } // Offset: 2864 @@ -101,9 +99,9 @@ void PDNonFatalError(char *pThe_str) { // Offset: 2920 // Size: 190 void PDInitialiseSystem() { - tPath_name the_path; - FILE *f; - int len; + tPath_name the_path; + FILE *f; + int len; } // Offset: 3112 @@ -125,7 +123,7 @@ void PDRevertPalette() { // Size: 90 // EAX: pArgc // EDX: pArgv -int PDInitScreenVars(int pArgc, char **pArgv, unsigned int __unk2__) { +int PDInitScreenVars(int pArgc, char **pArgv) { } // Offset: 3300 @@ -154,15 +152,15 @@ void PDAllocateScreenAndBack() { // EDX: pSrc // EBX: pPalette void Copy8BitTo16BitPixelmap(br_pixelmap *pDst, br_pixelmap *pSrc, br_pixelmap *pPalette) { - int x; - int y; - tU8 *src; - tU8 value; - tU8 red; - tU8 green; - tU8 blue; - tU16 *dst; - tU16 *palette_entry; + int x; + int y; + tU8 *src; + tU8 value; + tU8 red; + tU8 green; + tU8 blue; + tU16 *dst; + tU16 *palette_entry; } // Offset: 4132 @@ -172,17 +170,17 @@ void Copy8BitTo16BitPixelmap(br_pixelmap *pDst, br_pixelmap *pSrc, br_pixelmap * // EBX: pPalette // ECX: pOff void Double8BitTo16BitPixelmap(br_pixelmap *pDst, br_pixelmap *pSrc, br_pixelmap *pPalette, tU16 pOff, tU16 pSrc_width, tU16 pSrc_height) { - int x; - int y; - tU8 *src; - tU8 value; - tU8 red; - tU8 green; - tU8 blue; - tU16 *dst0; - tU16 *dst1; - tU16 sixteen; - tU16 *palette_entry; + int x; + int y; + tU8 *src; + tU8 value; + tU8 red; + tU8 green; + tU8 blue; + tU16 *dst0; + tU16 *dst1; + tU16 sixteen; + tU16 *palette_entry; } // Offset: 4440 @@ -220,10 +218,7 @@ void PDScreenBufferSwap(int pRendering_area_only) { // EDX: dx // EBX: dy // ECX: src -void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx) { - br_int_16 sy; - br_uint_16 w; - br_uint_16 h; +void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx, br_int_16 sy, br_uint_16 w, br_uint_16 h) { } // Offset: 5104 @@ -232,10 +227,7 @@ void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 d // EDX: x1 // EBX: y1 // ECX: x2 -void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1) { - br_int_16 x2; - br_int_16 y2; - br_uint_32 colour; +void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour) { } // Offset: 5172 @@ -244,10 +236,7 @@ void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1) { // EDX: x1 // EBX: y1 // ECX: x2 -void PDPixelmapVLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1) { - br_int_16 x2; - br_int_16 y2; - br_uint_32 colour; +void PDPixelmapVLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour) { } // Offset: 5240 @@ -264,16 +253,17 @@ void PDSetFileVariables() { // Size: 98 // EAX: pThe_path void PDBuildAppPath(char *pThe_path) { - int pos; + int pos; } // Offset: 5404 // Size: 133 // EAX: pThe_path // EDX: pAction_routine -void PDForEveryFile(char *pThe_path, void (*pAction_routine)(char*), signed char find_path) { - char found_path[256]; - find_t the_find_buffer; +void PDForEveryFile(char *pThe_path, void (*pAction_routine)(char*)) { + char find_path[256]; + char found_path[256]; + find_t the_find_buffer; } // Offset: 5540 @@ -287,10 +277,9 @@ void PDSetPalette(br_pixelmap *pThe_palette) { // EAX: pPalette // EDX: pFirst_colour // EBX: pCount -void PDSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour) { - int pCount; - int i; - tU8 *p; +void PDSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour, int pCount) { + int i; + tU8 *p; } // Offset: 5716 @@ -308,9 +297,9 @@ void PDSwitchToLoresMode() { // EAX: pButton_1 // EDX: pButton_2 void PDMouseButtons(int *pButton_1, int *pButton_2) { - br_uint_32 mouse_buttons; - br_int_32 mouse_x; - br_int_32 mouse_y; + br_uint_32 mouse_buttons; + br_int_32 mouse_x; + br_int_32 mouse_y; } // Offset: 5892 @@ -318,13 +307,13 @@ void PDMouseButtons(int *pButton_1, int *pButton_2) { // EAX: pX_coord // EDX: pY_coord void PDGetMousePosition(int *pX_coord, int *pY_coord) { - br_uint_32 mouse_buttons; - br_int_32 mouse_x2; - br_int_32 mouse_y2; - int delta_x; - int delta_y; - br_int_32 mouse_x; - br_int_32 mouse_y; + br_uint_32 mouse_buttons; + br_int_32 mouse_x2; + br_int_32 mouse_y2; + int delta_x; + int delta_y; + br_int_32 mouse_x; + br_int_32 mouse_y; } // Offset: 6272 @@ -341,9 +330,9 @@ int PDServiceSystem(tU32 pTime_since_last_call) { // Offset: 6352 // Size: 121 tU32 LargestBlockAvail() { - SREGS sregs; - tMem_info mem_info; - size_t memmax; + SREGS sregs; + tMem_info mem_info; + size_t memmax; } // Offset: 6476 @@ -351,7 +340,7 @@ tU32 LargestBlockAvail() { // EAX: pMaximum_required // EDX: pAmount_allocated void* PDGrabLargestMammaryWeCanPlayWith(tU32 pMaximum_required, tU32 *pAmount_allocated) { - void *result; + void *result; } // Offset: 6588 @@ -359,8 +348,8 @@ void* PDGrabLargestMammaryWeCanPlayWith(tU32 pMaximum_required, tU32 *pAmount_al // EAX: pBuffer // EDX: pBuffer_size void PDAllocateActionReplayBuffer(char **pBuffer, tU32 *pBuffer_size) { - tU32 lba; - tU32 required; + tU32 lba; + tU32 required; } // Offset: 6788 @@ -373,16 +362,17 @@ void PDDisposeActionReplayBuffer(char *pBuffer) { // Size: 146 // EAX: pProgpath void Usage(char *pProgpath) { - char basename[9]; + char basename[9]; } // Offset: 6972 // Size: 722 // EAX: pArgc // EDX: pArgv -int main(int pArgc, char **pArgv, unsigned int arg) { - int i; - float f; +int main(int pArgc, char **pArgv) { + int arg; + int i; + float f; } // Offset: 7696 @@ -393,23 +383,23 @@ int OurGetChar() { // Offset: 7760 // Size: 34 int PDGetGorePassword() { - int len; - int chances; - char password[17]; + int len; + int chances; + char password[17]; } // Offset: 7796 // Size: 73 // EAX: pGory void PDDisplayGoreworthiness(int pGory) { - tU32 delay_start; + tU32 delay_start; } // Offset: 7872 // Size: 35 // EAX: pStr void PDEnterDebugger(char *pStr) { - unsigned char *save_it; + unsigned char *save_it; } // Offset: 7908 @@ -427,9 +417,9 @@ int matherr(exception *err) { // Size: 127 // EAX: limit int LoopLimitTooLow(tU32 limit) { - clock_t start; - tU32 count; - tU32 val; + clock_t start; + tU32 count; + tU32 val; } // Offset: 8120 @@ -446,16 +436,16 @@ int InitJoysticks() { // Size: 182 // EAX: pBit tU32 ReadJoystickAxis(int pBit) { - tU32 val; - tU32 count; + tU32 val; + tU32 count; } // Offset: 8504 // Size: 406 void PDReadJoySticks() { - tU32 temp1y; - tU32 temp2x; - tU32 temp2y; + tU32 temp1y; + tU32 temp2x; + tU32 temp2y; } // Offset: 8912 @@ -522,7 +512,7 @@ int PDGetJoy2Button4() { // Size: 51 // EAX: pThe_path int PDFileUnlock(char *pThe_path) { - unsigned int attr; + unsigned int attr; } // Offset: 9876 @@ -535,11 +525,12 @@ void CriticalISR(INTPACK pRegs) { // EAX: pThe_path // EDX: pFile_name // EBX: pMin_size -int PDCheckDriveExists2(char *pThe_path, char *pFile_name, tU32 pMin_size, char buf) { - void (*old_critical_isr)(); - int stat_failed; - char slasher[4]; - char the_path[256]; +int PDCheckDriveExists2(char *pThe_path, char *pFile_name, tU32 pMin_size) { + stat buf; + void (*old_critical_isr)(); + int stat_failed; + char slasher[4]; + char the_path[256]; } // Offset: 10184 diff --git a/src/DETHRACE/source/pc-dos/dossys.h b/src/DETHRACE/source/pc-dos/dossys.h index dc0b448d..a9a8abcf 100644 --- a/src/DETHRACE/source/pc-dos/dossys.h +++ b/src/DETHRACE/source/pc-dos/dossys.h @@ -1,5 +1,9 @@ +#ifndef _DOSSYS_H_ +#define _DOSSYS_H_ + #include "dr_types.h" #include "br_types.h" + // Offset: 0 // Size: 291 void KeyboardHandler(); @@ -33,7 +37,7 @@ int KeyDown22(int pKey_index); // Size: 141 // EAX: pKeys // EDX: pMark -void PDSetKeyArray(int *pKeys); +void PDSetKeyArray(int *pKeys, int pMark); // Offset: 2612 // Size: 73 @@ -70,7 +74,7 @@ void PDRevertPalette(); // Size: 90 // EAX: pArgc // EDX: pArgv -int PDInitScreenVars(int pArgc, char **pArgv, unsigned int __unk2__); +int PDInitScreenVars(int pArgc, char **pArgv); // Offset: 3300 // Size: 24 @@ -133,7 +137,7 @@ void PDScreenBufferSwap(int pRendering_area_only); // EDX: dx // EBX: dy // ECX: src -void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx); +void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 dy, br_pixelmap *src, br_int_16 sx, br_int_16 sy, br_uint_16 w, br_uint_16 h); // Offset: 5104 // Size: 68 @@ -141,7 +145,7 @@ void PDPixelmapToScreenRectangleCopy(br_pixelmap *dst, br_int_16 dx, br_int_16 d // EDX: x1 // EBX: y1 // ECX: x2 -void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1); +void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour); // Offset: 5172 // Size: 68 @@ -149,7 +153,7 @@ void PDPixelmapHLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1); // EDX: x1 // EBX: y1 // ECX: x2 -void PDPixelmapVLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1); +void PDPixelmapVLineOnScreen(br_pixelmap *dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour); // Offset: 5240 // Size: 24 @@ -168,7 +172,7 @@ void PDBuildAppPath(char *pThe_path); // Size: 133 // EAX: pThe_path // EDX: pAction_routine -void PDForEveryFile(char *pThe_path, void (*pAction_routine)(char*), signed char find_path); +void PDForEveryFile(char *pThe_path, void (*pAction_routine)(char*)); // Offset: 5540 // Size: 39 @@ -180,7 +184,7 @@ void PDSetPalette(br_pixelmap *pThe_palette); // EAX: pPalette // EDX: pFirst_colour // EBX: pCount -void PDSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour); +void PDSetPaletteEntries(br_pixelmap *pPalette, int pFirst_colour, int pCount); // Offset: 5716 // Size: 44 @@ -241,7 +245,7 @@ void Usage(char *pProgpath); // Size: 722 // EAX: pArgc // EDX: pArgv -int main(int pArgc, char **pArgv, unsigned int arg); +int main(int pArgc, char **pArgv); // Offset: 7696 // Size: 62 @@ -354,9 +358,10 @@ void CriticalISR(INTPACK pRegs); // EAX: pThe_path // EDX: pFile_name // EBX: pMin_size -int PDCheckDriveExists2(char *pThe_path, char *pFile_name, tU32 pMin_size, char buf); +int PDCheckDriveExists2(char *pThe_path, char *pFile_name, tU32 pMin_size); // Offset: 10184 // Size: 108 int PDDoWeLeadAnAustereExistance(); +#endif diff --git a/src/types/br_types.h b/src/types/br_types.h index 64cc3bb4..ccb0e955 100644 --- a/src/types/br_types.h +++ b/src/types/br_types.h @@ -10,11 +10,6 @@ typedef unsigned char br_uint_8; typedef unsigned int br_size_t; typedef int br_boolean; typedef float br_float; -typedef struct br_filesystem br_filesystem; -typedef struct br_allocator br_allocator; -typedef struct br_resource_class br_resource_class; -typedef struct br_diaghandler br_diaghandler; -typedef struct br_errorhandler br_errorhandler; typedef br_uint_32 br_error; typedef long br_fixed_ls; typedef short br_fixed_lsf; @@ -34,695 +29,601 @@ typedef float br_scalar_f; typedef float br_fraction_f; typedef float br_ufraction_f; typedef unsigned long br_colour; -typedef struct br_colour_range br_colour_range; -typedef struct br_matrix23 br_matrix23; -typedef struct br_matrix23_f br_matrix23_f; -typedef struct br_matrix23_x br_matrix23_x; -typedef struct br_matrix34 br_matrix34; -typedef struct br_matrix34_f br_matrix34_f; -typedef struct br_matrix34_x br_matrix34_x; -typedef struct br_matrix4 br_matrix4; -typedef struct br_matrix4_f br_matrix4_f; -typedef struct br_matrix4_x br_matrix4_x; -typedef struct br_vector2 br_vector2; -typedef struct br_vector3 br_vector3; -typedef struct br_vector4 br_vector4; -typedef struct br_vector2_x br_vector2_x; -typedef struct br_vector3_x br_vector3_x; -typedef struct br_vector4_x br_vector4_x; -typedef struct br_vector2_f br_vector2_f; -typedef struct br_vector3_f br_vector3_f; -typedef struct br_vector4_f br_vector4_f; -typedef struct br_vector2_i br_vector2_i; -typedef struct br_vector3_i br_vector3_i; -typedef struct br_vector4_i br_vector4_i; -typedef struct br_fvector2 br_fvector2; -typedef struct br_fvector3 br_fvector3; -typedef struct br_fvector4 br_fvector4; -typedef struct br_fvector2_f br_fvector2_f; -typedef struct br_fvector3_f br_fvector3_f; -typedef struct br_fvector4_f br_fvector4_f; -typedef struct br_fvector2_x br_fvector2_x; -typedef struct br_fvector3_x br_fvector3_x; -typedef struct br_fvector4_x br_fvector4_x; -typedef struct br_bounds2 br_bounds2; -typedef struct br_bounds3 br_bounds3; -typedef struct br_bounds4 br_bounds4; -typedef struct br_bounds2_f br_bounds2_f; -typedef struct br_bounds3_f br_bounds3_f; -typedef struct br_bounds4_f br_bounds4_f; -typedef struct br_bounds2_x br_bounds2_x; -typedef struct br_bounds3_x br_bounds3_x; -typedef struct br_bounds4_x br_bounds4_x; -typedef struct br_bounds2_i br_bounds2_i; -typedef struct br_bounds3_i br_bounds3_i; -typedef struct br_bounds4_i br_bounds4_i; typedef br_bounds3 br_bounds; typedef br_bounds2_i br_bounds2i; typedef br_bounds3_i br_bounds3i; typedef br_bounds4_i br_bounds4i; typedef br_fixed_luf br_angle; -typedef struct br_euler br_euler; -typedef struct br_quat br_quat; -typedef struct br_transform br_transform; -typedef struct br_pixelmap br_pixelmap; -typedef struct br_point br_point; -typedef struct br_rectangle br_rectangle; -typedef struct br_font br_font; -typedef struct br_object br_object; typedef br_value_tag br_value; -typedef struct br_token_value br_token_value; -typedef struct br_pool_block br_pool_block; -typedef struct br_pool br_pool; -typedef struct br_primitive br_primitive; -typedef struct br_order_table br_order_table; -typedef struct br_primitive_heap br_primitive_heap; typedef br_associative_array_tag br_associative_array; -typedef struct br_device br_device; -typedef struct br_outfcty_desc br_outfcty_desc; -typedef struct br_renderer_facility br_renderer_facility; -typedef struct br_device_pixelmap br_device_pixelmap; -typedef struct br_primitive_library br_primitive_library; -typedef struct br_geometry br_geometry; -typedef struct br_renderer br_renderer; -typedef struct br_material br_material; -typedef struct br_vertex br_vertex; -typedef struct br_face br_face; -typedef struct br_primitive_list br_primitive_list; -typedef struct br_vertex_single br_vertex_single; -typedef struct br_vertex_double br_vertex_double; -typedef struct br_point_prim br_point_prim; -typedef struct br_line br_line; -typedef struct br_triangle br_triangle; -typedef struct br_quad br_quad; -typedef struct br_strip_face_data br_strip_face_data; -typedef struct br_tri_strip br_tri_strip; typedef br_tri_strip br_tri_fan; typedef br_tri_strip br_quad_strip; -typedef struct br_actor br_actor; -typedef struct br_model br_model; -typedef struct br_camera br_camera; -typedef struct br_light br_light; -typedef struct br_fmt_results br_fmt_results; -typedef struct br_fmt_options br_fmt_options; -typedef struct br_3ds_options br_3ds_options; typedef enum br_filesystem_attributes { - BR_FS_ATTR_READABLE = 1, - BR_FS_ATTR_WRITEABLE = 2, - BR_FS_ATTR_HAS_TEXT = 4, - BR_FS_ATTR_HAS_BINARY = 8, - BR_FS_ATTR_HAS_ADVANCE = 16 + BR_FS_ATTR_READABLE = 1, + BR_FS_ATTR_WRITEABLE = 2, + BR_FS_ATTR_HAS_TEXT = 4, + BR_FS_ATTR_HAS_BINARY = 8, + BR_FS_ATTR_HAS_ADVANCE = 16 } br_filesystem_attributes; - typedef enum br_filesystem_identify { - BR_FS_MODE_BINARY = 0, - BR_FS_MODE_TEXT = 1, - BR_FS_MODE_UNKNOWN = 2 + BR_FS_MODE_BINARY = 0, + BR_FS_MODE_TEXT = 1, + BR_FS_MODE_UNKNOWN = 2 } br_filesystem_identify; - typedef enum br_memory_classes { - BR_MEMORY_SCRATCH = 1, - BR_MEMORY_PIXELMAP = 2, - BR_MEMORY_PIXELS = 3, - BR_MEMORY_VERTICES = 4, - BR_MEMORY_FACES = 5, - BR_MEMORY_GROUPS = 6, - BR_MEMORY_MODEL = 7, - BR_MEMORY_MATERIAL = 8, - BR_MEMORY_MATERIAL_INDEX = 9, - BR_MEMORY_ACTOR = 10, - BR_MEMORY_PREPARED_VERTICES = 11, - BR_MEMORY_PREPARED_FACES = 12, - BR_MEMORY_LIGHT = 13, - BR_MEMORY_CAMERA = 14, - BR_MEMORY_BOUNDS = 15, - BR_MEMORY_CLIP_PLANE = 16, - BR_MEMORY_STRING = 17, - BR_MEMORY_REGISTRY = 18, - BR_MEMORY_TRANSFORM = 19, - BR_MEMORY_RESOURCE_CLASS = 20, - BR_MEMORY_FILE = 21, - BR_MEMORY_ANCHOR = 22, - BR_MEMORY_POOL = 23, - BR_MEMORY_RENDER_MATERIAL = 24, - BR_MEMORY_DATAFILE = 25, - BR_MEMORY_IMAGE = 26, - BR_MEMORY_IMAGE_ARENA = 27, - BR_MEMORY_IMAGE_SECTIONS = 28, - BR_MEMORY_IMAGE_NAMES = 29, - BR_MEMORY_EXCEPTION_HANDLER = 30, - BR_MEMORY_RENDER_DATA = 31, - BR_MEMORY_TOKEN = 32, - BR_MEMORY_TOKEN_MAP = 33, - BR_MEMORY_OBJECT = 34, - BR_MEMORY_OBJECT_DATA = 35, - BR_MEMORY_DRIVER = 36, - BR_MEMORY_LEXER = 37, - BR_MEMORY_OBJECT_LIST = 38, - BR_MEMORY_OBJECT_LIST_ENTRY = 39, - BR_MEMORY_ENABLED_ACTORS = 40, - BR_MEMORY_FMT_RESULTS = 41, - BR_MEMORY_PREPARED_MODEL = 42, - BR_MEMORY_ORDER_TABLE = 43, - BR_MEMORY_TOKEN_VALUE = 44, - BR_MEMORY_TOKEN_TEMPLATE = 45, - BR_MEMORY_FREE = 127, - BR_MEMORY_APPLICATION = 128, - BR_MEMORY_MAX = 256 + BR_MEMORY_SCRATCH = 1, + BR_MEMORY_PIXELMAP = 2, + BR_MEMORY_PIXELS = 3, + BR_MEMORY_VERTICES = 4, + BR_MEMORY_FACES = 5, + BR_MEMORY_GROUPS = 6, + BR_MEMORY_MODEL = 7, + BR_MEMORY_MATERIAL = 8, + BR_MEMORY_MATERIAL_INDEX = 9, + BR_MEMORY_ACTOR = 10, + BR_MEMORY_PREPARED_VERTICES = 11, + BR_MEMORY_PREPARED_FACES = 12, + BR_MEMORY_LIGHT = 13, + BR_MEMORY_CAMERA = 14, + BR_MEMORY_BOUNDS = 15, + BR_MEMORY_CLIP_PLANE = 16, + BR_MEMORY_STRING = 17, + BR_MEMORY_REGISTRY = 18, + BR_MEMORY_TRANSFORM = 19, + BR_MEMORY_RESOURCE_CLASS = 20, + BR_MEMORY_FILE = 21, + BR_MEMORY_ANCHOR = 22, + BR_MEMORY_POOL = 23, + BR_MEMORY_RENDER_MATERIAL = 24, + BR_MEMORY_DATAFILE = 25, + BR_MEMORY_IMAGE = 26, + BR_MEMORY_IMAGE_ARENA = 27, + BR_MEMORY_IMAGE_SECTIONS = 28, + BR_MEMORY_IMAGE_NAMES = 29, + BR_MEMORY_EXCEPTION_HANDLER = 30, + BR_MEMORY_RENDER_DATA = 31, + BR_MEMORY_TOKEN = 32, + BR_MEMORY_TOKEN_MAP = 33, + BR_MEMORY_OBJECT = 34, + BR_MEMORY_OBJECT_DATA = 35, + BR_MEMORY_DRIVER = 36, + BR_MEMORY_LEXER = 37, + BR_MEMORY_OBJECT_LIST = 38, + BR_MEMORY_OBJECT_LIST_ENTRY = 39, + BR_MEMORY_ENABLED_ACTORS = 40, + BR_MEMORY_FMT_RESULTS = 41, + BR_MEMORY_PREPARED_MODEL = 42, + BR_MEMORY_ORDER_TABLE = 43, + BR_MEMORY_TOKEN_VALUE = 44, + BR_MEMORY_TOKEN_TEMPLATE = 45, + BR_MEMORY_FREE = 127, + BR_MEMORY_APPLICATION = 128, + BR_MEMORY_MAX = 256 } br_memory_classes; - typedef enum br_pixelmap_allocate_flags { - BR_PMAF_NORMAL = 0, - BR_PMAF_INVERTED = 1, - BR_PMAF_NO_PIXELS = 2 + BR_PMAF_NORMAL = 0, + BR_PMAF_INVERTED = 1, + BR_PMAF_NO_PIXELS = 2 } br_pixelmap_allocate_flags; - typedef enum br_pixelmap_channel_mask { - BR_PMCHAN_INDEX = 1, - BR_PMCHAN_RGB = 2, - BR_PMCHAN_DEPTH = 4, - BR_PMCHAN_ALPHA = 8, - BR_PMCHAN_YUV = 16, - BR_PMCHAN_VECTOR = 32 + BR_PMCHAN_INDEX = 1, + BR_PMCHAN_RGB = 2, + BR_PMCHAN_DEPTH = 4, + BR_PMCHAN_ALPHA = 8, + BR_PMCHAN_YUV = 16, + BR_PMCHAN_VECTOR = 32 } br_pixelmap_channel_mask; - typedef enum br_pmmatch_type { - BR_PMMATCH_OFFSCREEN = 0, - BR_PMMATCH_DEPTH_16 = 1, - BR_PMMATCH_DEPTH = 2, - BR_PMMATCH_HIDDEN = 3, - BR_PMMATCH_HIDDEN_BUFFER = 4, - BR_PMMATCH_NO_RENDER = 5, - BR_PMMATCH_DEPTH_8 = 6, - BR_PMMATCH_DEPTH_32 = 7, - BR_PMMATCH_DEPTH_15 = 8, - BR_PMMATCH_DEPTH_31 = 9, - BR_PMMATCH_DEPTH_FP15 = 10, - BR_PMMATCH_DEPTH_FP16 = 11, - BR_PMMATCH_MAX = 12 + BR_PMMATCH_OFFSCREEN = 0, + BR_PMMATCH_DEPTH_16 = 1, + BR_PMMATCH_DEPTH = 2, + BR_PMMATCH_HIDDEN = 3, + BR_PMMATCH_HIDDEN_BUFFER = 4, + BR_PMMATCH_NO_RENDER = 5, + BR_PMMATCH_DEPTH_8 = 6, + BR_PMMATCH_DEPTH_32 = 7, + BR_PMMATCH_DEPTH_15 = 8, + BR_PMMATCH_DEPTH_31 = 9, + BR_PMMATCH_DEPTH_FP15 = 10, + BR_PMMATCH_DEPTH_FP16 = 11, + BR_PMMATCH_MAX = 12 } br_pmmatch_type; - typedef enum br_pixelmap_copy_function { - BR_PMCOPY_NORMAL = 0, - BR_PMCOPY_SRC_KEYED = 1, - BR_PMCOPY_DST_KEYED = 2 + BR_PMCOPY_NORMAL = 0, + BR_PMCOPY_SRC_KEYED = 1, + BR_PMCOPY_DST_KEYED = 2 } br_pixelmap_copy_function; - typedef enum br_clip_result { - BR_CLIP_REJECT = 0, - BR_CLIP_PARTIAL = 1, - BR_CLIP_ACCEPT = 2 + BR_CLIP_REJECT = 0, + BR_CLIP_PARTIAL = 1, + BR_CLIP_ACCEPT = 2 } br_clip_result; - typedef enum br_token { - BRT_ABGR_1_5_5_5 = 319, - BRT_ABGR_4_4_4_4 = 335, - BRT_ABGR_8_8_8_8 = 331, - BRT_ACCEPT = 276, - BRT_AINDEX_4_4 = 345, - BRT_AINDEX_8_8 = 344, - BRT_ALPHA = 85, - BRT_ALWAYS = 163, - BRT_AMBIENT_F = 193, - BRT_AMBIENT_X = 192, - BRT_ANGLE = 13, - BRT_ANTIALIASING_T = 298, - BRT_ANTIALIASING_TL = 299, - BRT_ARGB_1_5_5_5 = 318, - BRT_ARGB_4_4_4_4 = 334, - BRT_ARGB_8_8_8_8 = 330, - BRT_ATTENUATION_C_F = 222, - BRT_ATTENUATION_C_X = 221, - BRT_ATTENUATION_L_F = 220, - BRT_ATTENUATION_L_X = 219, - BRT_ATTENUATION_Q_F = 224, - BRT_ATTENUATION_Q_X = 223, - BRT_A_4 = 450, - BRT_A_8 = 341, - BRT_BEST_QUALITY = 380, - BRT_BEST_SPEED = 291, - BRT_BGRA_4_4_4_4 = 336, - BRT_BGRA_8_8_8_8 = 332, - BRT_BGRX_8_8_8_8 = 328, - BRT_BGR_2_3_2 = 323, - BRT_BGR_5_6_5 = 321, - BRT_BGR_8_8_8 = 325, - BRT_BLENDER_PROGRAM_P = 458, - BRT_BLEND_B = 133, - BRT_BLEND_CONSTANT = 445, - BRT_BLEND_DIMMED = 444, - BRT_BLEND_MODE_T = 440, - BRT_BLEND_MODE_TL = 441, - BRT_BLEND_STANDARD = 442, - BRT_BLEND_SUMMED = 443, - BRT_BLUE = 83, - BRT_BOOLEAN = 2, - BRT_BOTTOM_TOP = 67, - BRT_BOUNDS = 122, - BRT_BOUNDS_B = 255, - BRT_BRENDER_DEVICES_STR = 422, - BRT_BRENDER_DRIVERS_STR = 420, - BRT_BRENDER_PATH_STR = 419, - BRT_BRENDER_VERSION_U32 = 356, - BRT_BUCKET_SORT = 257, - BRT_BUFFER_STORED = 45, - BRT_BUMP_O = 170, - BRT_BUMP_TVL = 401, - BRT_CACHED_B = 286, - BRT_CACHED_SIZE_U32 = 287, - BRT_CACHED_TOTAL_U32 = 288, - BRT_CAN_SHARE_B = 110, - BRT_CLAMP = 308, - BRT_CLIP = 121, - BRT_CLIPPING_B = 254, - BRT_CLIP_MAX_I32 = 105, - BRT_CLONE = 102, - BRT_CLUT_MAX_I32 = 90, - BRT_CLUT_O = 68, - BRT_COLOUR_B = 135, - BRT_COLOUR_BUFFER_O = 249, - BRT_COLOUR_I32 = 189, - BRT_COLOUR_MAP_O = 165, - BRT_COLOUR_MAP_TVL = 396, - BRT_COLOUR_RGB = 14, - BRT_COLOUR_SOURCE_T = 180, - BRT_COLOUR_T = 136, - BRT_COLOUR_TL = 297, - BRT_COLOUR_WRITE_B = 132, - BRT_CONSTANT_STRING = 32, - BRT_COPY_BITS_F = 371, - BRT_COPY_BITS_X = 370, - BRT_COPY_DESTINATION_TVL = 361, - BRT_COPY_F = 363, - BRT_COPY_SOURCE_TVL = 360, - BRT_COPY_X = 362, - BRT_CREATOR_CSTR = 56, - BRT_CULL = 116, - BRT_CULL_B = 251, - BRT_DDI_VERSION_U32 = 357, - BRT_DECAL_B = 128, - BRT_DEFAULT = 138, - BRT_DEFAULT_BASE_I32 = 282, - BRT_DEFAULT_DEVICE_STR = 421, - BRT_DEFAULT_RANGE_I32 = 283, - BRT_DEPTH = 84, - BRT_DEPTH_BUFFER_O = 250, - BRT_DEPTH_TEST_T = 155, - BRT_DEPTH_TEST_TL = 304, - BRT_DEPTH_WRITE_B = 131, - BRT_DESTINATION_O = 114, - BRT_DEVICE = 37, - BRT_DEVICE_CLUT = 41, - BRT_DEVICE_PIXELMAP = 40, - BRT_DIBSECTION = 410, - BRT_DIFFUSE_F = 195, - BRT_DIFFUSE_X = 194, - BRT_DIRECT = 208, - BRT_DIRECT3D_HAL = 416, - BRT_DIRECT3D_RAMP = 414, - BRT_DIRECT3D_RENDER_METHOD_T = 413, - BRT_DIRECT3D_RGB = 415, - BRT_DIRECTDRAW = 411, - BRT_DIRECTDRAW_DEVICENAME_CSTR = 412, - BRT_DIRECTION_V3_F = 213, - BRT_DIRECTION_V3_X = 214, - BRT_DIRECT_F = 378, - BRT_DIRECT_X = 377, - BRT_DITHER = 431, - BRT_DITHER_B = 457, - BRT_DITHER_COLOUR_B = 129, - BRT_DITHER_COLOUR_T = 293, - BRT_DITHER_COLOUR_TL = 294, - BRT_DITHER_MAP_B = 130, - BRT_DITHER_MAP_T = 295, - BRT_DITHER_MAP_TL = 296, - BRT_DONT_CARE = 246, - BRT_D_15 = 446, - BRT_D_16 = 338, - BRT_D_24 = 339, - BRT_D_31 = 447, - BRT_D_32 = 340, - BRT_D_FP15 = 448, - BRT_D_FP16 = 449, - BRT_ENABLE = 119, - BRT_ENVIRONMENT_INFINITE = 184, - BRT_ENVIRONMENT_LOCAL = 183, - BRT_EQUAL = 158, - BRT_EVEN_ODD = 63, - BRT_FACILITY = 38, - BRT_FACILITY_O = 281, - BRT_FIXED = 11, - BRT_FLOAT = 12, - BRT_FOG_MAX_F = 153, - BRT_FOG_MAX_X = 154, - BRT_FOG_MIN_F = 151, - BRT_FOG_MIN_X = 152, - BRT_FOG_RGB = 150, - BRT_FOG_T = 149, - BRT_FOG_TL = 303, - BRT_FONT_NORMAL_O = 98, - BRT_FONT_NORMAL_P = 97, - BRT_FORCE_FRONT_B = 179, - BRT_FORMAT_T = 113, - BRT_GEOMETRY = 46, - BRT_GEOMETRY_LIGHTING = 51, - BRT_GEOMETRY_MAP = 185, - BRT_GEOMETRY_PRIMITIVES = 48, - BRT_GEOMETRY_STORED = 47, - BRT_GEOMETRY_V1_BUCKETS = 50, - BRT_GEOMETRY_V1_MODEL = 49, - BRT_GEOMETRY_X = 186, - BRT_GEOMETRY_Y = 187, - BRT_GEOMETRY_Z = 188, - BRT_GREATER = 156, - BRT_GREATER_OR_EQUAL = 157, - BRT_GREEN = 82, - BRT_HANDLE = 354, - BRT_HEIGHT_I32 = 72, - BRT_HEIGHT_MAX_I32 = 74, - BRT_HEIGHT_MIN_I32 = 73, - BRT_HEIGHT_OPTIMUM_I32 = 392, - BRT_HEIGHT_T = 389, - BRT_HEIGHT_TL = 390, - BRT_HIDDEN = 100, - BRT_HIDDEN_BUFFER = 278, - BRT_HIDDEN_SURFACE = 123, - BRT_HOST_MEMORY_U32 = 93, - BRT_IDENTIFIER_CSTR = 54, - BRT_INDEX = 80, - BRT_INDEXA_4_4 = 343, - BRT_INDEXA_8_8 = 342, - BRT_INDEXED_B = 86, - BRT_INDEX_1 = 312, - BRT_INDEX_2 = 313, - BRT_INDEX_4 = 314, - BRT_INDEX_8 = 315, - BRT_INDEX_BASE_I32 = 139, - BRT_INDEX_BLEND_O = 167, - BRT_INDEX_BLEND_TVL = 398, - BRT_INDEX_FOG_O = 394, - BRT_INDEX_FOG_TVL = 402, - BRT_INDEX_LIGHT_O = 169, - BRT_INDEX_LIGHT_TVL = 400, - BRT_INDEX_RANGE_I32 = 140, - BRT_INDEX_SHADE_O = 166, - BRT_INDEX_SHADE_TVL = 397, - BRT_INI_STR = 418, - BRT_INTEL = 423, - BRT_INTEL_386 = 427, - BRT_INTEL_486 = 428, - BRT_INTEL_PENTIUM = 429, - BRT_INTEL_PENTIUM_PRO = 430, - BRT_INTERLACE_B = 456, - BRT_INT_16 = 7, - BRT_INT_32 = 9, - BRT_INT_8 = 5, - BRT_KEY_IS_TRANSPARENT = 353, - BRT_LEFT_RIGHT = 64, - BRT_LENGTH_PRESERVING = 237, - BRT_LESS = 161, - BRT_LESS_OR_EQUAL = 160, - BRT_LIGHT = 120, - BRT_LIGHTING_B = 178, - BRT_LIGHT_MAX_I32 = 104, - BRT_LIGHT_VERTICES = 273, - BRT_LINE = 266, - BRT_LINEAR = 147, - BRT_LPDIRECTDRAWSURFACE_P = 432, - BRT_MAPPING_SOURCE_T = 182, - BRT_MAP_ANTIALIASING_T = 141, - BRT_MAP_ANTIALIASING_TL = 300, - BRT_MAP_HEIGHT_LIMIT_T = 310, - BRT_MAP_HEIGHT_LIMIT_TL = 311, - BRT_MAP_INTERPOLATION_MAG_T = 383, - BRT_MAP_INTERPOLATION_MAG_TL = 384, - BRT_MAP_INTERPOLATION_MIN_T = 385, - BRT_MAP_INTERPOLATION_MIN_TL = 386, - BRT_MAP_INTERPOLATION_T = 145, - BRT_MAP_INTERPOLATION_TL = 301, - BRT_MAP_MATRIX_M23_F = 200, - BRT_MAP_MATRIX_M23_X = 201, - BRT_MAP_WIDTH_LIMIT_T = 305, - BRT_MAP_WIDTH_LIMIT_TL = 306, - BRT_MATCH_TVL = 359, - BRT_MATRIX = 118, - BRT_MATRIX23_FIXED = 25, - BRT_MATRIX23_FLOAT = 28, - BRT_MATRIX34_FIXED = 26, - BRT_MATRIX34_FLOAT = 29, - BRT_MATRIX4_FIXED = 27, - BRT_MATRIX4_FLOAT = 30, - BRT_MAX_V2_F = 233, - BRT_MAX_V2_I = 231, - BRT_MAX_V2_X = 232, - BRT_MEMORY_MAPPED_B = 87, - BRT_MIN_V2_F = 230, - BRT_MIN_V2_I = 228, - BRT_MIN_V2_X = 229, - BRT_MIP = 142, - BRT_MIPS = 425, - BRT_MIP_INTERPOLATION_T = 148, - BRT_MIP_INTERPOLATION_TL = 302, - BRT_MIP_PER_PIXEL = 143, - BRT_MIP_PER_PRIMITIVE = 144, - BRT_MIRROR = 309, - BRT_MODEL = 177, - BRT_MODEL_TO_SCREEN_M4_F = 247, - BRT_MODEL_TO_SCREEN_M4_X = 248, - BRT_MODEL_TO_VIEW_HINT_T = 236, - BRT_MODEL_TO_VIEW_M34_F = 234, - BRT_MODEL_TO_VIEW_M34_X = 235, - BRT_MODE_U32 = 94, - BRT_MODULATE_B = 134, - BRT_MOTOROLA = 426, - BRT_NEAREST = 146, - BRT_NEVER = 162, - BRT_NONE = 1, - BRT_NOT_EQUAL = 159, - BRT_NO_RENDER = 379, - BRT_OBJECT = 15, - BRT_OBJECT_CONTAINER = 36, - BRT_OBJECT_LIST = 33, - BRT_ODD_EVEN = 62, - BRT_OFFSCREEN = 101, - BRT_ONE_SIDED = 173, - BRT_OPACITY_F = 191, - BRT_OPACITY_SOURCE_T = 181, - BRT_OPACITY_X = 190, - BRT_ORIGIN_V2_I = 96, - BRT_OUTPUT = 125, - BRT_OUTPUT_FACILITY = 39, - BRT_OUTPUT_FACILITY_O = 95, - BRT_PARALLEL = 242, - BRT_PARTIAL = 275, - BRT_PARTS_TL = 107, - BRT_PARTS_U32 = 112, - BRT_PERSPECTIVE = 241, - BRT_PERSPECTIVE_B = 127, - BRT_PERSPECTIVE_T = 289, - BRT_PERSPECTIVE_TL = 290, - BRT_PIXELMAP_MAX_I32 = 89, - BRT_PIXEL_BITS_I32 = 76, - BRT_PIXEL_CHANNELS_I32 = 78, - BRT_PIXEL_CHANNELS_TL = 79, - BRT_PIXEL_GET_F = 374, - BRT_PIXEL_GET_X = 373, - BRT_PIXEL_SET_F = 376, - BRT_PIXEL_SET_X = 375, - BRT_PIXEL_TYPE_U8 = 75, - BRT_PLANE = 225, - BRT_PLANE_V4_F = 226, - BRT_PLANE_V4_X = 227, - BRT_POINT = 209, - BRT_POINTER = 3, - BRT_POINTER_LIST = 35, - BRT_POSITION_V3_F = 211, - BRT_POSITION_V3_X = 212, - BRT_POWERPC = 424, - BRT_POWER_OF_2 = 351, - BRT_PREFER_SHARE_B = 111, - BRT_PRIMITIVE = 124, - BRT_PRIMITIVES = 270, - BRT_PRIMITIVE_BLOCK_P = 393, - BRT_PRIMITIVE_CUSTOM_P = 206, - BRT_PRIMITIVE_FILTER_P = 207, - BRT_PRIMITIVE_LIBRARY = 52, - BRT_PRIMITIVE_LIBRARY_O = 88, - BRT_PRIMITIVE_LIBRARY_P = 115, - BRT_PRIMITIVE_STATE = 53, - BRT_PRIVATE = 349, - BRT_PRODUCT_CSTR = 57, - BRT_PRODUCT_VERSION_CSTR = 58, - BRT_QUAD = 268, - BRT_QUAD_STRIP = 455, - BRT_RED = 81, - BRT_REGISTRY_STR = 417, - BRT_REJECT = 277, - BRT_RENDERER = 43, - BRT_RENDERER_FACILITY = 42, - BRT_RENDERER_FACILITY_O = 108, - BRT_RENDERER_MAX_I32 = 106, - BRT_RENDERER_O = 103, - BRT_RENDERER_STATE_STORED = 44, - BRT_RENDER_B = 256, - BRT_RGB = 137, - BRT_RGBA_4_4_4_4 = 337, - BRT_RGBA_8_8_8_8 = 333, - BRT_RGBX_8_8_8_8 = 329, - BRT_RGB_2_3_2 = 322, - BRT_RGB_5_6_5 = 320, - BRT_RGB_8_8_8 = 324, - BRT_RIGHT_LEFT = 65, - BRT_SCREEN_DOOR_O = 168, - BRT_SCREEN_DOOR_TVL = 399, - BRT_SHARED_B = 109, - BRT_SMOOTH_B = 126, - BRT_SPACE_T = 175, - BRT_SPECULAR_F = 197, - BRT_SPECULAR_POWER_F = 199, - BRT_SPECULAR_POWER_X = 198, - BRT_SPECULAR_X = 196, - BRT_SPOT = 210, - BRT_SPOT_INNER_F = 218, - BRT_SPOT_INNER_X = 217, - BRT_SPOT_OUTER_F = 216, - BRT_SPOT_OUTER_X = 215, - BRT_SPRITE = 265, - BRT_SQUARE = 350, - BRT_STATE_RESTORE = 269, - BRT_STEREO_B = 59, - BRT_STEREO_T = 60, - BRT_STEREO_TL = 61, - BRT_STORED_STATE_O = 264, - BRT_STRETCHDIBITS = 409, - BRT_STRETCH_COPY_DESTINATION_TVL = 365, - BRT_STRETCH_COPY_F = 369, - BRT_STRETCH_COPY_SOURCE_TVL = 364, - BRT_STRETCH_COPY_T = 366, - BRT_STRETCH_COPY_TL = 367, - BRT_STRETCH_COPY_X = 368, - BRT_STRING = 31, - BRT_SUBDIVIDE = 381, - BRT_SUBDIVIDE_TOLERANCE_I32 = 382, - BRT_SURFACE = 117, - BRT_SURFACE_B = 253, - BRT_SURFACE_C_CUSTOM_P = 202, - BRT_SURFACE_C_FILTER_P = 203, - BRT_SURFACE_V_CUSTOM_P = 204, - BRT_SURFACE_V_FILTER_P = 205, - BRT_SYCHRONISE_I32 = 372, - BRT_TEXTURE_MEMORY_U32 = 92, - BRT_TEXTURE_O = 164, - BRT_TEXTURE_TVL = 395, - BRT_TITLE_CSTR = 358, - BRT_TOKEN = 4, - BRT_TOKEN_LIST = 34, - BRT_TOKEN_VALUE_LIST = 355, - BRT_TOP_BOTTOM = 66, - BRT_TRANSFORM_B = 252, - BRT_TRIANGLE = 267, - BRT_TRI_FAN = 454, - BRT_TRI_STRIP = 453, - BRT_TWO_SIDED = 174, - BRT_TYPE_T = 172, - BRT_UINT_16 = 8, - BRT_UINT_32 = 10, - BRT_UINT_8 = 6, - BRT_UNKNOWN = 171, - BRT_USE_NO_3D_B = 279, - BRT_USE_NO_DEPTH_B = 280, - BRT_USE_T = 99, - BRT_V1BUCKETS = 272, - BRT_V1INSERT_ARG1_P = 261, - BRT_V1INSERT_ARG2_P = 262, - BRT_V1INSERT_ARG3_P = 263, - BRT_V1INSERT_FUNCTION_P = 260, - BRT_V1MODEL = 271, - BRT_V1ORDER_TABLE_P = 258, - BRT_V1PRIMITIVE_HEAP_P = 259, - BRT_VECTOR2_FIXED = 19, - BRT_VECTOR2_FLOAT = 22, - BRT_VECTOR2_INTEGER = 16, - BRT_VECTOR3_FIXED = 20, - BRT_VECTOR3_FLOAT = 23, - BRT_VECTOR3_INTEGER = 17, - BRT_VECTOR4_FIXED = 21, - BRT_VECTOR4_FLOAT = 24, - BRT_VECTOR4_INTEGER = 18, - BRT_VERSION_U32 = 55, - BRT_VERTEX_DBL = 452, - BRT_VERTEX_SGL = 451, - BRT_VERTICAL_BLANK = 274, - BRT_VIDEO_MEMORY_U32 = 91, - BRT_VIEW = 176, - BRT_VIEW_TO_ENVIRONMENT_HINT_T = 245, - BRT_VIEW_TO_ENVIRONMENT_M34_F = 243, - BRT_VIEW_TO_ENVIRONMENT_M34_X = 244, - BRT_VIEW_TO_SCREEN_HINT_T = 240, - BRT_VIEW_TO_SCREEN_M4_F = 238, - BRT_VIEW_TO_SCREEN_M4_X = 239, - BRT_WIDTH_I32 = 69, - BRT_WIDTH_MAX_I32 = 71, - BRT_WIDTH_MIN_I32 = 70, - BRT_WIDTH_OPTIMUM_I32 = 391, - BRT_WIDTH_T = 387, - BRT_WIDTH_TL = 388, - BRT_WINDOW_BUFFER_METHOD_T = 407, - BRT_WINDOW_FULLSCREEN_B = 406, - BRT_WINDOW_HANDLE_H = 405, - BRT_WINDOW_NAME_CSTR = 403, - BRT_WINDOW_PROCEDURE_P = 404, - BRT_WING = 408, - BRT_WORD_BYTES_I32 = 77, - BRT_WRAP = 307, - BRT_WRITABLE_BASE_I32 = 284, - BRT_WRITABLE_RANGE_I32 = 285, - BRT_XBGR_1_5_5_5 = 317, - BRT_XBGR_8_8_8_8 = 327, - BRT_XRGB_1_5_5_5 = 316, - BRT_XRGB_8_8_8_8 = 326, - BRT_XYZ_16_16_16 = 347, - BRT_XYZ_8_8_8 = 346, - BRT_YUV_16 = 348, - BRT_ZERO_IS_TRANSPARENT = 352, - BRT_ZTRANSPARENCY_B = 439, - BRT_Z_WRITE_ALWAYS = 436, - BRT_Z_WRITE_CONDITIONAL = 438, - BRT_Z_WRITE_CONDITIONAL_NO_Z = 437, - BRT_Z_WRITE_NEVER = 435, - BRT_Z_WRITE_T = 433, - BRT_Z_WRITE_TL = 434, - _BRT_MAX = 134217727 + BRT_ABGR_1_5_5_5 = 319, + BRT_ABGR_4_4_4_4 = 335, + BRT_ABGR_8_8_8_8 = 331, + BRT_ACCEPT = 276, + BRT_AINDEX_4_4 = 345, + BRT_AINDEX_8_8 = 344, + BRT_ALPHA = 85, + BRT_ALWAYS = 163, + BRT_AMBIENT_F = 193, + BRT_AMBIENT_X = 192, + BRT_ANGLE = 13, + BRT_ANTIALIASING_T = 298, + BRT_ANTIALIASING_TL = 299, + BRT_ARGB_1_5_5_5 = 318, + BRT_ARGB_4_4_4_4 = 334, + BRT_ARGB_8_8_8_8 = 330, + BRT_ATTENUATION_C_F = 222, + BRT_ATTENUATION_C_X = 221, + BRT_ATTENUATION_L_F = 220, + BRT_ATTENUATION_L_X = 219, + BRT_ATTENUATION_Q_F = 224, + BRT_ATTENUATION_Q_X = 223, + BRT_A_4 = 450, + BRT_A_8 = 341, + BRT_BEST_QUALITY = 380, + BRT_BEST_SPEED = 291, + BRT_BGRA_4_4_4_4 = 336, + BRT_BGRA_8_8_8_8 = 332, + BRT_BGRX_8_8_8_8 = 328, + BRT_BGR_2_3_2 = 323, + BRT_BGR_5_6_5 = 321, + BRT_BGR_8_8_8 = 325, + BRT_BLENDER_PROGRAM_P = 458, + BRT_BLEND_B = 133, + BRT_BLEND_CONSTANT = 445, + BRT_BLEND_DIMMED = 444, + BRT_BLEND_MODE_T = 440, + BRT_BLEND_MODE_TL = 441, + BRT_BLEND_STANDARD = 442, + BRT_BLEND_SUMMED = 443, + BRT_BLUE = 83, + BRT_BOOLEAN = 2, + BRT_BOTTOM_TOP = 67, + BRT_BOUNDS = 122, + BRT_BOUNDS_B = 255, + BRT_BRENDER_DEVICES_STR = 422, + BRT_BRENDER_DRIVERS_STR = 420, + BRT_BRENDER_PATH_STR = 419, + BRT_BRENDER_VERSION_U32 = 356, + BRT_BUCKET_SORT = 257, + BRT_BUFFER_STORED = 45, + BRT_BUMP_O = 170, + BRT_BUMP_TVL = 401, + BRT_CACHED_B = 286, + BRT_CACHED_SIZE_U32 = 287, + BRT_CACHED_TOTAL_U32 = 288, + BRT_CAN_SHARE_B = 110, + BRT_CLAMP = 308, + BRT_CLIP = 121, + BRT_CLIPPING_B = 254, + BRT_CLIP_MAX_I32 = 105, + BRT_CLONE = 102, + BRT_CLUT_MAX_I32 = 90, + BRT_CLUT_O = 68, + BRT_COLOUR_B = 135, + BRT_COLOUR_BUFFER_O = 249, + BRT_COLOUR_I32 = 189, + BRT_COLOUR_MAP_O = 165, + BRT_COLOUR_MAP_TVL = 396, + BRT_COLOUR_RGB = 14, + BRT_COLOUR_SOURCE_T = 180, + BRT_COLOUR_T = 136, + BRT_COLOUR_TL = 297, + BRT_COLOUR_WRITE_B = 132, + BRT_CONSTANT_STRING = 32, + BRT_COPY_BITS_F = 371, + BRT_COPY_BITS_X = 370, + BRT_COPY_DESTINATION_TVL = 361, + BRT_COPY_F = 363, + BRT_COPY_SOURCE_TVL = 360, + BRT_COPY_X = 362, + BRT_CREATOR_CSTR = 56, + BRT_CULL = 116, + BRT_CULL_B = 251, + BRT_DDI_VERSION_U32 = 357, + BRT_DECAL_B = 128, + BRT_DEFAULT = 138, + BRT_DEFAULT_BASE_I32 = 282, + BRT_DEFAULT_DEVICE_STR = 421, + BRT_DEFAULT_RANGE_I32 = 283, + BRT_DEPTH = 84, + BRT_DEPTH_BUFFER_O = 250, + BRT_DEPTH_TEST_T = 155, + BRT_DEPTH_TEST_TL = 304, + BRT_DEPTH_WRITE_B = 131, + BRT_DESTINATION_O = 114, + BRT_DEVICE = 37, + BRT_DEVICE_CLUT = 41, + BRT_DEVICE_PIXELMAP = 40, + BRT_DIBSECTION = 410, + BRT_DIFFUSE_F = 195, + BRT_DIFFUSE_X = 194, + BRT_DIRECT = 208, + BRT_DIRECT3D_HAL = 416, + BRT_DIRECT3D_RAMP = 414, + BRT_DIRECT3D_RENDER_METHOD_T = 413, + BRT_DIRECT3D_RGB = 415, + BRT_DIRECTDRAW = 411, + BRT_DIRECTDRAW_DEVICENAME_CSTR = 412, + BRT_DIRECTION_V3_F = 213, + BRT_DIRECTION_V3_X = 214, + BRT_DIRECT_F = 378, + BRT_DIRECT_X = 377, + BRT_DITHER = 431, + BRT_DITHER_B = 457, + BRT_DITHER_COLOUR_B = 129, + BRT_DITHER_COLOUR_T = 293, + BRT_DITHER_COLOUR_TL = 294, + BRT_DITHER_MAP_B = 130, + BRT_DITHER_MAP_T = 295, + BRT_DITHER_MAP_TL = 296, + BRT_DONT_CARE = 246, + BRT_D_15 = 446, + BRT_D_16 = 338, + BRT_D_24 = 339, + BRT_D_31 = 447, + BRT_D_32 = 340, + BRT_D_FP15 = 448, + BRT_D_FP16 = 449, + BRT_ENABLE = 119, + BRT_ENVIRONMENT_INFINITE = 184, + BRT_ENVIRONMENT_LOCAL = 183, + BRT_EQUAL = 158, + BRT_EVEN_ODD = 63, + BRT_FACILITY = 38, + BRT_FACILITY_O = 281, + BRT_FIXED = 11, + BRT_FLOAT = 12, + BRT_FOG_MAX_F = 153, + BRT_FOG_MAX_X = 154, + BRT_FOG_MIN_F = 151, + BRT_FOG_MIN_X = 152, + BRT_FOG_RGB = 150, + BRT_FOG_T = 149, + BRT_FOG_TL = 303, + BRT_FONT_NORMAL_O = 98, + BRT_FONT_NORMAL_P = 97, + BRT_FORCE_FRONT_B = 179, + BRT_FORMAT_T = 113, + BRT_GEOMETRY = 46, + BRT_GEOMETRY_LIGHTING = 51, + BRT_GEOMETRY_MAP = 185, + BRT_GEOMETRY_PRIMITIVES = 48, + BRT_GEOMETRY_STORED = 47, + BRT_GEOMETRY_V1_BUCKETS = 50, + BRT_GEOMETRY_V1_MODEL = 49, + BRT_GEOMETRY_X = 186, + BRT_GEOMETRY_Y = 187, + BRT_GEOMETRY_Z = 188, + BRT_GREATER = 156, + BRT_GREATER_OR_EQUAL = 157, + BRT_GREEN = 82, + BRT_HANDLE = 354, + BRT_HEIGHT_I32 = 72, + BRT_HEIGHT_MAX_I32 = 74, + BRT_HEIGHT_MIN_I32 = 73, + BRT_HEIGHT_OPTIMUM_I32 = 392, + BRT_HEIGHT_T = 389, + BRT_HEIGHT_TL = 390, + BRT_HIDDEN = 100, + BRT_HIDDEN_BUFFER = 278, + BRT_HIDDEN_SURFACE = 123, + BRT_HOST_MEMORY_U32 = 93, + BRT_IDENTIFIER_CSTR = 54, + BRT_INDEX = 80, + BRT_INDEXA_4_4 = 343, + BRT_INDEXA_8_8 = 342, + BRT_INDEXED_B = 86, + BRT_INDEX_1 = 312, + BRT_INDEX_2 = 313, + BRT_INDEX_4 = 314, + BRT_INDEX_8 = 315, + BRT_INDEX_BASE_I32 = 139, + BRT_INDEX_BLEND_O = 167, + BRT_INDEX_BLEND_TVL = 398, + BRT_INDEX_FOG_O = 394, + BRT_INDEX_FOG_TVL = 402, + BRT_INDEX_LIGHT_O = 169, + BRT_INDEX_LIGHT_TVL = 400, + BRT_INDEX_RANGE_I32 = 140, + BRT_INDEX_SHADE_O = 166, + BRT_INDEX_SHADE_TVL = 397, + BRT_INI_STR = 418, + BRT_INTEL = 423, + BRT_INTEL_386 = 427, + BRT_INTEL_486 = 428, + BRT_INTEL_PENTIUM = 429, + BRT_INTEL_PENTIUM_PRO = 430, + BRT_INTERLACE_B = 456, + BRT_INT_16 = 7, + BRT_INT_32 = 9, + BRT_INT_8 = 5, + BRT_KEY_IS_TRANSPARENT = 353, + BRT_LEFT_RIGHT = 64, + BRT_LENGTH_PRESERVING = 237, + BRT_LESS = 161, + BRT_LESS_OR_EQUAL = 160, + BRT_LIGHT = 120, + BRT_LIGHTING_B = 178, + BRT_LIGHT_MAX_I32 = 104, + BRT_LIGHT_VERTICES = 273, + BRT_LINE = 266, + BRT_LINEAR = 147, + BRT_LPDIRECTDRAWSURFACE_P = 432, + BRT_MAPPING_SOURCE_T = 182, + BRT_MAP_ANTIALIASING_T = 141, + BRT_MAP_ANTIALIASING_TL = 300, + BRT_MAP_HEIGHT_LIMIT_T = 310, + BRT_MAP_HEIGHT_LIMIT_TL = 311, + BRT_MAP_INTERPOLATION_MAG_T = 383, + BRT_MAP_INTERPOLATION_MAG_TL = 384, + BRT_MAP_INTERPOLATION_MIN_T = 385, + BRT_MAP_INTERPOLATION_MIN_TL = 386, + BRT_MAP_INTERPOLATION_T = 145, + BRT_MAP_INTERPOLATION_TL = 301, + BRT_MAP_MATRIX_M23_F = 200, + BRT_MAP_MATRIX_M23_X = 201, + BRT_MAP_WIDTH_LIMIT_T = 305, + BRT_MAP_WIDTH_LIMIT_TL = 306, + BRT_MATCH_TVL = 359, + BRT_MATRIX = 118, + BRT_MATRIX23_FIXED = 25, + BRT_MATRIX23_FLOAT = 28, + BRT_MATRIX34_FIXED = 26, + BRT_MATRIX34_FLOAT = 29, + BRT_MATRIX4_FIXED = 27, + BRT_MATRIX4_FLOAT = 30, + BRT_MAX_V2_F = 233, + BRT_MAX_V2_I = 231, + BRT_MAX_V2_X = 232, + BRT_MEMORY_MAPPED_B = 87, + BRT_MIN_V2_F = 230, + BRT_MIN_V2_I = 228, + BRT_MIN_V2_X = 229, + BRT_MIP = 142, + BRT_MIPS = 425, + BRT_MIP_INTERPOLATION_T = 148, + BRT_MIP_INTERPOLATION_TL = 302, + BRT_MIP_PER_PIXEL = 143, + BRT_MIP_PER_PRIMITIVE = 144, + BRT_MIRROR = 309, + BRT_MODEL = 177, + BRT_MODEL_TO_SCREEN_M4_F = 247, + BRT_MODEL_TO_SCREEN_M4_X = 248, + BRT_MODEL_TO_VIEW_HINT_T = 236, + BRT_MODEL_TO_VIEW_M34_F = 234, + BRT_MODEL_TO_VIEW_M34_X = 235, + BRT_MODE_U32 = 94, + BRT_MODULATE_B = 134, + BRT_MOTOROLA = 426, + BRT_NEAREST = 146, + BRT_NEVER = 162, + BRT_NONE = 1, + BRT_NOT_EQUAL = 159, + BRT_NO_RENDER = 379, + BRT_OBJECT = 15, + BRT_OBJECT_CONTAINER = 36, + BRT_OBJECT_LIST = 33, + BRT_ODD_EVEN = 62, + BRT_OFFSCREEN = 101, + BRT_ONE_SIDED = 173, + BRT_OPACITY_F = 191, + BRT_OPACITY_SOURCE_T = 181, + BRT_OPACITY_X = 190, + BRT_ORIGIN_V2_I = 96, + BRT_OUTPUT = 125, + BRT_OUTPUT_FACILITY = 39, + BRT_OUTPUT_FACILITY_O = 95, + BRT_PARALLEL = 242, + BRT_PARTIAL = 275, + BRT_PARTS_TL = 107, + BRT_PARTS_U32 = 112, + BRT_PERSPECTIVE = 241, + BRT_PERSPECTIVE_B = 127, + BRT_PERSPECTIVE_T = 289, + BRT_PERSPECTIVE_TL = 290, + BRT_PIXELMAP_MAX_I32 = 89, + BRT_PIXEL_BITS_I32 = 76, + BRT_PIXEL_CHANNELS_I32 = 78, + BRT_PIXEL_CHANNELS_TL = 79, + BRT_PIXEL_GET_F = 374, + BRT_PIXEL_GET_X = 373, + BRT_PIXEL_SET_F = 376, + BRT_PIXEL_SET_X = 375, + BRT_PIXEL_TYPE_U8 = 75, + BRT_PLANE = 225, + BRT_PLANE_V4_F = 226, + BRT_PLANE_V4_X = 227, + BRT_POINT = 209, + BRT_POINTER = 3, + BRT_POINTER_LIST = 35, + BRT_POSITION_V3_F = 211, + BRT_POSITION_V3_X = 212, + BRT_POWERPC = 424, + BRT_POWER_OF_2 = 351, + BRT_PREFER_SHARE_B = 111, + BRT_PRIMITIVE = 124, + BRT_PRIMITIVES = 270, + BRT_PRIMITIVE_BLOCK_P = 393, + BRT_PRIMITIVE_CUSTOM_P = 206, + BRT_PRIMITIVE_FILTER_P = 207, + BRT_PRIMITIVE_LIBRARY = 52, + BRT_PRIMITIVE_LIBRARY_O = 88, + BRT_PRIMITIVE_LIBRARY_P = 115, + BRT_PRIMITIVE_STATE = 53, + BRT_PRIVATE = 349, + BRT_PRODUCT_CSTR = 57, + BRT_PRODUCT_VERSION_CSTR = 58, + BRT_QUAD = 268, + BRT_QUAD_STRIP = 455, + BRT_RED = 81, + BRT_REGISTRY_STR = 417, + BRT_REJECT = 277, + BRT_RENDERER = 43, + BRT_RENDERER_FACILITY = 42, + BRT_RENDERER_FACILITY_O = 108, + BRT_RENDERER_MAX_I32 = 106, + BRT_RENDERER_O = 103, + BRT_RENDERER_STATE_STORED = 44, + BRT_RENDER_B = 256, + BRT_RGB = 137, + BRT_RGBA_4_4_4_4 = 337, + BRT_RGBA_8_8_8_8 = 333, + BRT_RGBX_8_8_8_8 = 329, + BRT_RGB_2_3_2 = 322, + BRT_RGB_5_6_5 = 320, + BRT_RGB_8_8_8 = 324, + BRT_RIGHT_LEFT = 65, + BRT_SCREEN_DOOR_O = 168, + BRT_SCREEN_DOOR_TVL = 399, + BRT_SHARED_B = 109, + BRT_SMOOTH_B = 126, + BRT_SPACE_T = 175, + BRT_SPECULAR_F = 197, + BRT_SPECULAR_POWER_F = 199, + BRT_SPECULAR_POWER_X = 198, + BRT_SPECULAR_X = 196, + BRT_SPOT = 210, + BRT_SPOT_INNER_F = 218, + BRT_SPOT_INNER_X = 217, + BRT_SPOT_OUTER_F = 216, + BRT_SPOT_OUTER_X = 215, + BRT_SPRITE = 265, + BRT_SQUARE = 350, + BRT_STATE_RESTORE = 269, + BRT_STEREO_B = 59, + BRT_STEREO_T = 60, + BRT_STEREO_TL = 61, + BRT_STORED_STATE_O = 264, + BRT_STRETCHDIBITS = 409, + BRT_STRETCH_COPY_DESTINATION_TVL = 365, + BRT_STRETCH_COPY_F = 369, + BRT_STRETCH_COPY_SOURCE_TVL = 364, + BRT_STRETCH_COPY_T = 366, + BRT_STRETCH_COPY_TL = 367, + BRT_STRETCH_COPY_X = 368, + BRT_STRING = 31, + BRT_SUBDIVIDE = 381, + BRT_SUBDIVIDE_TOLERANCE_I32 = 382, + BRT_SURFACE = 117, + BRT_SURFACE_B = 253, + BRT_SURFACE_C_CUSTOM_P = 202, + BRT_SURFACE_C_FILTER_P = 203, + BRT_SURFACE_V_CUSTOM_P = 204, + BRT_SURFACE_V_FILTER_P = 205, + BRT_SYCHRONISE_I32 = 372, + BRT_TEXTURE_MEMORY_U32 = 92, + BRT_TEXTURE_O = 164, + BRT_TEXTURE_TVL = 395, + BRT_TITLE_CSTR = 358, + BRT_TOKEN = 4, + BRT_TOKEN_LIST = 34, + BRT_TOKEN_VALUE_LIST = 355, + BRT_TOP_BOTTOM = 66, + BRT_TRANSFORM_B = 252, + BRT_TRIANGLE = 267, + BRT_TRI_FAN = 454, + BRT_TRI_STRIP = 453, + BRT_TWO_SIDED = 174, + BRT_TYPE_T = 172, + BRT_UINT_16 = 8, + BRT_UINT_32 = 10, + BRT_UINT_8 = 6, + BRT_UNKNOWN = 171, + BRT_USE_NO_3D_B = 279, + BRT_USE_NO_DEPTH_B = 280, + BRT_USE_T = 99, + BRT_V1BUCKETS = 272, + BRT_V1INSERT_ARG1_P = 261, + BRT_V1INSERT_ARG2_P = 262, + BRT_V1INSERT_ARG3_P = 263, + BRT_V1INSERT_FUNCTION_P = 260, + BRT_V1MODEL = 271, + BRT_V1ORDER_TABLE_P = 258, + BRT_V1PRIMITIVE_HEAP_P = 259, + BRT_VECTOR2_FIXED = 19, + BRT_VECTOR2_FLOAT = 22, + BRT_VECTOR2_INTEGER = 16, + BRT_VECTOR3_FIXED = 20, + BRT_VECTOR3_FLOAT = 23, + BRT_VECTOR3_INTEGER = 17, + BRT_VECTOR4_FIXED = 21, + BRT_VECTOR4_FLOAT = 24, + BRT_VECTOR4_INTEGER = 18, + BRT_VERSION_U32 = 55, + BRT_VERTEX_DBL = 452, + BRT_VERTEX_SGL = 451, + BRT_VERTICAL_BLANK = 274, + BRT_VIDEO_MEMORY_U32 = 91, + BRT_VIEW = 176, + BRT_VIEW_TO_ENVIRONMENT_HINT_T = 245, + BRT_VIEW_TO_ENVIRONMENT_M34_F = 243, + BRT_VIEW_TO_ENVIRONMENT_M34_X = 244, + BRT_VIEW_TO_SCREEN_HINT_T = 240, + BRT_VIEW_TO_SCREEN_M4_F = 238, + BRT_VIEW_TO_SCREEN_M4_X = 239, + BRT_WIDTH_I32 = 69, + BRT_WIDTH_MAX_I32 = 71, + BRT_WIDTH_MIN_I32 = 70, + BRT_WIDTH_OPTIMUM_I32 = 391, + BRT_WIDTH_T = 387, + BRT_WIDTH_TL = 388, + BRT_WINDOW_BUFFER_METHOD_T = 407, + BRT_WINDOW_FULLSCREEN_B = 406, + BRT_WINDOW_HANDLE_H = 405, + BRT_WINDOW_NAME_CSTR = 403, + BRT_WINDOW_PROCEDURE_P = 404, + BRT_WING = 408, + BRT_WORD_BYTES_I32 = 77, + BRT_WRAP = 307, + BRT_WRITABLE_BASE_I32 = 284, + BRT_WRITABLE_RANGE_I32 = 285, + BRT_XBGR_1_5_5_5 = 317, + BRT_XBGR_8_8_8_8 = 327, + BRT_XRGB_1_5_5_5 = 316, + BRT_XRGB_8_8_8_8 = 326, + BRT_XYZ_16_16_16 = 347, + BRT_XYZ_8_8_8 = 346, + BRT_YUV_16 = 348, + BRT_ZERO_IS_TRANSPARENT = 352, + BRT_ZTRANSPARENCY_B = 439, + BRT_Z_WRITE_ALWAYS = 436, + BRT_Z_WRITE_CONDITIONAL = 438, + BRT_Z_WRITE_CONDITIONAL_NO_Z = 437, + BRT_Z_WRITE_NEVER = 435, + BRT_Z_WRITE_T = 433, + BRT_Z_WRITE_TL = 434, + _BRT_MAX = 134217727 } br_token; - typedef enum br_apply_map_types { - BR_APPLYMAP_PLANE = 0, - BR_APPLYMAP_SPHERE = 1, - BR_APPLYMAP_CYLINDER = 2, - BR_APPLYMAP_DISC = 3, - BR_APPLYMAP_NONE = 4 + BR_APPLYMAP_PLANE = 0, + BR_APPLYMAP_SPHERE = 1, + BR_APPLYMAP_CYLINDER = 2, + BR_APPLYMAP_DISC = 3, + BR_APPLYMAP_NONE = 4 } br_apply_map_types; - typedef enum br_fitmap_axis { - BR_FITMAP_PLUS_X = 0, - BR_FITMAP_PLUS_Y = 1, - BR_FITMAP_PLUS_Z = 2, - BR_FITMAP_MINUS_X = 3, - BR_FITMAP_MINUS_Y = 4, - BR_FITMAP_MINUS_Z = 5 + BR_FITMAP_PLUS_X = 0, + BR_FITMAP_PLUS_Y = 1, + BR_FITMAP_PLUS_Z = 2, + BR_FITMAP_MINUS_X = 3, + BR_FITMAP_MINUS_Y = 4, + BR_FITMAP_MINUS_Z = 5 } br_fitmap_axis; - typedef void br_putline_cbfn(char*, void*); typedef int br_mode_test_cbfn(br_uint_8*, br_size_t); typedef br_uint_32 brfile_attributes_cbfn(); @@ -745,1564 +646,1651 @@ typedef void br_resourcefree_cbfn(void*, br_uint_8, br_size_t); typedef void br_diag_warning_cbfn(char*); typedef void br_diag_failure_cbfn(char*); typedef br_resource_class* br_resclass_find_cbfn(char*); -typedef br_uint_32 br_resclass_enum_cbfn(br_resource_class*); +typedef br_uint_32 br_resclass_enum_cbfn(br_resource_class*, void*); typedef int br_qsort_cbfn(void*, void*); typedef br_uint_32 br_resenum_cbfn(void*, void*); typedef br_device* br_device_begin_fn(char*); typedef br_boolean br_device_enum_cbfn(char*, br_uint_32, char*, char*, char*, char*, void*); -typedef br_boolean br_outfcty_enum_cbfn(char*, br_outfcty_desc*, void*, struct div_t { - int quot; - int rem; - }); -typedef void br_model_custom_cbfn(br_actor*, br_model*, br_material*, void*); +typedef br_boolean br_outfcty_enum_cbfn(char*, br_outfcty_desc*, void*); +typedef void br_model_custom_cbfn(br_actor*, br_model*, br_material*, void*, br_uint_8, int); typedef int br_fmt_report_cbfn(char*); -typedef void br_renderbounds_cbfn(br_actor*, br_model*, br_material*, void*, br_uint_8, br_matrix4*); +typedef void br_renderbounds_cbfn(br_actor*, br_model*, br_material*, void*, br_uint_8, br_matrix4*, br_int_32*); typedef void br_primitive_cbfn(br_primitive*, br_actor*, br_model*, br_material*, br_order_table*, br_scalar*); typedef br_material* br_material_find_cbfn(char*); -typedef br_uint_32 br_material_enum_cbfn(br_material*); +typedef br_uint_32 br_material_enum_cbfn(br_material*, void*); typedef br_model* br_model_find_cbfn(char*); -typedef br_uint_32 br_model_enum_cbfn(br_model*); +typedef br_uint_32 br_model_enum_cbfn(br_model*, void*); typedef br_pixelmap* br_map_find_cbfn(char*); -typedef br_uint_32 br_map_enum_cbfn(br_pixelmap*); +typedef br_uint_32 br_map_enum_cbfn(br_pixelmap*, void*); typedef br_pixelmap* br_table_find_cbfn(char*); -typedef br_uint_32 br_table_enum_cbfn(br_pixelmap*); -typedef br_uint_32 br_actor_enum_cbfn(br_actor*); -typedef int br_pick2d_cbfn(br_actor*, br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, br_scalar); -typedef int br_pick3d_cbfn(br_actor*, br_model*, br_material*, br_matrix34*, br_bounds*); -typedef int br_modelpick2d_cbfn(br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, int, int, int, br_vector3*); -struct br_filesystem { - char *identifier; - brfile_attributes_cbfn *attributes; - brfile_open_read_cbfn *open_read; - brfile_open_write_cbfn *open_write; - brfile_close_cbfn *close; - brfile_eof_cbfn *eof; - brfile_getchr_cbfn *getchr; - brfile_putchr_cbfn *putchr; - brfile_read_cbfn *read; - brfile_write_cbfn *write; - brfile_getline_cbfn *getline; - brfile_putline_cbfn *putline; - brfile_advance_cbfn *advance; -}; -struct br_allocator { - char *identifier; - brmem_allocate_cbfn *allocate; - brmem_free_cbfn *free; - brmem_inquire_cbfn *inquire; - brmem_align_cbfn *align; -}; -struct br_resource_class { - br_uint_32 reserved; - char *identifier; - br_uint_8 res_class; - br_resourcefree_cbfn *free_cb; - br_uint_32 alignment; -}; -struct br_diaghandler { - char *identifier; - br_diag_warning_cbfn *warning; - br_diag_failure_cbfn *failure; -}; -struct br_errorhandler { - char *identifier; - br_diag_warning_cbfn *message; - br_diag_failure_cbfn *error; -}; -struct br_colour_range { - br_colour low; - br_colour high; -}; -struct br_matrix23 { - br_scalar m[3][2]; -}; -struct br_matrix23_f { - br_float m[3][2]; -}; -struct br_matrix23_x { - br_fixed_ls m[3][2]; -}; -struct br_matrix34 { - br_scalar m[4][3]; -}; -struct br_matrix34_f { - br_float m[4][3]; -}; -struct br_matrix34_x { - br_fixed_ls m[4][3]; -}; -struct br_matrix4 { - br_scalar m[4][4]; -}; -struct br_matrix4_f { - br_float m[4][4]; -}; -struct br_matrix4_x { - br_fixed_ls m[4][4]; -}; -struct br_vector2 { - br_scalar v[2]; -}; -struct br_vector3 { - br_scalar v[3]; -}; -struct br_vector4 { - br_scalar v[4]; -}; -struct br_vector2_x { - br_fixed_ls v[2]; -}; -struct br_vector3_x { - br_fixed_ls v[3]; -}; -struct br_vector4_x { - br_fixed_ls v[4]; -}; -struct br_vector2_f { - br_float v[2]; -}; -struct br_vector3_f { - br_float v[3]; -}; -struct br_vector4_f { - br_float v[4]; -}; -struct br_vector2_i { - br_int_32 v[2]; -}; -struct br_vector3_i { - br_int_32 v[3]; -}; -struct br_vector4_i { - br_int_32 v[4]; -}; -struct br_fvector2 { - br_fraction v[2]; -}; -struct br_fvector3 { - br_fraction v[3]; -}; -struct br_fvector4 { - br_fraction v[4]; -}; -struct br_fvector2_f { - br_fraction_f v[2]; -}; -struct br_fvector3_f { - br_fraction_f v[3]; -}; -struct br_fvector4_f { - br_fraction v[4]; -}; -struct br_fvector2_x { - br_fraction_x v[2]; -}; -struct br_fvector3_x { - br_fraction_x v[3]; -}; -struct br_fvector4_x { - br_fraction_x v[4]; -}; -struct br_bounds2 { - br_vector2 min; - br_vector2 max; -}; -struct br_bounds3 { - br_vector3 min; - br_vector3 max; -}; -struct br_bounds4 { - br_vector4 min; - br_vector4 max; -}; -struct br_bounds2_f { - br_vector2_f min; - br_vector2_f max; -}; -struct br_bounds3_f { - br_vector3_f min; - br_vector3_f max; -}; -struct br_bounds4_f { - br_vector4_f min; - br_vector4_f max; -}; -struct br_bounds2_x { - br_vector2_x min; - br_vector2_x max; -}; -struct br_bounds3_x { - br_vector3_x min; - br_vector3_x max; -}; -struct br_bounds4_x { - br_vector4_x min; - br_vector4_x max; -}; -struct br_bounds2_i { - br_vector2_i min; - br_vector2_i max; -}; -struct br_bounds3_i { - br_vector3_i min; - br_vector3_i max; -}; -struct br_bounds4_i { - br_vector4_i min; - br_vector4_i max; -}; -struct br_euler { - br_angle a; - br_angle b; - br_angle c; - br_uint_8 order; -}; -struct br_quat { - br_scalar x; - br_scalar y; - br_scalar z; - br_scalar w; -}; -struct br_transform { - br_uint_16 type; - struct { - br_matrix34 mat; +typedef br_uint_32 br_table_enum_cbfn(br_pixelmap*, void*); +typedef br_uint_32 br_actor_enum_cbfn(br_actor*, void*); +typedef int br_pick2d_cbfn(br_actor*, br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, br_scalar, void*); +typedef int br_pick3d_cbfn(br_actor*, br_model*, br_material*, br_matrix34*, br_bounds*, void*); +typedef int br_modelpick2d_cbfn(br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, int, int, int, br_vector3*, br_vector2*, void*); +typedef struct br_filesystem { + char *identifier; + brfile_attributes_cbfn *attributes; + brfile_open_read_cbfn *open_read; + brfile_open_write_cbfn *open_write; + brfile_close_cbfn *close; + brfile_eof_cbfn *eof; + brfile_getchr_cbfn *getchr; + brfile_putchr_cbfn *putchr; + brfile_read_cbfn *read; + brfile_write_cbfn *write; + brfile_getline_cbfn *getline; + brfile_putline_cbfn *putline; + brfile_advance_cbfn *advance; +} br_filesystem; + +typedef struct br_allocator { + char *identifier; + brmem_allocate_cbfn *allocate; + brmem_free_cbfn *free; + brmem_inquire_cbfn *inquire; + brmem_align_cbfn *align; +} br_allocator; + +typedef struct br_resource_class { + br_uint_32 reserved; + char *identifier; + br_uint_8 res_class; + br_resourcefree_cbfn *free_cb; + br_uint_32 alignment; +} br_resource_class; + +typedef struct br_diaghandler { + char *identifier; + br_diag_warning_cbfn *warning; + br_diag_failure_cbfn *failure; +} br_diaghandler; + +typedef struct br_errorhandler { + char *identifier; + br_diag_warning_cbfn *message; + br_diag_failure_cbfn *error; +} br_errorhandler; + +typedef struct br_colour_range { + br_colour low; + br_colour high; +} br_colour_range; + +typedef struct br_matrix23 { + br_scalar m[3][2]; +} br_matrix23; + +typedef struct br_matrix23_f { + br_float m[3][2]; +} br_matrix23_f; + +typedef struct br_matrix23_x { + br_fixed_ls m[3][2]; +} br_matrix23_x; + +typedef struct br_matrix34 { + br_scalar m[4][3]; +} br_matrix34; + +typedef struct br_matrix34_f { + br_float m[4][3]; +} br_matrix34_f; + +typedef struct br_matrix34_x { + br_fixed_ls m[4][3]; +} br_matrix34_x; + +typedef struct br_matrix4 { + br_scalar m[4][4]; +} br_matrix4; + +typedef struct br_matrix4_f { + br_float m[4][4]; +} br_matrix4_f; + +typedef struct br_matrix4_x { + br_fixed_ls m[4][4]; +} br_matrix4_x; + +typedef struct br_vector2 { + br_scalar v[2]; +} br_vector2; + +typedef struct br_vector3 { + br_scalar v[3]; +} br_vector3; + +typedef struct br_vector4 { + br_scalar v[4]; +} br_vector4; + +typedef struct br_vector2_x { + br_fixed_ls v[2]; +} br_vector2_x; + +typedef struct br_vector3_x { + br_fixed_ls v[3]; +} br_vector3_x; + +typedef struct br_vector4_x { + br_fixed_ls v[4]; +} br_vector4_x; + +typedef struct br_vector2_f { + br_float v[2]; +} br_vector2_f; + +typedef struct br_vector3_f { + br_float v[3]; +} br_vector3_f; + +typedef struct br_vector4_f { + br_float v[4]; +} br_vector4_f; + +typedef struct br_vector2_i { + br_int_32 v[2]; +} br_vector2_i; + +typedef struct br_vector3_i { + br_int_32 v[3]; +} br_vector3_i; + +typedef struct br_vector4_i { + br_int_32 v[4]; +} br_vector4_i; + +typedef struct br_fvector2 { + br_fraction v[2]; +} br_fvector2; + +typedef struct br_fvector3 { + br_fraction v[3]; +} br_fvector3; + +typedef struct br_fvector4 { + br_fraction v[4]; +} br_fvector4; + +typedef struct br_fvector2_f { + br_fraction_f v[2]; +} br_fvector2_f; + +typedef struct br_fvector3_f { + br_fraction_f v[3]; +} br_fvector3_f; + +typedef struct br_fvector4_f { + br_fraction v[4]; +} br_fvector4_f; + +typedef struct br_fvector2_x { + br_fraction_x v[2]; +} br_fvector2_x; + +typedef struct br_fvector3_x { + br_fraction_x v[3]; +} br_fvector3_x; + +typedef struct br_fvector4_x { + br_fraction_x v[4]; +} br_fvector4_x; + +typedef struct br_bounds2 { + br_vector2 min; + br_vector2 max; +} br_bounds2; + +typedef struct br_bounds3 { + br_vector3 min; + br_vector3 max; +} br_bounds3; + +typedef struct br_bounds4 { + br_vector4 min; + br_vector4 max; +} br_bounds4; + +typedef struct br_bounds2_f { + br_vector2_f min; + br_vector2_f max; +} br_bounds2_f; + +typedef struct br_bounds3_f { + br_vector3_f min; + br_vector3_f max; +} br_bounds3_f; + +typedef struct br_bounds4_f { + br_vector4_f min; + br_vector4_f max; +} br_bounds4_f; + +typedef struct br_bounds2_x { + br_vector2_x min; + br_vector2_x max; +} br_bounds2_x; + +typedef struct br_bounds3_x { + br_vector3_x min; + br_vector3_x max; +} br_bounds3_x; + +typedef struct br_bounds4_x { + br_vector4_x min; + br_vector4_x max; +} br_bounds4_x; + +typedef struct br_bounds2_i { + br_vector2_i min; + br_vector2_i max; +} br_bounds2_i; + +typedef struct br_bounds3_i { + br_vector3_i min; + br_vector3_i max; +} br_bounds3_i; + +typedef struct br_bounds4_i { + br_vector4_i min; + br_vector4_i max; +} br_bounds4_i; + +typedef struct br_euler { + br_angle a; + br_angle b; + br_angle c; + br_uint_8 order; +} br_euler; + +typedef struct br_quat { + br_scalar x; + br_scalar y; + br_scalar z; + br_scalar w; +} br_quat; + +typedef struct br_transform { + br_uint_16 type; struct { - br_euler e; - br_scalar _pad[7]; - br_vector3 t; + br_matrix34 mat; + struct { + br_euler e; + br_scalar _pad[7]; + br_vector3 t; + }; + struct { + br_quat q; + br_scalar _pad[5]; + br_vector3 t; + }; + struct { + br_vector3 look; + br_vector3 up; + br_scalar _pad[3]; + br_vector3 t; + }; + struct { + br_scalar _pad[9]; + br_vector3 t; + }; }; - struct { - br_quat q; - br_scalar _pad[5]; - br_vector3 t; - }; - struct { - br_vector3 look; - br_vector3 up; - br_scalar _pad[3]; - br_vector3 t; - }; - struct { - br_scalar _pad[9]; - br_vector3 t; - }; - }; -}; -struct br_pixelmap { - br_uint_32 _reserved; - char *identifier; - void *pixels; - br_uint_32 pixels_qualifier; - br_pixelmap *map; - br_colour_range src_key; - br_colour_range dst_key; - br_uint_32 key; - br_int_16 row_bytes; - br_int_16 mip_offset; - br_uint_8 type; - br_uint_8 flags; - br_uint_16 copy_function; - br_uint_16 base_x; - br_uint_16 base_y; - br_uint_16 width; - br_uint_16 height; - br_int_16 origin_x; - br_int_16 origin_y; - void *user; - void *stored; -}; -struct br_point { - br_int_32 x; - br_int_32 y; -}; -struct br_rectangle { - br_int_32 x; - br_int_32 y; - br_int_32 w; - br_int_32 h; -}; -struct br_font { - br_uint_32 flags; - br_uint_16 glyph_x; - br_uint_16 glyph_y; - br_int_16 spacing_x; - br_int_16 spacing_y; - br_int_8 *width; - br_uint_16 *encoding; - br_uint_8 *glyphs; -}; -struct br_object { -}; -struct br_value_tag { - br_uint_32 u32; - br_boolean b; - void *p; - br_token t; - br_int_8 i8; - br_uint_8 u8; - br_int_16 i16; - br_uint_16 u16; - br_int_32 i32; - br_fixed_ls x; - br_float f; - br_scalar s; - br_angle a; - br_colour rgb; - br_object *o; - br_vector2_i *v2_i; - br_vector3_i *v3_i; - br_vector4_i *v4_i; - br_vector2_x *v2_x; - br_vector3_x *v3_x; - br_vector4_x *v4_x; - br_vector2_f *v2_f; - br_vector3_f *v3_f; - br_vector4_f *v4_f; - br_matrix23_x *m23_x; - br_matrix34_x *m34_x; - br_matrix4_x *m4_x; - br_matrix23_f *m23_f; - br_matrix34_f *m34_f; - br_matrix4_f *m4_f; - char *str; - char *cstr; - br_object **hl; - br_token *tl; - void **pl; - br_token_value *tvl; -}; -struct br_token_value { - br_token t; - br_value v; -}; -struct br_pool_block { - br_pool_block *next; -}; -struct br_pool { - br_pool_block *free; - br_uint_32 block_size; - br_uint_32 chunk_size; - int mem_type; -}; -struct br_primitive { - br_primitive *next; - br_uint_32 type; - void *stored; - void *v[3]; -}; -struct br_order_table { - br_primitive **table; - br_uint_16 size; - br_order_table *next; - br_scalar min_z; - br_scalar max_z; - br_scalar sort_z; - br_scalar scale; - br_uint_32 flags; - br_uint_16 type; - br_uint_16 visits; -}; -struct br_primitive_heap { - br_uint_8 *base; - br_size_t size; - br_uint_8 *current; -}; -struct br_associative_array_tag { - br_token_value *tv; - br_uint_16 num_elements; - br_uint_16 max_elements; -}; -struct br_device { -}; -struct br_outfcty_desc { - br_int_32 width; - br_int_32 width_min; - br_int_32 width_max; - br_int_32 height; - br_int_32 height_min; - br_int_32 height_max; - br_uint_8 pmtype; - br_int_32 pmbits; - br_boolean indexed; - br_boolean fullscreen; -}; -struct br_renderer_facility { -}; -struct br_device_pixelmap { -}; -struct br_primitive_library { -}; -struct br_geometry { -}; -struct br_renderer { -}; -struct br_material { - br_uint_32 _reserved; - char *identifier; - br_colour colour; - br_uint_8 opacity; - br_ufraction ka; - br_ufraction kd; - br_ufraction ks; - br_scalar power; - br_uint_32 flags; - br_matrix23 map_transform; - br_uint_8 index_base; - br_uint_8 index_range; - br_pixelmap *colour_map; - br_pixelmap *screendoor; - br_pixelmap *index_shade; - br_pixelmap *index_blend; - br_pixelmap *index_fog; - br_token_value *extra_surf; - br_token_value *extra_prim; - br_scalar fog_min; - br_scalar fog_max; - br_colour fog_colour; - br_uint_32 flags_ext; - br_pixelmap *colour_map_1; - br_matrix23 map_transform_1; - br_int_8 mip_modifier; - br_uint_8 min_mip; - br_uint_8 max_mip; - br_uint_8 alpha_mode; - br_uint_8 zbuffer_mode; - br_uint_8 zbuffer_compare; - br_int_32 subdivide_tolerance; - void *user; - void *stored; -}; -struct br_vertex { - br_vector3 p; - br_vector2 map; - br_uint_8 index; - br_uint_8 red; - br_uint_8 grn; - br_uint_8 blu; - br_uint_16 _pad0; - br_fvector3 n; -}; -struct br_face { - br_uint_16 vertices[3]; - br_uint_16 smoothing; - br_material *material; - br_uint_8 index; - br_uint_8 red; - br_uint_8 grn; - br_uint_8 blu; - br_uint_8 flags; - br_uint_8 _pad0; - br_uint_32 _pad1; - br_fvector3 n; - br_scalar d; -}; -struct br_primitive_list { - br_primitive_list *next; - br_uint_32 prim_type; - br_uint_16 nprims; - br_uint_16 nspares; - void *prim; - void *spare; -}; -struct br_vertex_single { - br_vector3 p; - br_vector2 map; - br_uint_8 alpha; - br_uint_8 red; - br_uint_8 grn; - br_uint_8 blu; - br_uint_16 _pad0; - br_fvector3 n; -}; -struct br_vertex_double { - br_vector3 p; - br_vector2 map0; - br_uint_8 alpha0; - br_uint_8 red0; - br_uint_8 grn0; - br_uint_8 blu0; - br_vector2 map1; - br_uint_8 alpha1; - br_uint_8 red1; - br_uint_8 grn1; - br_uint_8 blu1; - br_fvector3 n; -}; -struct br_point_prim { - br_uint_16 vertices[1]; - br_material *material; -}; -struct br_line { - br_uint_16 vertices[2]; - br_material *material; - br_uint_8 alpha0; - br_uint_8 red0; - br_uint_8 grn0; - br_uint_8 blu0; - br_uint_8 alpha1; - br_uint_8 red1; - br_uint_8 grn1; - br_uint_8 blu1; -}; -struct br_triangle { - br_uint_16 vertices[3]; - br_uint_16 smoothing; - br_material *material; - br_uint_8 alpha0; - br_uint_8 red0; - br_uint_8 grn0; - br_uint_8 blu0; - br_uint_8 alpha1; - br_uint_8 red1; - br_uint_8 grn1; - br_uint_8 blu1; - br_uint_8 flags; - br_fvector3 n; - br_scalar d; -}; -struct br_quad { - br_uint_16 vertices[4]; - br_uint_16 smoothing; - br_material *material; - br_uint_8 alpha0; - br_uint_8 red0; - br_uint_8 grn0; - br_uint_8 blu0; - br_uint_8 alpha1; - br_uint_8 red1; - br_uint_8 grn1; - br_uint_8 blu1; - br_uint_8 flags; - br_fvector3 n; - br_scalar d; -}; -struct br_strip_face_data { - br_uint_16 smoothing; - br_uint_8 alpha0; - br_uint_8 red0; - br_uint_8 grn0; - br_uint_8 blu0; - br_uint_8 alpha1; - br_uint_8 red1; - br_uint_8 grn1; - br_uint_8 blu1; - br_uint_8 flags; - br_fvector3 n; - br_scalar d; -}; -struct br_tri_strip { - br_uint_16 nvertices; - br_uint_16 *vertices; - br_material *material; - br_strip_face_data *face_data; -}; -struct br_actor { - br_actor *next; - br_actor **prev; - br_actor *children; - br_actor *parent; - br_uint_16 depth; - br_uint_8 type; - char *identifier; - br_model *model; - br_material *material; - br_uint_8 render_style; - void *render_data; - br_transform t; - void *type_data; - void *user; -}; -struct br_model { - br_uint_32 _reserved; - char *identifier; - br_vertex *vertices; - br_face *faces; - br_uint_16 nvertices; - br_uint_16 nfaces; - br_vector3 pivot; - br_uint_16 flags; - br_model_custom_cbfn *custom; - void *user; - br_angle crease_angle; - br_scalar radius; - br_bounds bounds; - void *prepared; - void *stored; - br_uint_16 nprimitive_lists; - br_primitive_list *primitive_list; -}; -struct br_camera { - char *identifier; - br_uint_8 type; - br_angle field_of_view; - br_scalar hither_z; - br_scalar yon_z; - br_scalar aspect; - br_scalar width; - br_scalar height; - br_scalar distance; - void *user; -}; -struct br_light { - char *identifier; - br_uint_8 type; - br_colour colour; - br_scalar attenuation_c; - br_scalar attenuation_l; - br_scalar attenuation_q; - br_angle cone_outer; - br_angle cone_inner; - void *user; -}; -struct br_fmt_results { - br_actor **actors; - br_model **models; - br_light **lights; - br_camera **cameras; - br_vector4 **clip_planes; - br_bounds3 **bounds; - br_bounds3 **bounds_correct; - br_material **materials; - br_pixelmap **pixelmaps; - br_uint_32 nactors; - br_uint_32 nmodels; - br_uint_32 nlights; - br_uint_32 ncameras; - br_uint_32 nclip_planes; - br_uint_32 nbounds; - br_uint_32 nbounds_correct; - br_uint_32 nmaterials; - br_uint_32 npixelmaps; -}; -struct br_fmt_options { - br_uint_32 convert_flags; -}; -struct br_3ds_options { - br_uint_32 flags; - br_scalar hither; - br_scalar yon; - br_scalar scale; - br_fmt_report_cbfn *report; -}; -typedef struct br_node br_node; -typedef struct br_list br_list; -typedef struct br_simple_node br_simple_node; -typedef struct br_simple_list br_simple_list; -typedef struct br_registry_entry br_registry_entry; +} br_transform; + +typedef struct br_pixelmap { + br_uint_32 _reserved; + char *identifier; + void *pixels; + br_uint_32 pixels_qualifier; + br_pixelmap *map; + br_colour_range src_key; + br_colour_range dst_key; + br_uint_32 key; + br_int_16 row_bytes; + br_int_16 mip_offset; + br_uint_8 type; + br_uint_8 flags; + br_uint_16 copy_function; + br_uint_16 base_x; + br_uint_16 base_y; + br_uint_16 width; + br_uint_16 height; + br_int_16 origin_x; + br_int_16 origin_y; + void *user; + void *stored; +} br_pixelmap; + +typedef struct br_point { + br_int_32 x; + br_int_32 y; +} br_point; + +typedef struct br_rectangle { + br_int_32 x; + br_int_32 y; + br_int_32 w; + br_int_32 h; +} br_rectangle; + +typedef struct br_font { + br_uint_32 flags; + br_uint_16 glyph_x; + br_uint_16 glyph_y; + br_int_16 spacing_x; + br_int_16 spacing_y; + br_int_8 *width; + br_uint_16 *encoding; + br_uint_8 *glyphs; +} br_font; + +typedef struct br_object { +} br_object; + +typedef struct br_value_tag { + br_uint_32 u32; + br_boolean b; + void *p; + br_token t; + br_int_8 i8; + br_uint_8 u8; + br_int_16 i16; + br_uint_16 u16; + br_int_32 i32; + br_fixed_ls x; + br_float f; + br_scalar s; + br_angle a; + br_colour rgb; + br_object *o; + br_vector2_i *v2_i; + br_vector3_i *v3_i; + br_vector4_i *v4_i; + br_vector2_x *v2_x; + br_vector3_x *v3_x; + br_vector4_x *v4_x; + br_vector2_f *v2_f; + br_vector3_f *v3_f; + br_vector4_f *v4_f; + br_matrix23_x *m23_x; + br_matrix34_x *m34_x; + br_matrix4_x *m4_x; + br_matrix23_f *m23_f; + br_matrix34_f *m34_f; + br_matrix4_f *m4_f; + char *str; + char *cstr; + br_object **hl; + br_token *tl; + void **pl; + br_token_value *tvl; +} br_value; + +typedef struct br_token_value { + br_token t; + br_value v; +} br_token_value; + +typedef struct br_pool_block { + br_pool_block *next; +} br_pool_block; + +typedef struct br_pool { + br_pool_block *free; + br_uint_32 block_size; + br_uint_32 chunk_size; + int mem_type; +} br_pool; + +typedef struct br_primitive { + br_primitive *next; + br_uint_32 type; + void *stored; + void *v[3]; +} br_primitive; + +typedef struct br_order_table { + br_primitive **table; + br_uint_16 size; + br_order_table *next; + br_scalar min_z; + br_scalar max_z; + br_scalar sort_z; + br_scalar scale; + br_uint_32 flags; + br_uint_16 type; + br_uint_16 visits; +} br_order_table; + +typedef struct br_primitive_heap { + br_uint_8 *base; + br_size_t size; + br_uint_8 *current; +} br_primitive_heap; + +typedef struct br_associative_array_tag { + br_token_value *tv; + br_uint_16 num_elements; + br_uint_16 max_elements; +} br_associative_array; + +typedef struct br_device { +} br_device; + +typedef struct br_outfcty_desc { + br_int_32 width; + br_int_32 width_min; + br_int_32 width_max; + br_int_32 height; + br_int_32 height_min; + br_int_32 height_max; + br_uint_8 pmtype; + br_int_32 pmbits; + br_boolean indexed; + br_boolean fullscreen; +} br_outfcty_desc; + +typedef struct br_renderer_facility { +} br_renderer_facility; + +typedef struct br_device_pixelmap { +} br_device_pixelmap; + +typedef struct br_primitive_library { +} br_primitive_library; + +typedef struct br_geometry { +} br_geometry; + +typedef struct br_renderer { +} br_renderer; + +typedef struct br_material { + br_uint_32 _reserved; + char *identifier; + br_colour colour; + br_uint_8 opacity; + br_ufraction ka; + br_ufraction kd; + br_ufraction ks; + br_scalar power; + br_uint_32 flags; + br_matrix23 map_transform; + br_uint_8 index_base; + br_uint_8 index_range; + br_pixelmap *colour_map; + br_pixelmap *screendoor; + br_pixelmap *index_shade; + br_pixelmap *index_blend; + br_pixelmap *index_fog; + br_token_value *extra_surf; + br_token_value *extra_prim; + br_scalar fog_min; + br_scalar fog_max; + br_colour fog_colour; + br_uint_32 flags_ext; + br_pixelmap *colour_map_1; + br_matrix23 map_transform_1; + br_int_8 mip_modifier; + br_uint_8 min_mip; + br_uint_8 max_mip; + br_uint_8 alpha_mode; + br_uint_8 zbuffer_mode; + br_uint_8 zbuffer_compare; + br_int_32 subdivide_tolerance; + void *user; + void *stored; +} br_material; + +typedef struct br_vertex { + br_vector3 p; + br_vector2 map; + br_uint_8 index; + br_uint_8 red; + br_uint_8 grn; + br_uint_8 blu; + br_uint_16 _pad0; + br_fvector3 n; +} br_vertex; + +typedef struct br_face { + br_uint_16 vertices[3]; + br_uint_16 smoothing; + br_material *material; + br_uint_8 index; + br_uint_8 red; + br_uint_8 grn; + br_uint_8 blu; + br_uint_8 flags; + br_uint_8 _pad0; + br_uint_32 _pad1; + br_fvector3 n; + br_scalar d; +} br_face; + +typedef struct br_primitive_list { + br_primitive_list *next; + br_uint_32 prim_type; + br_uint_16 nprims; + br_uint_16 nspares; + void *prim; + void *spare; +} br_primitive_list; + +typedef struct br_vertex_single { + br_vector3 p; + br_vector2 map; + br_uint_8 alpha; + br_uint_8 red; + br_uint_8 grn; + br_uint_8 blu; + br_uint_16 _pad0; + br_fvector3 n; +} br_vertex_single; + +typedef struct br_vertex_double { + br_vector3 p; + br_vector2 map0; + br_uint_8 alpha0; + br_uint_8 red0; + br_uint_8 grn0; + br_uint_8 blu0; + br_vector2 map1; + br_uint_8 alpha1; + br_uint_8 red1; + br_uint_8 grn1; + br_uint_8 blu1; + br_fvector3 n; +} br_vertex_double; + +typedef struct br_point_prim { + br_uint_16 vertices[1]; + br_material *material; +} br_point_prim; + +typedef struct br_line { + br_uint_16 vertices[2]; + br_material *material; + br_uint_8 alpha0; + br_uint_8 red0; + br_uint_8 grn0; + br_uint_8 blu0; + br_uint_8 alpha1; + br_uint_8 red1; + br_uint_8 grn1; + br_uint_8 blu1; +} br_line; + +typedef struct br_triangle { + br_uint_16 vertices[3]; + br_uint_16 smoothing; + br_material *material; + br_uint_8 alpha0; + br_uint_8 red0; + br_uint_8 grn0; + br_uint_8 blu0; + br_uint_8 alpha1; + br_uint_8 red1; + br_uint_8 grn1; + br_uint_8 blu1; + br_uint_8 flags; + br_fvector3 n; + br_scalar d; +} br_triangle; + +typedef struct br_quad { + br_uint_16 vertices[4]; + br_uint_16 smoothing; + br_material *material; + br_uint_8 alpha0; + br_uint_8 red0; + br_uint_8 grn0; + br_uint_8 blu0; + br_uint_8 alpha1; + br_uint_8 red1; + br_uint_8 grn1; + br_uint_8 blu1; + br_uint_8 flags; + br_fvector3 n; + br_scalar d; +} br_quad; + +typedef struct br_strip_face_data { + br_uint_16 smoothing; + br_uint_8 alpha0; + br_uint_8 red0; + br_uint_8 grn0; + br_uint_8 blu0; + br_uint_8 alpha1; + br_uint_8 red1; + br_uint_8 grn1; + br_uint_8 blu1; + br_uint_8 flags; + br_fvector3 n; + br_scalar d; +} br_strip_face_data; + +typedef struct br_tri_strip { + br_uint_16 nvertices; + br_uint_16 *vertices; + br_material *material; + br_strip_face_data *face_data; +} br_tri_strip; + +typedef struct br_actor { + br_actor *next; + br_actor **prev; + br_actor *children; + br_actor *parent; + br_uint_16 depth; + br_uint_8 type; + char *identifier; + br_model *model; + br_material *material; + br_uint_8 render_style; + void *render_data; + br_transform t; + void *type_data; + void *user; +} br_actor; + +typedef struct br_model { + br_uint_32 _reserved; + char *identifier; + br_vertex *vertices; + br_face *faces; + br_uint_16 nvertices; + br_uint_16 nfaces; + br_vector3 pivot; + br_uint_16 flags; + br_model_custom_cbfn *custom; + void *user; + br_angle crease_angle; + br_scalar radius; + br_bounds bounds; + void *prepared; + void *stored; + br_uint_16 nprimitive_lists; + br_primitive_list *primitive_list; +} br_model; + +typedef struct br_camera { + char *identifier; + br_uint_8 type; + br_angle field_of_view; + br_scalar hither_z; + br_scalar yon_z; + br_scalar aspect; + br_scalar width; + br_scalar height; + br_scalar distance; + void *user; +} br_camera; + +typedef struct br_light { + char *identifier; + br_uint_8 type; + br_colour colour; + br_scalar attenuation_c; + br_scalar attenuation_l; + br_scalar attenuation_q; + br_angle cone_outer; + br_angle cone_inner; + void *user; +} br_light; + +typedef struct br_fmt_results { + br_actor **actors; + br_model **models; + br_light **lights; + br_camera **cameras; + br_vector4 **clip_planes; + br_bounds3 **bounds; + br_bounds3 **bounds_correct; + br_material **materials; + br_pixelmap **pixelmaps; + br_uint_32 nactors; + br_uint_32 nmodels; + br_uint_32 nlights; + br_uint_32 ncameras; + br_uint_32 nclip_planes; + br_uint_32 nbounds; + br_uint_32 nbounds_correct; + br_uint_32 nmaterials; + br_uint_32 npixelmaps; +} br_fmt_results; + +typedef struct br_fmt_options { + br_uint_32 convert_flags; +} br_fmt_options; + +typedef struct br_3ds_options { + br_uint_32 flags; + br_scalar hither; + br_scalar yon; + br_scalar scale; + br_fmt_report_cbfn *report; +} br_3ds_options; + typedef br_registery br_registry; -typedef struct br_active_light br_active_light; -typedef struct br_active_clip_plane br_active_clip_plane; -typedef struct br_framework_state br_framework_state; typedef void* br_find_failed_cbfn(char*); typedef br_uint_32 br_enum_cbfn(void*, void*); typedef void br_surface_fn(br_vertex*, br_fvector3*, br_scalar*); -typedef br_uint_32 br_face_surface_fn(br_vertex*, br_face*); +typedef br_uint_32 br_face_surface_fn(br_vertex*, br_face*, int); typedef void br_light_sub_fn(br_vector3*, br_fvector3*, br_active_light*, br_scalar*); -typedef void br_model_update_cbfn(br_model*); -typedef void br_material_update_cbfn(br_material*); -typedef void br_table_update_cbfn(br_pixelmap*); -typedef void br_map_update_cbfn(br_pixelmap*); -struct br_node { - br_node *next; - br_node *prev; -}; -struct br_list { - br_node *head; - br_node *_null; - br_node *tail; -}; -struct br_simple_node { - br_simple_node *next; - br_simple_node **prev; -}; -struct br_simple_list { - br_simple_node *head; -}; -struct br_registry_entry { - br_node node; - char **item; -}; -struct br_registery { - br_list list; - int count; - br_find_failed_cbfn *find_failed_hook; -}; -struct br_active_light { - br_scalar intensity; - br_vector3 view_position; - br_vector3 view_direction; - br_vector3 position; - br_vector3 direction; - br_vector3 half; - br_scalar spot_cosine_outer; - br_scalar spot_cosine_inner; - void (*light_sub_function)(br_vector3*, br_fvector3*, br_active_light*, br_scalar*); - int type; - br_light *light; -}; -struct br_active_clip_plane { - br_vector4 screen_plane; -}; -struct br_framework_state { - br_surface_fn *surface_fn; - br_surface_fn *surface_fn_after_map; - br_surface_fn *surface_fn_after_copy; - br_face_surface_fn *face_surface_fn; - br_matrix23 map_transform; - br_scalar index_base; - br_scalar index_range; - br_matrix4 model_to_screen; - br_matrix4 view_to_screen; - br_matrix34 model_to_view; - br_matrix34 view_to_model; - br_matrix34 model_to_environment; - struct { - br_matrix34 m; - br_actor *a; - }; - int vtos_type; - br_vector3 eye_m; - br_vector3 eye_m_normalised; - br_material *material; - br_active_light active_lights_model[16]; - br_active_light active_lights_view[16]; - br_uint_16 nactive_lights_model; - br_uint_16 nactive_lights_view; - int light_is_1md; - br_vector3 eye_l; - br_active_clip_plane active_clip_planes[6]; - br_uint_16 nactive_clip_planes; - br_actor *enabled_lights[16]; - br_actor *enabled_clip_planes[6]; - br_actor *enabled_environment; - br_pixelmap *output; - br_scalar vp_width; - br_scalar vp_height; - br_scalar vp_ox; - br_scalar vp_oy; - int rendering; - br_registry reg_models; - br_registry reg_materials; - br_registry reg_textures; - br_registry reg_tables; - br_registry reg_resource_classes; - br_resource_class *resource_class_index[256]; - br_model_update_cbfn *model_update; - br_material_update_cbfn *material_update; - br_table_update_cbfn *table_update; - br_map_update_cbfn *map_update; - br_filesystem *fsys; - br_allocator *mem; - br_errorhandler *err; - int open_mode; - void *res; - br_model *default_model; - br_material *default_material; - fw_fn_table fn_table; - void *scratch_ptr; - br_size_t scratch_size; - br_size_t scratch_last; - int scratch_inuse; -}; +typedef void br_model_update_cbfn(br_model*, br_uint_16); +typedef void br_material_update_cbfn(br_material*, br_uint_16); +typedef void br_table_update_cbfn(br_pixelmap*, br_uint_16); +typedef void br_map_update_cbfn(br_pixelmap*, br_uint_16); +typedef struct br_node { + br_node *next; + br_node *prev; +} br_node; + +typedef struct br_list { + br_node *head; + br_node *_null; + br_node *tail; +} br_list; + +typedef struct br_simple_node { + br_simple_node *next; + br_simple_node **prev; +} br_simple_node; + +typedef struct br_simple_list { + br_simple_node *head; +} br_simple_list; + +typedef struct br_registry_entry { + br_node node; + char **item; +} br_registry_entry; + +typedef struct br_registery { + br_list list; + int count; + br_find_failed_cbfn *find_failed_hook; +} br_registry; + +typedef struct br_active_light { + br_scalar intensity; + br_vector3 view_position; + br_vector3 view_direction; + br_vector3 position; + br_vector3 direction; + br_vector3 half; + br_scalar spot_cosine_outer; + br_scalar spot_cosine_inner; + void (*light_sub_function)(br_vector3*, br_fvector3*, br_active_light*, br_scalar*); + int type; + br_light *light; +} br_active_light; + +typedef struct br_active_clip_plane { + br_vector4 screen_plane; +} br_active_clip_plane; + +typedef struct br_framework_state { + br_surface_fn *surface_fn; + br_surface_fn *surface_fn_after_map; + br_surface_fn *surface_fn_after_copy; + br_face_surface_fn *face_surface_fn; + br_matrix23 map_transform; + br_scalar index_base; + br_scalar index_range; + br_matrix4 model_to_screen; + br_matrix4 view_to_screen; + br_matrix34 model_to_view; + br_matrix34 view_to_model; + br_matrix34 model_to_environment; + struct { + br_matrix34 m; + br_actor *a; + }; + int vtos_type; + br_vector3 eye_m; + br_vector3 eye_m_normalised; + br_material *material; + br_active_light active_lights_model[16]; + br_active_light active_lights_view[16]; + br_uint_16 nactive_lights_model; + br_uint_16 nactive_lights_view; + int light_is_1md; + br_vector3 eye_l; + br_active_clip_plane active_clip_planes[6]; + br_uint_16 nactive_clip_planes; + br_actor *enabled_lights[16]; + br_actor *enabled_clip_planes[6]; + br_actor *enabled_environment; + br_pixelmap *output; + br_scalar vp_width; + br_scalar vp_height; + br_scalar vp_ox; + br_scalar vp_oy; + int rendering; + br_registry reg_models; + br_registry reg_materials; + br_registry reg_textures; + br_registry reg_tables; + br_registry reg_resource_classes; + br_resource_class *resource_class_index[256]; + br_model_update_cbfn *model_update; + br_material_update_cbfn *material_update; + br_table_update_cbfn *table_update; + br_map_update_cbfn *map_update; + br_filesystem *fsys; + br_allocator *mem; + br_errorhandler *err; + int open_mode; + void *res; + br_model *default_model; + br_material *default_material; + fw_fn_table fn_table; + void *scratch_ptr; + br_size_t scratch_size; + br_size_t scratch_last; + int scratch_inuse; +} br_framework_state; + typedef br_error br_exception; typedef void br_resident_fn(); -typedef struct br_tv_template_entry br_tv_template_entry; -typedef struct br_tv_template br_tv_template; -typedef struct br_object_container br_object_container; -typedef struct br_object_container_dispatch br_object_container_dispatch; -typedef struct br_device_dispatch br_device_dispatch; -typedef struct br_object_dispatch br_object_dispatch; -struct br_tv_template_entry { - br_token token; - char *name; - br_int_32 offset; - br_int_16 flags; - br_int_16 conv; - br_int_32 conv_arg; - br_int_32 mask; -}; -struct br_tv_template { - int n_entries; - br_tv_template_entry *entries; - br_int_32 map_base; - br_int_32 n_map_entries; - br_tv_template_entry **map_query_entry; - br_tv_template_entry **map_set_entry; - br_boolean names_resolved; - void *res; -}; -struct br_object_container { - br_object_container_dispatch *dispatch; -}; -struct br_object_container_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*, br_object*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*, br_object*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); -}; -struct br_device_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*, br_object*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*, br_object*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); -}; -struct br_object_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); -}; -typedef struct br_geometry_stored br_geometry_stored; -typedef struct br_renderer_state_stored_dispatch br_renderer_state_stored_dispatch; -typedef struct br_renderer_state_stored br_renderer_state_stored; -typedef struct br_buffer_stored br_buffer_stored; -typedef struct br_device_pixelmap_dispatch br_device_pixelmap_dispatch; -typedef struct br_buffer_stored_dispatch br_buffer_stored_dispatch; -typedef struct brp_vertex brp_vertex; -typedef struct br_renderer_dispatch br_renderer_dispatch; -typedef struct br_geometry_stored_dispatch br_geometry_stored_dispatch; -struct br_geometry_stored { - br_geometry_stored_dispatch *dispatch; -}; -struct br_renderer_state_stored_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); -}; -struct br_renderer_state_stored { - br_renderer_state_stored_dispatch *dispatch; -}; -struct br_buffer_stored { - br_buffer_stored_dispatch *dispatch; -}; -struct br_device_pixelmap_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - br_error (*_validSource)(br_device_pixelmap*, br_boolean*, br_object*); - br_error (*_resize)(br_device_pixelmap*, br_int_32); - br_error (*_match)(br_device_pixelmap*, br_device_pixelmap**, br_token_value*); - br_error (*_allocateSub)(br_device_pixelmap*, br_device_pixelmap**, br_rectangle*); - br_error (*_copy)(br_device_pixelmap*, br_device_pixelmap*); - br_error (*_copyTo)(br_device_pixelmap*, br_device_pixelmap*); - br_error (*_copyFrom)(br_device_pixelmap*, br_device_pixelmap*); - br_error (*_fill)(br_device_pixelmap*); - br_error (*_doubleBuffer)(br_device_pixelmap*, br_device_pixelmap*); - br_error (*_copyDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*); - br_error (*_copyToDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*); - br_error (*_copyFromDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*); - br_error (*_fillDirty)(br_device_pixelmap*, br_uint_32, br_rectangle*); - br_error (*_doubleBufferDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangle)(br_device_pixelmap*, br_rectangle*); - br_error (*_rectangle2)(br_device_pixelmap*, br_rectangle*, br_uint_32); - br_error (*_rectangleCopy)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleCopyTo)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleCopyFrom)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleStretchCopy)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleStretchCopyTo)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleStretchCopyFrom)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); - br_error (*_rectangleFill)(br_device_pixelmap*, br_rectangle*); - br_error (*_pixelSet)(br_device_pixelmap*, br_point*); - br_error (*_line)(br_device_pixelmap*, br_point*, br_point*); - br_error (*_copyBits)(br_device_pixelmap*, br_point*, br_uint_8*, br_uint_16); - br_error (*_text)(br_device_pixelmap*, br_point*, br_font*, char*); - br_error (*_textBounds)(br_device_pixelmap*, br_rectangle*, br_font*); - br_error (*_rowSize)(br_device_pixelmap*, br_size_t*); - br_error (*_rowSet)(br_device_pixelmap*, void*); - br_error (*_rowQuery)(br_device_pixelmap*, void*); - br_error (*_pixelQuery)(br_device_pixelmap*, br_uint_32*, br_point*); - br_error (*_pixelAddressQuery)(br_device_pixelmap*, void**, br_uint_32*, br_point*); - br_error (*_pixelAddressSet)(br_device_pixelmap*, void*); - br_error (*_originSet)(br_device_pixelmap*, br_point*); - br_error (*_flush)(br_device_pixelmap*); - br_error (*_synchronise)(br_device_pixelmap*, br_token); - br_error (*_directLock)(br_device_pixelmap*); - br_error (*_directUnlock)(br_device_pixelmap*); -}; -struct br_buffer_stored_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - br_error (*_update)(br_buffer_stored*, br_device_pixelmap*, br_token_value*); -}; -struct brp_vertex { -}; -struct br_renderer_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*, br_object*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*, br_object*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); - br_error (*_validDestination)(br_renderer*, br_boolean*, br_object*); - br_error (*_stateStoredNew)(br_renderer*, br_renderer_state_stored**, br_uint_32); - br_error (*_stateStoredAvail)(br_renderer*, br_int_32*, br_uint_32); - br_error (*_bufferStoredNew)(br_renderer*, br_buffer_stored**, br_token, br_device_pixelmap*, br_token_value*); - br_error (*_bufferStoredAvail)(br_renderer*, br_int_32*, br_token, br_token_value*); - br_error (*_partSet)(br_renderer*, br_token, br_int_32, br_token); - br_error (*_partSetMany)(br_renderer*, br_token, br_int_32, br_token_value*); - br_error (*_partQuery)(br_renderer*, br_token, br_int_32, br_uint_32*); - br_error (*_partQueryBuffer)(br_renderer*, br_token, br_int_32, br_uint_32*, br_uint_32*, br_size_t); - br_error (*_partQueryMany)(br_renderer*, br_token, br_int_32, br_token_value*, void*); - br_error (*_partQueryManySize)(br_renderer*, br_token, br_int_32, br_size_t*); - br_error (*_partQueryAll)(br_renderer*, br_token, br_int_32, br_token_value*); - br_error (*_partQueryAllSize)(br_renderer*, br_token, br_int_32); - br_error (*_partIndexQuery)(br_renderer*, br_token, br_int_32*); - br_error (*_modelMulF)(br_renderer*, br_matrix34_f*); - br_error (*_modelMulX)(br_renderer*, br_matrix34_x*); - br_error (*_modelPopPushMulF)(br_renderer*, br_matrix34_f*); - br_error (*_modelPopPushMulX)(br_renderer*, br_matrix34_x*); - br_error (*_modelInvert)(br_renderer*); - br_error (*_statePush)(br_renderer*); - br_error (*_statePop)(br_renderer*); - br_error (*_stateSave)(br_renderer*, br_renderer_state_stored*); - br_error (*_stateRestore)(br_renderer*, br_renderer_state_stored*); - br_error (*_stateMask)(br_renderer*, br_uint_32*, br_token*); - br_error (*_stateDefault)(br_renderer*); - br_error (*_boundsTestF)(br_renderer*, br_token*, br_bounds3_f*); - br_error (*_boundsTestX)(br_renderer*, br_token*, br_bounds3_x*); - br_error (*_coverageTestF)(br_renderer*, br_float*, br_bounds3_f*); - br_error (*_coverageTestX)(br_renderer*, br_fixed_ls*, br_bounds3_x*); - br_error (*_viewDistanceF)(br_renderer*, br_float*); - br_error (*_viewDistanceX)(br_renderer*, br_fixed_ls*); - br_error (*_commandModeSet)(br_renderer*, br_token); - br_error (*_commandModeQuery)(br_renderer*, br_token*); - br_error (*_commandModeDefault)(br_renderer*); - br_error (*_commandModePush)(br_renderer*); - br_error (*_commandModePop)(br_renderer*); - br_error (*_flush)(br_renderer*); - br_error (*_synchronise)(br_renderer*, br_token); - br_error (*_testRender)(br_renderer*, br_token, brp_vertex*, brp_vertex*, brp_vertex*); - br_error (*_partQueryCapability)(br_renderer*, br_token, br_int_32, br_token_value*); - br_error (*_stateQueryPerformance)(br_renderer*, br_fixed_lu*); -}; -struct br_geometry_stored_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); - br_error (*_queryAll)(br_object*, br_token_value*); - br_error (*_queryAllSize)(br_object*, br_size_t*); - br_error (*_render)(br_geometry_stored*, br_renderer*); - br_error (*_renderOnScreen)(br_geometry_stored*, br_renderer*); -}; +typedef struct br_tv_template_entry { + br_token token; + char *name; + br_int_32 offset; + br_int_16 flags; + br_int_16 conv; + br_int_32 conv_arg; + br_int_32 mask; +} br_tv_template_entry; + +typedef struct br_tv_template { + int n_entries; + br_tv_template_entry *entries; + br_int_32 map_base; + br_int_32 n_map_entries; + br_tv_template_entry **map_query_entry; + br_tv_template_entry **map_set_entry; + br_boolean names_resolved; + void *res; +} br_tv_template; + +typedef struct br_object_container { + br_object_container_dispatch *dispatch; +} br_object_container; + +typedef struct br_object_container_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); +} br_object_container_dispatch; + +typedef struct br_device_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); +} br_device_dispatch; + +typedef struct br_object_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); +} br_object_dispatch; + +typedef struct br_geometry_stored { + br_geometry_stored_dispatch *dispatch; +} br_geometry_stored; + +typedef struct br_renderer_state_stored_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); +} br_renderer_state_stored_dispatch; + +typedef struct br_renderer_state_stored { + br_renderer_state_stored_dispatch *dispatch; +} br_renderer_state_stored; + +typedef struct br_buffer_stored { + br_buffer_stored_dispatch *dispatch; +} br_buffer_stored; + +typedef struct br_device_pixelmap_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_validSource)(br_device_pixelmap*, br_boolean*, br_object*); + br_error (*_resize)(br_device_pixelmap*, br_int_32, br_int_32); + br_error (*_match)(br_device_pixelmap*, br_device_pixelmap**, br_token_value*); + br_error (*_allocateSub)(br_device_pixelmap*, br_device_pixelmap**, br_rectangle*); + br_error (*_copy)(br_device_pixelmap*, br_device_pixelmap*); + br_error (*_copyTo)(br_device_pixelmap*, br_device_pixelmap*); + br_error (*_copyFrom)(br_device_pixelmap*, br_device_pixelmap*); + br_error (*_fill)(br_device_pixelmap*, br_uint_32); + br_error (*_doubleBuffer)(br_device_pixelmap*, br_device_pixelmap*); + br_error (*_copyDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*, br_int_32); + br_error (*_copyToDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*, br_int_32); + br_error (*_copyFromDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*, br_int_32); + br_error (*_fillDirty)(br_device_pixelmap*, br_uint_32, br_rectangle*, br_int_32); + br_error (*_doubleBufferDirty)(br_device_pixelmap*, br_device_pixelmap*, br_rectangle*, br_int_32); + br_error (*_rectangle)(br_device_pixelmap*, br_rectangle*, br_uint_32); + br_error (*_rectangle2)(br_device_pixelmap*, br_rectangle*, br_uint_32, br_uint_32); + br_error (*_rectangleCopy)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleCopyTo)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleCopyFrom)(br_device_pixelmap*, br_point*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleStretchCopy)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleStretchCopyTo)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleStretchCopyFrom)(br_device_pixelmap*, br_rectangle*, br_device_pixelmap*, br_rectangle*); + br_error (*_rectangleFill)(br_device_pixelmap*, br_rectangle*, br_uint_32); + br_error (*_pixelSet)(br_device_pixelmap*, br_point*, br_uint_32); + br_error (*_line)(br_device_pixelmap*, br_point*, br_point*, br_uint_32); + br_error (*_copyBits)(br_device_pixelmap*, br_point*, br_uint_8*, br_uint_16, br_rectangle*, br_uint_32); + br_error (*_text)(br_device_pixelmap*, br_point*, br_font*, char*, br_uint_32); + br_error (*_textBounds)(br_device_pixelmap*, br_rectangle*, br_font*, char*); + br_error (*_rowSize)(br_device_pixelmap*, br_size_t*); + br_error (*_rowSet)(br_device_pixelmap*, void*, br_size_t, br_uint_32); + br_error (*_rowQuery)(br_device_pixelmap*, void*, br_size_t, br_uint_32); + br_error (*_pixelQuery)(br_device_pixelmap*, br_uint_32*, br_point*); + br_error (*_pixelAddressQuery)(br_device_pixelmap*, void**, br_uint_32*, br_point*); + br_error (*_pixelAddressSet)(br_device_pixelmap*, void*, br_uint_32*); + br_error (*_originSet)(br_device_pixelmap*, br_point*); + br_error (*_flush)(br_device_pixelmap*); + br_error (*_synchronise)(br_device_pixelmap*, br_token, br_boolean); + br_error (*_directLock)(br_device_pixelmap*, br_boolean); + br_error (*_directUnlock)(br_device_pixelmap*); +} br_device_pixelmap_dispatch; + +typedef struct br_buffer_stored_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_update)(br_buffer_stored*, br_device_pixelmap*, br_token_value*); +} br_buffer_stored_dispatch; + +typedef struct brp_vertex { +} brp_vertex; + +typedef struct br_renderer_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); + br_error (*_validDestination)(br_renderer*, br_boolean*, br_object*); + br_error (*_stateStoredNew)(br_renderer*, br_renderer_state_stored**, br_uint_32, br_token_value*); + br_error (*_stateStoredAvail)(br_renderer*, br_int_32*, br_uint_32, br_token_value*); + br_error (*_bufferStoredNew)(br_renderer*, br_buffer_stored**, br_token, br_device_pixelmap*, br_token_value*); + br_error (*_bufferStoredAvail)(br_renderer*, br_int_32*, br_token, br_token_value*); + br_error (*_partSet)(br_renderer*, br_token, br_int_32, br_token, br_uint_32); + br_error (*_partSetMany)(br_renderer*, br_token, br_int_32, br_token_value*, br_int_32*); + br_error (*_partQuery)(br_renderer*, br_token, br_int_32, br_uint_32*, br_token); + br_error (*_partQueryBuffer)(br_renderer*, br_token, br_int_32, br_uint_32*, br_uint_32*, br_size_t, br_token); + br_error (*_partQueryMany)(br_renderer*, br_token, br_int_32, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_partQueryManySize)(br_renderer*, br_token, br_int_32, br_size_t*, br_token_value*); + br_error (*_partQueryAll)(br_renderer*, br_token, br_int_32, br_token_value*, br_size_t); + br_error (*_partQueryAllSize)(br_renderer*, br_token, br_int_32, br_size_t*); + br_error (*_partIndexQuery)(br_renderer*, br_token, br_int_32*); + br_error (*_modelMulF)(br_renderer*, br_matrix34_f*); + br_error (*_modelMulX)(br_renderer*, br_matrix34_x*); + br_error (*_modelPopPushMulF)(br_renderer*, br_matrix34_f*); + br_error (*_modelPopPushMulX)(br_renderer*, br_matrix34_x*); + br_error (*_modelInvert)(br_renderer*); + br_error (*_statePush)(br_renderer*, br_uint_32); + br_error (*_statePop)(br_renderer*, br_uint_32); + br_error (*_stateSave)(br_renderer*, br_renderer_state_stored*, br_uint_32); + br_error (*_stateRestore)(br_renderer*, br_renderer_state_stored*, br_uint_32); + br_error (*_stateMask)(br_renderer*, br_uint_32*, br_token*, int); + br_error (*_stateDefault)(br_renderer*, br_uint_32); + br_error (*_boundsTestF)(br_renderer*, br_token*, br_bounds3_f*); + br_error (*_boundsTestX)(br_renderer*, br_token*, br_bounds3_x*); + br_error (*_coverageTestF)(br_renderer*, br_float*, br_bounds3_f*); + br_error (*_coverageTestX)(br_renderer*, br_fixed_ls*, br_bounds3_x*); + br_error (*_viewDistanceF)(br_renderer*, br_float*); + br_error (*_viewDistanceX)(br_renderer*, br_fixed_ls*); + br_error (*_commandModeSet)(br_renderer*, br_token); + br_error (*_commandModeQuery)(br_renderer*, br_token*); + br_error (*_commandModeDefault)(br_renderer*); + br_error (*_commandModePush)(br_renderer*); + br_error (*_commandModePop)(br_renderer*); + br_error (*_flush)(br_renderer*, br_boolean); + br_error (*_synchronise)(br_renderer*, br_token, br_boolean); + br_error (*_testRender)(br_renderer*, br_token, brp_vertex*, brp_vertex*, brp_vertex*); + br_error (*_partQueryCapability)(br_renderer*, br_token, br_int_32, br_token_value*, br_size_t); + br_error (*_stateQueryPerformance)(br_renderer*, br_fixed_lu*); +} br_renderer_dispatch; + +typedef struct br_geometry_stored_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_render)(br_geometry_stored*, br_renderer*); + br_error (*_renderOnScreen)(br_geometry_stored*, br_renderer*); +} br_geometry_stored_dispatch; + typedef br_datafile br_datafile; -typedef struct br_file_struct_member br_file_struct_member; -typedef struct br_file_struct br_file_struct; -typedef struct br_file_primitives br_file_primitives; -typedef struct br_chunks_table_entry br_chunks_table_entry; -typedef struct br_chunks_table br_chunks_table; -typedef struct br_file_enum_member br_file_enum_member; -typedef struct br_file_enum br_file_enum; -struct br_file_struct_member { - br_uint_16 type; - br_uint_32 offset; - char *name; - void *extra; -}; -struct br_file_struct { - char *name; - br_uint_32 nmembers; - br_file_struct_member *members; - int mem_size; -}; -struct br_file_primitives { - char *identifier; - int (*skip)(br_datafile*, br_uint_32); - int (*chunk_write)(br_datafile*, br_uint_32, br_uint_32); - int (*chunk_read)(br_datafile*, br_uint_32*); - void (*count_write)(br_datafile*, br_uint_32); - br_uint_32 (*count_read)(br_datafile*); - int (*count_size)(br_datafile*); - br_uint_32 (*struct_write)(br_datafile*, br_file_struct*, void*, char); - br_uint_32 (*struct_read)(br_datafile*, br_file_struct*, void*, char); - int (*struct_size)(br_datafile*, br_file_struct*, void*, char); - int (*block_write)(br_datafile*, void*, int, int, int, int); - void* (*block_read)(br_datafile*, void*, int*, int, int); - int (*block_size)(br_datafile*, void*, int, int, int, int); - int (*name_write)(br_datafile*, char*); - char* (*name_read)(br_datafile*, char*); - int (*name_size)(br_datafile*, char*); -}; -struct br_chunks_table_entry { - br_uint_32 id; - br_uint_8 has_count; - int (*handler)(br_datafile*, br_uint_32); -}; -struct br_chunks_table { - int nentries; - br_chunks_table_entry *entries; -}; -struct br_file_enum_member { - int value; - char *name; -}; -struct br_file_enum { - br_uint_32 nmembers; - br_file_enum_member *members; -}; -typedef struct br_device_clut br_device_clut; -typedef struct br_device_clut_dispatch br_device_clut_dispatch; -struct br_device_clut { - br_device_clut_dispatch *dispatch; -}; -struct br_device_clut_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_fixed_lsf); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_fixed_lsf); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - br_error (*_entrySet)(br_device_clut*, br_int_32); - br_error (*_entryQuery)(br_device_clut*, br_colour*); - br_error (*_entrySetMany)(br_device_clut*, br_int_32, br_int_32); - br_error (*_entryQueryMany)(br_device_clut*, br_colour*, br_int_32); -}; -typedef struct br_image br_image; -typedef struct br_image_section br_image_section; -typedef struct br_open_device br_open_device; -struct br_image { - br_node node; - char *identifier; - br_int_32 type; - br_int_32 ref_count; - br_uint_32 ordinal_base; - br_uint_32 n_functions; - void **functions; - br_uint_32 n_names; - char **names; - br_uint_16 *name_ordinals; - br_uint_16 n_imports; - br_image **imports; - br_uint_16 n_sections; - br_image_section *sections; - void *type_pointer; -}; -struct br_image_section { - char *name; - void *base; - br_size_t mem_offset; - br_size_t mem_size; - br_uint_32 data_offset; - br_uint_32 data_size; -}; -struct br_open_device { - br_device *dev; - br_image *image; -}; -typedef struct br_geometry_dispatch br_geometry_dispatch; -typedef struct br_geometry_lighting br_geometry_lighting; -typedef struct br_geometry_lighting_dispatch br_geometry_lighting_dispatch; -typedef struct br_v1db_enable br_v1db_enable; -typedef struct br_v1db_state br_v1db_state; -typedef struct br_renderer_facility_dispatch br_renderer_facility_dispatch; -struct br_geometry_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_fixed_lsf); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_fixed_lsf); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); -}; -struct br_geometry_lighting { - br_geometry_lighting_dispatch *dispatch; -}; -struct br_geometry_lighting_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_fixed_lsf); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_fixed_lsf); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - br_error (*_renderF)(br_geometry_lighting*, br_renderer*, br_vector3_f*, br_vector3_f*, br_colour*, br_colour*, br_uint_16*, int, int); - br_error (*_renderX)(br_geometry_lighting*, br_renderer*, br_vector3_x*, br_vector3_x*, br_colour*, br_colour*, br_uint_16*, int, int); -}; -struct br_v1db_enable { - br_int_32 max; - br_int_32 count; - br_int_32 type; - char *name; - br_actor **enabled; -}; -struct br_v1db_state { - br_boolean active; - br_boolean zs_active; - br_boolean zb_active; - br_int_32 rendering; - br_renderer *renderer; - br_renderer *query_renderer; - br_geometry *format_model; - br_geometry *format_buckets; - br_geometry_lighting *format_lighting; - br_matrix4 model_to_screen; - br_matrix34 model_to_view; - br_boolean model_to_screen_valid; - br_uint_32 ttype; - br_actor *render_root; - struct { - br_matrix34 m; - br_actor *a; - br_uint_8 transform_type; - }; - br_v1db_enable enabled_lights; - br_v1db_enable enabled_clip_planes; - br_v1db_enable enabled_horizon_planes; - br_int_32 max_light; - br_int_32 max_clip; - br_actor *enabled_environment; - br_registry reg_models; - br_registry reg_materials; - br_registry reg_textures; - br_registry reg_tables; - void *res; - br_model *default_model; - br_material *default_material; - void *default_render_data; - br_order_table *default_order_table; - br_order_table *primary_order_table; - br_order_table *order_table_list; - br_primitive_heap heap; - br_primitive_cbfn *primitive_call; - br_renderbounds_cbfn *bounds_call; - br_vector2 origin; - br_scalar vp_ox; - br_scalar vp_oy; - br_scalar vp_width; - br_scalar vp_height; - br_pixelmap *colour_buffer; -}; -struct br_renderer_facility_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_fixed_lsf); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_fixed_lsf); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); - br_error (*_validDestination)(br_renderer_facility*, br_boolean*, br_object*); - br_error (*_rendererNew)(br_renderer_facility*, br_renderer**, br_token_value*); -}; -typedef struct br_output_facility br_output_facility; -typedef struct br_output_facility_dispatch br_output_facility_dispatch; -typedef struct br_primitive_state br_primitive_state; -typedef struct brp_block brp_block; -typedef struct br_primitive_state_dispatch br_primitive_state_dispatch; -typedef struct br_primitive_library_dispatch br_primitive_library_dispatch; -struct br_output_facility { - br_output_facility_dispatch *dispatch; -}; -struct br_output_facility_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_resourcefree_cbfn); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_resourcefree_cbfn); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); - br_error (*_validSource)(br_output_facility*, br_boolean*, br_object*); - br_error (*_pixelmapNew)(br_output_facility*, br_device_pixelmap**, br_token_value*); - br_error (*_clutNew)(br_output_facility*, br_device_clut**, br_token_value*); - br_error (*_queryCapability)(br_output_facility*, br_token_value*, br_token_value*); -}; -struct br_primitive_state { - br_primitive_state_dispatch *dispatch; -}; -struct brp_block { -}; -struct br_primitive_state_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_resourcefree_cbfn); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_resourcefree_cbfn); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - br_error (*_partSet)(br_primitive_state*, br_token, br_int_32); - br_error (*_partSetMany)(br_primitive_state*, br_token, br_int_32, br_token_value*); - br_error (*_partQuery)(br_primitive_state*, br_token, br_int_32); - br_error (*_partQueryBuffer)(br_primitive_state*, br_token, br_int_32, br_uint_32*, br_uint_32*); - br_error (*_partQueryMany)(br_primitive_state*, br_token, br_int_32, br_token_value*, void*); - br_error (*_partQueryManySize)(br_primitive_state*, br_token, br_int_32, br_size_t*); - br_error (*_partQueryAll)(br_primitive_state*, br_token, br_int_32); - br_error (*_partQueryAllSize)(br_primitive_state*, br_token, br_int_32); - br_error (*_partIndexQuery)(br_primitive_state*, br_token); - br_error (*_stateDefault)(br_primitive_state*); - br_error (*_stateCopy)(br_primitive_state*, br_primitive_state*); - br_error (*_renderBegin)(br_primitive_state*, brp_block**, br_boolean*, br_boolean*, br_boolean); - br_error (*_renderEnd)(br_primitive_state*, brp_block*); - br_error (*_rangesQueryF)(br_primitive_state*, br_float*, br_float*); - br_error (*_rangesQueryX)(br_primitive_state*, br_fixed_ls*, br_fixed_ls*); - br_error (*_partQueryCapability)(br_primitive_state*, br_token, br_int_32); - br_error (*_stateQueryPerformance)(br_primitive_state*, br_fixed_lu*); -}; -struct br_primitive_library_dispatch { - void (*__reserved0)(br_object*); - void (*__reserved1)(br_object*); - void (*__reserved2)(br_object*); - void (*__reserved3)(br_object*); - void (*_free)(br_object*); - char* (*_identifier)(br_object*); - br_token (*_type)(br_object*); - br_boolean (*_isType)(br_object*, br_token); - br_device* (*_device)(br_object*); - br_int_32 (*_space)(br_object*); - br_tv_template* (*_templateQuery)(br_object*); - br_error (*_query)(br_object*, br_uint_32*, br_token, char); - br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token, char); - br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*, char, br_resourcefree_cbfn); - br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*, char, br_resourcefree_cbfn); - br_error (*_queryAll)(br_object*, br_token_value*, br_size_t, char); - br_error (*_queryAllSize)(br_object*, br_size_t*, char); - void* (*_listQuery)(br_object_container*); - void* (*_tokensMatchBegin)(br_object_container*, br_token); - br_boolean (*_tokensMatch)(br_object_container*, br_object*); - void (*_tokensMatchEnd)(br_object_container*); - br_error (*_addFront)(br_object_container*); - br_error (*_removeFront)(br_object_container*, br_object**); - br_error (*_remove)(br_object_container*); - br_error (*_find)(br_object_container*, br_object**, br_token, char*); - br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token); - br_error (*_count)(br_object_container*, br_int_32*, br_token, char*); - br_error (*_stateNew)(br_primitive_library*, br_primitive_state**); - br_error (*_bufferStoredNew)(br_primitive_library*, br_buffer_stored**, br_token, br_device_pixelmap*); - br_error (*_bufferStoredAvail)(br_primitive_library*, br_int_32*, br_token); - br_error (*_flush)(br_primitive_library*); - br_error (*_synchronise)(br_primitive_library*, br_token); - br_error (*_mask)(br_primitive_library*, br_uint_32*, br_token*); -}; -typedef struct br_file br_file; -struct br_file { - void *raw_file; - br_boolean writing; - int mode; - char name[1]; -}; -typedef struct br_lexer_source br_lexer_source; -typedef struct br_lexer_token br_lexer_token; -typedef struct br_lexer_keyword br_lexer_keyword; -typedef struct br_lexer br_lexer; +typedef struct br_file_struct_member { + br_uint_16 type; + br_uint_32 offset; + char *name; + void *extra; +} br_file_struct_member; + +typedef struct br_file_struct { + char *name; + br_uint_32 nmembers; + br_file_struct_member *members; + int mem_size; +} br_file_struct; + +typedef struct br_file_primitives { + char *identifier; + int (*skip)(br_datafile*, br_uint_32); + int (*chunk_write)(br_datafile*, br_uint_32, br_uint_32); + int (*chunk_read)(br_datafile*, br_uint_32*); + void (*count_write)(br_datafile*, br_uint_32); + br_uint_32 (*count_read)(br_datafile*); + int (*count_size)(br_datafile*); + br_uint_32 (*struct_write)(br_datafile*, br_file_struct*, void*); + br_uint_32 (*struct_read)(br_datafile*, br_file_struct*, void*); + int (*struct_size)(br_datafile*, br_file_struct*, void*); + int (*block_write)(br_datafile*, void*, int, int, int, int); + void* (*block_read)(br_datafile*, void*, int*, int, int); + int (*block_size)(br_datafile*, void*, int, int, int, int); + int (*name_write)(br_datafile*, char*); + char* (*name_read)(br_datafile*, char*); + int (*name_size)(br_datafile*, char*); +} br_file_primitives; + +typedef struct br_chunks_table_entry { + br_uint_32 id; + br_uint_8 has_count; + int (*handler)(br_datafile*, br_uint_32, br_uint_32, br_uint_32); +} br_chunks_table_entry; + +typedef struct br_chunks_table { + int nentries; + br_chunks_table_entry *entries; +} br_chunks_table; + +typedef struct br_file_enum_member { + int value; + char *name; +} br_file_enum_member; + +typedef struct br_file_enum { + br_uint_32 nmembers; + br_file_enum_member *members; +} br_file_enum; + +typedef struct br_device_clut { + br_device_clut_dispatch *dispatch; +} br_device_clut; + +typedef struct br_device_clut_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_entrySet)(br_device_clut*, br_int_32, br_colour); + br_error (*_entryQuery)(br_device_clut*, br_colour*, br_int_32); + br_error (*_entrySetMany)(br_device_clut*, br_int_32, br_int_32, br_colour*); + br_error (*_entryQueryMany)(br_device_clut*, br_colour*, br_int_32, br_int_32); +} br_device_clut_dispatch; + +typedef struct br_image { + br_node node; + char *identifier; + br_int_32 type; + br_int_32 ref_count; + br_uint_32 ordinal_base; + br_uint_32 n_functions; + void **functions; + br_uint_32 n_names; + char **names; + br_uint_16 *name_ordinals; + br_uint_16 n_imports; + br_image **imports; + br_uint_16 n_sections; + br_image_section *sections; + void *type_pointer; +} br_image; + +typedef struct br_image_section { + char *name; + void *base; + br_size_t mem_offset; + br_size_t mem_size; + br_uint_32 data_offset; + br_uint_32 data_size; +} br_image_section; + +typedef struct br_open_device { + br_device *dev; + br_image *image; +} br_open_device; + +typedef struct br_geometry_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); +} br_geometry_dispatch; + +typedef struct br_geometry_lighting { + br_geometry_lighting_dispatch *dispatch; +} br_geometry_lighting; + +typedef struct br_geometry_lighting_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_renderF)(br_geometry_lighting*, br_renderer*, br_vector3_f*, br_vector3_f*, br_colour*, br_colour*, br_uint_16*, int, int, int, int, int); + br_error (*_renderX)(br_geometry_lighting*, br_renderer*, br_vector3_x*, br_vector3_x*, br_colour*, br_colour*, br_uint_16*, int, int, int, int, int); +} br_geometry_lighting_dispatch; + +typedef struct br_v1db_enable { + br_int_32 max; + br_int_32 count; + br_int_32 type; + char *name; + br_actor **enabled; +} br_v1db_enable; + +typedef struct br_v1db_state { + br_boolean active; + br_boolean zs_active; + br_boolean zb_active; + br_int_32 rendering; + br_renderer *renderer; + br_renderer *query_renderer; + br_geometry *format_model; + br_geometry *format_buckets; + br_geometry_lighting *format_lighting; + br_matrix4 model_to_screen; + br_matrix34 model_to_view; + br_boolean model_to_screen_valid; + br_uint_32 ttype; + br_actor *render_root; + struct { + br_matrix34 m; + br_actor *a; + br_uint_8 transform_type; + }; + br_v1db_enable enabled_lights; + br_v1db_enable enabled_clip_planes; + br_v1db_enable enabled_horizon_planes; + br_int_32 max_light; + br_int_32 max_clip; + br_actor *enabled_environment; + br_registry reg_models; + br_registry reg_materials; + br_registry reg_textures; + br_registry reg_tables; + void *res; + br_model *default_model; + br_material *default_material; + void *default_render_data; + br_order_table *default_order_table; + br_order_table *primary_order_table; + br_order_table *order_table_list; + br_primitive_heap heap; + br_primitive_cbfn *primitive_call; + br_renderbounds_cbfn *bounds_call; + br_vector2 origin; + br_scalar vp_ox; + br_scalar vp_oy; + br_scalar vp_width; + br_scalar vp_height; + br_pixelmap *colour_buffer; +} br_v1db_state; + +typedef struct br_renderer_facility_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); + br_error (*_validDestination)(br_renderer_facility*, br_boolean*, br_object*); + br_error (*_rendererNew)(br_renderer_facility*, br_renderer**, br_token_value*); +} br_renderer_facility_dispatch; + +typedef struct br_output_facility { + br_output_facility_dispatch *dispatch; +} br_output_facility; + +typedef struct br_output_facility_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); + br_error (*_validSource)(br_output_facility*, br_boolean*, br_object*); + br_error (*_pixelmapNew)(br_output_facility*, br_device_pixelmap**, br_token_value*); + br_error (*_clutNew)(br_output_facility*, br_device_clut**, br_token_value*); + br_error (*_queryCapability)(br_output_facility*, br_token_value*, br_token_value*, br_size_t); +} br_output_facility_dispatch; + +typedef struct br_primitive_state { + br_primitive_state_dispatch *dispatch; +} br_primitive_state; + +typedef struct brp_block { +} brp_block; + +typedef struct br_primitive_state_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + br_error (*_partSet)(br_primitive_state*, br_token, br_int_32, br_token, br_uint_32); + br_error (*_partSetMany)(br_primitive_state*, br_token, br_int_32, br_token_value*, br_int_32*); + br_error (*_partQuery)(br_primitive_state*, br_token, br_int_32, br_uint_32*, br_token); + br_error (*_partQueryBuffer)(br_primitive_state*, br_token, br_int_32, br_uint_32*, br_uint_32*, br_size_t, br_token); + br_error (*_partQueryMany)(br_primitive_state*, br_token, br_int_32, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_partQueryManySize)(br_primitive_state*, br_token, br_int_32, br_size_t*, br_token_value*); + br_error (*_partQueryAll)(br_primitive_state*, br_token, br_int_32, br_token_value*, br_size_t); + br_error (*_partQueryAllSize)(br_primitive_state*, br_token, br_int_32, br_size_t*); + br_error (*_partIndexQuery)(br_primitive_state*, br_token, br_int_32*); + br_error (*_stateDefault)(br_primitive_state*, br_uint_32); + br_error (*_stateCopy)(br_primitive_state*, br_primitive_state*, br_uint_32); + br_error (*_renderBegin)(br_primitive_state*, brp_block**, br_boolean*, br_boolean*, br_boolean, br_int_32); + br_error (*_renderEnd)(br_primitive_state*, brp_block*); + br_error (*_rangesQueryF)(br_primitive_state*, br_float*, br_float*, br_int_32); + br_error (*_rangesQueryX)(br_primitive_state*, br_fixed_ls*, br_fixed_ls*, br_int_32); + br_error (*_partQueryCapability)(br_primitive_state*, br_token, br_int_32, br_token_value*, br_size_t); + br_error (*_stateQueryPerformance)(br_primitive_state*, br_fixed_lu*); +} br_primitive_state_dispatch; + +typedef struct br_primitive_library_dispatch { + void (*__reserved0)(br_object*); + void (*__reserved1)(br_object*); + void (*__reserved2)(br_object*); + void (*__reserved3)(br_object*); + void (*_free)(br_object*); + char* (*_identifier)(br_object*); + br_token (*_type)(br_object*); + br_boolean (*_isType)(br_object*, br_token); + br_device* (*_device)(br_object*); + br_int_32 (*_space)(br_object*); + br_tv_template* (*_templateQuery)(br_object*); + br_error (*_query)(br_object*, br_uint_32*, br_token); + br_error (*_queryBuffer)(br_object*, br_uint_32*, void*, br_size_t, br_token); + br_error (*_queryMany)(br_object*, br_token_value*, void*, br_size_t, br_int_32*); + br_error (*_queryManySize)(br_object*, br_size_t*, br_token_value*); + br_error (*_queryAll)(br_object*, br_token_value*, br_size_t); + br_error (*_queryAllSize)(br_object*, br_size_t*); + void* (*_listQuery)(br_object_container*); + void* (*_tokensMatchBegin)(br_object_container*, br_token, br_token_value*); + br_boolean (*_tokensMatch)(br_object_container*, br_object*, void*); + void (*_tokensMatchEnd)(br_object_container*, void*); + br_error (*_addFront)(br_object_container*, br_object*); + br_error (*_removeFront)(br_object_container*, br_object**); + br_error (*_remove)(br_object_container*, br_object*); + br_error (*_find)(br_object_container*, br_object**, br_token, char*, br_token_value*); + br_error (*_findMany)(br_object_container*, br_object**, br_int_32, br_int_32*, br_token, char*, br_token_value*); + br_error (*_count)(br_object_container*, br_int_32*, br_token, char*, br_token_value*); + br_error (*_stateNew)(br_primitive_library*, br_primitive_state**); + br_error (*_bufferStoredNew)(br_primitive_library*, br_buffer_stored**, br_token, br_device_pixelmap*, br_token_value*); + br_error (*_bufferStoredAvail)(br_primitive_library*, br_int_32*, br_token, br_token_value*); + br_error (*_flush)(br_primitive_library*, br_boolean); + br_error (*_synchronise)(br_primitive_library*, br_token, br_boolean); + br_error (*_mask)(br_primitive_library*, br_uint_32*, br_token*, int); +} br_primitive_library_dispatch; + +typedef struct br_file { + void *raw_file; + br_boolean writing; + int mode; + char name[1]; +} br_file; + typedef enum br_lexer_token_id { - T_EOF = 0, - T_ERROR = 1, - T_IDENT = 2, - T_STRING = 3, - T_INTEGER = 4, - T_REAL = 5, - T_EXCLAM = 33, - T_DQUOTE = 34, - T_HASH = 35, - T_DOLLAR = 36, - T_PERCENT = 37, - T_AMPERSAND = 38, - T_RQUOTE = 39, - T_LPAREN = 40, - T_RPAREN = 41, - T_ASTERISK = 42, - T_PLUS = 43, - T_COMMA = 44, - T_DASH = 45, - T_PERIOD = 46, - T_SLASH = 47, - T_COLON = 58, - T_SEMICOLON = 59, - T_LANGLE = 60, - T_EQUAL = 61, - T_RANGLE = 62, - T_QUERY = 63, - T_COMAT = 64, - T_LSQUARE = 91, - T_BSLASH = 92, - T_RSQUARE = 93, - T_CARET = 94, - T_UNDERBAR = 95, - T_LQUOTE = 96, - T_LBRACE = 123, - T_VBAR = 124, - T_RBRACE = 125, - T_TILDE = 126, - T_KEYWORD = 128 + T_EOF = 0, + T_ERROR = 1, + T_IDENT = 2, + T_STRING = 3, + T_INTEGER = 4, + T_REAL = 5, + T_EXCLAM = 33, + T_DQUOTE = 34, + T_HASH = 35, + T_DOLLAR = 36, + T_PERCENT = 37, + T_AMPERSAND = 38, + T_RQUOTE = 39, + T_LPAREN = 40, + T_RPAREN = 41, + T_ASTERISK = 42, + T_PLUS = 43, + T_COMMA = 44, + T_DASH = 45, + T_PERIOD = 46, + T_SLASH = 47, + T_COLON = 58, + T_SEMICOLON = 59, + T_LANGLE = 60, + T_EQUAL = 61, + T_RANGLE = 62, + T_QUERY = 63, + T_COMAT = 64, + T_LSQUARE = 91, + T_BSLASH = 92, + T_RSQUARE = 93, + T_CARET = 94, + T_UNDERBAR = 95, + T_LQUOTE = 96, + T_LBRACE = 123, + T_VBAR = 124, + T_RBRACE = 125, + T_TILDE = 126, + T_KEYWORD = 128 } br_lexer_token_id; - typedef void br_lexer_getchar_cbfn(br_lexer_source*); typedef void br_lexer_error_cbfn(br_lexer*, char*); -struct br_lexer_source { - br_lexer_source *prev; - char *name; - br_int_32 line; - br_int_32 next; - br_lexer_getchar_cbfn *getchar; - void *ptr; -}; -struct br_lexer_token { - br_lexer_token_id id; - struct { - br_int_32 integer; - float real; - char *string; - }; -}; -struct br_lexer_keyword { - char *name; - br_int_32 id; -}; -struct br_lexer { - br_lexer_source *source; - br_lexer_token current; - br_lexer_keyword *keywords; - br_int_32 nkeywords; - char eol_comment; - void (*advance)(br_lexer*); - br_putline_cbfn *putline; - void *putline_arg; - char *string_buffer; - br_int_32 string_buffer_size; - br_lexer_error_cbfn *error; -}; -typedef struct br_tv_custom br_tv_custom; -typedef br_error br_tv_custom_query_cbfn(br_uint_32*, void**, br_size_t*, void*, br_tv_template_entry*, br_uint_8*); +typedef struct br_lexer_source { + br_lexer_source *prev; + char *name; + br_int_32 line; + br_int_32 next; + br_lexer_getchar_cbfn *getchar; + void *ptr; +} br_lexer_source; + +typedef struct br_lexer_token { + br_lexer_token_id id; + struct { + br_int_32 integer; + float real; + char *string; + }; +} br_lexer_token; + +typedef struct br_lexer_keyword { + char *name; + br_int_32 id; +} br_lexer_keyword; + +typedef struct br_lexer { + br_lexer_source *source; + br_lexer_token current; + br_lexer_keyword *keywords; + br_int_32 nkeywords; + char eol_comment; + void (*advance)(br_lexer*); + br_putline_cbfn *putline; + void *putline_arg; + char *string_buffer; + br_int_32 string_buffer_size; + br_lexer_error_cbfn *error; +} br_lexer; + +typedef br_error br_tv_custom_query_cbfn(br_uint_32*, void**, br_size_t*, void*, br_tv_template_entry*); typedef br_error br_tv_custom_set_cbfn(void*, br_uint_32*, br_tv_template_entry*); typedef br_size_t br_tv_custom_extra_size_cbfn(void*, br_tv_template_entry*); -struct br_tv_custom { - br_tv_custom_query_cbfn *query; - br_tv_custom_set_cbfn *set; - br_tv_custom_extra_size_cbfn *extra_size; -}; -typedef struct br_token_entry br_token_entry; -struct br_token_entry { - br_node node; - char *identifier; - br_int_32 type; - br_token token; - br_int_32 base_length; -}; -typedef struct br_exception_handler br_exception_handler; -struct br_exception_handler { - br_exception_handler *prev; - jmp_buf context; -}; -typedef struct br_pixelmap_state br_pixelmap_state; -struct br_pixelmap_state { - void *res; - br_tv_template *device_pixelmap_template; - br_tv_template *pixelmap_match_template; -}; +typedef struct br_tv_custom { + br_tv_custom_query_cbfn *query; + br_tv_custom_set_cbfn *set; + br_tv_custom_extra_size_cbfn *extra_size; +} br_tv_custom; + +typedef struct br_token_entry { + br_node node; + char *identifier; + br_int_32 type; + br_token token; + br_int_32 base_length; +} br_token_entry; + +typedef struct br_exception_handler { + br_exception_handler *prev; + jmp_buf context; +} br_exception_handler; + +typedef struct br_pixelmap_state { + void *res; + br_tv_template *device_pixelmap_template; + br_tv_template *pixelmap_match_template; +} br_pixelmap_state; + #endif diff --git a/src/types/dr_types.h b/src/types/dr_types.h index 8b8a54a4..65a45bba 100644 --- a/src/types/dr_types.h +++ b/src/types/dr_types.h @@ -3,17 +3,13 @@ #include "br_types.h" +typedef char * va_list[1]; typedef unsigned short wchar_t; typedef unsigned int size_t; +typedef char * __va_list[1]; typedef __iobuf FILE; typedef long fpos_t; -typedef struct div_t div_t; -typedef struct ldiv_t ldiv_t; typedef void * onexit_t(); -typedef struct _complex _complex; -typedef struct complex complex; -typedef struct exception exception; -typedef struct ot_vertex ot_vertex; typedef short SHORT; typedef unsigned short USHORT; typedef int INT; @@ -47,26 +43,17 @@ typedef _tagBREGS _HMI_BREGS; typedef _tagWREGS _HMI_WREGS; typedef _tagDREGS _HMI_DREGS; typedef _tagSREGS _HMI_SREGS; -typedef struct _HMI_REGS _HMI_REGS; typedef _tagIPX_HEADER _IPX_HEADER; -typedef struct _PACKET _PACKET; -typedef struct _REAL_PACKET _REAL_PACKET; -typedef struct _ECB_PACKET _ECB_PACKET; typedef _tagIPX_ECB _IPX_ECB; typedef _tagIPX_INTERNET_ADDR _IPX_INTERNET_ADDR; typedef _tagIPX_NETWORK_ADDR _IPX_NETWORK_ADDR; typedef _tagIPX_LOCAL_TARGET _IPX_LOCAL_TARGET; typedef _tagIPX_ELEMENT _IPX_ELEMENT; -typedef struct _PROT_PTR _PROT_PTR; -typedef struct _REAL_PTR _REAL_PTR; -typedef struct _PTR _PTR; typedef _tag_NETBIOS_NCB _NETBIOS_NCB; typedef _tagNETBIOS_ADAPTER_STATUS _NETBIOS_ADAPTER_STATUS; typedef _tagNETBIOS_ELEMENT _NETBIOS_ELEMENT; typedef _tagNETBIOS_LOCAL_TARGET _NETBIOS_LOCAL_TARGET; typedef _tagXFER_BLOCK_HEADER _XFER_BLOCK_HEADER; -typedef struct _NETNOW_NODE_ADDR _NETNOW_NODE_ADDR; -typedef struct tPD_net_player_info tPD_net_player_info; typedef unsigned char tU8; typedef signed char tS8; typedef unsigned short tU16; @@ -77,85 +64,13 @@ typedef float tF32; typedef double tF64; typedef short tX88; typedef long tX1616; -typedef struct tTrack_spec tTrack_spec; -typedef struct tCrush_neighbour tCrush_neighbour; -typedef struct tCrush_point_spec tCrush_point_spec; -typedef struct tCrush_data tCrush_data; -typedef struct tSpecial_volume tSpecial_volume; typedef tU8 tNet_message_type; -typedef struct tReduced_matrix tReduced_matrix; -typedef struct tCar_controls tCar_controls; -typedef struct tNet_message_mechanics_info tNet_message_mechanics_info; -typedef tCar_spec_struct tCar_spec; -typedef struct tDamage_unit tDamage_unit; -typedef struct tDamage_condition tDamage_condition; -typedef struct tDamage_effect tDamage_effect; -typedef struct tDamage_clause tDamage_clause; -typedef struct tDamage_program tDamage_program; -typedef struct tHeadup_slot tHeadup_slot; -typedef struct tPart_info tPart_info; -typedef struct tParts_spec tParts_spec; -typedef struct tCar_actor tCar_actor; -typedef struct tJoystick tJoystick; typedef char * tS3_sound_source_ptr; -typedef struct tPursuee_trail tPursuee_trail; typedef int tS3_sound_tag; -typedef struct tOppo_psyche tOppo_psyche; -typedef struct tComplete_race_data tComplete_race_data; -typedef struct tReturn_to_start_data tReturn_to_start_data; +typedef tCar_spec_struct tCar_spec; typedef tPath_node_struct tPath_node; typedef tPath_section_struct tPath_section; -typedef struct tPursue_car_data tPursue_car_data; -typedef struct tFollow_path_data tFollow_path_data; -typedef struct tLevitate_data tLevitate_data; -typedef struct tRun_away_data tRun_away_data; -typedef struct tRoute_section tRoute_section; -typedef struct tOpponent_spec tOpponent_spec; -typedef struct tIntelligent_vehicles tIntelligent_vehicles; -typedef struct tBounds tBounds; -typedef struct tFace_ref tFace_ref; typedef tU32 tPlayer_ID; -typedef struct tNet_game_player_info tNet_game_player_info; -typedef struct tNet_game_options tNet_game_options; -typedef struct tNet_game_status tNet_game_status; -typedef struct tNet_game_details tNet_game_details; -typedef struct tNet_message_send_me_details tNet_message_send_me_details; -typedef struct tNet_message_my_details tNet_message_my_details; -typedef struct tNet_message_join tNet_message_join; -typedef struct tNet_message_leave tNet_message_leave; -typedef struct tNet_message_host_pissing_off tNet_message_host_pissing_off; -typedef struct tNet_message_new_player_list tNet_message_new_player_list; -typedef struct tNet_message_race_over tNet_message_race_over; -typedef struct tNet_message_status_report tNet_message_status_report; -typedef struct tGrid_spec tGrid_spec; -typedef struct tNet_message_start_race tNet_message_start_race; -typedef struct tNet_message_guarantee_reply tNet_message_guarantee_reply; -typedef struct tNet_message_headup tNet_message_headup; -typedef struct tNet_message_host_query tNet_message_host_query; -typedef struct tNet_message_host_reply tNet_message_host_reply; -typedef struct tNet_message_cop_info tNet_message_cop_info; -typedef struct tNet_message_non_car_info tNet_message_non_car_info; -typedef struct tNet_message_non_car_position tNet_message_non_car_position; -typedef struct tNet_message_time_sync tNet_message_time_sync; -typedef struct tNet_message_players_confirm tNet_message_players_confirm; -typedef struct tNet_message_disable_car tNet_message_disable_car; -typedef struct tNet_message_enable_car tNet_message_enable_car; -typedef struct tNet_message_powerup tNet_message_powerup; -typedef struct tNet_message_recover tNet_message_recover; -typedef struct tNet_message_scores tNet_message_scores; -typedef struct tNet_message_wasted tNet_message_wasted; -typedef struct tNet_message_gameplay tNet_message_gameplay; -typedef struct tNet_message_pedestrian tNet_message_pedestrian; -typedef struct tNet_message_car_details_req tNet_message_car_details_req; -typedef struct tCar_details tCar_details; -typedef struct tNet_message_car_details tNet_message_car_details; -typedef struct tGame_scores tGame_scores; -typedef struct tNet_message_game_scores tNet_message_game_scores; -typedef struct tNet_message_oil_spill tNet_message_oil_spill; -typedef struct tNet_message_crush_point tNet_message_crush_point; -typedef struct tNet_contents tNet_contents; -typedef struct tNet_message tNet_message; -typedef struct tCar_detail_info tCar_detail_info; typedef int tS3_sound_id; typedef int tS3_type; typedef int tS3_repeats; @@ -165,2726 +80,2782 @@ typedef long tS3_priority; typedef long tS3_pitch; typedef long tS3_speed; typedef char * tS3_outlet_ptr; -typedef struct tS3_vector3 tS3_vector3; -typedef struct tWav_header tWav_header; typedef void * tPipe_reset_proc(); -typedef struct tPowerup tPowerup; typedef int * tGot_proc(tPowerup*, tCar_spec*); typedef void * tLose_proc(tPowerup*, tCar_spec*); typedef void * tPeriodic_proc(tPowerup*, tU32); -typedef struct tDepth_effect tDepth_effect; -typedef struct tPlane_spec tPlane_spec; -typedef struct tMaterial_modifiers tMaterial_modifiers; -typedef struct tSpecial_screen tSpecial_screen; -typedef struct tRace_list_spec tRace_list_spec; -typedef struct tRace_save_info tRace_save_info; -typedef struct tGraf_spec tGraf_spec; -typedef struct tCollision_info tCollision_info; -typedef struct tNon_car_spec tNon_car_spec; -typedef struct tOpp_spec tOpp_spec; -typedef struct tCheckpoint tCheckpoint; -typedef struct tNet_starts tNet_starts; -typedef struct tText_chunk tText_chunk; -typedef struct tRace_info tRace_info; -typedef struct tOpponent_save_info tOpponent_save_info; -typedef struct tOpponent tOpponent; -typedef struct tProgram_state tProgram_state; -typedef struct tDR_font tDR_font; -typedef struct tGraf_data tGraf_data; -typedef struct tRolling_letter tRolling_letter; -typedef struct tFlic_descriptor tFlic_descriptor; +typedef char tPath_name[256]; typedef tFlic_descriptor * tFlic_descriptor_ptr; -typedef struct tBrender_storage tBrender_storage; -typedef struct tSave_game tSave_game; -typedef struct tPed_subs tPed_subs; -typedef struct tRadio_bastards tRadio_bastards; -typedef exception_struct tException_node; typedef exception_struct * tException_list; -typedef struct tPixelmap_user_data tPixelmap_user_data; +typedef exception_struct tException_node; +typedef int tKey_array[123]; +typedef tS32 tJoy_array[8]; typedef void * tPMFM2CB(br_material*); -typedef fmt_vertex DR_VERTEX; typedef v11face DR_FACE; -typedef struct v11group v11group; -typedef struct v11model v11model; -typedef struct tMatrix_and_actor tMatrix_and_actor; +typedef fmt_vertex DR_VERTEX; typedef enum tDriver { - eDriver_non_car_unused_slot = 0, - eDriver_non_car = 1, - eDriver_oppo = 2, - eDriver_net_human = 3, - eDriver_local_human = 4 + eDriver_non_car_unused_slot = 0, + eDriver_non_car = 1, + eDriver_oppo = 2, + eDriver_net_human = 3, + eDriver_local_human = 4 } tDriver; - typedef enum tBounds_type { - eUndefined = 0, - eBounds_ws = 1, - eBounds_cs = 2 + eUndefined = 0, + eBounds_ws = 1, + eBounds_cs = 2 } tBounds_type; - typedef enum tImpact_location { - eImpact_top = 0, - eImpact_bottom = 1, - eImpact_left = 2, - eImpact_right = 3, - eImpact_front = 4, - eImpact_back = 5, - eImpact_location_count = 6, - eImpact_unknown = 7 + eImpact_top = 0, + eImpact_bottom = 1, + eImpact_left = 2, + eImpact_right = 3, + eImpact_front = 4, + eImpact_back = 5, + eImpact_location_count = 6, + eImpact_unknown = 7 } tImpact_location; - typedef enum tAxis_comp { - eAxis_x = 0, - eAxis_y = 1, - eAxis_z = 2 + eAxis_x = 0, + eAxis_y = 1, + eAxis_z = 2 } tAxis_comp; - typedef enum tCondition_operator { - eCondition_less_than = 0, - eCondition_greater_than = 1 + eCondition_less_than = 0, + eCondition_greater_than = 1 } tCondition_operator; - typedef enum tDamage_type { - eDamage_engine = 0, - eDamage_transmission = 1, - eDamage_driver = 2, - eDamage_steering = 3, - eDamage_lf_brake = 4, - eDamage_rf_brake = 5, - eDamage_lr_brake = 6, - eDamage_rr_brake = 7, - eDamage_lf_wheel = 8, - eDamage_rf_wheel = 9, - eDamage_lr_wheel = 10, - eDamage_rr_wheel = 11, - eDamage_type_count = 12 + eDamage_engine = 0, + eDamage_transmission = 1, + eDamage_driver = 2, + eDamage_steering = 3, + eDamage_lf_brake = 4, + eDamage_rf_brake = 5, + eDamage_lr_brake = 6, + eDamage_rr_brake = 7, + eDamage_lf_wheel = 8, + eDamage_rf_wheel = 9, + eDamage_lr_wheel = 10, + eDamage_rr_wheel = 11, + eDamage_type_count = 12 } tDamage_type; - typedef enum tJustification { - eJust_left = 0, - eJust_right = 1, - eJust_centre = 2 + eJust_left = 0, + eJust_right = 1, + eJust_centre = 2 } tJustification; - typedef enum tOpponent_objective_type { - eOOT_none = 0, - eOOT_complete_race = 1, - eOOT_pursue_and_twat = 2, - eOOT_run_away = 3, - eOOT_get_near_player = 4, - eOOT_levitate = 5, - eOOT_knackered_and_freewheeling = 6, - eOOT_frozen = 7, - eOOT_wait_for_some_hapless_sod = 8, - eOOT_rematerialise = 9, - eOOT_return_to_start = 10 + eOOT_none = 0, + eOOT_complete_race = 1, + eOOT_pursue_and_twat = 2, + eOOT_run_away = 3, + eOOT_get_near_player = 4, + eOOT_levitate = 5, + eOOT_knackered_and_freewheeling = 6, + eOOT_frozen = 7, + eOOT_wait_for_some_hapless_sod = 8, + eOOT_rematerialise = 9, + eOOT_return_to_start = 10 } tOpponent_objective_type; - typedef enum tFollow_path_result { - eFPR_OK = 0, - eFPR_end_of_path = 1, - eFPR_given_up = 2 + eFPR_OK = 0, + eFPR_end_of_path = 1, + eFPR_given_up = 2 } tFollow_path_result; - typedef enum tPath_section_type_enum { - ePST_normal = 0, - ePST_race_path = 1, - ePST_cheat_only = 2, - ePST_count = 3 + ePST_normal = 0, + ePST_race_path = 1, + ePST_cheat_only = 2, + ePST_count = 3 } tPath_section_type_enum; - typedef enum tPursue_car_state { - ePCS_what_now = 0, - ePCS_following_trail = 1, - ePCS_following_line_of_sight = 2, - ePCS_backing_up = 3 + ePCS_what_now = 0, + ePCS_following_trail = 1, + ePCS_following_line_of_sight = 2, + ePCS_backing_up = 3 } tPursue_car_state; - typedef enum tProcess_objective_command { - ePOC_start = 0, - ePOC_run = 1, - ePOC_die = 2 + ePOC_start = 0, + ePOC_run = 1, + ePOC_die = 2 } tProcess_objective_command; - typedef enum tParts_category { - eParts_armour = 0, - eParts_power = 1, - eParts_offensive = 2, - eParts_count = 3 + eParts_armour = 0, + eParts_power = 1, + eParts_offensive = 2, + eParts_count = 3 } tParts_category; - typedef enum tRace_over_reason { - eRace_not_over_yet = 255, - eRace_over_laps = 0, - eRace_over_peds = 1, - eRace_over_opponents = 2, - eRace_over_abandoned = 3, - eRace_over_out_of_time = 4, - eRace_over_demo = 5, - eRace_over_network_victory = 6, - eRace_over_network_loss = 7, - eRace_over_count = 8 + eRace_not_over_yet = 255, + eRace_over_laps = 0, + eRace_over_peds = 1, + eRace_over_opponents = 2, + eRace_over_abandoned = 3, + eRace_over_out_of_time = 4, + eRace_over_demo = 5, + eRace_over_network_victory = 6, + eRace_over_network_loss = 7, + eRace_over_count = 8 } tRace_over_reason; - typedef enum tNet_mode { - eNet_mode_none = 0, - eNet_mode_thinking_about_it = 1, - eNet_mode_host = 2, - eNet_mode_client = 3 + eNet_mode_none = 0, + eNet_mode_thinking_about_it = 1, + eNet_mode_host = 2, + eNet_mode_client = 3 } tNet_mode; - typedef enum tPlayer_status { - ePlayer_status_unknown = 0, - ePlayer_status_ready = 1, - ePlayer_status_loading = 2, - ePlayer_status_wrecks_gallery = 3, - ePlayer_status_summary = 4, - ePlayer_status_not_responding = 5, - ePlayer_status_racing = 6, - ePlayer_status_main_menu = 7, - ePlayer_status_recovering = 8, - ePlayer_status_action_replay = 9 + ePlayer_status_unknown = 0, + ePlayer_status_ready = 1, + ePlayer_status_loading = 2, + ePlayer_status_wrecks_gallery = 3, + ePlayer_status_summary = 4, + ePlayer_status_not_responding = 5, + ePlayer_status_racing = 6, + ePlayer_status_main_menu = 7, + ePlayer_status_recovering = 8, + ePlayer_status_action_replay = 9 } tPlayer_status; - typedef enum tNet_game_type { - eNet_game_type_fight_to_death = 0, - eNet_game_type_car_crusher = 1, - eNet_game_type_carnage = 2, - eNet_game_type_checkpoint = 3, - eNet_game_type_sudden_death = 4, - eNet_game_type_tag = 5, - eNet_game_type_foxy = 6, - eNet_game_type_count = 7 + eNet_game_type_fight_to_death = 0, + eNet_game_type_car_crusher = 1, + eNet_game_type_carnage = 2, + eNet_game_type_checkpoint = 3, + eNet_game_type_sudden_death = 4, + eNet_game_type_tag = 5, + eNet_game_type_foxy = 6, + eNet_game_type_count = 7 } tNet_game_type; - typedef enum tNet_game_stage { - eNet_game_starting = 0, - eNet_game_ready = 1, - eNet_game_playing = 2, - eNet_game_status_count = 3 + eNet_game_starting = 0, + eNet_game_ready = 1, + eNet_game_playing = 2, + eNet_game_status_count = 3 } tNet_game_stage; - typedef enum tCar_choice { - eNet_car_frankie = 0, - eNet_car_annie = 1, - eNet_car_both = 2, - eNet_car_all = 3 + eNet_car_frankie = 0, + eNet_car_annie = 1, + eNet_car_both = 2, + eNet_car_all = 3 } tCar_choice; - typedef enum tNet_sequence_type { - eNet_sequence_sequential = 0, - eNet_sequence_random = 1 + eNet_sequence_sequential = 0, + eNet_sequence_random = 1 } tNet_sequence_type; - typedef enum tPowerup_event { - ePowerup_gained = 0, - ePowerup_ongoing = 1, - ePowerup_lost = 2 + ePowerup_gained = 0, + ePowerup_ongoing = 1, + ePowerup_lost = 2 } tPowerup_event; - typedef enum tNet_gameplay_mess { - eNet_gameplay_checkpoint = 0, - eNet_gameplay_wrong_checkpoint = 1, - eNet_gameplay_suddenly_death = 2, - eNet_gameplay_suicide = 3, - eNet_gameplay_go_for_it = 4, - eNet_gameplay_host_paused = 5, - eNet_gameplay_host_unpaused = 6, - eNet_gameplay_earn_credits = 7 + eNet_gameplay_checkpoint = 0, + eNet_gameplay_wrong_checkpoint = 1, + eNet_gameplay_suddenly_death = 2, + eNet_gameplay_suicide = 3, + eNet_gameplay_go_for_it = 4, + eNet_gameplay_host_paused = 5, + eNet_gameplay_host_unpaused = 6, + eNet_gameplay_earn_credits = 7 } tNet_gameplay_mess; - typedef enum tCar_detail_ownership { - eCar_owner_none = 0, - eCar_owner_someone = 1, - eCar_owner_self = 2, - eCar_owner_not_allowed = 3 + eCar_owner_none = 0, + eCar_owner_someone = 1, + eCar_owner_self = 2, + eCar_owner_not_allowed = 3 } tCar_detail_ownership; - typedef enum tS3_error_codes { - eS3_error_none = 0, - eS3_error_digi_init = 1, - eS3_error_midi_init = 2, - eS3_error_memory = 3, - eS3_error_readfile = 4, - eS3_error_soundbank = 5, - eS3_error_bad_id = 6, - eS3_error_bad_stag = 7, - eS3_error_load_sound = 8, - eS3_error_start_sound = 9, - eS3_error_channel_alloc = 10, - eS3_error_not_spatial = 11, - eS3_error_function_failed = 12, - eS3_error_load_song = 13, - eS3_error_song_not_loaded = 14, - eS3_error_start_song = 15, - eS3_error_start_cda = 16, - eS3_error_cda_not_init = 17, - eS3_error_already_started_cda = 18, - eS3_error_nonexistant_source = 19 + eS3_error_none = 0, + eS3_error_digi_init = 1, + eS3_error_midi_init = 2, + eS3_error_memory = 3, + eS3_error_readfile = 4, + eS3_error_soundbank = 5, + eS3_error_bad_id = 6, + eS3_error_bad_stag = 7, + eS3_error_load_sound = 8, + eS3_error_start_sound = 9, + eS3_error_channel_alloc = 10, + eS3_error_not_spatial = 11, + eS3_error_function_failed = 12, + eS3_error_load_song = 13, + eS3_error_song_not_loaded = 14, + eS3_error_start_song = 15, + eS3_error_start_cda = 16, + eS3_error_cda_not_init = 17, + eS3_error_already_started_cda = 18, + eS3_error_nonexistant_source = 19 } tS3_error_codes; - typedef enum tS3_termination_reason { - eS3_tr_natural = 0, - eS3_tr_stopped = 1, - eS3_tr_overridden = 2 + eS3_tr_natural = 0, + eS3_tr_stopped = 1, + eS3_tr_overridden = 2 } tS3_termination_reason; - typedef enum tS3_filter_type { - eS3_filter_none = 0, - eS3_filter_reversed = 1, - eS3_filter_echo = 2 + eS3_filter_none = 0, + eS3_filter_reversed = 1, + eS3_filter_echo = 2 } tS3_filter_type; - typedef enum tPowerup_type { - ePowerup_dummy = 0, - ePowerup_instantaneous = 1, - ePowerup_timed = 2, - ePowerup_whole_race = 3 + ePowerup_dummy = 0, + ePowerup_instantaneous = 1, + ePowerup_timed = 2, + ePowerup_whole_race = 3 } tPowerup_type; - typedef enum tNet_powerup_type { - eNet_powerup_local = 0, - eNet_powerup_global = 1, - eNet_powerup_inappropriate = 2 + eNet_powerup_local = 0, + eNet_powerup_global = 1, + eNet_powerup_inappropriate = 2 } tNet_powerup_type; - typedef enum tVehicle_type { - eVehicle_self = 0, - eVehicle_net_player = 1, - eVehicle_opponent = 2, - eVehicle_rozzer = 3, - eVehicle_drone = 4, - eVehicle_not_really = 5 + eVehicle_self = 0, + eVehicle_net_player = 1, + eVehicle_opponent = 2, + eVehicle_rozzer = 3, + eVehicle_drone = 4, + eVehicle_not_really = 5 } tVehicle_type; - typedef enum tDepth_effect_type { - eDepth_effect_none = 255, - eDepth_effect_darkness = 0, - eDepth_effect_fog = 1 + eDepth_effect_none = 255, + eDepth_effect_darkness = 0, + eDepth_effect_fog = 1 } tDepth_effect_type; - typedef enum tPlane_type { - ePlane_pos_x = 0, - ePlane_neg_x = 1, - ePlane_pos_y = 2, - ePlane_neg_y = 3, - ePlane_pos_z = 4, - ePlane_neg_z = 5, - ePlane_general = 6 + ePlane_pos_x = 0, + ePlane_neg_x = 1, + ePlane_pos_y = 2, + ePlane_neg_y = 3, + ePlane_pos_z = 4, + ePlane_neg_z = 5, + ePlane_general = 6 } tPlane_type; - typedef enum tNet_avail { - eNet_avail_never = 0, - eNet_avail_eagle = 1, - eNet_avail_hawk = 2, - eNet_avail_all = 3 + eNet_avail_never = 0, + eNet_avail_eagle = 1, + eNet_avail_hawk = 2, + eNet_avail_all = 3 } tNet_avail; - typedef enum tProg_status { - eProg_intro = 0, - eProg_opening = 1, - eProg_idling = 2, - eProg_demo = 3, - eProg_game_starting = 4, - eProg_game_ongoing = 5, - eProg_quit = 6 + eProg_intro = 0, + eProg_opening = 1, + eProg_idling = 2, + eProg_demo = 3, + eProg_game_starting = 4, + eProg_game_ongoing = 5, + eProg_quit = 6 } tProg_status; - typedef enum tMM_result { - eMM_none = 0, - eMM_continue = 1, - eMM_end_game = 2, - eMM_1_start = 3, - eMM_n_start = 4, - eMM_loaded = 5, - eMM_save = 6, - eMM_options = 7, - eMM_quit = 8, - eMM_timeout = 9, - eMM_recover = 10, - eMM_abort_race = 11 + eMM_none = 0, + eMM_continue = 1, + eMM_end_game = 2, + eMM_1_start = 3, + eMM_n_start = 4, + eMM_loaded = 5, + eMM_save = 6, + eMM_options = 7, + eMM_quit = 8, + eMM_timeout = 9, + eMM_recover = 10, + eMM_abort_race = 11 } tMM_result; - typedef enum tSO_result { - eSO_main_menu_invoked = 0, - eSO_game_over = 1, - eSO_game_completed = 2, - eSO_continue = 3 + eSO_main_menu_invoked = 0, + eSO_game_over = 1, + eSO_game_completed = 2, + eSO_continue = 3 } tSO_result; - typedef enum tRace_result { - eRace_game_abandonned = 0, - eRace_aborted = 1, - eRace_timed_out = 2, - eRace_completed = 3 + eRace_game_abandonned = 0, + eRace_aborted = 1, + eRace_timed_out = 2, + eRace_completed = 3 } tRace_result; - typedef enum tFrank_anne { - eFrankie = 0, - eAnnie = 1 + eFrankie = 0, + eAnnie = 1 } tFrank_anne; - typedef enum tRace_sel_view_type { - eVT_Scene = 0, - eVT_Info = 1, - eVT_Opponents = 2 + eVT_Scene = 0, + eVT_Info = 1, + eVT_Opponents = 2 } tRace_sel_view_type; - typedef enum tAuto_parts_reply { - eAP_auto = 0, - eAP_manual = 1, - eAP_piss_off = 2 + eAP_auto = 0, + eAP_manual = 1, + eAP_piss_off = 2 } tAuto_parts_reply; - typedef enum tWhich_view { - eView_undefined = 0, - eView_left = 1, - eView_forward = 2, - eView_right = 3 + eView_undefined = 0, + eView_left = 1, + eView_forward = 2, + eView_right = 3 } tWhich_view; - typedef enum tRolling_type { - eRT_alpha = 0, - eRT_numeric = 1, - eRT_looping_random = 2, - eRT_looping_single = 3 + eRT_alpha = 0, + eRT_numeric = 1, + eRT_looping_random = 2, + eRT_looping_single = 3 } tRolling_type; - typedef enum tCar_texturing_level { - eCTL_none = 0, - eCTL_transparent = 1, - eCTL_full = 2, - eCTL_count = 3 + eCTL_none = 0, + eCTL_transparent = 1, + eCTL_full = 2, + eCTL_count = 3 } tCar_texturing_level; - typedef enum tRoad_texturing_level { - eRTL_none = 0, - eRTL_full = 1, - eRTL_count = 2 + eRTL_none = 0, + eRTL_full = 1, + eRTL_count = 2 } tRoad_texturing_level; - typedef enum tWall_texturing_level { - eWTL_none = 0, - eWTL_linear = 1, - eWTL_full = 2, - eWTL_count = 3 + eWTL_none = 0, + eWTL_linear = 1, + eWTL_full = 2, + eWTL_count = 3 } tWall_texturing_level; - typedef enum tAdd_to_storage_result { - eStorage_not_enough_room = 0, - eStorage_duplicate = 1, - eStorage_allocated = 2 + eStorage_not_enough_room = 0, + eStorage_duplicate = 1, + eStorage_allocated = 2 } tAdd_to_storage_result; - typedef enum tLollipop_mode { - eLollipop_none = 255, - eLollipop_x_match = 0, - eLollipop_y_match = 1, - eLollipop_z_match = 2 + eLollipop_none = 255, + eLollipop_x_match = 0, + eLollipop_y_match = 1, + eLollipop_z_match = 2 } tLollipop_mode; - typedef enum tSmear_type { - eSmear_oil = 0, - eSmear_blood = 1, - eSmear_count = 2 + eSmear_oil = 0, + eSmear_blood = 1, + eSmear_count = 2 } tSmear_type; - -typedef void zs_order_table_traversal_cbfn(int, ot_vertex*, ot_vertex*, ot_vertex*, double, unsigned char*, __unk0__); +typedef void zs_order_table_traversal_cbfn(int, ot_vertex*, ot_vertex*, ot_vertex*); typedef void tS3_outlet_callback(tS3_outlet_ptr, tS3_sound_tag, tS3_termination_reason); typedef void tS3_sample_filter(tS3_effect_tag, tS3_sound_tag); -struct __iobuf { - unsigned char *_ptr; - int _cnt; - unsigned char *_base; - unsigned int _flag; - int _handle; - unsigned int _bufsize; - unsigned char _ungotten; - unsigned char _tmpfchar; -}; -struct div_t { - int quot; - int rem; -}; -struct ldiv_t { - long quot; - long rem; -}; -struct _complex { - double x; - double y; -}; -struct complex { - double x; - double y; -}; -struct exception { - int type; - char *name; - double arg1; - double arg2; - double retval; -}; -struct ot_vertex { - br_scalar screenX; - br_scalar screenY; - br_scalar distanceZ; -}; -struct _tagRMI_REGS { - long EDI; - long ESI; - long EBP; - long reserved_by_system; - long EBX; - long EDX; - long ECX; - long EAX; - short flags; - short ES; - short DS; - short FS; - short GS; - short IP; - short CS; - short SP; - short SS; -}; -struct _tagBREGS { - char al; - char ah; - unsigned short _1; - char bl; - char bh; - unsigned short _2; - char cl; - char ch; - unsigned short _3; - char dl; - char dh; - unsigned short _4; -}; -struct _tagWREGS { - unsigned short ax; - unsigned short _1; - unsigned short bx; - unsigned short _2; - unsigned short cx; - unsigned short _3; - unsigned short dx; - unsigned short _4; - unsigned short si; - unsigned short _5; - unsigned short di; - unsigned short _6; -}; -struct _tagDREGS { - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - unsigned int esi; - unsigned int edi; - unsigned int cflags; -}; -struct _tagSREGS { - unsigned short es; - unsigned short cs; - unsigned short ss; - unsigned short ds; - unsigned short fs; - unsigned short gs; -}; -struct _HMI_REGS { - _HMI_DREGS x; - _HMI_WREGS w; - _HMI_BREGS h; -}; -struct _tagIPX_HEADER { - USHORT wChecksum; - USHORT wLength; - BYTE bTransportControl; - BYTE bPacketType; - BYTE bDestNetworkNumber[4]; - BYTE bDestNetworkNode[6]; - USHORT wDestNetworkSocket; - BYTE bSourceNetworkNumber[4]; - BYTE bSourceNetworkNode[6]; - USHORT wSourceNetworkSocket; -}; -struct _PACKET { - PSTR pData; - USHORT wLength; -}; -struct _REAL_PACKET { - SHORT wOffset; - SHORT wSegment; - USHORT wLength; -}; -struct _ECB_PACKET { - _PACKET sPacket; - _REAL_PACKET sRealPacket; -}; -struct _tagIPX_ECB { - PSTR pLinkAddress; - PSTR pESRRoutine; - BYTE bInUse; - BYTE bCompletionCode; - USHORT wSocket; - USHORT wConnectionID; - USHORT wWorkSpace; - BYTE bDriverWorkSpace[12]; - BYTE bImmediateAddress[6]; - USHORT wPacketCount; - _ECB_PACKET sPacket[2]; -}; -struct _tagIPX_INTERNET_ADDR { - BYTE bNetwork[4]; - BYTE bNode[6]; -}; -struct _tagIPX_NETWORK_ADDR { - _IPX_INTERNET_ADDR sInternetAddr; - BYTE bSocket[2]; -}; -struct _tagIPX_LOCAL_TARGET { - _IPX_INTERNET_ADDR sInternetAddr; - BYTE bImmediate[6]; -}; -struct _tagIPX_ELEMENT { - USHORT wFlags; - USHORT wOffset; - _IPX_HEADER sHeader; - _IPX_ECB sECB; - _IPX_ECB *pECB; - _IPX_HEADER *pIPXHeader; - PSTR pHeader; - USHORT wHSize; -}; -struct _PROT_PTR { - PSTR pData; -}; -struct _REAL_PTR { - SHORT wOffset; - SHORT wSegment; -}; -struct _PTR { - _PROT_PTR sPointer; - _REAL_PTR sRealPtr; -}; -struct _tag_NETBIOS_NCB { - BYTE bCommand; - BYTE bReturnCode; - BYTE bLocalSession; - BYTE bNetworkNameNumber; - _PTR sPtr; - USHORT wLength; - BYTE bCallName[16]; - BYTE bName[16]; - BYTE bReceiveTimeOut; - BYTE bSendTimeOut; - PSTR pPostFunction; - BYTE bAdapter; - BYTE bCompletionCode; - BYTE bReserve[14]; -}; -struct _tagNETBIOS_ADAPTER_STATUS { - BYTE bCardID[6]; - BYTE bReleaseLevel; - BYTE bReserved1; - BYTE bTypeOfAdapter; - BYTE bOldOrNewParameters; - USHORT wReportingPeriodMinutes; - USHORT wFrameRejectReceivedCount; - USHORT wFrameRejectSentCount; - USHORT wReceivedDataFrameErrors; - USHORT wUnsuccessfulTransmissions; - LONG dwGoodTransmissions; - LONG dwGoodReceptions; - USHORT wRetransmissions; - USHORT wExhaustedResourceCount; - USHORT wT1TimerExpiredCount; - USHORT wTITimerExpiredCount; - BYTE bReserved2[4]; - USHORT wAvailableNCBS; - USHORT wMaxNCBSConfigured; - USHORT wMaxNCBSPossible; - USHORT wBufferOrStationBusyCount; - USHORT wMaxDatagramSize; - USHORT wPendingSessions; - USHORT wMaxSessionsConfigured; - USHORT wMaxSessionsPossible; - USHORT wMaxFrameSize; - USHORT wNameCount; - struct { +typedef struct __iobuf { + unsigned char *_ptr; + int _cnt; + unsigned char *_base; + unsigned int _flag; + int _handle; + unsigned int _bufsize; + unsigned char _ungotten; + unsigned char _tmpfchar; +} FILE; + +typedef struct div_t { + int quot; + int rem; +} div_t; + +typedef struct ldiv_t { + long quot; + long rem; +} ldiv_t; + +typedef struct _complex { + double x; + double y; +} _complex; + +typedef struct complex { + double x; + double y; +} complex; + +typedef struct exception { + int type; + char *name; + double arg1; + double arg2; + double retval; +} exception; + +typedef struct ot_vertex { + br_scalar screenX; + br_scalar screenY; + br_scalar distanceZ; +} ot_vertex; + +typedef struct _tagRMI_REGS { + long EDI; + long ESI; + long EBP; + long reserved_by_system; + long EBX; + long EDX; + long ECX; + long EAX; + short flags; + short ES; + short DS; + short FS; + short GS; + short IP; + short CS; + short SP; + short SS; +} _RMI_REGS; + +typedef struct _tagBREGS { + char al; + char ah; + unsigned short _1; + char bl; + char bh; + unsigned short _2; + char cl; + char ch; + unsigned short _3; + char dl; + char dh; + unsigned short _4; +} _HMI_BREGS; + +typedef struct _tagWREGS { + unsigned short ax; + unsigned short _1; + unsigned short bx; + unsigned short _2; + unsigned short cx; + unsigned short _3; + unsigned short dx; + unsigned short _4; + unsigned short si; + unsigned short _5; + unsigned short di; + unsigned short _6; +} _HMI_WREGS; + +typedef struct _tagDREGS { + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + unsigned int esi; + unsigned int edi; + unsigned int cflags; +} _HMI_DREGS; + +typedef struct _tagSREGS { + unsigned short es; + unsigned short cs; + unsigned short ss; + unsigned short ds; + unsigned short fs; + unsigned short gs; +} _HMI_SREGS; + +typedef struct _HMI_REGS { + _HMI_DREGS x; + _HMI_WREGS w; + _HMI_BREGS h; +} _HMI_REGS; + +typedef struct _tagIPX_HEADER { + USHORT wChecksum; + USHORT wLength; + BYTE bTransportControl; + BYTE bPacketType; + BYTE bDestNetworkNumber[4]; + BYTE bDestNetworkNode[6]; + USHORT wDestNetworkSocket; + BYTE bSourceNetworkNumber[4]; + BYTE bSourceNetworkNode[6]; + USHORT wSourceNetworkSocket; +} _IPX_HEADER; + +typedef struct _PACKET { + PSTR pData; + USHORT wLength; +} _PACKET; + +typedef struct _REAL_PACKET { + SHORT wOffset; + SHORT wSegment; + USHORT wLength; +} _REAL_PACKET; + +typedef struct _ECB_PACKET { + _PACKET sPacket; + _REAL_PACKET sRealPacket; +} _ECB_PACKET; + +typedef struct _tagIPX_ECB { + PSTR pLinkAddress; + PSTR pESRRoutine; + BYTE bInUse; + BYTE bCompletionCode; + USHORT wSocket; + USHORT wConnectionID; + USHORT wWorkSpace; + BYTE bDriverWorkSpace[12]; + BYTE bImmediateAddress[6]; + USHORT wPacketCount; + _ECB_PACKET sPacket[2]; +} _IPX_ECB; + +typedef struct _tagIPX_INTERNET_ADDR { + BYTE bNetwork[4]; + BYTE bNode[6]; +} _IPX_INTERNET_ADDR; + +typedef struct _tagIPX_NETWORK_ADDR { + _IPX_INTERNET_ADDR sInternetAddr; + BYTE bSocket[2]; +} _IPX_NETWORK_ADDR; + +typedef struct _tagIPX_LOCAL_TARGET { + _IPX_INTERNET_ADDR sInternetAddr; + BYTE bImmediate[6]; +} _IPX_LOCAL_TARGET; + +typedef struct _tagIPX_ELEMENT { + USHORT wFlags; + USHORT wOffset; + _IPX_HEADER sHeader; + _IPX_ECB sECB; + _IPX_ECB *pECB; + _IPX_HEADER *pIPXHeader; + PSTR pHeader; + USHORT wHSize; +} _IPX_ELEMENT; + +typedef struct _PROT_PTR { + PSTR pData; +} _PROT_PTR; + +typedef struct _REAL_PTR { + SHORT wOffset; + SHORT wSegment; +} _REAL_PTR; + +typedef struct _PTR { + _PROT_PTR sPointer; + _REAL_PTR sRealPtr; +} _PTR; + +typedef struct _tag_NETBIOS_NCB { + BYTE bCommand; + BYTE bReturnCode; + BYTE bLocalSession; + BYTE bNetworkNameNumber; + _PTR sPtr; + USHORT wLength; + BYTE bCallName[16]; BYTE bName[16]; - BYTE bNameNumber; - BYTE bNameStatus; - }; -}; -struct _tagNETBIOS_ELEMENT { - USHORT wFlags; - USHORT wOffset; - _NETBIOS_NCB sNCB; - _NETBIOS_NCB *pNCB; - PSTR pHeader; - USHORT wHSize; -}; -struct _tagNETBIOS_LOCAL_TARGET { - BYTE bNode[16]; -}; -struct _tagXFER_BLOCK_HEADER { - W32 wSequence; - W32 wType; - W32 wID; - W32 wLength; - W32 wNode; - W32 wUser1; -}; -struct _NETNOW_NODE_ADDR { - _IPX_LOCAL_TARGET sIPX; - _NETBIOS_LOCAL_TARGET sNETBIOS; -}; -struct tPD_net_player_info { - _IPX_LOCAL_TARGET addr_ipx; -}; -struct tTrack_spec { - tU8 ncolumns_x; - tU8 ncolumns_z; - br_scalar column_size_x; - br_scalar column_size_z; - br_scalar origin_x; - br_scalar origin_z; - br_actor *the_actor; - br_actor ***columns; - br_actor ***lollipops; - br_actor ***blends; - int ampersand_digits; - br_actor **non_car_list; -}; -struct tCrush_neighbour { - br_uint_8 vertex_index; - br_uint_8 factor; -}; -struct tCrush_point_spec { - br_uint_16 vertex_index; - br_uint_16 number_of_neighbours; - br_vector3 limits_neg; - br_vector3 limits_pos; - br_vector3 softness_neg; - br_vector3 softness_pos; - tCrush_neighbour *neighbours; -}; -struct tCrush_data { - int number_of_crush_points; - float softness_factor; - float min_fold_factor; - float max_fold_factor; - float wibble_factor; - float limit_deviant; - float split_chance; - br_scalar min_y_fold_down; - tCrush_point_spec *crush_points; -}; -struct tSpecial_volume { - br_matrix34 mat; - br_matrix34 inv_mat; - br_bounds bounds; - br_scalar gravity_multiplier; - br_scalar viscosity_multiplier; - float car_damage_per_ms; - float ped_damage_per_ms; - int no_mat; - int camera_special_effect_index; - int sky_col; - int entry_noise; - int exit_noise; - int engine_noise_index; - br_material *screen_material; - int material_modifier_index; -}; -struct tReduced_matrix { - br_vector3 row1; - br_vector3 row2; - br_vector3 translation; -}; -struct tCar_controls { - int joystick_acc: 8; - int joystick_dec: 8; - unsigned int left: 1; - unsigned int right: 1; - unsigned int acc: 1; - unsigned int dec: 1; - unsigned int brake: 1; - unsigned int up: 1; - unsigned int down: 1; - unsigned int holdw: 1; - unsigned int backwards: 1; - unsigned int change_up: 1; - unsigned int change_down: 1; - unsigned int horn: 1; -}; -struct tNet_message_mechanics_info { - tU8 contents_size; - tNet_message_type type; - tU32 ID; - tU32 time; - tReduced_matrix mat; - br_vector3 v; - br_vector3 omega; - tU8 d[4]; - tCar_controls keys; - tU32 cc_coll_time; - tS16 curvature; - tU16 revs; - br_scalar front; - br_scalar back; - tU32 repair_time; - tU8 damage[12]; - tU16 powerups; - br_scalar wheel_dam_offset[4]; -}; -struct tCar_spec_struct { - int index; - int disabled; - tDriver driver; - br_actor *car_master_actor; - br_scalar min_torque_squared; - br_scalar break_off_radians_squared; - br_vector3 v; - br_vector3 old_v; - br_vector3 velocity_car_space; - br_matrix34 oldmat; - br_matrix34 old_frame_mat; - br_vector3 pos; - br_vector3 omega; - br_vector3 oldomega; - br_scalar M; - int infinite_mass; - br_vector3 I; - br_vector3 cmpos; - int extra_point_num; - br_bounds bounds[3]; - br_bounds max_bounds[2]; - br_vector3 extra_points[6]; - br_scalar original_extra_points_z[6]; - br_vector3 old_point; - br_vector3 old_norm; - int box_face_start; - int box_face_end; - int box_face_ref; - br_matrix34 last_box_inv_mat; - br_bounds last_box; - int doing_nothing_flag; - tSpecial_volume *last_special_volume; - tSpecial_volume *auto_special_volume; - int frame_collision_flag; - int collision_flag; - int max_shrapnel_material; - br_vector3 direction; - float speed; - tU16 car_ID; - br_material *shrapnel_material[3]; - br_bounds bounds_world_space; - tBounds_type bounds_ws_type; - tU16 fire_vertex[12]; - tU16 num_smoke_columns; - br_vector3 water_normal; - br_scalar water_d; - br_scalar water_depth_factor; - tNet_message_mechanics_info message; - tU32 last_car_car_collision; - br_scalar dt; - tCar_spec_struct *who_last_hit_me; - char name[32]; - char driver_name[32]; - char grid_icon_names[3][14]; - tS8 *cockpit_images[3]; - br_pixelmap *prat_cam_left; - br_pixelmap *prat_cam_top; - br_pixelmap *prat_cam_right; - br_pixelmap *prat_cam_bottom; - br_pixelmap *prat_cam_dummy; - br_pixelmap *speedo_image[2]; - br_pixelmap *tacho_image[2]; - br_pixelmap *damage_background; - br_pixelmap *lhands_images[7]; - br_pixelmap *rhands_images[7]; - br_pixelmap *grid_icon_image; - br_pixelmap *gears_image; - int fg_index; - int underwater_ability; - int invulnerable; - int wall_climber_mode; - int can_be_stolen; - int has_been_stolen; - int active; - int knackered; - int pre_car_col_knackered; - int render_left[3]; - int render_top[3]; - int render_right[3]; - int render_bottom[3]; - int mirror_left; - int mirror_top; - int mirror_right; - int mirror_bottom; - int prat_left; - int prat_top; - int prat_right; - int prat_bottom; - int speedo_x[2]; - int speedo_y[2]; - int speedo_centre_x[2]; - int speedo_centre_y[2]; - int speedo_x_pitch[2]; - int speedo_y_pitch[2]; - int speedo_radius_1[2]; - int speedo_radius_2[2]; - int speedo_start_angle[2]; - int speedo_end_angle[2]; - int speedo_needle_colour[2]; - int tacho_x[2]; - int tacho_y[2]; - int tacho_centre_x[2]; - int tacho_centre_y[2]; - int tacho_x_pitch[2]; - int tacho_y_pitch[2]; - int tacho_radius_1[2]; - int tacho_radius_2[2]; - int tacho_start_angle[2]; - int tacho_end_angle[2]; - int tacho_needle_colour[2]; - int gear_x[2]; - int gear_y[2]; - int red_line; - int lhands_x[7]; - int lhands_y[7]; - int rhands_x[7]; - int rhands_y[7]; - int number_of_hands_images; - int max_speed; - int damage_x_offset; - int damage_y_offset; - int damage_background_x; - int damage_background_y; - int dim_count[2]; - int dim_left[2][4]; - int dim_top[2][4]; - int dim_right[2][4]; - int dim_bottom[2][4]; - int car_actor_count; - int current_car_actor; - int principal_car_actor; - int car_model_variable; - int number_of_steerable_wheels; - int steering_ref[6]; - int lf_sus_ref[4]; - int rf_sus_ref[4]; - int lr_sus_ref[2]; - int rr_sus_ref[2]; - int driven_wheels_spin_ref_1; - int driven_wheels_spin_ref_2; - int driven_wheels_spin_ref_3; - int driven_wheels_spin_ref_4; - int non_driven_wheels_spin_ref_1; - int non_driven_wheels_spin_ref_2; - int non_driven_wheels_spin_ref_3; - int non_driven_wheels_spin_ref_4; - int engine_noises[3]; - float driver_x_offset; - float driver_y_offset; - float driver_z_offset; - float mirror_x_offset; - float mirror_y_offset; - float mirror_z_offset; - float rearview_camera_angle; - float head_left_angle; - float head_right_angle; - float steering_angle; - float speedo_speed; - float lf_sus_position; - float rf_sus_position; - float lr_sus_position; - float rr_sus_position; - float driven_wheels_circum; - float non_driven_wheels_circum; - float bounce_rate; - float bounce_amount; - float collision_mass_multiplier; - float damage_multiplier; - float grip_multiplier; - float engine_power_multiplier; - tDamage_unit damage_units[12]; - tU8 frame_start_damage[12]; - tImpact_location last_impact_location; - tDamage_program damage_programs[6]; - tHeadup_slot headup_slots[2][20]; - tParts_spec power_ups[3]; - int car_actor_pipe_ref; - tCar_actor car_model_actors[5]; - br_material *screen_material; - br_material *screen_material_source; - br_matrix34 last_safe_positions[5]; - int wheel_slip; - br_scalar damping; - br_scalar sk[2]; - br_scalar sb[2]; - br_scalar susp_give[2]; - br_scalar susp_height[2]; - br_scalar ride_height; - br_vector3 wpos[4]; - br_scalar curvature; - br_scalar maxcurve; - br_scalar turn_speed; - br_scalar oldd[4]; - int material_index[4]; - int dust_time[4]; - br_scalar mu[3]; - br_scalar friction_elipticity; - br_scalar down_force_speed; - int down_force_flag; - br_scalar initial_brake; - br_scalar brake_increase; - br_scalar freduction; - br_scalar acc_force; - br_scalar torque; - br_scalar brake_force; - int traction_control; - br_scalar rolling_r_front; - br_scalar rolling_r_back; - tCar_controls keys; - tJoystick joystick; - int pedals_xy; - int number_of_wheels_on_ground; - br_actor *wheel_actors[6]; - float wheel_rot_pos[4]; - br_scalar wheel_dam_offset[4]; - br_scalar damage_magnitude_accumulator; - br_scalar revs; - br_scalar target_revs; - br_vector3 road_normal; - br_scalar max_force_front; - br_scalar max_force_rear; - int gear; - int just_changed_gear; - int max_gear; - br_scalar speed_revs_ratio; - br_scalar force_torque_ratio; - tS3_sound_source_ptr sound_source; - br_matrix34 pre_car_col_mat; - br_scalar pre_car_col_speed; - br_vector3 pre_car_col_direction; - br_vector3 pre_car_col_velocity; - br_vector3 pre_car_col_velocity_car_space; - br_vector3 velocity_bu_per_sec; - float last_col_prop_x; - float last_col_prop_y; - float last_col_prop_z; - tU32 time_last_hit; - tU32 time_last_victim; - tCar_spec_struct *last_hit_by; - tCar_spec_struct *last_culprit; - int no_of_processes_recording_my_trail; - tPursuee_trail my_trail; - unsigned int grudge_raised_recently; - unsigned int big_bang; - unsigned int scary_bang; - tU32 last_collision_time; - tU32 last_time_we_touched_a_player; - tU32 end_steering_damage_effect; - tU32 end_trans_damage_effect; - int false_key_left; - int false_key_right; - tCar_spec_struct *last_person_to_hit_us; - tCar_spec_struct *last_person_we_hit; - br_vector3 engine_pos; - br_model *last_wheel_models[4]; - int last_wheel_faces[4]; - tU32 shadow_intersection_flags; - tU32 last_bounce; - unsigned int new_skidding; - unsigned int old_skidding; - tU16 old_skid[4]; - br_vector3 prev_skid_pos[4]; - br_vector3 skid_line_start[4]; - br_vector3 skid_line_end[4]; - br_vector3 nor[4]; - br_vector3 prev_nor[4]; - br_vector3 special_start[4]; - br_scalar oil_remaining[4]; - br_scalar blood_remaining[4]; - br_scalar total_length[4]; - float proxy_ray_distance; - tS32 powerups[64]; - tU32 time_to_recover; - tU32 repair_time; - int power_up_levels[3]; - tS3_sound_tag horn_sound_tag; -}; -struct tDamage_unit { - int x_coord; - int y_coord; - int damage_level; - int last_level; - int smoke_last_level; - int periods[5]; - br_pixelmap *images; -}; -struct tDamage_condition { - tAxis_comp axis_comp; - tCondition_operator condition_operator; - float comparitor; -}; -struct tDamage_effect { - tDamage_type type; - float weakness_factor; -}; -struct tDamage_clause { - tDamage_condition conditions[2]; - int effect_count; - int condition_count; - tDamage_effect effects[4]; -}; -struct tDamage_program { - int clause_count; - tDamage_clause *clauses; -}; -struct tHeadup_slot { - int x; - int y; - int colour; - int cockpit_anchored; - int dimmed_background; - int dim_left; - int dim_top; - int dim_right; - int dim_bottom; - tJustification justification; -}; -struct tPart_info { - char part_name[14]; - tU8 *data_ptr; - tU32 data_length; - int rank_required; - int prices[3]; -}; -struct tParts_spec { - int number_of_parts; - tPart_info info[6]; -}; -struct tCar_actor { - br_actor *actor; - br_scalar min_distance_squared; - tCrush_data crush_data; - br_vertex *undamaged_vertices; -}; -struct tJoystick { - tS32 left; - tS32 right; - tS32 acc; - tS32 dec; -}; -struct tPursuee_trail { - br_vector3 trail_nodes[25]; - br_vector3 base_heading; - tU32 time_of_next_recording; - tU32 end_of_deviation; - tU8 number_of_nodes; - tU8 has_deviated_recently; - tU8 nodes_shifted_this_frame; -}; -struct tOppo_psyche { - tU8 grudge_against_player; -}; -struct tComplete_race_data { - tU8 finished_calcing_race_route; - tU8 found_race_section; -}; -struct tReturn_to_start_data { - br_vector3 nearest_path_point; - tS16 section_no; - tU8 waiting_near_start; -}; -struct tPath_node_struct { - br_vector3 p; - tS16 sections[8]; - tU8 number_of_sections; -}; -struct tPath_section_struct { - tS16 node_indices[2]; - tU8 min_speed[2]; - tU8 max_speed[2]; - br_scalar width; - br_scalar length; - tU8 type; - tU8 one_way; -}; -struct tPursue_car_data { - tCar_spec *pursuee; - tU32 time_of_next_visibility_check; - tU32 start_backup_time; - tU32 time_last_twatted_em; - tU32 time_pursuee_last_visible; - tU32 time_last_away_from_pursuee; - tPath_node direct_line_nodes[2]; - tPath_section direct_line_section; - tU8 state; -}; -struct tFollow_path_data { - tU32 struggle_time; - tU32 last_finished_struggle_time; - tU32 toggle_time; - tU32 borrowed_time_start; - br_scalar prev_acc; - br_scalar prev_acc_error; - br_scalar desired_speed; - br_scalar last_distance; - br_vector3 cheaty_intersect; - tS16 section_no; - tS16 first_section_no; - tS16 last_struggle_section; - unsigned int number_of_struggles: 8; - unsigned int has_moved_during_this_task: 1; - unsigned int made_it: 1; - unsigned int cheating: 1; - unsigned int cornering: 1; - unsigned int left_not_right: 1; - unsigned int off_path_toggle; - unsigned int moving_to_intersect; - br_vector2 turning_cent; - br_scalar turning_radius; - br_scalar corner_size; - br_scalar corner_width; - int section_after; -}; -struct tLevitate_data { - br_scalar initial_y; - tU32 time_started; - unsigned int waiting_to_levitate: 1; -}; -struct tRun_away_data { - tU32 time_to_stop; -}; -struct tRoute_section { - tS16 section_no; - tU8 direction; -}; -struct tOpponent_spec { - int index; - tOpponent_objective_type current_objective; - tCar_spec *car_spec; - float nastiness; - br_scalar distance_to_camera; - br_scalar distance_from_home; - br_scalar player_to_oppo_d; - br_vector3 start_pos; - br_vector3 start_direction; - br_vector3 pos_last_frame; - br_vector3 player_to_oppo_v; - tU32 next_out_of_world_check; - tU32 stun_time_ends; - tU32 next_player_visibility_check; - tU32 last_moved_ok; - tU32 last_in_view; - tU32 time_last_processed; - tU32 time_this_objective_started; - tU32 time_for_this_objective_to_finish; - tU32 cunting_buttfuck_timer; - tS16 players_section_when_last_calced_full_path; - int nnext_sections; - tRoute_section next_sections[10]; - unsigned int new_objective_required: 1; - unsigned int finished_for_this_race: 1; - unsigned int knackeredness_detected: 1; - unsigned int physics_me: 1; - unsigned int pursue_from_start: 1; - unsigned int cheating: 1; - unsigned int last_cheating_value: 1; - unsigned int pursuing_player_before_freeze: 1; - unsigned int has_moved_at_some_point: 1; - unsigned int player_in_view_now: 1; - unsigned int acknowledged_piv: 1; - unsigned int murder_reported: 1; - tComplete_race_data complete_race_data; - tFollow_path_data follow_path_data; - tPursue_car_data pursue_car_data; - tLevitate_data levitate_data; - tRun_away_data run_away_data; - tReturn_to_start_data return_to_start_data; -}; -struct tIntelligent_vehicles { - int number_of_opponents; - int number_of_cops; - int number_of_path_nodes; - int number_of_path_sections; - br_vector3 cop_start_points[10]; - br_vector3 cop_start_vectors[10]; - tOpponent_spec opponents[5]; - tOpponent_spec cops[10]; - tPath_node *path_nodes; - tPath_section *path_sections; -}; -struct tBounds { - br_matrix34 *mat; - br_bounds original_bounds; - br_vector3 box_centre; - br_scalar radius; - br_bounds real_bounds; -}; -struct tFace_ref { - br_material *material; - br_vector3 v[3]; - br_vector2 *map[3]; - br_vector3 normal; - int flags; - br_scalar d; -}; -struct tNet_game_player_info { - tPD_net_player_info pd_net_info; - tU32 this_players_time_stamp; - tU32 last_heard_from_him; - tU32 reposition_time; - tU32 last_waste_message; - int host; - tPlayer_ID ID; - char player_name[32]; - tPlayer_status player_status; - int car_index; - int grid_index; - int grid_position_set; - int opponent_list_index; - int awaiting_confirmation; - int score; - int credits; - int wasted; - int wasteage_attributed; - int name_not_clipped; - int race_stuff_initialised; - int played; - int won; - int next_car_index; - int games_score; - int last_score_index; - br_matrix34 initial_position; - tCar_spec *car; -}; -struct tNet_game_options { - int show_players_on_map; - int show_peds_on_map; - int enable_text_messages; - int show_powerups_on_map; - int powerup_respawn; - int open_game; - int starting_money_index; - int grid_start; - int race_end_target; - int random_car_choice; - tNet_sequence_type race_sequence_type; - tCar_choice car_choice; -}; -struct tNet_game_status { - tNet_game_stage stage; -}; -struct tNet_game_details { - tPD_net_player_info pd_net_info; - char host_name[32]; - tPlayer_ID host_ID; - int num_players; - int start_race; - int no_races_yet; - tNet_game_status status; - tNet_game_options options; - tNet_game_type type; -}; -struct tNet_message_send_me_details { - tU8 contents_size; - tNet_message_type type; -}; -struct tNet_message_my_details { - tU8 contents_size; - tNet_message_type type; - tNet_game_details details; -}; -struct tNet_message_join { - tU8 contents_size; - tNet_message_type type; - tNet_game_player_info player_info; -}; -struct tNet_message_leave { - tU8 contents_size; - tNet_message_type type; -}; -struct tNet_message_host_pissing_off { - tU8 contents_size; - tNet_message_type type; -}; -struct tNet_message_new_player_list { - tU8 contents_size; - tNet_message_type type; - int number_of_players; - int this_index; - int batch_number; - tNet_game_player_info player; -}; -struct tNet_message_race_over { - tU8 contents_size; - tNet_message_type type; - tRace_over_reason reason; -}; -struct tNet_message_status_report { - tU8 contents_size; - tNet_message_type type; - tPlayer_status status; -}; -struct tGrid_spec { - int index; - int next_car_index; - br_matrix34 mat; -}; -struct tNet_message_start_race { - tU8 contents_size; - tNet_message_type type; - int car_count; - int racing; - int next_race; - tGrid_spec car_list[6]; -}; -struct tNet_message_guarantee_reply { - tU8 contents_size; - tNet_message_type type; - tU32 guarantee_number; -}; -struct tNet_message_headup { - tU8 contents_size; - tNet_message_type type; - char text[128]; -}; -struct tNet_message_host_query { - tU8 contents_size; - tNet_message_type type; -}; -struct tNet_message_host_reply { - tU8 contents_size; - tNet_message_type type; - int race_has_started; - int race_index; - int pending_race; -}; -struct tNet_message_cop_info { - tU8 contents_size; - tNet_message_type type; - tU32 ID; - tU32 time; - tReduced_matrix mat; - br_vector3 v; - br_vector3 omega; - br_scalar curvature; - br_scalar d[4]; - tU8 damage[12]; -}; -struct tNet_message_non_car_info { - tU8 contents_size; - tNet_message_type type; - tU32 ID; - tU32 time; - tReduced_matrix mat; - br_vector3 v; - br_vector3 omega; - tU32 cc_coll_time; - tU16 flags; -}; -struct tNet_message_non_car_position { - tU8 contents_size; - tNet_message_type type; - tU32 ID; - br_matrix34 mat; - tU16 flags; -}; -struct tNet_message_time_sync { - tU8 contents_size; - tNet_message_type type; - int race_start_time; -}; -struct tNet_message_players_confirm { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID player; -}; -struct tNet_message_disable_car { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID player; -}; -struct tNet_message_enable_car { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID player; -}; -struct tNet_message_powerup { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID player; - int powerup_index; - tU32 time_left; - tPowerup_event event; -}; -struct tNet_message_recover { - tU8 contents_size; - tNet_message_type type; - tU32 ID; - int time_to_recover; -}; -struct tNet_message_scores { - tU8 contents_size; - tNet_message_type type; - int general_score; - int scores[6]; -}; -struct tNet_message_wasted { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID victim; - tPlayer_ID culprit; -}; -struct tNet_message_gameplay { - tU8 contents_size; - tNet_message_type type; - tNet_gameplay_mess mess; - tU32 param_1; - tU32 param_2; - tU32 param_3; - tU32 param_4; -}; -struct tNet_message_pedestrian { - tU8 contents_size; - tNet_message_type type; - tS8 action_instruction; - tS8 flags; - tS16 index; - br_vector3 pos; - br_scalar speed; - br_vector3 to_pos; - br_vector3 offset; - tPlayer_ID murderer; - tU32 respawn_time_or_spin_period; - tS8 frame; -}; -struct tNet_message_car_details_req { - tU8 contents_size; - tNet_message_type type; -}; -struct tCar_details { - int car_index; - char owner[16]; -}; -struct tNet_message_car_details { - tU8 contents_size; - tNet_message_type type; - int count; - tCar_details details[6]; -}; -struct tGame_scores { - int played; - int won; - int score; -}; -struct tNet_message_game_scores { - tU8 contents_size; - tNet_message_type type; - tGame_scores scores[6]; -}; -struct tNet_message_oil_spill { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID player; - br_scalar full_size; - br_scalar grow_rate; - br_scalar current_size; -}; -struct tNet_message_crush_point { - tU8 contents_size; - tNet_message_type type; - tPlayer_ID id; - tU16 vertex; - br_vector3 energy_vector; -}; -struct tNet_contents { - struct { + BYTE bReceiveTimeOut; + BYTE bSendTimeOut; + PSTR pPostFunction; + BYTE bAdapter; + BYTE bCompletionCode; + BYTE bReserve[14]; +} _NETBIOS_NCB; + +typedef struct _tagNETBIOS_ADAPTER_STATUS { + BYTE bCardID[6]; + BYTE bReleaseLevel; + BYTE bReserved1; + BYTE bTypeOfAdapter; + BYTE bOldOrNewParameters; + USHORT wReportingPeriodMinutes; + USHORT wFrameRejectReceivedCount; + USHORT wFrameRejectSentCount; + USHORT wReceivedDataFrameErrors; + USHORT wUnsuccessfulTransmissions; + LONG dwGoodTransmissions; + LONG dwGoodReceptions; + USHORT wRetransmissions; + USHORT wExhaustedResourceCount; + USHORT wT1TimerExpiredCount; + USHORT wTITimerExpiredCount; + BYTE bReserved2[4]; + USHORT wAvailableNCBS; + USHORT wMaxNCBSConfigured; + USHORT wMaxNCBSPossible; + USHORT wBufferOrStationBusyCount; + USHORT wMaxDatagramSize; + USHORT wPendingSessions; + USHORT wMaxSessionsConfigured; + USHORT wMaxSessionsPossible; + USHORT wMaxFrameSize; + USHORT wNameCount; + struct { + BYTE bName[16]; + BYTE bNameNumber; + BYTE bNameStatus; + }; +} _NETBIOS_ADAPTER_STATUS; + +typedef struct _tagNETBIOS_ELEMENT { + USHORT wFlags; + USHORT wOffset; + _NETBIOS_NCB sNCB; + _NETBIOS_NCB *pNCB; + PSTR pHeader; + USHORT wHSize; +} _NETBIOS_ELEMENT; + +typedef struct _tagNETBIOS_LOCAL_TARGET { + BYTE bNode[16]; +} _NETBIOS_LOCAL_TARGET; + +typedef struct _tagXFER_BLOCK_HEADER { + W32 wSequence; + W32 wType; + W32 wID; + W32 wLength; + W32 wNode; + W32 wUser1; +} _XFER_BLOCK_HEADER; + +typedef struct _NETNOW_NODE_ADDR { + _IPX_LOCAL_TARGET sIPX; + _NETBIOS_LOCAL_TARGET sNETBIOS; +} _NETNOW_NODE_ADDR; + +typedef struct tPD_net_player_info { + _IPX_LOCAL_TARGET addr_ipx; +} tPD_net_player_info; + +typedef struct tTrack_spec { + tU8 ncolumns_x; + tU8 ncolumns_z; + br_scalar column_size_x; + br_scalar column_size_z; + br_scalar origin_x; + br_scalar origin_z; + br_actor *the_actor; + br_actor ***columns; + br_actor ***lollipops; + br_actor ***blends; + int ampersand_digits; + br_actor **non_car_list; +} tTrack_spec; + +typedef struct tCrush_neighbour { + br_uint_8 vertex_index; + br_uint_8 factor; +} tCrush_neighbour; + +typedef struct tCrush_point_spec { + br_uint_16 vertex_index; + br_uint_16 number_of_neighbours; + br_vector3 limits_neg; + br_vector3 limits_pos; + br_vector3 softness_neg; + br_vector3 softness_pos; + tCrush_neighbour *neighbours; +} tCrush_point_spec; + +typedef struct tCrush_data { + int number_of_crush_points; + float softness_factor; + float min_fold_factor; + float max_fold_factor; + float wibble_factor; + float limit_deviant; + float split_chance; + br_scalar min_y_fold_down; + tCrush_point_spec *crush_points; +} tCrush_data; + +typedef struct tSpecial_volume { + br_matrix34 mat; + br_matrix34 inv_mat; + br_bounds bounds; + br_scalar gravity_multiplier; + br_scalar viscosity_multiplier; + float car_damage_per_ms; + float ped_damage_per_ms; + int no_mat; + int camera_special_effect_index; + int sky_col; + int entry_noise; + int exit_noise; + int engine_noise_index; + br_material *screen_material; + int material_modifier_index; +} tSpecial_volume; + +typedef struct tReduced_matrix { + br_vector3 row1; + br_vector3 row2; + br_vector3 translation; +} tReduced_matrix; + +typedef struct tCar_controls { + int joystick_acc: 8; + int joystick_dec: 8; + unsigned int left: 1; + unsigned int right: 1; + unsigned int acc: 1; + unsigned int dec: 1; + unsigned int brake: 1; + unsigned int up: 1; + unsigned int down: 1; + unsigned int holdw: 1; + unsigned int backwards: 1; + unsigned int change_up: 1; + unsigned int change_down: 1; + unsigned int horn: 1; +} tCar_controls; + +typedef struct tNet_message_mechanics_info { tU8 contents_size; tNet_message_type type; - }; - struct { - tNet_message_send_me_details send_details; - tNet_message_my_details details; - tNet_message_join join; - tNet_message_leave leave; - tNet_message_host_pissing_off hosticide; - tNet_message_new_player_list player_list; - tNet_message_race_over race_over; - tNet_message_status_report report; - tNet_message_start_race start_race; - tNet_message_guarantee_reply reply; - tNet_message_headup headup; - tNet_message_host_query where_we_at; - tNet_message_host_reply heres_where_we_at; - tNet_message_mechanics_info mech; - tNet_message_non_car_info non_car; - tNet_message_time_sync time_sync; - tNet_message_players_confirm confirm; - tNet_message_disable_car disable_car; - tNet_message_enable_car enabled_car; - tNet_message_powerup powerup; - tNet_message_recover recover; - tNet_message_scores scores; - tNet_message_wasted wasted; - tNet_message_pedestrian pedestrian; - tNet_message_gameplay gameplay; - tNet_message_non_car_position non_car_position; - tNet_message_cop_info cop_info; - tNet_message_car_details_req car_details_req; - tNet_message_car_details car_details; - tNet_message_game_scores game_scores; - tNet_message_oil_spill oil_spill; - tNet_message_crush_point crush; - }; -}; -struct tNet_message { - tU32 pd_stuff_so_DO_NOT_USE; - tU32 magic_number; - tU32 guarantee_number; - tPlayer_ID sender; - int version; - tU32 senders_time_stamp; - tU16 num_contents; - tU16 overall_size; - tNet_contents contents; -}; -struct tCar_detail_info { - tCar_detail_ownership ownership; - char name[16]; -}; -struct tS3_vector3 { - tF32 x; - tF32 y; - tF32 z; -}; -struct tWav_header { - char quote_RIFF[4]; - tU32 format_length; - tU8 wave[4]; - tU8 fmt[4]; - tU32 wave_format_length; - tU16 format_tag; - tU16 channels; - tU32 samples_per_sec; - tU32 avg_bytes_per_sec; - tU16 block_align; - tU16 bits_per_sample; - tU8 data[4]; - tU32 data_length; -}; -struct tPowerup { - tPowerup_type type; - tU32 got_time; - tU32 duration; - tU32 lose_time; - tU16 group_inclusion; - br_pixelmap *icon; - int fizzle_type; - int number_of_float_params; - int number_of_integer_params; - int *integer_params; - int current_value; - int prat_cam_event; - tNet_powerup_type net_type; - tGot_proc got_proc; - tLose_proc lose_proc; - tPeriodic_proc periodic_proc; - float *float_params; - tCar_spec *car; - char message[64]; -}; -struct tDepth_effect { - tDepth_effect_type type; - int start; - int end; - br_pixelmap *sky_texture; -}; -struct tPlane_spec { - tPlane_type plane_type; - br_fvector3 n; - br_scalar d; -}; -struct tMaterial_modifiers { - br_scalar car_wall_friction; - br_scalar tyre_road_friction; - br_scalar down_force; - br_scalar bumpiness; - int tyre_noise_index; - int crash_noise_index; - int scrape_noise_index; - br_scalar sparkiness; - int smoke_type; - br_material *skid_mark_material; -}; -struct tSpecial_screen { - br_material *material; - br_scalar min_x; - br_scalar min_z; - br_scalar max_x; - br_scalar max_z; -}; -struct tRace_list_spec { - char name[32]; - int rank_required; - int best_rank; - int suggested_rank; - int been_there_done_that; -}; -struct tRace_save_info { - tU32 been_there_done_that; -}; -struct tGraf_spec { - int depth_bits; - int depth_bytes; - int doubled; - int total_width; - int total_height; - long black_value; - int colour_index; - char *data_dir_name; - char *gfx_init_string; - int row_bytes; - int phys_width; - int phys_height; - void *base_addr; -}; -struct tCollision_info { - int index; - int disabled; - tDriver driver; - br_actor *car_master_actor; - br_scalar min_torque_squared; - br_scalar break_off_radians_squared; - br_vector3 v; - br_vector3 old_v; - br_vector3 velocity_car_space; - br_matrix34 oldmat; - br_matrix34 old_frame_mat; - br_vector3 pos; - br_vector3 omega; - br_vector3 oldomega; - br_scalar M; - int infinite_mass; - br_vector3 I; - br_vector3 cmpos; - int extra_point_num; - br_bounds bounds[3]; - br_bounds max_bounds[2]; - br_vector3 extra_points[6]; - br_scalar original_extra_points_z[6]; - br_vector3 old_point; - br_vector3 old_norm; - int box_face_start; - int box_face_end; - int box_face_ref; - br_matrix34 last_box_inv_mat; - br_bounds last_box; - int doing_nothing_flag; - tSpecial_volume *last_special_volume; - tSpecial_volume *auto_special_volume; - int frame_collision_flag; - int collision_flag; - int max_shrapnel_material; - br_vector3 direction; - float speed; - tU16 car_ID; - br_material *shrapnel_material[3]; - br_bounds bounds_world_space; - tBounds_type bounds_ws_type; - tU16 fire_vertex[12]; - tU16 num_smoke_columns; - br_vector3 water_normal; - br_scalar water_d; - br_scalar water_depth_factor; - tNet_message_mechanics_info message; - tU32 last_car_car_collision; - br_scalar dt; - tCar_spec_struct *who_last_hit_me; -}; -struct tNon_car_spec { - tCollision_info collision_info; - br_scalar free_mass; - br_scalar attached_mass; - br_vector3 free_cmpos; - br_vector3 attached_cmpos; - br_scalar min_torque_squared; - br_scalar snap_off_cosine; - br_vector3 I_over_M; -}; -struct tOpp_spec { - int index; - int ranking; - int net_player_index; - tCar_spec *car_spec; -}; -struct tCheckpoint { - int time_value[3]; - int quad_count; - br_vector3 vertices[4][4]; - br_vector3 normal[4]; - int map_left[2]; - int map_top[2]; - int map_right[2]; - int map_bottom[2]; -}; -struct tNet_starts { - br_vector3 pos; - br_scalar yaw; -}; -struct tText_chunk { - int frame_cue; - int frame_end; - int x_coord; - int y_coord; - int line_count; - char *text[8]; -}; -struct tRace_info { - char name[32]; - char track_file_name[14]; - int rank_required; - int best_rank; - int suggested_rank; - int total_laps; - int check_point_count; - int initial_timer[3]; - int bonus_score[8][3]; - int number_of_racers; - int number_of_net_start_points; - int text_chunk_count; - tNet_starts net_starts[24]; - tCheckpoint checkpoints[10]; - tOpp_spec opponent_list[30]; - tU8 *scene_image_data; - tU8 *map_image_data; - tU8 *info_image_data; - tU32 scene_image_data_length; - tU32 map_image_data_length; - tU32 info_image_data_length; - br_vector3 initial_position; - br_scalar initial_yaw; - br_pixelmap *map_image; - br_matrix34 map_transformation; - tText_chunk *text_chunks; - tMaterial_modifiers material_modifiers[11]; -}; -struct tOpponent_save_info { - tU32 dead; -}; -struct tOpponent { - char name[24]; - char abbrev_name[24]; - char mug_shot_name[14]; - char car_file_name[14]; - char stolen_car_flic_name[14]; - tU8 *mug_shot_image_data; - tU8 *stolen_car_image_data; - tU32 mug_shot_image_data_length; - tU32 stolen_car_image_data_length; - int car_number; - int strength_rating; - int picked; - int dead; - int text_chunk_count; - tNet_avail network_availability; - br_pixelmap *grid_icon_image; - tOppo_psyche psyche; - tText_chunk *text_chunks; -}; -struct tProgram_state { - tS32 credits; - tS32 credits_earned; - tS32 credits_lost; - tU32 view_change_start; - tU32 pratcam_move_start; - int peds_killed; - int sausage_eater_mode; - int rank; - int loaded; - int last_slot; - int skill_level; - int parts_shop_visited; - int racing; - int cut_scene; - int saving; - int loading; - int dont_save_or_load; - int dont_load; - int mirror_on; - int prat_cam_on; - int cockpit_on; - int cockpit_image_index; - int current_render_left; - int current_render_top; - int current_render_right; - int current_render_bottom; - int frame_rate_headup; - int revs; - int music_volume; - int effects_volume; - int current_race_index; - int redo_race_index; - int credits_per_rank; - int game_completed; - int number_of_cars; - int current_car_index; - tWhich_view which_view; - tWhich_view new_view; - tWhich_view pending_view; - tWhich_view old_view; - tRace_sel_view_type view_type; - tProg_status prog_status; - tFrank_anne frank_or_anniness; - tAuto_parts_reply auto_parts_reply; - tCar_spec current_car; - char player_name[2][14]; - char track_file_name[14]; - char car_name[14]; - int cars_available[60]; - br_vector3 initial_position; - br_scalar initial_yaw; - tTrack_spec track_spec; - tDepth_effect default_depth_effect; - tDepth_effect current_depth_effect; - int special_volume_count; - tSpecial_volume *special_volumes; - br_material *standard_screen; - br_material *standard_screen_dark; - br_material *standard_screen_fog; - int special_screens_count; - tSpecial_screen *special_screens; - tIntelligent_vehicles AI_vehicles; - tNon_car_spec *non_cars; - int num_non_car_spaces; -}; -struct tDR_font { - br_pixelmap *images; - int file_read_once; - int height; - int width; - int spacing; - int offset; - int num_entries; - int width_table[224]; -}; -struct tGraf_data { - int width; - int height; - int rolling_letter_y_pitch; - int save_slot_y_offset; - int rolling_letter_x_pitch; - int save_slot_x_offset; - int save_slot_rank_x_offset; - int save_slot_credits_x_offset; - int save_slot_height; - int save_slot_letter_height; - int save_slot_table[41]; - int player_name_y; - int player_name_x[2]; - int enter_name_x[2]; - int enter_name_y; - int frank_panel_left; - int frank_panel_top; - int frank_panel_right; - int frank_panel_bottom; - int anne_panel_left; - int anne_panel_top; - int anne_panel_right; - int anne_panel_bottom; - int cock_margin_x; - int cock_margin_y; - int total_cock_width; - int total_cock_height; - int dial__x[2]; - int dial__y[2]; - int dial__x_centre; - int dial__y_centre; - int start_race_panel_left; - int start_race_panel_top; - int start_race_panel_right; - int start_race_panel_bottom; - int start_race_panel_top_clip; - int start_race_panel_bottom_clip; - int choose_race_rank_right; - int choose_race_name_left; - int choose_race_bullet_left; - int choose_race_left; - int choose_race_right; - int choose_race_y_top; - int choose_race_y_bottom; - int choose_race_y_pitch; - int choose_race_curr_y; - int choose_race_box_left; - int choose_race_box_top; - int choose_race_line_y; - int choose_race_current_text_x; - int choose_race_current_text_y; - int choose_race_current_num_x; - int grid_x_pitch; - int grid_y_pitch; - int grid_x_stagger; - int grid_left_x; - int grid_top_y; - int grid_left_clip; - int grid_top_clip; - int grid_right_clip; - int grid_bottom_clip; - int grid_numbers_left; - int grid_numbers_top; - int grid_numbers_right; - int grid_marker_margin; - int grid_marker_x_len; - int dare_mugshot_left; - int dare_mugshot_top; - int dare_mugshot_width; - int dare_mugshot_height; - int dare_text_left; - int dare_text_width; - int dare_mug_left_margin; - int dare_mug_top_margin; - int dare_y_adjust; - int parts_image_x; - int parts_image_y; - int parts_image_width; - int parts_image_height; - int parts_cost_x; - int parts_cost_y; - int parts_total_x; - int parts_total_y; - int parts_net_x; - int parts_net_y; - int parts_numbers_x; - int parts_top_clip; - int parts_bottom_clip; - int parts_label_x; - int parts_label_y; - int summ1_credits_box_left; - int summ1_credits_left; - int summ1_credits_right; - int summ1_earned_top; - int summ1_earned_bottom; - int summ1_lost_top; - int summ1_lost_bottom; - int summ1_total_top; - int summ1_total_bottom; - int summ1_rank_x_pitch; - int summ1_rank_inc_l; - int summ1_rank_inc_c; - int summ1_rank_total_l; - int summ1_rank_total_c; - int summ1_rank_inc_left; - int summ1_rank_inc_right; - int summ1_rank_total_left; - int summ1_rank_total_right; - int summ1_rank_top; - int summ1_rank_bot; - int summ1_rank_y; - int wreck_name_left; - int wreck_name_right; - int wreck_name_top; - int wreck_name_bottom; - int wreck_name_base_line; - int wreck_render_x; - int wreck_render_y; - int wreck_render_w; - int wreck_render_h; - int power_up_icon_x; - int power_up_icon_countdown_x; - int power_up_icon_y; - int power_up_icon_y_pitch; - int power_up_icon_countdown_y_offset; - int change_car_text_y; - int change_car_line_left; - int change_car_line_y; - int change_car_line_right; - int change_car_panel_left; - int change_car_panel_top; - int change_car_panel_right; - int change_car_panel_bottom; - int change_car_panel_top_clip; - int change_car_panel_bottom_clip; - int map_timer_text_x; - int map_timer_text_y; - int map_timer_border_x; - int map_timer_border_y; - int action_replay_R_x; - int action_replay_R_y; - int action_replay_controls_x; - int action_replay_controls_y; - int action_replay_hilite_y; - int action_replay_rew_start_x; - int action_replay_rew_x; - int action_replay_rev_play_x; - int action_replay_pause_x; - int action_replay_play_x; - int action_replay_ffwd_x; - int action_replay_fwd_end_x; - int action_replay_camera_x; - int action_replay_cam_text_x; - int action_replay_cam_text_y; - int joinable_games_x_1; - int joinable_games_x_2; - int joinable_games_x_3; - int joinable_games_x_4; - int joinable_games_x_r; - int joinable_games_y; - int joinable_games_y_pitch; - int joinable_games_sel_left; - int joinable_games_sel_right; - int joinable_games_sel_top_marg; - int joinable_games_sel_bot_marg; - int net_player_name_x; - int net_player_name_y; - int error_box_left; - int error_box_top; - int error_box_right; - int error_box_bottom; - int start_synch_x_0; - int start_synch_x_1; - int start_synch_x_2; - int start_synch_x_r; - int start_synch_top; - int start_synch_y_pitch; - int start_synch_start_x; - int start_synch_start_y; - int key_assign_col_1; - int key_assign_col_1_a; - int key_assign_col_2; - int key_assign_col_2_a; - int key_assign_y_pitch; - int key_assign_y; - int key_assign_key_map_y; - int key_assign_flic_x; - int key_assign_flic_y; - int map_render_x_marg; - int map_render_y_marg; - int net_head_box_x; - int net_head_box_pitch; - int net_head_box_width; - int net_head_box_top; - int net_head_box_bot; - int net_head_name_x_marg; - int net_head_name_y; - int net_head_num_x; - int net_head_num_y; - int net_head_num_height; - int net_head_icon_x; - int net_head_icon_y; - int net_head_icon_height; - int net_head_score_x; - int net_head_score_y; - int armour_headup_y[2]; - int power_headup_y[2]; - int offense_headup_y[2]; - int ps_dim_left; - int ps_dim_right; - int ps_dim_height; - int ps_name_left; - int ps_name_top_border; - int ps_bars_per_level; - int ps_x_pitch; - int ps_bar_top_border; - int ps_bar_left; - int ps_bar_height; - int net_choose_race_x; - int net_choose_race_y; - int net_descr_race_l; - int net_descr_race_r; - int net_descr_race_top; - int net_descr_race_bot; - int net_sum_x_1; - int net_sum_x_2; - int net_sum_x_3; - int net_sum_x_4; - int net_sum_x_5; - int net_sum_headings_y; - int net_sum_y_pitch; - int graph_opt_disable_x; - int graph_opt_disable_y; - int sound_opt_disable_x; - int sound_opt_disable_y; - int net_message_enter_x; - int net_message_enter_y; - int eval_x; - int eval_y; -}; -struct tRolling_letter { - int letters[9]; - int x_coord; - int y_coord; - int number_of_letters; - tRolling_type rolling_type; - float current_offset; -}; -struct tFlic_descriptor { - char *data; - char *data_start; - char file_name[32]; - tU8 *first_pixel; - tU32 bytes_remaining; - tU32 frame_period; - tU32 last_frame; - br_pixelmap *the_pixelmap; - int x_offset; - int y_offset; - int width; - int height; - int frames_left; - int current_frame; - int the_index; - int new_format; - int must_finish; - int bytes_still_to_be_read; - int bytes_in_buffer; - FILE *f; - tFlic_descriptor_ptr next; -}; -struct tBrender_storage { - int models_count; - int materials_count; - int shade_tables_count; - int pixelmaps_count; - int max_pixelmaps; - int max_shade_tables; - int max_materials; - int max_models; - br_model **models; - br_pixelmap **pixelmaps; - br_pixelmap **shade_tables; - br_material **materials; - br_pixelmap **saved_colour_maps; -}; -struct tSave_game { - char slot_name[16]; - char car_name[16]; - char player_name[2][14]; - tRace_save_info race_info[100]; - tOpponent_save_info opponent_info[48]; - tU32 credits; - tU32 rank; - tU32 skill_level; - tU32 game_completed; - tU32 number_of_cars; - tU32 cars_available[60]; - tU32 current_car_index; - tU32 current_race_index; - tU32 redo_race_index; - tU32 frank_or_annitude; - tU32 power_up_levels[3]; - tU32 version; - tU32 checksum; -}; -struct tPed_subs { - int orig; - int subs; -}; -struct tRadio_bastards { - int count; - int top; - int current_value; - int left[5]; -}; -struct exception_struct { - tException_list next; - char *name; - int flags; -}; -struct tPixelmap_user_data { - tU16 orig_width; - tU16 orig_height; -}; -struct fmt_vertex { - br_vector3 p; - br_vector2 map; - br_vector3 n; -}; -struct v11face { - br_uint_16 vertices[3]; - br_uint_16 edges[3]; - br_vector4 eqn; -}; -struct v11group { - void *stored; - v11face *faces; - br_colour *face_colours; - br_uint_16 *face_user; - fmt_vertex *vertices; - br_colour *vertex_colours; - br_uint_16 *vertex_user; - br_uint_16 nfaces; - br_uint_16 nvertices; - br_uint_16 nedges; -}; -struct v11model { - br_size_t size; - br_uint_32 flags; - br_uint_16 ngroups; - br_vector3 pivot; - v11group *groups; -}; -struct tMatrix_and_actor { - br_matrix34 *m; - br_actor *a; -}; -typedef struct tReduced_pos tReduced_pos; -typedef struct tIncident_info tIncident_info; + tU32 ID; + tU32 time; + tReduced_matrix mat; + br_vector3 v; + br_vector3 omega; + tU8 d[4]; + tCar_controls keys; + tU32 cc_coll_time; + tS16 curvature; + tU16 revs; + br_scalar front; + br_scalar back; + tU32 repair_time; + tU8 damage[12]; + tU16 powerups; + br_scalar wheel_dam_offset[4]; +} tNet_message_mechanics_info; + +typedef struct tCar_spec_struct { + int index; + int disabled; + tDriver driver; + br_actor *car_master_actor; + br_scalar min_torque_squared; + br_scalar break_off_radians_squared; + br_vector3 v; + br_vector3 old_v; + br_vector3 velocity_car_space; + br_matrix34 oldmat; + br_matrix34 old_frame_mat; + br_vector3 pos; + br_vector3 omega; + br_vector3 oldomega; + br_scalar M; + int infinite_mass; + br_vector3 I; + br_vector3 cmpos; + int extra_point_num; + br_bounds bounds[3]; + br_bounds max_bounds[2]; + br_vector3 extra_points[6]; + br_scalar original_extra_points_z[6]; + br_vector3 old_point; + br_vector3 old_norm; + int box_face_start; + int box_face_end; + int box_face_ref; + br_matrix34 last_box_inv_mat; + br_bounds last_box; + int doing_nothing_flag; + tSpecial_volume *last_special_volume; + tSpecial_volume *auto_special_volume; + int frame_collision_flag; + int collision_flag; + int max_shrapnel_material; + br_vector3 direction; + float speed; + tU16 car_ID; + br_material *shrapnel_material[3]; + br_bounds bounds_world_space; + tBounds_type bounds_ws_type; + tU16 fire_vertex[12]; + tU16 num_smoke_columns; + br_vector3 water_normal; + br_scalar water_d; + br_scalar water_depth_factor; + tNet_message_mechanics_info message; + tU32 last_car_car_collision; + br_scalar dt; + tCar_spec_struct *who_last_hit_me; + char name[32]; + char driver_name[32]; + char grid_icon_names[3][14]; + tS8 *cockpit_images[3]; + br_pixelmap *prat_cam_left; + br_pixelmap *prat_cam_top; + br_pixelmap *prat_cam_right; + br_pixelmap *prat_cam_bottom; + br_pixelmap *prat_cam_dummy; + br_pixelmap *speedo_image[2]; + br_pixelmap *tacho_image[2]; + br_pixelmap *damage_background; + br_pixelmap *lhands_images[7]; + br_pixelmap *rhands_images[7]; + br_pixelmap *grid_icon_image; + br_pixelmap *gears_image; + int fg_index; + int underwater_ability; + int invulnerable; + int wall_climber_mode; + int can_be_stolen; + int has_been_stolen; + int active; + int knackered; + int pre_car_col_knackered; + int render_left[3]; + int render_top[3]; + int render_right[3]; + int render_bottom[3]; + int mirror_left; + int mirror_top; + int mirror_right; + int mirror_bottom; + int prat_left; + int prat_top; + int prat_right; + int prat_bottom; + int speedo_x[2]; + int speedo_y[2]; + int speedo_centre_x[2]; + int speedo_centre_y[2]; + int speedo_x_pitch[2]; + int speedo_y_pitch[2]; + int speedo_radius_1[2]; + int speedo_radius_2[2]; + int speedo_start_angle[2]; + int speedo_end_angle[2]; + int speedo_needle_colour[2]; + int tacho_x[2]; + int tacho_y[2]; + int tacho_centre_x[2]; + int tacho_centre_y[2]; + int tacho_x_pitch[2]; + int tacho_y_pitch[2]; + int tacho_radius_1[2]; + int tacho_radius_2[2]; + int tacho_start_angle[2]; + int tacho_end_angle[2]; + int tacho_needle_colour[2]; + int gear_x[2]; + int gear_y[2]; + int red_line; + int lhands_x[7]; + int lhands_y[7]; + int rhands_x[7]; + int rhands_y[7]; + int number_of_hands_images; + int max_speed; + int damage_x_offset; + int damage_y_offset; + int damage_background_x; + int damage_background_y; + int dim_count[2]; + int dim_left[2][4]; + int dim_top[2][4]; + int dim_right[2][4]; + int dim_bottom[2][4]; + int car_actor_count; + int current_car_actor; + int principal_car_actor; + int car_model_variable; + int number_of_steerable_wheels; + int steering_ref[6]; + int lf_sus_ref[4]; + int rf_sus_ref[4]; + int lr_sus_ref[2]; + int rr_sus_ref[2]; + int driven_wheels_spin_ref_1; + int driven_wheels_spin_ref_2; + int driven_wheels_spin_ref_3; + int driven_wheels_spin_ref_4; + int non_driven_wheels_spin_ref_1; + int non_driven_wheels_spin_ref_2; + int non_driven_wheels_spin_ref_3; + int non_driven_wheels_spin_ref_4; + int engine_noises[3]; + float driver_x_offset; + float driver_y_offset; + float driver_z_offset; + float mirror_x_offset; + float mirror_y_offset; + float mirror_z_offset; + float rearview_camera_angle; + float head_left_angle; + float head_right_angle; + float steering_angle; + float speedo_speed; + float lf_sus_position; + float rf_sus_position; + float lr_sus_position; + float rr_sus_position; + float driven_wheels_circum; + float non_driven_wheels_circum; + float bounce_rate; + float bounce_amount; + float collision_mass_multiplier; + float damage_multiplier; + float grip_multiplier; + float engine_power_multiplier; + tDamage_unit damage_units[12]; + tU8 frame_start_damage[12]; + tImpact_location last_impact_location; + tDamage_program damage_programs[6]; + tHeadup_slot headup_slots[2][20]; + tParts_spec power_ups[3]; + int car_actor_pipe_ref; + tCar_actor car_model_actors[5]; + br_material *screen_material; + br_material *screen_material_source; + br_matrix34 last_safe_positions[5]; + int wheel_slip; + br_scalar damping; + br_scalar sk[2]; + br_scalar sb[2]; + br_scalar susp_give[2]; + br_scalar susp_height[2]; + br_scalar ride_height; + br_vector3 wpos[4]; + br_scalar curvature; + br_scalar maxcurve; + br_scalar turn_speed; + br_scalar oldd[4]; + int material_index[4]; + int dust_time[4]; + br_scalar mu[3]; + br_scalar friction_elipticity; + br_scalar down_force_speed; + int down_force_flag; + br_scalar initial_brake; + br_scalar brake_increase; + br_scalar freduction; + br_scalar acc_force; + br_scalar torque; + br_scalar brake_force; + int traction_control; + br_scalar rolling_r_front; + br_scalar rolling_r_back; + tCar_controls keys; + tJoystick joystick; + int pedals_xy; + int number_of_wheels_on_ground; + br_actor *wheel_actors[6]; + float wheel_rot_pos[4]; + br_scalar wheel_dam_offset[4]; + br_scalar damage_magnitude_accumulator; + br_scalar revs; + br_scalar target_revs; + br_vector3 road_normal; + br_scalar max_force_front; + br_scalar max_force_rear; + int gear; + int just_changed_gear; + int max_gear; + br_scalar speed_revs_ratio; + br_scalar force_torque_ratio; + tS3_sound_source_ptr sound_source; + br_matrix34 pre_car_col_mat; + br_scalar pre_car_col_speed; + br_vector3 pre_car_col_direction; + br_vector3 pre_car_col_velocity; + br_vector3 pre_car_col_velocity_car_space; + br_vector3 velocity_bu_per_sec; + float last_col_prop_x; + float last_col_prop_y; + float last_col_prop_z; + tU32 time_last_hit; + tU32 time_last_victim; + tCar_spec_struct *last_hit_by; + tCar_spec_struct *last_culprit; + int no_of_processes_recording_my_trail; + tPursuee_trail my_trail; + unsigned int grudge_raised_recently; + unsigned int big_bang; + unsigned int scary_bang; + tU32 last_collision_time; + tU32 last_time_we_touched_a_player; + tU32 end_steering_damage_effect; + tU32 end_trans_damage_effect; + int false_key_left; + int false_key_right; + tCar_spec_struct *last_person_to_hit_us; + tCar_spec_struct *last_person_we_hit; + br_vector3 engine_pos; + br_model *last_wheel_models[4]; + int last_wheel_faces[4]; + tU32 shadow_intersection_flags; + tU32 last_bounce; + unsigned int new_skidding; + unsigned int old_skidding; + tU16 old_skid[4]; + br_vector3 prev_skid_pos[4]; + br_vector3 skid_line_start[4]; + br_vector3 skid_line_end[4]; + br_vector3 nor[4]; + br_vector3 prev_nor[4]; + br_vector3 special_start[4]; + br_scalar oil_remaining[4]; + br_scalar blood_remaining[4]; + br_scalar total_length[4]; + float proxy_ray_distance; + tS32 powerups[64]; + tU32 time_to_recover; + tU32 repair_time; + int power_up_levels[3]; + tS3_sound_tag horn_sound_tag; +} tCar_spec; + +typedef struct tDamage_unit { + int x_coord; + int y_coord; + int damage_level; + int last_level; + int smoke_last_level; + int periods[5]; + br_pixelmap *images; +} tDamage_unit; + +typedef struct tDamage_condition { + tAxis_comp axis_comp; + tCondition_operator condition_operator; + float comparitor; +} tDamage_condition; + +typedef struct tDamage_effect { + tDamage_type type; + float weakness_factor; +} tDamage_effect; + +typedef struct tDamage_clause { + tDamage_condition conditions[2]; + int effect_count; + int condition_count; + tDamage_effect effects[4]; +} tDamage_clause; + +typedef struct tDamage_program { + int clause_count; + tDamage_clause *clauses; +} tDamage_program; + +typedef struct tHeadup_slot { + int x; + int y; + int colour; + int cockpit_anchored; + int dimmed_background; + int dim_left; + int dim_top; + int dim_right; + int dim_bottom; + tJustification justification; +} tHeadup_slot; + +typedef struct tPart_info { + char part_name[14]; + tU8 *data_ptr; + tU32 data_length; + int rank_required; + int prices[3]; +} tPart_info; + +typedef struct tParts_spec { + int number_of_parts; + tPart_info info[6]; +} tParts_spec; + +typedef struct tCar_actor { + br_actor *actor; + br_scalar min_distance_squared; + tCrush_data crush_data; + br_vertex *undamaged_vertices; +} tCar_actor; + +typedef struct tJoystick { + tS32 left; + tS32 right; + tS32 acc; + tS32 dec; +} tJoystick; + +typedef struct tPursuee_trail { + br_vector3 trail_nodes[25]; + br_vector3 base_heading; + tU32 time_of_next_recording; + tU32 end_of_deviation; + tU8 number_of_nodes; + tU8 has_deviated_recently; + tU8 nodes_shifted_this_frame; +} tPursuee_trail; + +typedef struct tOppo_psyche { + tU8 grudge_against_player; +} tOppo_psyche; + +typedef struct tComplete_race_data { + tU8 finished_calcing_race_route; + tU8 found_race_section; +} tComplete_race_data; + +typedef struct tReturn_to_start_data { + br_vector3 nearest_path_point; + tS16 section_no; + tU8 waiting_near_start; +} tReturn_to_start_data; + +typedef struct tPath_node_struct { + br_vector3 p; + tS16 sections[8]; + tU8 number_of_sections; +} tPath_node; + +typedef struct tPath_section_struct { + tS16 node_indices[2]; + tU8 min_speed[2]; + tU8 max_speed[2]; + br_scalar width; + br_scalar length; + tU8 type; + tU8 one_way; +} tPath_section; + +typedef struct tPursue_car_data { + tCar_spec *pursuee; + tU32 time_of_next_visibility_check; + tU32 start_backup_time; + tU32 time_last_twatted_em; + tU32 time_pursuee_last_visible; + tU32 time_last_away_from_pursuee; + tPath_node direct_line_nodes[2]; + tPath_section direct_line_section; + tU8 state; +} tPursue_car_data; + +typedef struct tFollow_path_data { + tU32 struggle_time; + tU32 last_finished_struggle_time; + tU32 toggle_time; + tU32 borrowed_time_start; + br_scalar prev_acc; + br_scalar prev_acc_error; + br_scalar desired_speed; + br_scalar last_distance; + br_vector3 cheaty_intersect; + tS16 section_no; + tS16 first_section_no; + tS16 last_struggle_section; + unsigned int number_of_struggles: 8; + unsigned int has_moved_during_this_task: 1; + unsigned int made_it: 1; + unsigned int cheating: 1; + unsigned int cornering: 1; + unsigned int left_not_right: 1; + unsigned int off_path_toggle; + unsigned int moving_to_intersect; + br_vector2 turning_cent; + br_scalar turning_radius; + br_scalar corner_size; + br_scalar corner_width; + int section_after; +} tFollow_path_data; + +typedef struct tLevitate_data { + br_scalar initial_y; + tU32 time_started; + unsigned int waiting_to_levitate: 1; +} tLevitate_data; + +typedef struct tRun_away_data { + tU32 time_to_stop; +} tRun_away_data; + +typedef struct tRoute_section { + tS16 section_no; + tU8 direction; +} tRoute_section; + +typedef struct tOpponent_spec { + int index; + tOpponent_objective_type current_objective; + tCar_spec *car_spec; + float nastiness; + br_scalar distance_to_camera; + br_scalar distance_from_home; + br_scalar player_to_oppo_d; + br_vector3 start_pos; + br_vector3 start_direction; + br_vector3 pos_last_frame; + br_vector3 player_to_oppo_v; + tU32 next_out_of_world_check; + tU32 stun_time_ends; + tU32 next_player_visibility_check; + tU32 last_moved_ok; + tU32 last_in_view; + tU32 time_last_processed; + tU32 time_this_objective_started; + tU32 time_for_this_objective_to_finish; + tU32 cunting_buttfuck_timer; + tS16 players_section_when_last_calced_full_path; + int nnext_sections; + tRoute_section next_sections[10]; + unsigned int new_objective_required: 1; + unsigned int finished_for_this_race: 1; + unsigned int knackeredness_detected: 1; + unsigned int physics_me: 1; + unsigned int pursue_from_start: 1; + unsigned int cheating: 1; + unsigned int last_cheating_value: 1; + unsigned int pursuing_player_before_freeze: 1; + unsigned int has_moved_at_some_point: 1; + unsigned int player_in_view_now: 1; + unsigned int acknowledged_piv: 1; + unsigned int murder_reported: 1; + tComplete_race_data complete_race_data; + tFollow_path_data follow_path_data; + tPursue_car_data pursue_car_data; + tLevitate_data levitate_data; + tRun_away_data run_away_data; + tReturn_to_start_data return_to_start_data; +} tOpponent_spec; + +typedef struct tIntelligent_vehicles { + int number_of_opponents; + int number_of_cops; + int number_of_path_nodes; + int number_of_path_sections; + br_vector3 cop_start_points[10]; + br_vector3 cop_start_vectors[10]; + tOpponent_spec opponents[5]; + tOpponent_spec cops[10]; + tPath_node *path_nodes; + tPath_section *path_sections; +} tIntelligent_vehicles; + +typedef struct tBounds { + br_matrix34 *mat; + br_bounds original_bounds; + br_vector3 box_centre; + br_scalar radius; + br_bounds real_bounds; +} tBounds; + +typedef struct tFace_ref { + br_material *material; + br_vector3 v[3]; + br_vector2 *map[3]; + br_vector3 normal; + int flags; + br_scalar d; +} tFace_ref; + +typedef struct tNet_game_player_info { + tPD_net_player_info pd_net_info; + tU32 this_players_time_stamp; + tU32 last_heard_from_him; + tU32 reposition_time; + tU32 last_waste_message; + int host; + tPlayer_ID ID; + char player_name[32]; + tPlayer_status player_status; + int car_index; + int grid_index; + int grid_position_set; + int opponent_list_index; + int awaiting_confirmation; + int score; + int credits; + int wasted; + int wasteage_attributed; + int name_not_clipped; + int race_stuff_initialised; + int played; + int won; + int next_car_index; + int games_score; + int last_score_index; + br_matrix34 initial_position; + tCar_spec *car; +} tNet_game_player_info; + +typedef struct tNet_game_options { + int show_players_on_map; + int show_peds_on_map; + int enable_text_messages; + int show_powerups_on_map; + int powerup_respawn; + int open_game; + int starting_money_index; + int grid_start; + int race_end_target; + int random_car_choice; + tNet_sequence_type race_sequence_type; + tCar_choice car_choice; +} tNet_game_options; + +typedef struct tNet_game_status { + tNet_game_stage stage; +} tNet_game_status; + +typedef struct tNet_game_details { + tPD_net_player_info pd_net_info; + char host_name[32]; + tPlayer_ID host_ID; + int num_players; + int start_race; + int no_races_yet; + tNet_game_status status; + tNet_game_options options; + tNet_game_type type; +} tNet_game_details; + +typedef struct tNet_message_send_me_details { + tU8 contents_size; + tNet_message_type type; +} tNet_message_send_me_details; + +typedef struct tNet_message_my_details { + tU8 contents_size; + tNet_message_type type; + tNet_game_details details; +} tNet_message_my_details; + +typedef struct tNet_message_join { + tU8 contents_size; + tNet_message_type type; + tNet_game_player_info player_info; +} tNet_message_join; + +typedef struct tNet_message_leave { + tU8 contents_size; + tNet_message_type type; +} tNet_message_leave; + +typedef struct tNet_message_host_pissing_off { + tU8 contents_size; + tNet_message_type type; +} tNet_message_host_pissing_off; + +typedef struct tNet_message_new_player_list { + tU8 contents_size; + tNet_message_type type; + int number_of_players; + int this_index; + int batch_number; + tNet_game_player_info player; +} tNet_message_new_player_list; + +typedef struct tNet_message_race_over { + tU8 contents_size; + tNet_message_type type; + tRace_over_reason reason; +} tNet_message_race_over; + +typedef struct tNet_message_status_report { + tU8 contents_size; + tNet_message_type type; + tPlayer_status status; +} tNet_message_status_report; + +typedef struct tGrid_spec { + int index; + int next_car_index; + br_matrix34 mat; +} tGrid_spec; + +typedef struct tNet_message_start_race { + tU8 contents_size; + tNet_message_type type; + int car_count; + int racing; + int next_race; + tGrid_spec car_list[6]; +} tNet_message_start_race; + +typedef struct tNet_message_guarantee_reply { + tU8 contents_size; + tNet_message_type type; + tU32 guarantee_number; +} tNet_message_guarantee_reply; + +typedef struct tNet_message_headup { + tU8 contents_size; + tNet_message_type type; + char text[128]; +} tNet_message_headup; + +typedef struct tNet_message_host_query { + tU8 contents_size; + tNet_message_type type; +} tNet_message_host_query; + +typedef struct tNet_message_host_reply { + tU8 contents_size; + tNet_message_type type; + int race_has_started; + int race_index; + int pending_race; +} tNet_message_host_reply; + +typedef struct tNet_message_cop_info { + tU8 contents_size; + tNet_message_type type; + tU32 ID; + tU32 time; + tReduced_matrix mat; + br_vector3 v; + br_vector3 omega; + br_scalar curvature; + br_scalar d[4]; + tU8 damage[12]; +} tNet_message_cop_info; + +typedef struct tNet_message_non_car_info { + tU8 contents_size; + tNet_message_type type; + tU32 ID; + tU32 time; + tReduced_matrix mat; + br_vector3 v; + br_vector3 omega; + tU32 cc_coll_time; + tU16 flags; +} tNet_message_non_car_info; + +typedef struct tNet_message_non_car_position { + tU8 contents_size; + tNet_message_type type; + tU32 ID; + br_matrix34 mat; + tU16 flags; +} tNet_message_non_car_position; + +typedef struct tNet_message_time_sync { + tU8 contents_size; + tNet_message_type type; + int race_start_time; +} tNet_message_time_sync; + +typedef struct tNet_message_players_confirm { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID player; +} tNet_message_players_confirm; + +typedef struct tNet_message_disable_car { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID player; +} tNet_message_disable_car; + +typedef struct tNet_message_enable_car { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID player; +} tNet_message_enable_car; + +typedef struct tNet_message_powerup { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID player; + int powerup_index; + tU32 time_left; + tPowerup_event event; +} tNet_message_powerup; + +typedef struct tNet_message_recover { + tU8 contents_size; + tNet_message_type type; + tU32 ID; + int time_to_recover; +} tNet_message_recover; + +typedef struct tNet_message_scores { + tU8 contents_size; + tNet_message_type type; + int general_score; + int scores[6]; +} tNet_message_scores; + +typedef struct tNet_message_wasted { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID victim; + tPlayer_ID culprit; +} tNet_message_wasted; + +typedef struct tNet_message_gameplay { + tU8 contents_size; + tNet_message_type type; + tNet_gameplay_mess mess; + tU32 param_1; + tU32 param_2; + tU32 param_3; + tU32 param_4; +} tNet_message_gameplay; + +typedef struct tNet_message_pedestrian { + tU8 contents_size; + tNet_message_type type; + tS8 action_instruction; + tS8 flags; + tS16 index; + br_vector3 pos; + br_scalar speed; + br_vector3 to_pos; + br_vector3 offset; + tPlayer_ID murderer; + tU32 respawn_time_or_spin_period; + tS8 frame; +} tNet_message_pedestrian; + +typedef struct tNet_message_car_details_req { + tU8 contents_size; + tNet_message_type type; +} tNet_message_car_details_req; + +typedef struct tCar_details { + int car_index; + char owner[16]; +} tCar_details; + +typedef struct tNet_message_car_details { + tU8 contents_size; + tNet_message_type type; + int count; + tCar_details details[6]; +} tNet_message_car_details; + +typedef struct tGame_scores { + int played; + int won; + int score; +} tGame_scores; + +typedef struct tNet_message_game_scores { + tU8 contents_size; + tNet_message_type type; + tGame_scores scores[6]; +} tNet_message_game_scores; + +typedef struct tNet_message_oil_spill { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID player; + br_scalar full_size; + br_scalar grow_rate; + br_scalar current_size; +} tNet_message_oil_spill; + +typedef struct tNet_message_crush_point { + tU8 contents_size; + tNet_message_type type; + tPlayer_ID id; + tU16 vertex; + br_vector3 energy_vector; +} tNet_message_crush_point; + +typedef struct tNet_contents { + struct { + tU8 contents_size; + tNet_message_type type; + }; + struct { + tNet_message_send_me_details send_details; + tNet_message_my_details details; + tNet_message_join join; + tNet_message_leave leave; + tNet_message_host_pissing_off hosticide; + tNet_message_new_player_list player_list; + tNet_message_race_over race_over; + tNet_message_status_report report; + tNet_message_start_race start_race; + tNet_message_guarantee_reply reply; + tNet_message_headup headup; + tNet_message_host_query where_we_at; + tNet_message_host_reply heres_where_we_at; + tNet_message_mechanics_info mech; + tNet_message_non_car_info non_car; + tNet_message_time_sync time_sync; + tNet_message_players_confirm confirm; + tNet_message_disable_car disable_car; + tNet_message_enable_car enabled_car; + tNet_message_powerup powerup; + tNet_message_recover recover; + tNet_message_scores scores; + tNet_message_wasted wasted; + tNet_message_pedestrian pedestrian; + tNet_message_gameplay gameplay; + tNet_message_non_car_position non_car_position; + tNet_message_cop_info cop_info; + tNet_message_car_details_req car_details_req; + tNet_message_car_details car_details; + tNet_message_game_scores game_scores; + tNet_message_oil_spill oil_spill; + tNet_message_crush_point crush; + }; +} tNet_contents; + +typedef struct tNet_message { + tU32 pd_stuff_so_DO_NOT_USE; + tU32 magic_number; + tU32 guarantee_number; + tPlayer_ID sender; + int version; + tU32 senders_time_stamp; + tU16 num_contents; + tU16 overall_size; + tNet_contents contents; +} tNet_message; + +typedef struct tCar_detail_info { + tCar_detail_ownership ownership; + char name[16]; +} tCar_detail_info; + +typedef struct tS3_vector3 { + tF32 x; + tF32 y; + tF32 z; +} tS3_vector3; + +typedef struct tWav_header { + char quote_RIFF[4]; + tU32 format_length; + tU8 wave[4]; + tU8 fmt[4]; + tU32 wave_format_length; + tU16 format_tag; + tU16 channels; + tU32 samples_per_sec; + tU32 avg_bytes_per_sec; + tU16 block_align; + tU16 bits_per_sample; + tU8 data[4]; + tU32 data_length; +} tWav_header; + +typedef struct tPowerup { + tPowerup_type type; + tU32 got_time; + tU32 duration; + tU32 lose_time; + tU16 group_inclusion; + br_pixelmap *icon; + int fizzle_type; + int number_of_float_params; + int number_of_integer_params; + int *integer_params; + int current_value; + int prat_cam_event; + tNet_powerup_type net_type; + tGot_proc got_proc; + tLose_proc lose_proc; + tPeriodic_proc periodic_proc; + float *float_params; + tCar_spec *car; + char message[64]; +} tPowerup; + +typedef struct tDepth_effect { + tDepth_effect_type type; + int start; + int end; + br_pixelmap *sky_texture; +} tDepth_effect; + +typedef struct tPlane_spec { + tPlane_type plane_type; + br_fvector3 n; + br_scalar d; +} tPlane_spec; + +typedef struct tMaterial_modifiers { + br_scalar car_wall_friction; + br_scalar tyre_road_friction; + br_scalar down_force; + br_scalar bumpiness; + int tyre_noise_index; + int crash_noise_index; + int scrape_noise_index; + br_scalar sparkiness; + int smoke_type; + br_material *skid_mark_material; +} tMaterial_modifiers; + +typedef struct tSpecial_screen { + br_material *material; + br_scalar min_x; + br_scalar min_z; + br_scalar max_x; + br_scalar max_z; +} tSpecial_screen; + +typedef struct tRace_list_spec { + char name[32]; + int rank_required; + int best_rank; + int suggested_rank; + int been_there_done_that; +} tRace_list_spec; + +typedef struct tRace_save_info { + tU32 been_there_done_that; +} tRace_save_info; + +typedef struct tGraf_spec { + int depth_bits; + int depth_bytes; + int doubled; + int total_width; + int total_height; + long black_value; + int colour_index; + char *data_dir_name; + char *gfx_init_string; + int row_bytes; + int phys_width; + int phys_height; + void *base_addr; +} tGraf_spec; + +typedef struct tCollision_info { + int index; + int disabled; + tDriver driver; + br_actor *car_master_actor; + br_scalar min_torque_squared; + br_scalar break_off_radians_squared; + br_vector3 v; + br_vector3 old_v; + br_vector3 velocity_car_space; + br_matrix34 oldmat; + br_matrix34 old_frame_mat; + br_vector3 pos; + br_vector3 omega; + br_vector3 oldomega; + br_scalar M; + int infinite_mass; + br_vector3 I; + br_vector3 cmpos; + int extra_point_num; + br_bounds bounds[3]; + br_bounds max_bounds[2]; + br_vector3 extra_points[6]; + br_scalar original_extra_points_z[6]; + br_vector3 old_point; + br_vector3 old_norm; + int box_face_start; + int box_face_end; + int box_face_ref; + br_matrix34 last_box_inv_mat; + br_bounds last_box; + int doing_nothing_flag; + tSpecial_volume *last_special_volume; + tSpecial_volume *auto_special_volume; + int frame_collision_flag; + int collision_flag; + int max_shrapnel_material; + br_vector3 direction; + float speed; + tU16 car_ID; + br_material *shrapnel_material[3]; + br_bounds bounds_world_space; + tBounds_type bounds_ws_type; + tU16 fire_vertex[12]; + tU16 num_smoke_columns; + br_vector3 water_normal; + br_scalar water_d; + br_scalar water_depth_factor; + tNet_message_mechanics_info message; + tU32 last_car_car_collision; + br_scalar dt; + tCar_spec_struct *who_last_hit_me; +} tCollision_info; + +typedef struct tNon_car_spec { + tCollision_info collision_info; + br_scalar free_mass; + br_scalar attached_mass; + br_vector3 free_cmpos; + br_vector3 attached_cmpos; + br_scalar min_torque_squared; + br_scalar snap_off_cosine; + br_vector3 I_over_M; +} tNon_car_spec; + +typedef struct tOpp_spec { + int index; + int ranking; + int net_player_index; + tCar_spec *car_spec; +} tOpp_spec; + +typedef struct tCheckpoint { + int time_value[3]; + int quad_count; + br_vector3 vertices[4][4]; + br_vector3 normal[4]; + int map_left[2]; + int map_top[2]; + int map_right[2]; + int map_bottom[2]; +} tCheckpoint; + +typedef struct tNet_starts { + br_vector3 pos; + br_scalar yaw; +} tNet_starts; + +typedef struct tText_chunk { + int frame_cue; + int frame_end; + int x_coord; + int y_coord; + int line_count; + char *text[8]; +} tText_chunk; + +typedef struct tRace_info { + char name[32]; + char track_file_name[14]; + int rank_required; + int best_rank; + int suggested_rank; + int total_laps; + int check_point_count; + int initial_timer[3]; + int bonus_score[8][3]; + int number_of_racers; + int number_of_net_start_points; + int text_chunk_count; + tNet_starts net_starts[24]; + tCheckpoint checkpoints[10]; + tOpp_spec opponent_list[30]; + tU8 *scene_image_data; + tU8 *map_image_data; + tU8 *info_image_data; + tU32 scene_image_data_length; + tU32 map_image_data_length; + tU32 info_image_data_length; + br_vector3 initial_position; + br_scalar initial_yaw; + br_pixelmap *map_image; + br_matrix34 map_transformation; + tText_chunk *text_chunks; + tMaterial_modifiers material_modifiers[11]; +} tRace_info; + +typedef struct tOpponent_save_info { + tU32 dead; +} tOpponent_save_info; + +typedef struct tOpponent { + char name[24]; + char abbrev_name[24]; + char mug_shot_name[14]; + char car_file_name[14]; + char stolen_car_flic_name[14]; + tU8 *mug_shot_image_data; + tU8 *stolen_car_image_data; + tU32 mug_shot_image_data_length; + tU32 stolen_car_image_data_length; + int car_number; + int strength_rating; + int picked; + int dead; + int text_chunk_count; + tNet_avail network_availability; + br_pixelmap *grid_icon_image; + tOppo_psyche psyche; + tText_chunk *text_chunks; +} tOpponent; + +typedef struct tProgram_state { + tS32 credits; + tS32 credits_earned; + tS32 credits_lost; + tU32 view_change_start; + tU32 pratcam_move_start; + int peds_killed; + int sausage_eater_mode; + int rank; + int loaded; + int last_slot; + int skill_level; + int parts_shop_visited; + int racing; + int cut_scene; + int saving; + int loading; + int dont_save_or_load; + int dont_load; + int mirror_on; + int prat_cam_on; + int cockpit_on; + int cockpit_image_index; + int current_render_left; + int current_render_top; + int current_render_right; + int current_render_bottom; + int frame_rate_headup; + int revs; + int music_volume; + int effects_volume; + int current_race_index; + int redo_race_index; + int credits_per_rank; + int game_completed; + int number_of_cars; + int current_car_index; + tWhich_view which_view; + tWhich_view new_view; + tWhich_view pending_view; + tWhich_view old_view; + tRace_sel_view_type view_type; + tProg_status prog_status; + tFrank_anne frank_or_anniness; + tAuto_parts_reply auto_parts_reply; + tCar_spec current_car; + char player_name[2][14]; + char track_file_name[14]; + char car_name[14]; + int cars_available[60]; + br_vector3 initial_position; + br_scalar initial_yaw; + tTrack_spec track_spec; + tDepth_effect default_depth_effect; + tDepth_effect current_depth_effect; + int special_volume_count; + tSpecial_volume *special_volumes; + br_material *standard_screen; + br_material *standard_screen_dark; + br_material *standard_screen_fog; + int special_screens_count; + tSpecial_screen *special_screens; + tIntelligent_vehicles AI_vehicles; + tNon_car_spec *non_cars; + int num_non_car_spaces; +} tProgram_state; + +typedef struct tDR_font { + br_pixelmap *images; + int file_read_once; + int height; + int width; + int spacing; + int offset; + int num_entries; + int width_table[224]; +} tDR_font; + +typedef struct tGraf_data { + int width; + int height; + int rolling_letter_y_pitch; + int save_slot_y_offset; + int rolling_letter_x_pitch; + int save_slot_x_offset; + int save_slot_rank_x_offset; + int save_slot_credits_x_offset; + int save_slot_height; + int save_slot_letter_height; + int save_slot_table[41]; + int player_name_y; + int player_name_x[2]; + int enter_name_x[2]; + int enter_name_y; + int frank_panel_left; + int frank_panel_top; + int frank_panel_right; + int frank_panel_bottom; + int anne_panel_left; + int anne_panel_top; + int anne_panel_right; + int anne_panel_bottom; + int cock_margin_x; + int cock_margin_y; + int total_cock_width; + int total_cock_height; + int dial__x[2]; + int dial__y[2]; + int dial__x_centre; + int dial__y_centre; + int start_race_panel_left; + int start_race_panel_top; + int start_race_panel_right; + int start_race_panel_bottom; + int start_race_panel_top_clip; + int start_race_panel_bottom_clip; + int choose_race_rank_right; + int choose_race_name_left; + int choose_race_bullet_left; + int choose_race_left; + int choose_race_right; + int choose_race_y_top; + int choose_race_y_bottom; + int choose_race_y_pitch; + int choose_race_curr_y; + int choose_race_box_left; + int choose_race_box_top; + int choose_race_line_y; + int choose_race_current_text_x; + int choose_race_current_text_y; + int choose_race_current_num_x; + int grid_x_pitch; + int grid_y_pitch; + int grid_x_stagger; + int grid_left_x; + int grid_top_y; + int grid_left_clip; + int grid_top_clip; + int grid_right_clip; + int grid_bottom_clip; + int grid_numbers_left; + int grid_numbers_top; + int grid_numbers_right; + int grid_marker_margin; + int grid_marker_x_len; + int dare_mugshot_left; + int dare_mugshot_top; + int dare_mugshot_width; + int dare_mugshot_height; + int dare_text_left; + int dare_text_width; + int dare_mug_left_margin; + int dare_mug_top_margin; + int dare_y_adjust; + int parts_image_x; + int parts_image_y; + int parts_image_width; + int parts_image_height; + int parts_cost_x; + int parts_cost_y; + int parts_total_x; + int parts_total_y; + int parts_net_x; + int parts_net_y; + int parts_numbers_x; + int parts_top_clip; + int parts_bottom_clip; + int parts_label_x; + int parts_label_y; + int summ1_credits_box_left; + int summ1_credits_left; + int summ1_credits_right; + int summ1_earned_top; + int summ1_earned_bottom; + int summ1_lost_top; + int summ1_lost_bottom; + int summ1_total_top; + int summ1_total_bottom; + int summ1_rank_x_pitch; + int summ1_rank_inc_l; + int summ1_rank_inc_c; + int summ1_rank_total_l; + int summ1_rank_total_c; + int summ1_rank_inc_left; + int summ1_rank_inc_right; + int summ1_rank_total_left; + int summ1_rank_total_right; + int summ1_rank_top; + int summ1_rank_bot; + int summ1_rank_y; + int wreck_name_left; + int wreck_name_right; + int wreck_name_top; + int wreck_name_bottom; + int wreck_name_base_line; + int wreck_render_x; + int wreck_render_y; + int wreck_render_w; + int wreck_render_h; + int power_up_icon_x; + int power_up_icon_countdown_x; + int power_up_icon_y; + int power_up_icon_y_pitch; + int power_up_icon_countdown_y_offset; + int change_car_text_y; + int change_car_line_left; + int change_car_line_y; + int change_car_line_right; + int change_car_panel_left; + int change_car_panel_top; + int change_car_panel_right; + int change_car_panel_bottom; + int change_car_panel_top_clip; + int change_car_panel_bottom_clip; + int map_timer_text_x; + int map_timer_text_y; + int map_timer_border_x; + int map_timer_border_y; + int action_replay_R_x; + int action_replay_R_y; + int action_replay_controls_x; + int action_replay_controls_y; + int action_replay_hilite_y; + int action_replay_rew_start_x; + int action_replay_rew_x; + int action_replay_rev_play_x; + int action_replay_pause_x; + int action_replay_play_x; + int action_replay_ffwd_x; + int action_replay_fwd_end_x; + int action_replay_camera_x; + int action_replay_cam_text_x; + int action_replay_cam_text_y; + int joinable_games_x_1; + int joinable_games_x_2; + int joinable_games_x_3; + int joinable_games_x_4; + int joinable_games_x_r; + int joinable_games_y; + int joinable_games_y_pitch; + int joinable_games_sel_left; + int joinable_games_sel_right; + int joinable_games_sel_top_marg; + int joinable_games_sel_bot_marg; + int net_player_name_x; + int net_player_name_y; + int error_box_left; + int error_box_top; + int error_box_right; + int error_box_bottom; + int start_synch_x_0; + int start_synch_x_1; + int start_synch_x_2; + int start_synch_x_r; + int start_synch_top; + int start_synch_y_pitch; + int start_synch_start_x; + int start_synch_start_y; + int key_assign_col_1; + int key_assign_col_1_a; + int key_assign_col_2; + int key_assign_col_2_a; + int key_assign_y_pitch; + int key_assign_y; + int key_assign_key_map_y; + int key_assign_flic_x; + int key_assign_flic_y; + int map_render_x_marg; + int map_render_y_marg; + int net_head_box_x; + int net_head_box_pitch; + int net_head_box_width; + int net_head_box_top; + int net_head_box_bot; + int net_head_name_x_marg; + int net_head_name_y; + int net_head_num_x; + int net_head_num_y; + int net_head_num_height; + int net_head_icon_x; + int net_head_icon_y; + int net_head_icon_height; + int net_head_score_x; + int net_head_score_y; + int armour_headup_y[2]; + int power_headup_y[2]; + int offense_headup_y[2]; + int ps_dim_left; + int ps_dim_right; + int ps_dim_height; + int ps_name_left; + int ps_name_top_border; + int ps_bars_per_level; + int ps_x_pitch; + int ps_bar_top_border; + int ps_bar_left; + int ps_bar_height; + int net_choose_race_x; + int net_choose_race_y; + int net_descr_race_l; + int net_descr_race_r; + int net_descr_race_top; + int net_descr_race_bot; + int net_sum_x_1; + int net_sum_x_2; + int net_sum_x_3; + int net_sum_x_4; + int net_sum_x_5; + int net_sum_headings_y; + int net_sum_y_pitch; + int graph_opt_disable_x; + int graph_opt_disable_y; + int sound_opt_disable_x; + int sound_opt_disable_y; + int net_message_enter_x; + int net_message_enter_y; + int eval_x; + int eval_y; +} tGraf_data; + +typedef struct tRolling_letter { + int letters[9]; + int x_coord; + int y_coord; + int number_of_letters; + tRolling_type rolling_type; + float current_offset; +} tRolling_letter; + +typedef struct tFlic_descriptor { + char *data; + char *data_start; + char file_name[32]; + tU8 *first_pixel; + tU32 bytes_remaining; + tU32 frame_period; + tU32 last_frame; + br_pixelmap *the_pixelmap; + int x_offset; + int y_offset; + int width; + int height; + int frames_left; + int current_frame; + int the_index; + int new_format; + int must_finish; + int bytes_still_to_be_read; + int bytes_in_buffer; + FILE *f; + tFlic_descriptor_ptr next; +} tFlic_descriptor; + +typedef struct tBrender_storage { + int models_count; + int materials_count; + int shade_tables_count; + int pixelmaps_count; + int max_pixelmaps; + int max_shade_tables; + int max_materials; + int max_models; + br_model **models; + br_pixelmap **pixelmaps; + br_pixelmap **shade_tables; + br_material **materials; + br_pixelmap **saved_colour_maps; +} tBrender_storage; + +typedef struct tSave_game { + char slot_name[16]; + char car_name[16]; + char player_name[2][14]; + tRace_save_info race_info[100]; + tOpponent_save_info opponent_info[48]; + tU32 credits; + tU32 rank; + tU32 skill_level; + tU32 game_completed; + tU32 number_of_cars; + tU32 cars_available[60]; + tU32 current_car_index; + tU32 current_race_index; + tU32 redo_race_index; + tU32 frank_or_annitude; + tU32 power_up_levels[3]; + tU32 version; + tU32 checksum; +} tSave_game; + +typedef struct tPed_subs { + int orig; + int subs; +} tPed_subs; + +typedef struct tRadio_bastards { + int count; + int top; + int current_value; + int left[5]; +} tRadio_bastards; + +typedef struct exception_struct { + tException_list next; + char *name; + int flags; +} tException_node; + +typedef struct tPixelmap_user_data { + tU16 orig_width; + tU16 orig_height; +} tPixelmap_user_data; + +typedef struct fmt_vertex { + br_vector3 p; + br_vector2 map; + br_vector3 n; +} DR_VERTEX; + +typedef struct v11face { + br_uint_16 vertices[3]; + br_uint_16 edges[3]; + br_vector4 eqn; +} DR_FACE; + +typedef struct v11group { + void *stored; + v11face *faces; + br_colour *face_colours; + br_uint_16 *face_user; + fmt_vertex *vertices; + br_colour *vertex_colours; + br_uint_16 *vertex_user; + br_uint_16 nfaces; + br_uint_16 nvertices; + br_uint_16 nedges; +} v11group; + +typedef struct v11model { + br_size_t size; + br_uint_32 flags; + br_uint_16 ngroups; + br_vector3 pivot; + v11group *groups; +} v11model; + +typedef struct tMatrix_and_actor { + br_matrix34 *m; + br_actor *a; +} tMatrix_and_actor; + typedef tU16 tChunk_subject_index; -typedef struct tChanged_vertex tChanged_vertex; -typedef struct tPipe_actor_rstyle_data tPipe_actor_rstyle_data; -typedef struct tPipe_actor_translate_data tPipe_actor_translate_data; -typedef struct tPipe_actor_transform_data tPipe_actor_transform_data; -typedef struct tPipe_actor_create_data tPipe_actor_create_data; -typedef struct tPipe_actor_destroy_data tPipe_actor_destroy_data; -typedef struct tPipe_actor_relink_data tPipe_actor_relink_data; -typedef struct tPipe_actor_material_data tPipe_actor_material_data; -typedef struct tPipe_face_material_data tPipe_face_material_data; -typedef struct tPipe_material_trans_data tPipe_material_trans_data; -typedef struct tPipe_material_pixelmap_data tPipe_material_pixelmap_data; -typedef struct tPipe_model_geometry_data tPipe_model_geometry_data; -typedef struct tSmudged_vertex tSmudged_vertex; -typedef struct tPipe_smudge_data tPipe_smudge_data; -typedef struct tPipe_pedestrian_data tPipe_pedestrian_data; -typedef struct tPipe_frame_boundary_data tPipe_frame_boundary_data; -typedef struct tPipe_car_data tPipe_car_data; -typedef struct tPipe_sound_data tPipe_sound_data; -typedef struct tPipe_damage_data tPipe_damage_data; -typedef struct tPipe_special_data tPipe_special_data; -typedef struct tPipe_ped_gib_data tPipe_ped_gib_data; -typedef struct tPipe_incident_data tPipe_incident_data; -typedef struct tPipe_spark_data tPipe_spark_data; -typedef struct tPipe_shrapnel_data tPipe_shrapnel_data; -typedef struct tPipe_screen_shake_data tPipe_screen_shake_data; -typedef struct tPipe_non_car_data tPipe_non_car_data; -typedef struct tPipe_smoke_data tPipe_smoke_data; -typedef struct tPipe_smoke_column_data tPipe_smoke_column_data; -typedef struct tPipe_flame_data tPipe_flame_data; -typedef struct tPipe_splash_data tPipe_splash_data; -typedef struct tPipe_prox_ray_data tPipe_prox_ray_data; -typedef struct tPipe_oil_spill_data tPipe_oil_spill_data; -typedef struct tPipe_groove_stop_data tPipe_groove_stop_data; -typedef struct tPipe_skid_adjustment tPipe_skid_adjustment; -typedef struct tPipe_chunk tPipe_chunk; -typedef struct tPipe_session tPipe_session; -typedef struct tCollison_data tCollison_data; -typedef struct tSave_camera tSave_camera; typedef enum tShadow_level { - eShadow_none = 0, - eShadow_us_only = 1, - eShadow_us_and_opponents = 2, - eShadow_everyone = 3 + eShadow_none = 0, + eShadow_us_only = 1, + eShadow_us_and_opponents = 2, + eShadow_everyone = 3 } tShadow_level; - typedef enum tPipe_chunk_type { - ePipe_chunk_actor_rstyle = 0, - ePipe_chunk_actor_translate = 1, - ePipe_chunk_actor_transform = 2, - ePipe_chunk_actor_create = 3, - ePipe_chunk_actor_destroy = 4, - ePipe_chunk_actor_relink = 5, - ePipe_chunk_actor_material = 6, - ePipe_chunk_face_material = 7, - ePipe_chunk_material_trans = 8, - ePipe_chunk_material_pixelmap = 9, - ePipe_chunk_model_geometry = 10, - ePipe_chunk_pedestrian = 11, - ePipe_chunk_frame_boundary = 12, - ePipe_chunk_car = 13, - ePipe_chunk_sound = 14, - ePipe_chunk_damage = 15, - ePipe_chunk_special = 16, - ePipe_chunk_ped_gib = 17, - ePipe_chunk_incident = 18, - ePipe_chunk_spark = 19, - ePipe_chunk_shrapnel = 20, - ePipe_chunk_screen_shake = 21, - ePipe_chunk_groove_stop = 22, - ePipe_chunk_non_car = 23, - ePipe_chunk_smoke = 24, - ePipe_chunk_oil_spill = 25, - ePipe_chunk_smoke_column = 26, - ePipe_chunk_flame = 27, - ePipe_chunk_smudge = 28, - ePipe_chunk_splash = 29, - ePipe_chunk_prox_ray = 30, - ePipe_chunk_skid_adjustment = 31, - ePipe_chunk_enum_count = 32 + ePipe_chunk_actor_rstyle = 0, + ePipe_chunk_actor_translate = 1, + ePipe_chunk_actor_transform = 2, + ePipe_chunk_actor_create = 3, + ePipe_chunk_actor_destroy = 4, + ePipe_chunk_actor_relink = 5, + ePipe_chunk_actor_material = 6, + ePipe_chunk_face_material = 7, + ePipe_chunk_material_trans = 8, + ePipe_chunk_material_pixelmap = 9, + ePipe_chunk_model_geometry = 10, + ePipe_chunk_pedestrian = 11, + ePipe_chunk_frame_boundary = 12, + ePipe_chunk_car = 13, + ePipe_chunk_sound = 14, + ePipe_chunk_damage = 15, + ePipe_chunk_special = 16, + ePipe_chunk_ped_gib = 17, + ePipe_chunk_incident = 18, + ePipe_chunk_spark = 19, + ePipe_chunk_shrapnel = 20, + ePipe_chunk_screen_shake = 21, + ePipe_chunk_groove_stop = 22, + ePipe_chunk_non_car = 23, + ePipe_chunk_smoke = 24, + ePipe_chunk_oil_spill = 25, + ePipe_chunk_smoke_column = 26, + ePipe_chunk_flame = 27, + ePipe_chunk_smudge = 28, + ePipe_chunk_splash = 29, + ePipe_chunk_prox_ray = 30, + ePipe_chunk_skid_adjustment = 31, + ePipe_chunk_enum_count = 32 } tPipe_chunk_type; - typedef enum tSpecial_type { - ePipe_special_fade = 0, - ePipe_special_giant_ped_on = 1, - ePipe_special_giant_ped_off = 2, - ePipe_special_min_ped_on = 3, - ePipe_special_min_ped_off = 4 + ePipe_special_fade = 0, + ePipe_special_giant_ped_on = 1, + ePipe_special_giant_ped_off = 2, + ePipe_special_min_ped_on = 3, + ePipe_special_min_ped_off = 4 } tSpecial_type; - typedef enum tIncident_type { - eIncident_ped = 0, - eIncident_car = 1, - eIncident_wall = 2, - eNo_incident = 3 + eIncident_ped = 0, + eIncident_car = 1, + eIncident_wall = 2, + eNo_incident = 3 } tIncident_type; - typedef enum tAction_replay_camera_type { - eAction_replay_standard = 0, - eAction_replay_tv = 1, - eAction_replay_action = 2 + eAction_replay_standard = 0, + eAction_replay_tv = 1, + eAction_replay_action = 2 } tAction_replay_camera_type; - typedef enum tKey_down_result { - tKey_down_no = 0, - tKey_down_yes = 1, - tKey_down_still = 2, - tKey_down_repeat = 3 + tKey_down_no = 0, + tKey_down_yes = 1, + tKey_down_still = 2, + tKey_down_repeat = 3 } tKey_down_result; +typedef int dr_pick2d_cbfn(br_actor*, br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, br_scalar, void*); +typedef struct tReduced_pos { + tS16 v[3]; +} tReduced_pos; -typedef int dr_pick2d_cbfn(br_actor*, br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, br_scalar); -struct tReduced_pos { - tS16 v[3]; -}; -struct tIncident_info { - struct { - tCar_spec *car; - br_vector3 impact_point; - }; - struct { - br_actor *ped_actor; - br_actor *murderer_actor; - }; - struct { +typedef struct tIncident_info { + struct { + tCar_spec *car; + br_vector3 impact_point; + }; + struct { + br_actor *ped_actor; + br_actor *murderer_actor; + }; + struct { + br_vector3 pos; + }; +} tIncident_info; + +typedef struct tChanged_vertex { + tU16 vertex_index; + br_vector3 delta_coordinates; +} tChanged_vertex; + +typedef struct tPipe_actor_rstyle_data { + tU8 new_rstyle; +} tPipe_actor_rstyle_data; + +typedef struct tPipe_actor_translate_data { + br_vector3 new_translation; +} tPipe_actor_translate_data; + +typedef struct tPipe_actor_transform_data { + br_matrix34 new_transformation; +} tPipe_actor_transform_data; + +typedef struct tPipe_actor_create_data { + tU8 dummy; +} tPipe_actor_create_data; + +typedef struct tPipe_actor_destroy_data { + tU8 dummy; +} tPipe_actor_destroy_data; + +typedef struct tPipe_actor_relink_data { + tChunk_subject_index new_parent; +} tPipe_actor_relink_data; + +typedef struct tPipe_actor_material_data { + tChunk_subject_index new_material; +} tPipe_actor_material_data; + +typedef struct tPipe_face_material_data { + tU16 face_index; + tChunk_subject_index new_material; +} tPipe_face_material_data; + +typedef struct tPipe_material_trans_data { + br_matrix23 new_transformation; +} tPipe_material_trans_data; + +typedef struct tPipe_material_pixelmap_data { + tChunk_subject_index new_pixelmap; +} tPipe_material_pixelmap_data; + +typedef struct tPipe_model_geometry_data { + tU16 vertex_count; + int model_index; + tChanged_vertex vertex_changes[1]; +} tPipe_model_geometry_data; + +typedef struct tSmudged_vertex { + tU16 vertex_index; + tU16 light_index; +} tSmudged_vertex; + +typedef struct tPipe_smudge_data { + tU16 vertex_count; + int model_index; + tSmudged_vertex vertex_changes[1]; +} tPipe_smudge_data; + +typedef struct tPipe_pedestrian_data { + tU8 action_and_frame_index; + tS8 hit_points; + tU16 parent; + br_vector3 new_translation; + float spin_period; + br_actor *parent_actor; + br_vector3 offset; + br_scalar jump_magnitude; +} tPipe_pedestrian_data; + +typedef struct tPipe_frame_boundary_data { + tU32 time; +} tPipe_frame_boundary_data; + +typedef struct tPipe_car_data { + br_matrix34 transformation; + br_vector3 velocity; + tS16 speedo_speed; + tS16 steering_angle; + tU16 revs_and_gear; + tS8 lf_sus_position; + tS8 rf_sus_position; + tS8 lr_sus_position; + tS8 rr_sus_position; +} tPipe_car_data; + +typedef struct tPipe_sound_data { + tS3_pitch pitch; + br_vector3 position; + tU16 outlet_index; + tU16 volume; +} tPipe_sound_data; + +typedef struct tPipe_damage_data { + tS8 damage_delta[12]; +} tPipe_damage_data; + +typedef struct tPipe_special_data { + tU8 dummy; + tS8 padding; +} tPipe_special_data; + +typedef struct tPipe_ped_gib_data { + tU16 ped_parent_index; + tU8 size; + tU8 gib_index; + br_matrix34 transform; +} tPipe_ped_gib_data; + +typedef struct tPipe_incident_data { + float severity; + struct { + struct { + tU16 car_ID; + br_vector3 impact_point; + }; + struct { + tU16 ped_index; + br_actor *actor; + }; + struct { + br_vector3 pos; + }; + }; +} tPipe_incident_data; + +typedef struct tPipe_spark_data { br_vector3 pos; - }; -}; -struct tChanged_vertex { - tU16 vertex_index; - br_vector3 delta_coordinates; -}; -struct tPipe_actor_rstyle_data { - tU8 new_rstyle; -}; -struct tPipe_actor_translate_data { - br_vector3 new_translation; -}; -struct tPipe_actor_transform_data { - br_matrix34 new_transformation; -}; -struct tPipe_actor_create_data { - tU8 dummy; -}; -struct tPipe_actor_destroy_data { - tU8 dummy; -}; -struct tPipe_actor_relink_data { - tChunk_subject_index new_parent; -}; -struct tPipe_actor_material_data { - tChunk_subject_index new_material; -}; -struct tPipe_face_material_data { - tU16 face_index; - tChunk_subject_index new_material; -}; -struct tPipe_material_trans_data { - br_matrix23 new_transformation; -}; -struct tPipe_material_pixelmap_data { - tChunk_subject_index new_pixelmap; -}; -struct tPipe_model_geometry_data { - tU16 vertex_count; - int model_index; - tChanged_vertex vertex_changes[1]; -}; -struct tSmudged_vertex { - tU16 vertex_index; - tU16 light_index; -}; -struct tPipe_smudge_data { - tU16 vertex_count; - int model_index; - tSmudged_vertex vertex_changes[1]; -}; -struct tPipe_pedestrian_data { - tU8 action_and_frame_index; - tS8 hit_points; - tU16 parent; - br_vector3 new_translation; - float spin_period; - br_actor *parent_actor; - br_vector3 offset; - br_scalar jump_magnitude; -}; -struct tPipe_frame_boundary_data { - tU32 time; -}; -struct tPipe_car_data { - br_matrix34 transformation; - br_vector3 velocity; - tS16 speedo_speed; - tS16 steering_angle; - tU16 revs_and_gear; - tS8 lf_sus_position; - tS8 rf_sus_position; - tS8 lr_sus_position; - tS8 rr_sus_position; -}; -struct tPipe_sound_data { - tS3_pitch pitch; - br_vector3 position; - tU16 outlet_index; - tU16 volume; -}; -struct tPipe_damage_data { - tS8 damage_delta[12]; -}; -struct tPipe_special_data { - tU8 dummy; - tS8 padding; -}; -struct tPipe_ped_gib_data { - tU16 ped_parent_index; - tU8 size; - tU8 gib_index; - br_matrix34 transform; -}; -struct tPipe_incident_data { - float severity; - struct { + br_vector3 v; +} tPipe_spark_data; + +typedef struct tPipe_shrapnel_data { + br_vector3 pos; + tU16 age; + br_material *material; +} tPipe_shrapnel_data; + +typedef struct tPipe_screen_shake_data { + tS8 wobble_x; + tS8 wobble_y; +} tPipe_screen_shake_data; + +typedef struct tPipe_non_car_data { + br_actor *actor; + br_matrix34 mat; +} tPipe_non_car_data; + +typedef struct tPipe_smoke_data { + tReduced_pos pos; + tU16 radius; + tU8 strength; + tU8 type; +} tPipe_smoke_data; + +typedef struct tPipe_smoke_column_data { + int car_ID; + tU16 vertex; +} tPipe_smoke_column_data; + +typedef struct tPipe_flame_data { + tS16 frame_count; + br_scalar scale_x; + br_scalar scale_y; + br_scalar offset_x; + br_scalar offset_z; +} tPipe_flame_data; + +typedef struct tPipe_splash_data { + br_scalar d; + br_vector3 normal; +} tPipe_splash_data; + +typedef struct tPipe_prox_ray_data { + tU16 ped_index; + tU16 car_ID; + tU32 time; +} tPipe_prox_ray_data; + +typedef struct tPipe_oil_spill_data { + br_matrix34 mat; + br_scalar full_size; + br_scalar grow_rate; + tU32 spill_time; + tU32 previous_stop_time; + tCar_spec *car; + br_vector3 original_pos; + br_pixelmap *pixelmap; +} tPipe_oil_spill_data; + +typedef struct tPipe_groove_stop_data { + int path_interrupt; + int object_interrupt; + float path_resumption; + float object_resumption; + br_matrix34 matrix; +} tPipe_groove_stop_data; + +typedef struct tPipe_skid_adjustment { + br_matrix34 matrix; + int material_index; +} tPipe_skid_adjustment; + +typedef struct tPipe_chunk { + tChunk_subject_index subject_index; struct { - tU16 car_ID; - br_vector3 impact_point; + tPipe_actor_rstyle_data actor_rstyle_data; + tPipe_actor_translate_data actor_translate_data; + tPipe_actor_transform_data actor_transform_data; + tPipe_actor_create_data actor_create_data; + tPipe_actor_destroy_data actor_destroy_data; + tPipe_actor_relink_data actor_relink_data; + tPipe_actor_material_data actor_material_data; + tPipe_face_material_data face_material_data; + tPipe_material_trans_data material_trans_data; + tPipe_material_pixelmap_data material_pixelmap_data; + tPipe_model_geometry_data model_geometry_data; + tPipe_pedestrian_data pedestrian_data; + tPipe_frame_boundary_data frame_boundary_data; + tPipe_car_data car_data; + tPipe_sound_data sound_data; + tPipe_damage_data damage_data; + tPipe_special_data special_data; + tPipe_ped_gib_data ped_gib_data; + tPipe_incident_data incident_data; + tPipe_spark_data spark_data; + tPipe_shrapnel_data shrapnel_data; + tPipe_screen_shake_data screen_shake_data; + tPipe_groove_stop_data groove_stop_data; + tPipe_non_car_data non_car_data; + tPipe_smoke_data smoke_data; + tPipe_oil_spill_data oil_data; + tPipe_smoke_column_data smoke_column_data; + tPipe_flame_data flame_data; + tPipe_smudge_data smudge_data; + tPipe_splash_data splash_data; + tPipe_prox_ray_data prox_ray_data; + tPipe_skid_adjustment skid_adjustment; }; - struct { - tU16 ped_index; - br_actor *actor; - }; - struct { - br_vector3 pos; - }; - }; -}; -struct tPipe_spark_data { - br_vector3 pos; - br_vector3 v; -}; -struct tPipe_shrapnel_data { - br_vector3 pos; - tU16 age; - br_material *material; -}; -struct tPipe_screen_shake_data { - tS8 wobble_x; - tS8 wobble_y; -}; -struct tPipe_non_car_data { - br_actor *actor; - br_matrix34 mat; -}; -struct tPipe_smoke_data { - tReduced_pos pos; - tU16 radius; - tU8 strength; - tU8 type; -}; -struct tPipe_smoke_column_data { - int car_ID; - tU16 vertex; -}; -struct tPipe_flame_data { - tS16 frame_count; - br_scalar scale_x; - br_scalar scale_y; - br_scalar offset_x; - br_scalar offset_z; -}; -struct tPipe_splash_data { - br_scalar d; - br_vector3 normal; -}; -struct tPipe_prox_ray_data { - tU16 ped_index; - tU16 car_ID; - tU32 time; -}; -struct tPipe_oil_spill_data { - br_matrix34 mat; - br_scalar full_size; - br_scalar grow_rate; - tU32 spill_time; - tU32 previous_stop_time; - tCar_spec *car; - br_vector3 original_pos; - br_pixelmap *pixelmap; -}; -struct tPipe_groove_stop_data { - int path_interrupt; - int object_interrupt; - float path_resumption; - float object_resumption; - br_matrix34 matrix; -}; -struct tPipe_skid_adjustment { - br_matrix34 matrix; - int material_index; -}; -struct tPipe_chunk { - tChunk_subject_index subject_index; - struct { - tPipe_actor_rstyle_data actor_rstyle_data; - tPipe_actor_translate_data actor_translate_data; - tPipe_actor_transform_data actor_transform_data; - tPipe_actor_create_data actor_create_data; - tPipe_actor_destroy_data actor_destroy_data; - tPipe_actor_relink_data actor_relink_data; - tPipe_actor_material_data actor_material_data; - tPipe_face_material_data face_material_data; - tPipe_material_trans_data material_trans_data; - tPipe_material_pixelmap_data material_pixelmap_data; - tPipe_model_geometry_data model_geometry_data; - tPipe_pedestrian_data pedestrian_data; - tPipe_frame_boundary_data frame_boundary_data; - tPipe_car_data car_data; - tPipe_sound_data sound_data; - tPipe_damage_data damage_data; - tPipe_special_data special_data; - tPipe_ped_gib_data ped_gib_data; - tPipe_incident_data incident_data; - tPipe_spark_data spark_data; - tPipe_shrapnel_data shrapnel_data; - tPipe_screen_shake_data screen_shake_data; - tPipe_groove_stop_data groove_stop_data; - tPipe_non_car_data non_car_data; - tPipe_smoke_data smoke_data; - tPipe_oil_spill_data oil_data; - tPipe_smoke_column_data smoke_column_data; - tPipe_flame_data flame_data; - tPipe_smudge_data smudge_data; - tPipe_splash_data splash_data; - tPipe_prox_ray_data prox_ray_data; - tPipe_skid_adjustment skid_adjustment; - }; -}; -struct tPipe_session { - tPipe_chunk_type chunk_type; - tU8 number_of_chunks; - tPipe_chunk chunks; -}; -struct tCollison_data { - int ref; - tCollision_info *car; -}; -struct tSave_camera { - int saved; - br_scalar zoom; - br_angle yaw; -}; -typedef struct tToggle_element tToggle_element; +} tPipe_chunk; + +typedef struct tPipe_session { + tPipe_chunk_type chunk_type; + tU8 number_of_chunks; + tPipe_chunk chunks; +} tPipe_session; + +typedef struct tCollison_data { + int ref; + tCollision_info *car; +} tCollison_data; + +typedef struct tSave_camera { + int saved; + br_scalar zoom; + br_angle yaw; +} tSave_camera; + typedef void * tEdit_func(); -typedef struct tCheat tCheat; typedef enum tEdit_mode { - eEdit_mode_cheat = 0, - eEdit_mode_acc = 1, - eEdit_mode_spec_vol = 2, - eEdit_mode_ped = 3, - eEdit_mode_opp = 4, - eEdit_mode_pratcam = 5, - eEdit_mode_depth = 6, - eEdit_mode_damage = 7, - eEdit_mode_bonnet = 8, - eEdit_mode_options = 9, - eEdit_mode_count = 10 + eEdit_mode_cheat = 0, + eEdit_mode_acc = 1, + eEdit_mode_spec_vol = 2, + eEdit_mode_ped = 3, + eEdit_mode_opp = 4, + eEdit_mode_pratcam = 5, + eEdit_mode_depth = 6, + eEdit_mode_damage = 7, + eEdit_mode_bonnet = 8, + eEdit_mode_options = 9, + eEdit_mode_count = 10 } tEdit_mode; +typedef struct tToggle_element { + int key1; + int key2; + int in_game_only; + int exact_modifiers; + int on_last_time; + void (*action_proc)(); +} tToggle_element; + +typedef struct tCheat { + tU32 code; + tU32 code2; + void (*action_proc)(int); + int num; +} tCheat; -struct tToggle_element { - int key1; - int key2; - int in_game_only; - int exact_modifiers; - int on_last_time; - void (*action_proc)(); -}; -struct tCheat { - tU32 code; - tU32 code2; - void (*action_proc)(int); - int num; -}; typedef _tag_sos_evds_struct _SOS_EVDS_STRUCT; typedef _tag_sos_vds_struct _SOS_VDS_STRUCT; typedef _tag_sos_sample _SOS_SAMPLE; typedef _SOS_SAMPLE * PSOSSAMPLE; typedef _tagCAPABILITIES _SOS_CAPABILITIES; typedef _SOS_CAPABILITIES * PSOSCAPABILITIES; -typedef struct _SOS_HARDWARE _SOS_HARDWARE; typedef _SOS_HARDWARE * PSOSHARDWARE; typedef _tag_sos_driver _SOS_DIGI_DRIVER; typedef _SOS_DIGI_DRIVER * PSOSDIGIDRIVER; -typedef struct _SOS_DRV_FILEHEADER _SOS_DRV_FILEHEADER; typedef _SOS_DRV_FILEHEADER * PSOSDRVFILEHEADER; -typedef struct _SOS_DRV_DRIVERHEADER _SOS_DRV_DRIVERHEADER; typedef _SOS_DRV_DRIVERHEADER * PSOSDRVDRIVERHEADER; typedef _tag_sos_system _SOS_SYSTEM; typedef _SOS_SYSTEM * PSOSSYSTEM; @@ -2899,1948 +2870,1932 @@ typedef void * SmackTimerSetupType(); typedef unsigned long * SmackTimerReadType(); typedef void * SmackTimerDoneType(); typedef _heapinfo _HEAPINFO; -struct _tag_sos_evds_struct { - unsigned int region_size; - unsigned int offset; - unsigned int segment; - unsigned short number_available; - unsigned short number_used; - unsigned int page0; -}; -struct _tag_sos_vds_struct { - unsigned int region_size; - unsigned int offset; - unsigned short segment; - unsigned short ID; - unsigned int physical; -}; -struct _tag_sos_sample { - PSTR pSample; - PSTR pSampleCurrent; - PSTR pSampleLoop; - DWORD wLength; - DWORD wLoopLength; - DWORD wLoopEndLength; - DWORD wLoopStage; - DWORD wID; - DWORD wFlags; - DWORD wPriority; - DWORD hSample; - DWORD wVolume; - DWORD wLoopCount; - DWORD wRate; - DWORD wBitsPerSample; - DWORD wChannels; - DWORD wFormat; - DWORD wPanPosition; - DWORD wPanSpeed; - DWORD wPanStart; - DWORD wPanEnd; - DWORD wPanMode; - DWORD wTotalBytesProcessed; - void (*pfnSampleProcessed)(_tag_sos_sample*); - void (*pfnSampleDone)(_tag_sos_sample*); - void (*pfnSampleLoop)(_tag_sos_sample*); - DWORD wSystem[16]; - DWORD wUser[16]; - _tag_sos_sample *pLink; - _tag_sos_sample *pNext; -}; -struct _tagCAPABILITIES { - BYTE szDeviceName[32]; - W32 wDeviceVersion; - W32 wBitsPerSample; - W32 wChannels; - W32 wMinRate; - W32 wMaxRate; - W32 wMixerOnBoard; - W32 wMixerFlags; - W32 wFlags; - short *lpPortList; - short *lpDMAList; - short *lpIRQList; - short *lpRateList; - W32 fBackground; - W32 wID; - W32 wTimerID; -}; -struct _SOS_HARDWARE { - W32 wPort; - W32 wIRQ; - W32 wDMA; - W32 wParam; -}; -struct _tag_sos_driver { - W32 wFlags; - DWORD wDriverRate; - DWORD wDriverChannels; - DWORD wDriverBitsPerSample; - DWORD wDriverFormat; - DWORD wMixerChannels; - DWORD wDMACountRegister; - DWORD wDMAPosition; - DWORD wDMALastPosition; - DWORD wDMADistance; - PSTR pXFERPosition; - DWORD wXFERJumpAhead; - _SOS_SAMPLE *pSampleList; - void (*pfnPseudoDMAFunction)(); - PSTR pDMABuffer; - PSTR pDMABufferEnd; - DWORD wDMABufferSize; - PSTR pMixingBuffer; - PSTR pMixingBufferEnd; - DWORD wMixingBufferSize; - DWORD wActiveChannels; - _SOS_SAMPLE *pSamples; - _SOS_HARDWARE sHardware; - _SOS_CAPABILITIES sCaps; - LPSTR lpDriverDS; - LPSTR lpDriverCS; - W32 wSize; - DWORD dwLinear; - DWORD dwDMAPhysical; - LPSTR lpDMABuffer; - W32 hMemory; - W32 wDMARealSeg; - W32 wID; - void (*pfnMixFunction)(); -}; -struct _SOS_DRV_FILEHEADER { - BYTE szName[32]; - W32 wDrivers; - W32 lOffset; - W32 lFileSize; -}; -struct _SOS_DRV_DRIVERHEADER { - BYTE szName[32]; - W32 lNextDriver; - W32 wSize; - W32 wDeviceID; - W32 wExtenderType; -}; -struct _tag_sos_system { - W32 wFlags; - BYTE szDriverPath[128]; - BYTE szTempDriverPath[128]; - PSOSDIGIDRIVER pDriver[5]; - _SOS_VDS_STRUCT sVDS; - _SOS_DRV_FILEHEADER sFileHeader; - _SOS_DRV_DRIVERHEADER sDriverHeader; - PSTR (*pMemAllocFunction)(DWORD); - void (*pMemFreeFunction)(PSTR, W32); -}; -struct _tag_sos_det_system { - W32 wFlags; - BYTE szDriverPath[128]; - BYTE szTempDriverPath[128]; - _SOS_DRV_FILEHEADER sFileHeader; - _SOS_DRV_DRIVERHEADER sDriverHeader; - _SOS_CAPABILITIES sCaps; - PSOSCAPABILITIES pCaps; - LPSTR lpBufferDS; - LPSTR lpBufferCS; - W32 hFile; - DWORD dwDriverIndex; - W32 wDriverIndexCur; - W32 hMemory; - DWORD dwLinear; -}; -struct _tag_sos_timer_system { - W32 wFlags; - W32 wChipDivisor; - void (*pfnEvent[16])(); - W32 wEventRate[16]; - DWORD dwAdditiveFraction[16]; - DWORD dwCurrentSummation[16]; - W32 wMIDIEventSongHandle[16]; - W32 wMIDIActiveSongHandle; -}; -struct SmackTag { - unsigned long Version; - unsigned long Width; - unsigned long Height; - unsigned long Frames; - unsigned long MSPerFrame; - unsigned long SmackerType; - unsigned long LargestInTrack[7]; - unsigned long tablesize; - unsigned long codesize; - unsigned long absize; - unsigned long detailsize; - unsigned long typesize; - unsigned long TrackType[7]; - unsigned long extra; - unsigned long NewPalette; - unsigned char Palette[772]; - unsigned long PalType; - unsigned long FrameNum; - unsigned long FrameSize; - unsigned long SndSize; - unsigned long LastRectx; - unsigned long LastRecty; - unsigned long LastRectw; - unsigned long LastRecth; - unsigned long OpenFlags; - unsigned long LeftOfs; - unsigned long TopOfs; - unsigned long ReadError; - unsigned long addr32; -}; -struct SmackSumTag { - unsigned long TotalTime; - unsigned long MS100PerFrame; - unsigned long TotalOpenTime; - unsigned long TotalFrames; - unsigned long SkippedFrames; - unsigned long SoundSkips; - unsigned long TotalBlitTime; - unsigned long TotalReadTime; - unsigned long TotalDecompTime; - unsigned long TotalBackReadTime; - unsigned long TotalReadSpeed; - unsigned long SlowestFrameTime; - unsigned long Slowest2FrameTime; - unsigned long SlowestFrameNum; - unsigned long Slowest2FrameNum; - unsigned long AverageFrameSize; - unsigned long Highest1SecRate; - unsigned long Highest1SecFrame; - unsigned long HighestMemAmount; - unsigned long TotalExtraMemory; - unsigned long HighestExtraUsed; -}; -struct _heapinfo { - void *_pentry; - size_t _size; - int _useflag; -}; +typedef struct _tag_sos_evds_struct { + unsigned int region_size; + unsigned int offset; + unsigned int segment; + unsigned short number_available; + unsigned short number_used; + unsigned int page0; +} _SOS_EVDS_STRUCT; + +typedef struct _tag_sos_vds_struct { + unsigned int region_size; + unsigned int offset; + unsigned short segment; + unsigned short ID; + unsigned int physical; +} _SOS_VDS_STRUCT; + +typedef struct _tag_sos_sample { + PSTR pSample; + PSTR pSampleCurrent; + PSTR pSampleLoop; + DWORD wLength; + DWORD wLoopLength; + DWORD wLoopEndLength; + DWORD wLoopStage; + DWORD wID; + DWORD wFlags; + DWORD wPriority; + DWORD hSample; + DWORD wVolume; + DWORD wLoopCount; + DWORD wRate; + DWORD wBitsPerSample; + DWORD wChannels; + DWORD wFormat; + DWORD wPanPosition; + DWORD wPanSpeed; + DWORD wPanStart; + DWORD wPanEnd; + DWORD wPanMode; + DWORD wTotalBytesProcessed; + void (*pfnSampleProcessed)(_tag_sos_sample*); + void (*pfnSampleDone)(_tag_sos_sample*); + void (*pfnSampleLoop)(_tag_sos_sample*); + DWORD wSystem[16]; + DWORD wUser[16]; + _tag_sos_sample *pLink; + _tag_sos_sample *pNext; +} _SOS_SAMPLE; + +typedef struct _tagCAPABILITIES { + BYTE szDeviceName[32]; + W32 wDeviceVersion; + W32 wBitsPerSample; + W32 wChannels; + W32 wMinRate; + W32 wMaxRate; + W32 wMixerOnBoard; + W32 wMixerFlags; + W32 wFlags; + short *lpPortList; + short *lpDMAList; + short *lpIRQList; + short *lpRateList; + W32 fBackground; + W32 wID; + W32 wTimerID; +} _SOS_CAPABILITIES; + +typedef struct _SOS_HARDWARE { + W32 wPort; + W32 wIRQ; + W32 wDMA; + W32 wParam; +} _SOS_HARDWARE; + +typedef struct _tag_sos_driver { + W32 wFlags; + DWORD wDriverRate; + DWORD wDriverChannels; + DWORD wDriverBitsPerSample; + DWORD wDriverFormat; + DWORD wMixerChannels; + DWORD wDMACountRegister; + DWORD wDMAPosition; + DWORD wDMALastPosition; + DWORD wDMADistance; + PSTR pXFERPosition; + DWORD wXFERJumpAhead; + _SOS_SAMPLE *pSampleList; + void (*pfnPseudoDMAFunction)(); + PSTR pDMABuffer; + PSTR pDMABufferEnd; + DWORD wDMABufferSize; + PSTR pMixingBuffer; + PSTR pMixingBufferEnd; + DWORD wMixingBufferSize; + DWORD wActiveChannels; + _SOS_SAMPLE *pSamples; + _SOS_HARDWARE sHardware; + _SOS_CAPABILITIES sCaps; + LPSTR lpDriverDS; + LPSTR lpDriverCS; + W32 wSize; + DWORD dwLinear; + DWORD dwDMAPhysical; + LPSTR lpDMABuffer; + W32 hMemory; + W32 wDMARealSeg; + W32 wID; + void (*pfnMixFunction)(); +} _SOS_DIGI_DRIVER; + +typedef struct _SOS_DRV_FILEHEADER { + BYTE szName[32]; + W32 wDrivers; + W32 lOffset; + W32 lFileSize; +} _SOS_DRV_FILEHEADER; + +typedef struct _SOS_DRV_DRIVERHEADER { + BYTE szName[32]; + W32 lNextDriver; + W32 wSize; + W32 wDeviceID; + W32 wExtenderType; +} _SOS_DRV_DRIVERHEADER; + +typedef struct _tag_sos_system { + W32 wFlags; + BYTE szDriverPath[128]; + BYTE szTempDriverPath[128]; + PSOSDIGIDRIVER pDriver[5]; + _SOS_VDS_STRUCT sVDS; + _SOS_DRV_FILEHEADER sFileHeader; + _SOS_DRV_DRIVERHEADER sDriverHeader; + PSTR (*pMemAllocFunction)(DWORD); + void (*pMemFreeFunction)(PSTR, W32); +} _SOS_SYSTEM; + +typedef struct _tag_sos_det_system { + W32 wFlags; + BYTE szDriverPath[128]; + BYTE szTempDriverPath[128]; + _SOS_DRV_FILEHEADER sFileHeader; + _SOS_DRV_DRIVERHEADER sDriverHeader; + _SOS_CAPABILITIES sCaps; + PSOSCAPABILITIES pCaps; + LPSTR lpBufferDS; + LPSTR lpBufferCS; + W32 hFile; + DWORD dwDriverIndex; + W32 wDriverIndexCur; + W32 hMemory; + DWORD dwLinear; +} _SOS_DET_SYSTEM; + +typedef struct _tag_sos_timer_system { + W32 wFlags; + W32 wChipDivisor; + void (*pfnEvent[16])(); + W32 wEventRate[16]; + DWORD dwAdditiveFraction[16]; + DWORD dwCurrentSummation[16]; + W32 wMIDIEventSongHandle[16]; + W32 wMIDIActiveSongHandle; +} _SOS_TIMER_SYSTEM; + +typedef struct SmackTag { + unsigned long Version; + unsigned long Width; + unsigned long Height; + unsigned long Frames; + unsigned long MSPerFrame; + unsigned long SmackerType; + unsigned long LargestInTrack[7]; + unsigned long tablesize; + unsigned long codesize; + unsigned long absize; + unsigned long detailsize; + unsigned long typesize; + unsigned long TrackType[7]; + unsigned long extra; + unsigned long NewPalette; + unsigned char Palette[772]; + unsigned long PalType; + unsigned long FrameNum; + unsigned long FrameSize; + unsigned long SndSize; + unsigned long LastRectx; + unsigned long LastRecty; + unsigned long LastRectw; + unsigned long LastRecth; + unsigned long OpenFlags; + unsigned long LeftOfs; + unsigned long TopOfs; + unsigned long ReadError; + unsigned long addr32; +} Smack; + +typedef struct SmackSumTag { + unsigned long TotalTime; + unsigned long MS100PerFrame; + unsigned long TotalOpenTime; + unsigned long TotalFrames; + unsigned long SkippedFrames; + unsigned long SoundSkips; + unsigned long TotalBlitTime; + unsigned long TotalReadTime; + unsigned long TotalDecompTime; + unsigned long TotalBackReadTime; + unsigned long TotalReadSpeed; + unsigned long SlowestFrameTime; + unsigned long Slowest2FrameTime; + unsigned long SlowestFrameNum; + unsigned long Slowest2FrameNum; + unsigned long AverageFrameSize; + unsigned long Highest1SecRate; + unsigned long Highest1SecFrame; + unsigned long HighestMemAmount; + unsigned long TotalExtraMemory; + unsigned long HighestExtraUsed; +} SmackSum; + +typedef struct _heapinfo { + void *_pentry; + size_t _size; + int _useflag; +} _HEAPINFO; + typedef enum tSpec_vol_depth_effect { - eSpec_dep_acid = 0, - eSpec_dep_water = 1, - eSpec_dep_slight_fog = 2, - eSpec_dep_med_fog = 3, - eSpec_dep_thick_fog = 4 + eSpec_dep_acid = 0, + eSpec_dep_water = 1, + eSpec_dep_slight_fog = 2, + eSpec_dep_med_fog = 3, + eSpec_dep_thick_fog = 4 } tSpec_vol_depth_effect; - typedef enum tSpec_vol_cam_effect { - eSpec_cam_wobble = 0 + eSpec_cam_wobble = 0 } tSpec_vol_cam_effect; -typedef struct tHeadup tHeadup; -typedef struct tQueued_headup tQueued_headup; - typedef enum tHeadup_type { - eHeadup_unused = 0, - eHeadup_text = 1, - eHeadup_coloured_text = 2, - eHeadup_image = 3, - eHeadup_fancy = 4, - eHeadup_box_text = 5 + eHeadup_unused = 0, + eHeadup_text = 1, + eHeadup_coloured_text = 2, + eHeadup_image = 3, + eHeadup_fancy = 4, + eHeadup_box_text = 5 } tHeadup_type; - typedef enum tFancy_stage { - eFancy_stage_incoming = 0, - eFancy_stage_halting = 1, - eFancy_stage_waiting = 2, - eFancy_stage_readying = 3, - eFancy_stage_leaving = 4 + eFancy_stage_incoming = 0, + eFancy_stage_halting = 1, + eFancy_stage_waiting = 2, + eFancy_stage_readying = 3, + eFancy_stage_leaving = 4 } tFancy_stage; +typedef struct tHeadup { + tHeadup_type type; + int x; + int y; + int original_x; + int right_edge; + int flash_period; + int slot_index; + int dimmed_background; + int dim_left; + int dim_top; + int dim_right; + int dim_bottom; + int clever; + int cockpit_anchored; + int flash_state; + tJustification justification; + tU32 end_time; + tU32 last_flash; + struct { + struct { + char text[250]; + int colour; + br_font *font; + }; + struct { + char text[250]; + tDR_font *coloured_font; + }; + struct { + br_pixelmap *image; + }; + struct { + br_pixelmap *image; + int offset; + int shear_amount; + int end_offset; + tFancy_stage fancy_stage; + tU32 start_time; + }; + }; +} tHeadup; + +typedef struct tQueued_headup { + int flash_rate; + int lifetime; + int font_index; + char text[256]; +} tQueued_headup; -struct tHeadup { - tHeadup_type type; - int x; - int y; - int original_x; - int right_edge; - int flash_period; - int slot_index; - int dimmed_background; - int dim_left; - int dim_top; - int dim_right; - int dim_bottom; - int clever; - int cockpit_anchored; - int flash_state; - tJustification justification; - tU32 end_time; - tU32 last_flash; - struct { - struct { - char text[250]; - int colour; - br_font *font; - }; - struct { - char text[250]; - tDR_font *coloured_font; - }; - struct { - br_pixelmap *image; - }; - struct { - br_pixelmap *image; - int offset; - int shear_amount; - int end_offset; - tFancy_stage fancy_stage; - tU32 start_time; - }; - }; -}; -struct tQueued_headup { - int flash_rate; - int lifetime; - int font_index; - char text[256]; -}; -typedef struct tFlicette tFlicette; -typedef struct tMouse_area tMouse_area; -typedef struct tRectile tRectile; -typedef struct tInterface_spec tInterface_spec; typedef unsigned long time_t; typedef unsigned long clock_t; -typedef struct tm tm; -struct tFlicette { - int flic_index; - int x[2]; - int y[2]; -}; -struct tMouse_area { - int left[2]; - int top[2]; - int right[2]; - int bottom[2]; - int new_choice; - int new_mode; - int available_when_typing; - int (*mouse_click)(int*, int*, int, int); -}; -struct tRectile { - int left[2]; - int top[2]; - int right[2]; - int bottom[2]; -}; -struct tInterface_spec { - int initial_imode; - int first_opening_flic; - int second_opening_flic; - int end_flic_go_ahead; - int end_flic_escaped; - int end_flic_otherwise; - int flic_bunch_to_load; - int move_left_new_mode[2]; - int move_left_delta[2]; - int move_left_min[2]; - int move_left_max[2]; - int (*move_left_proc[2])(int*, int*); - int move_right_new_mode[2]; - int move_right_delta[2]; - int move_right_min[2]; - int move_right_max[2]; - int (*move_right_proc[2])(int*, int*); - int move_up_new_mode[2]; - int move_up_delta[2]; - int move_up_min[2]; - int move_up_max[2]; - int (*move_up_proc[2])(int*, int*); - int move_down_new_mode[2]; - int move_down_delta[2]; - int move_down_min[2]; - int move_down_max[2]; - int (*move_down_proc[2])(int*, int*); - int go_ahead_allowed[2]; - int (*go_ahead_proc[2])(int*, int*); - int escape_allowed[2]; - int (*escape_proc[2])(int*, int*); - int (*exit_proc)(int*, int*); - void (*draw_proc)(int, int); - tU32 time_out; - void (*start_proc1)(); - void (*start_proc2)(); - int (*done_proc)(int, int, int, int, int); - int font_needed; - int typeable[2]; - void (*get_original_string)(int, int, char*, int*); - int escape_code; - int dont_save_or_load; - int number_of_button_flics; - tFlicette *flicker_on_flics; - tFlicette *flicker_off_flics; - tFlicette *pushed_flics; - int number_of_mouse_areas; - tMouse_area *mouse_areas; - int number_of_recopy_areas; - tRectile *recopy_areas; -}; -struct tm { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; -}; -typedef struct fw_fn_table fw_fn_table; +typedef struct tFlicette { + int flic_index; + int x[2]; + int y[2]; +} tFlicette; + +typedef struct tMouse_area { + int left[2]; + int top[2]; + int right[2]; + int bottom[2]; + int new_choice; + int new_mode; + int available_when_typing; + int (*mouse_click)(int*, int*, int, int); +} tMouse_area; + +typedef struct tRectile { + int left[2]; + int top[2]; + int right[2]; + int bottom[2]; +} tRectile; + +typedef struct tInterface_spec { + int initial_imode; + int first_opening_flic; + int second_opening_flic; + int end_flic_go_ahead; + int end_flic_escaped; + int end_flic_otherwise; + int flic_bunch_to_load; + int move_left_new_mode[2]; + int move_left_delta[2]; + int move_left_min[2]; + int move_left_max[2]; + int (*move_left_proc[2])(int*, int*); + int move_right_new_mode[2]; + int move_right_delta[2]; + int move_right_min[2]; + int move_right_max[2]; + int (*move_right_proc[2])(int*, int*); + int move_up_new_mode[2]; + int move_up_delta[2]; + int move_up_min[2]; + int move_up_max[2]; + int (*move_up_proc[2])(int*, int*); + int move_down_new_mode[2]; + int move_down_delta[2]; + int move_down_min[2]; + int move_down_max[2]; + int (*move_down_proc[2])(int*, int*); + int go_ahead_allowed[2]; + int (*go_ahead_proc[2])(int*, int*); + int escape_allowed[2]; + int (*escape_proc[2])(int*, int*); + int (*exit_proc)(int*, int*); + void (*draw_proc)(int, int); + tU32 time_out; + void (*start_proc1)(); + void (*start_proc2)(); + int (*done_proc)(int, int, int, int, int); + int font_needed; + int typeable[2]; + void (*get_original_string)(int, int, char*, int*); + int escape_code; + int dont_save_or_load; + int number_of_button_flics; + tFlicette *flicker_on_flics; + tFlicette *flicker_off_flics; + tFlicette *pushed_flics; + int number_of_mouse_areas; + tMouse_area *mouse_areas; + int number_of_recopy_areas; + tRectile *recopy_areas; +} tInterface_spec; + +typedef struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +} tm; + typedef enum view_to_screen_type { - BR_VTOS_PARALLEL = 0, - BR_VTOS_PERSPECTIVE = 1, - BR_VTOS_4X4 = 2 + BR_VTOS_PARALLEL = 0, + BR_VTOS_PERSPECTIVE = 1, + BR_VTOS_4X4 = 2 } view_to_screen_type; - -typedef void dev_fill_cbfn(br_device*, br_pixelmap*); -typedef void dev_rectangle_copy_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16, br_pixelmap*, br_uint_16); -typedef void dev_rectangle_fill_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16); -typedef void dev_dirty_rectangle_copy_cbfn(br_device*, br_pixelmap*, br_pixelmap*, br_uint_16, br_uint_16); -typedef void dev_dirty_rectangle_fill_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16); -typedef void dev_plot_cbfn(br_device*, br_pixelmap*, br_uint_16); +typedef void dev_fill_cbfn(br_device*, br_pixelmap*, br_uint_32); +typedef void dev_rectangle_copy_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16, br_pixelmap*, br_uint_16, br_uint_16, br_uint_16, br_uint_16); +typedef void dev_rectangle_fill_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16, br_uint_16, br_uint_16, br_uint_32); +typedef void dev_dirty_rectangle_copy_cbfn(br_device*, br_pixelmap*, br_pixelmap*, br_uint_16, br_uint_16, br_uint_16, br_uint_16); +typedef void dev_dirty_rectangle_fill_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16, br_uint_16, br_uint_16, br_uint_32); +typedef void dev_plot_cbfn(br_device*, br_pixelmap*, br_uint_16, br_uint_16, br_uint_32); typedef void dev_copy_cbfn(br_device*, br_pixelmap*, br_pixelmap*); -typedef void dev_line_cbfn(br_device*, br_pixelmap*, br_int_16, br_int_16); -typedef void dev_copy_bits_cbfn(br_device*, br_pixelmap*, br_int_16, br_int_16, br_uint_8*, br_uint_16); +typedef void dev_line_cbfn(br_device*, br_pixelmap*, br_int_16, br_int_16, br_int_16, br_int_16, br_uint_32); +typedef void dev_copy_bits_cbfn(br_device*, br_pixelmap*, br_int_16, br_int_16, br_uint_8*, br_uint_16, br_uint_16, br_uint_16, br_uint_16, br_uint_32); typedef br_pixelmap* dev_double_buffer_cbfn(br_device*, br_pixelmap*, br_pixelmap*); -typedef br_pixelmap* dev_match_cbfn(br_device*, br_pixelmap*); +typedef br_pixelmap* dev_match_cbfn(br_device*, br_pixelmap*, br_uint_8); typedef br_pixelmap* dev_clone_cbfn(br_device*, br_pixelmap*); typedef void dev_free_cbfn(br_device*, br_pixelmap*); -typedef int dr_modelpick2d_cbfn(br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, int, int, int, br_vector3*); -typedef int dr_pick3d_cbfn(br_actor*, br_model*, br_material*, br_matrix34*, br_bounds*); -struct fw_fn_table { - br_surface_fn *light; - br_surface_fn *light_material; - br_surface_fn *light_vertex; - br_surface_fn *light_texture; - br_face_surface_fn *face_light; - br_light_sub_fn *direct; - br_light_sub_fn *point; - br_light_sub_fn *point_attn; - br_light_sub_fn *spot; - br_light_sub_fn *spot_attn; -}; -typedef struct tFlic_spec tFlic_spec; -typedef struct tFlic_bunch tFlic_bunch; -typedef struct tTranslation_record tTranslation_record; -struct tFlic_spec { - char *file_name; - int interruptable; - int queued; - int frame_rate; - int repeat; - int x_offset; - int y_offset; - tS8 *data_ptr; - tU32 the_size; -}; -struct tFlic_bunch { - char count; - int *indexes; -}; -struct tTranslation_record { - int flic_index; - int x; - int y; - int font_index; - int global; - int every_frame; - tJustification justification; - char *text; -}; +typedef int dr_modelpick2d_cbfn(br_model*, br_material*, br_vector3*, br_vector3*, br_scalar, int, int, int, br_vector3*, br_vector2*, void*); +typedef int dr_pick3d_cbfn(br_actor*, br_model*, br_material*, br_matrix34*, br_bounds*, void*); +typedef struct fw_fn_table { + br_surface_fn *light; + br_surface_fn *light_material; + br_surface_fn *light_vertex; + br_surface_fn *light_texture; + br_face_surface_fn *face_light; + br_light_sub_fn *direct; + br_light_sub_fn *point; + br_light_sub_fn *point_attn; + br_light_sub_fn *spot; + br_light_sub_fn *spot_attn; +} fw_fn_table; + +typedef struct tFlic_spec { + char *file_name; + int interruptable; + int queued; + int frame_rate; + int repeat; + int x_offset; + int y_offset; + tS8 *data_ptr; + tU32 the_size; +} tFlic_spec; + +typedef struct tFlic_bunch { + char count; + int *indexes; +} tFlic_bunch; + +typedef struct tTranslation_record { + int flic_index; + int x; + int y; + int font_index; + int global; + int every_frame; + tJustification justification; + char *text; +} tTranslation_record; + typedef enum tVehicle_category { - eVehicle_self = 0, - eVehicle_opponent = 1, - eVehicle_rozzer = 2, - eVehicle_drone = 3 + eVehicle_self = 0, + eVehicle_opponent = 1, + eVehicle_rozzer = 2, + eVehicle_drone = 3 } tVehicle_category; +typedef struct tTransient_bm { + br_pixelmap *pixmap; + int in_use; + int x_coord; + int y_coord; + int order_number; + int user_data; +} tTransient_bm; + +typedef struct tCursor_giblet { + int current_giblet; + int sequence_index; + int landed; + int transient_index; + float x_speed; + float y_speed; + float x_coord; + float y_coord; + float the_speed; + tU32 last_giblet_change; + tU32 giblet_change_period; + tU32 e_t_a; +} tCursor_giblet; + +typedef struct tWobble_spec { + float amplitude_x; + float amplitude_y; + float period; + int time_started; +} tWobble_spec; + +typedef struct tConcussion { + int concussed; + br_matrix34 amplitudes; + br_matrix34 periods; + tU32 time_started; +} tConcussion; + +typedef struct tSaved_table { + br_pixelmap *original; + br_pixelmap *copy; +} tSaved_table; + +typedef struct tClip_details { + br_actor *clip; + br_scalar length; +} tClip_details; -typedef struct tTransient_bm tTransient_bm; -typedef struct tCursor_giblet tCursor_giblet; -typedef struct tWobble_spec tWobble_spec; -typedef struct tConcussion tConcussion; -typedef struct tSaved_table tSaved_table; -typedef struct tClip_details tClip_details; -struct tTransient_bm { - br_pixelmap *pixmap; - int in_use; - int x_coord; - int y_coord; - int order_number; - int user_data; -}; -struct tCursor_giblet { - int current_giblet; - int sequence_index; - int landed; - int transient_index; - float x_speed; - float y_speed; - float x_coord; - float y_coord; - float the_speed; - tU32 last_giblet_change; - tU32 giblet_change_period; - tU32 e_t_a; -}; -struct tWobble_spec { - float amplitude_x; - float amplitude_y; - float period; - int time_started; -}; -struct tConcussion { - int concussed; - br_matrix34 amplitudes; - br_matrix34 periods; - tU32 time_started; -}; -struct tSaved_table { - br_pixelmap *original; - br_pixelmap *copy; -}; -struct tClip_details { - br_actor *clip; - br_scalar length; -}; -typedef struct tS3_channel tS3_channel; -typedef struct tS3_outlet tS3_outlet; -typedef struct tS3_descriptor tS3_descriptor; -typedef struct tS3_sound_source tS3_sound_source; -typedef struct tS3_sample tS3_sample; -typedef struct tS3_hardware_info tS3_hardware_info; typedef enum tS3_sound_type { - eS3_ST_sample = 0, - eS3_ST_midi = 1, - eS3_ST_cda = 2 + eS3_ST_sample = 0, + eS3_ST_midi = 1, + eS3_ST_cda = 2 } tS3_sound_type; +typedef struct tS3_channel { + int active; + int termination_reason; + int needs_service; + int repetitions; + int rate; + int spatial_sound; + unsigned int song_handle; + tS3_sound_tag tag; + tS3_type type; + tS3_volume left_volume; + tS3_volume right_volume; + float volume_multiplier; + tS3_vector3 position; + tS3_vector3 velocity; + tS3_vector3 lastpos; + tS3_volume initial_volume; + tS3_pitch initial_pitch; + float pMax_distance_squared; + tS3_outlet *owner_outlet; + tS3_descriptor *descriptor; + tS3_channel *next; + char *type_struct_sample; + char *type_struct_midi; + char *type_struct_cda; + tS3_sound_source *sound_source_ptr; +} tS3_channel; + +typedef struct tS3_outlet { + int id; + int max_channels; + int independent_pitch; + tS3_channel *channel_list; + tS3_outlet *prev; + tS3_outlet *next; + tS3_outlet_callback *callback; +} tS3_outlet; + +typedef struct tS3_descriptor { + tS3_sound_id id; + tS3_type type; + tS3_priority priority; + tS3_repeats repeats; + tS3_volume min_volume; + tS3_volume max_volume; + tS3_pitch min_pitch; + tS3_pitch max_pitch; + tS3_speed min_speed; + tS3_speed max_speed; + tS3_descriptor *prev; + tS3_descriptor *next; + int flags; + int midi_song_handle; + int special_fx; + int memory_proxy; + char *sound_data; + char *filename; +} tS3_descriptor; + +typedef struct tS3_sound_source { + tS3_channel *channel; + int brender_vector; + void *position_ptr; + void *velocity_ptr; + tS3_outlet *bound_outlet; + tS3_sound_source *prev; + tS3_sound_source *next; + int ambient; + tS3_repeats ambient_repeats; + int time_since_last_played; + tS3_sound_id sound_id; + float max_distance_sq; + int period; + tS3_volume volume; + tS3_pitch pitch; + tS3_speed speed; + tS3_sound_tag tag; +} tS3_sound_source; + +typedef struct tS3_sample { + int size; + int rate; + int resolution; + int channels; + char *dataptr; + void *freeptr; +} tS3_sample; + +typedef struct tS3_hardware_info { + int device_installed; + int timer_installed; + int num_channels; + int max_resolution; + int stereo_flag; + int max_sample_rate; + int min_sample_rate; + int independent_pitch; +} tS3_hardware_info; -struct tS3_channel { - int active; - int termination_reason; - int needs_service; - int repetitions; - int rate; - int spatial_sound; - unsigned int song_handle; - tS3_sound_tag tag; - tS3_type type; - tS3_volume left_volume; - tS3_volume right_volume; - float volume_multiplier; - tS3_vector3 position; - tS3_vector3 velocity; - tS3_vector3 lastpos; - tS3_volume initial_volume; - tS3_pitch initial_pitch; - float pMax_distance_squared; - tS3_outlet *owner_outlet; - tS3_descriptor *descriptor; - tS3_channel *next; - char *type_struct_sample; - char *type_struct_midi; - char *type_struct_cda; - tS3_sound_source *sound_source_ptr; -}; -struct tS3_outlet { - int id; - int max_channels; - int independent_pitch; - tS3_channel *channel_list; - tS3_outlet *prev; - tS3_outlet *next; - tS3_outlet_callback *callback; -}; -struct tS3_descriptor { - tS3_sound_id id; - tS3_type type; - tS3_priority priority; - tS3_repeats repeats; - tS3_volume min_volume; - tS3_volume max_volume; - tS3_pitch min_pitch; - tS3_pitch max_pitch; - tS3_speed min_speed; - tS3_speed max_speed; - tS3_descriptor *prev; - tS3_descriptor *next; - int flags; - int midi_song_handle; - int special_fx; - int memory_proxy; - char *sound_data; - char *filename; -}; -struct tS3_sound_source { - tS3_channel *channel; - int brender_vector; - void *position_ptr; - void *velocity_ptr; - tS3_outlet *bound_outlet; - tS3_sound_source *prev; - tS3_sound_source *next; - int ambient; - tS3_repeats ambient_repeats; - int time_since_last_played; - tS3_sound_id sound_id; - float max_distance_sq; - int period; - tS3_volume volume; - tS3_pitch pitch; - tS3_speed speed; - tS3_sound_tag tag; -}; -struct tS3_sample { - int size; - int rate; - int resolution; - int channels; - char *dataptr; - void *freeptr; -}; -struct tS3_hardware_info { - int device_installed; - int timer_installed; - int num_channels; - int max_resolution; - int stereo_flag; - int max_sample_rate; - int min_sample_rate; - int independent_pitch; -}; -typedef struct tModel_pool tModel_pool; -typedef struct tHeadup_info tHeadup_info; typedef enum tNet_head_avail { - eNet_or_otherwise = 0, - eNet_only = 1, - eNot_net = 2, - eNot_ever_ever_ever = 3 + eNet_or_otherwise = 0, + eNet_only = 1, + eNot_net = 2, + eNot_ever_ever_ever = 3 } tNet_head_avail; +typedef struct tModel_pool { + br_model **model_array; + int model_count; +} tModel_pool; + +typedef struct tHeadup_info { + char *name; + tNet_head_avail avail; +} tHeadup_info; -struct tModel_pool { - br_model **model_array; - int model_count; -}; -struct tHeadup_info { - char *name; - tNet_head_avail avail; -}; typedef enum tTime_bonus_state { - eTime_bonus_none = 0, - eTime_bonus_initial_pause = 1, - eTime_bonus_race_bonus = 2, - eTime_bonus_tb_up = 3, - eTime_bonus_tb_pause = 4, - eTime_bonus_tb_down = 5, - eTime_bonus_end_pause = 6 + eTime_bonus_none = 0, + eTime_bonus_initial_pause = 1, + eTime_bonus_race_bonus = 2, + eTime_bonus_tb_up = 3, + eTime_bonus_tb_pause = 4, + eTime_bonus_tb_down = 5, + eTime_bonus_end_pause = 6 } tTime_bonus_state; - typedef enum tInfo_mode { - eInfo_regular = 0, - eInfo_pcam_car = 1, - eInfo_nearby_mat = 2, - eInfo_count = 3 + eInfo_regular = 0, + eInfo_pcam_car = 1, + eInfo_nearby_mat = 2, + eInfo_count = 3 } tInfo_mode; +typedef struct tHeadup_pair { + int player_index; + int score; + int out_of_game; +} tHeadup_pair; + +typedef struct tMax_message { + char buffer[516]; +} tMax_message; + +typedef struct tMid_message { + char buffer[132]; +} tMid_message; + +typedef struct tMin_message { + char buffer[36]; +} tMin_message; + +typedef struct tGuaranteed_message { + tNet_message *message; + tU32 send_time; + tU32 next_resend_time; + tU32 resend_period; + int recieved; + tPD_net_player_info pd_address; + int (*NotifyFail)(tU32, tNet_message*); + tU32 guarantee_number; +} tGuaranteed_message; -typedef struct tHeadup_pair tHeadup_pair; -struct tHeadup_pair { - int player_index; - int score; - int out_of_game; -}; -typedef struct tMax_message tMax_message; -typedef struct tMid_message tMid_message; -typedef struct tMin_message tMin_message; -typedef struct tGuaranteed_message tGuaranteed_message; -struct tMax_message { - char buffer[516]; -}; -struct tMid_message { - char buffer[132]; -}; -struct tMin_message { - char buffer[36]; -}; -struct tGuaranteed_message { - tNet_message *message; - tU32 send_time; - tU32 next_resend_time; - tU32 resend_period; - int recieved; - tPD_net_player_info pd_address; - int (*NotifyFail)(tU32, tNet_message*); - tU32 guarantee_number; -}; -typedef struct tJoinable_game tJoinable_game; typedef enum tJoin_or_host_result { - eJoin_or_host_cancel = 0, - eJoin_or_host_join = 1, - eJoin_or_host_host = 2 + eJoin_or_host_cancel = 0, + eJoin_or_host_join = 1, + eJoin_or_host_host = 2 } tJoin_or_host_result; +typedef struct tJoinable_game { + tNet_game_details *game; + tU32 time; +} tJoinable_game; + +typedef struct tOil_spill_info { + br_actor *actor; + tCar_spec *car; + tU32 spill_time; + tU32 stop_time; + br_scalar full_size; + br_scalar current_size; + br_scalar grow_rate; + br_vector3 original_pos; + br_vector3 pos; +} tOil_spill_info; -struct tJoinable_game { - tNet_game_details *game; - tU32 time; -}; -typedef struct tOil_spill_info tOil_spill_info; -struct tOil_spill_info { - br_actor *actor; - tCar_spec *car; - tU32 spill_time; - tU32 stop_time; - br_scalar full_size; - br_scalar current_size; - br_scalar grow_rate; - br_vector3 original_pos; - br_vector3 pos; -}; typedef enum tJoy_calib_stage { - eJoy_calib_tl_1 = 0, - eJoy_calib_br_1 = 1, - eJoy_calib_cn_1 = 2, - eJoy_calib_tl_2 = 3, - eJoy_calib_br_2 = 4, - eJoy_calib_cn_2 = 5 + eJoy_calib_tl_1 = 0, + eJoy_calib_br_1 = 1, + eJoy_calib_cn_1 = 2, + eJoy_calib_tl_2 = 3, + eJoy_calib_br_2 = 4, + eJoy_calib_cn_2 = 5 } tJoy_calib_stage; -typedef struct tPed_choice tPed_choice; -typedef struct tPedestrian_instruction tPedestrian_instruction; -typedef struct tBearing_sequence tBearing_sequence; -typedef struct tPedestrian_action tPedestrian_action; -typedef struct tPed_frame_info tPed_frame_info; -typedef struct tPedestrian_sequence tPedestrian_sequence; -typedef struct tPedestrian_data tPedestrian_data; -typedef struct tPed_gib tPed_gib; -typedef struct tPed_gib_materials tPed_gib_materials; -typedef struct tProximity_ray tProximity_ray; - typedef enum tPed_instruc_type { - ePed_instruc_point = 0, - ePed_instruc_xpoint = 1, - ePed_instruc_bchoice = 2, - ePed_instruc_fchoice = 3, - ePed_instruc_dead = 4, - ePed_instruc_bmarker = 5, - ePed_instruc_fmarker = 6, - ePed_instruc_baction = 7, - ePed_instruc_faction = 8, - ePed_instruc_reverse = 9 + ePed_instruc_point = 0, + ePed_instruc_xpoint = 1, + ePed_instruc_bchoice = 2, + ePed_instruc_fchoice = 3, + ePed_instruc_dead = 4, + ePed_instruc_bmarker = 5, + ePed_instruc_fmarker = 6, + ePed_instruc_baction = 7, + ePed_instruc_faction = 8, + ePed_instruc_reverse = 9 } tPed_instruc_type; - typedef enum tPed_frame_rate_type { - ePed_frame_fixed = 0, - ePed_frame_speed = 1, - ePed_frame_variable = 2 + ePed_frame_fixed = 0, + ePed_frame_speed = 1, + ePed_frame_variable = 2 } tPed_frame_rate_type; - typedef enum tPed_collide_type { - ePed_collide_none = 255, - ePed_collide_on = 0 + ePed_collide_none = 255, + ePed_collide_on = 0 } tPed_collide_type; - typedef enum tPed_hit_position { - ePed_hit_unknown = 0, - ePed_hit_front = 1, - ePed_hit_back = 2, - ePed_hit_rside = 3, - ePed_hit_lside = 4 + ePed_hit_unknown = 0, + ePed_hit_front = 1, + ePed_hit_back = 2, + ePed_hit_rside = 3, + ePed_hit_lside = 4 } tPed_hit_position; +typedef struct tPed_choice { + tU16 danger_level; + tU8 percentage_chance; + tU8 marker_ref; +} tPed_choice; -struct tPed_choice { - tU16 danger_level; - tU8 percentage_chance; - tU8 marker_ref; -}; -struct tPedestrian_instruction { - tPed_instruc_type type; - struct { +typedef struct tPedestrian_instruction { + tPed_instruc_type type; struct { - br_vector3 position; - int irreversable; + struct { + br_vector3 position; + int irreversable; + }; + struct { + int number_of_choices; + tPed_choice choices[2]; + }; + struct { + int death_sequence; + }; + struct { + int marker_ref; + }; + struct { + int action_index; + }; }; - struct { - int number_of_choices; - tPed_choice choices[2]; - }; - struct { - int death_sequence; - }; - struct { - int marker_ref; - }; - struct { - int action_index; - }; - }; -}; -struct tBearing_sequence { - int sequence_index; - float max_bearing; -}; -struct tPedestrian_action { - float danger_level; - float percentage_chance; - int number_of_bearings; - int number_of_sounds; - int sounds[3]; - tBearing_sequence sequences[7]; - float initial_speed; - float looping_speed; - tU32 reaction_time; -}; -struct tPed_frame_info { - br_vector2 offset; - int flipped; - br_pixelmap *pixelmap; -}; -struct tPedestrian_sequence { - tPed_frame_rate_type frame_rate_type; - float frame_rate_factor1; - float frame_rate_factor2; - int number_of_frames; - int looping_frame_start; - tPed_frame_info frames[10]; -}; -struct tPedestrian_data { - int magic_number; - br_scalar height; - br_scalar jump_magnitude; - br_scalar car_to_ped; - br_scalar min_x; - br_scalar max_x; - int credits_value; - int hit_points; - int number_of_exploding_sounds; - int exploding_sounds[3]; - int falling_sound; - int last_sound_action; - tU16 killers_ID; - br_scalar width; - br_scalar height2; - tCar_spec *fate; - br_actor *actor; - tPlayer_ID murderer; - tPedestrian_instruction *instruction_list; - tPedestrian_action *action_list; - tU8 ref_number; - tU8 active; - tU8 munged; - tU8 collided_last_time; - tU8 flipped; - tU8 reverse_frames; - tU8 sent_dead_message; - tS8 image_index; - tS8 number_of_actions; - tS8 number_of_instructions; - tS8 first_instruction; - tS8 current_instruction; - tS8 fatal_car_impact_action; - tS8 non_fatal_car_impact_action; - tS8 after_impact_action; - tS8 fatal_ground_impact_action; - tS8 non_fatal_ground_impact_action; - tS8 giblets_action; - tS8 current_sequence; - tS8 current_action; - tS8 current_action_mode; - tS8 current_frame; - tS8 number_of_sequences; - tS8 done_initial; - tS8 giblets_being_sat_upon; - tS8 mid_air; - tS8 instruction_direction; - tS8 irreversable; - tS8 frightened_of_us; - tS8 cloned; - float current_speed; - float acceleration; - float spin_period; - tU32 last_frame; - tU32 last_action_change; - tU32 last_sound_make; - tS32 respawn_time; - br_vector3 pos; - br_vector3 direction; - br_vector3 from_pos; - br_vector3 to_pos; - br_vector3 offset; - float falling_speed; - tSpecial_volume *last_special_volume; - tPedestrian_sequence *sequences; - tS3_sound_tag last_sound; - br_pixelmap *colour_map; -}; -struct tPed_gib { - br_actor *actor; - br_scalar x_speed; - br_scalar y_speed; - int size; - int last_frame; - int gib_index; - int parent_index; - tU32 start_time; - tU32 end_time; - tU32 flip_period; -}; -struct tPed_gib_materials { - int count; - br_material *materials[5]; -}; -struct tProximity_ray { - tCar_spec *car; - tPedestrian_data *ped; - tU32 start_time; -}; -typedef struct tPiped_registration_snapshot tPiped_registration_snapshot; -struct tPiped_registration_snapshot { - int piped_actors_count; - int piped_models_count; - int piped_materials_count; - int piped_pixelmaps_count; -}; -typedef struct tHeadup_icon tHeadup_icon; -struct tHeadup_icon { - tPowerup *powerup; - int fizzle_stage; - int fizzle_direction; - tU32 fizzle_start; -}; -typedef struct tPrat_flic_spec tPrat_flic_spec; -typedef struct tPrat_alternative tPrat_alternative; -typedef struct tPrat_flic_chunk tPrat_flic_chunk; -typedef struct tPrat_sequence tPrat_sequence; -struct tPrat_flic_spec { - char *data; - tU32 data_length; -}; -struct tPrat_alternative { - int ref; - int chance; - int number_of_sounds; - int sound_ids[8]; - int sound_chance; -}; -struct tPrat_flic_chunk { - int number_of_alternatives; - tPrat_alternative alternatives[6]; -}; -struct tPrat_sequence { - int number_of_chunks; - int precedence; - int repeat_chunk; - tPrat_flic_chunk chunks[6]; -}; +} tPedestrian_instruction; + +typedef struct tBearing_sequence { + int sequence_index; + float max_bearing; +} tBearing_sequence; + +typedef struct tPedestrian_action { + float danger_level; + float percentage_chance; + int number_of_bearings; + int number_of_sounds; + int sounds[3]; + tBearing_sequence sequences[7]; + float initial_speed; + float looping_speed; + tU32 reaction_time; +} tPedestrian_action; + +typedef struct tPed_frame_info { + br_vector2 offset; + int flipped; + br_pixelmap *pixelmap; +} tPed_frame_info; + +typedef struct tPedestrian_sequence { + tPed_frame_rate_type frame_rate_type; + float frame_rate_factor1; + float frame_rate_factor2; + int number_of_frames; + int looping_frame_start; + tPed_frame_info frames[10]; +} tPedestrian_sequence; + +typedef struct tPedestrian_data { + int magic_number; + br_scalar height; + br_scalar jump_magnitude; + br_scalar car_to_ped; + br_scalar min_x; + br_scalar max_x; + int credits_value; + int hit_points; + int number_of_exploding_sounds; + int exploding_sounds[3]; + int falling_sound; + int last_sound_action; + tU16 killers_ID; + br_scalar width; + br_scalar height2; + tCar_spec *fate; + br_actor *actor; + tPlayer_ID murderer; + tPedestrian_instruction *instruction_list; + tPedestrian_action *action_list; + tU8 ref_number; + tU8 active; + tU8 munged; + tU8 collided_last_time; + tU8 flipped; + tU8 reverse_frames; + tU8 sent_dead_message; + tS8 image_index; + tS8 number_of_actions; + tS8 number_of_instructions; + tS8 first_instruction; + tS8 current_instruction; + tS8 fatal_car_impact_action; + tS8 non_fatal_car_impact_action; + tS8 after_impact_action; + tS8 fatal_ground_impact_action; + tS8 non_fatal_ground_impact_action; + tS8 giblets_action; + tS8 current_sequence; + tS8 current_action; + tS8 current_action_mode; + tS8 current_frame; + tS8 number_of_sequences; + tS8 done_initial; + tS8 giblets_being_sat_upon; + tS8 mid_air; + tS8 instruction_direction; + tS8 irreversable; + tS8 frightened_of_us; + tS8 cloned; + float current_speed; + float acceleration; + float spin_period; + tU32 last_frame; + tU32 last_action_change; + tU32 last_sound_make; + tS32 respawn_time; + br_vector3 pos; + br_vector3 direction; + br_vector3 from_pos; + br_vector3 to_pos; + br_vector3 offset; + float falling_speed; + tSpecial_volume *last_special_volume; + tPedestrian_sequence *sequences; + tS3_sound_tag last_sound; + br_pixelmap *colour_map; +} tPedestrian_data; + +typedef struct tPed_gib { + br_actor *actor; + br_scalar x_speed; + br_scalar y_speed; + int size; + int last_frame; + int gib_index; + int parent_index; + tU32 start_time; + tU32 end_time; + tU32 flip_period; +} tPed_gib; + +typedef struct tPed_gib_materials { + int count; + br_material *materials[5]; +} tPed_gib_materials; + +typedef struct tProximity_ray { + tCar_spec *car; + tPedestrian_data *ped; + tU32 start_time; +} tProximity_ray; + +typedef struct tPiped_registration_snapshot { + int piped_actors_count; + int piped_models_count; + int piped_materials_count; + int piped_pixelmaps_count; +} tPiped_registration_snapshot; + +typedef struct tHeadup_icon { + tPowerup *powerup; + int fizzle_stage; + int fizzle_direction; + tU32 fizzle_start; +} tHeadup_icon; + +typedef struct tPrat_flic_spec { + char *data; + tU32 data_length; +} tPrat_flic_spec; + +typedef struct tPrat_alternative { + int ref; + int chance; + int number_of_sounds; + int sound_ids[8]; + int sound_chance; +} tPrat_alternative; + +typedef struct tPrat_flic_chunk { + int number_of_alternatives; + tPrat_alternative alternatives[6]; +} tPrat_flic_chunk; + +typedef struct tPrat_sequence { + int number_of_chunks; + int precedence; + int repeat_chunk; + tPrat_flic_chunk chunks[6]; +} tPrat_sequence; + typedef enum tGrid_draw { - eGrid_draw_none = 0, - eGrid_draw_icons_only = 1, - eGrid_draw_all = 2 + eGrid_draw_none = 0, + eGrid_draw_icons_only = 1, + eGrid_draw_all = 2 } tGrid_draw; - typedef enum tNet_synch_mode { - eNet_synch_host_first = 0, - eNet_synch_host_subsequent = 1, - eNet_synch_client = 2 + eNet_synch_host_first = 0, + eNet_synch_host_subsequent = 1, + eNet_synch_client = 2 } tNet_synch_mode; +typedef struct tWreck_info { + br_actor *actor; + br_matrix34 rotation; + br_matrix34 original_matrix; + int customised; + int car_index; + float pos_x; + float pos_y; + tVehicle_type car_type; + br_scalar scaling_factor; +} tWreck_info; + +typedef struct tRectangle { + int left; + int top; + int right; + int bottom; +} tRectangle; + +typedef struct tSkid { + br_actor *actor; + br_vector3 normal; + br_vector3 pos; +} tSkid; + +typedef struct tSpark { + int count; + br_vector3 pos; + br_vector3 v; + br_vector3 length; + br_vector3 normal; + tU32 time_sync; + tCar_spec *car; + tU8 colour; +} tSpark; + +typedef struct tShrapnel { + br_actor *actor; + br_vector3 v; + tU32 time_sync; + tU32 age; + br_scalar shear1; + br_scalar shear2; + br_vector3 axis; +} tShrapnel; + +typedef struct tSmoke { + tU32 time_sync; + br_vector3 pos; + br_vector3 v; + br_scalar radius; + br_scalar strength; + br_scalar decay_factor; + tU8 type; + tU8 pipe_me; +} tSmoke; + +typedef struct tSmoke_column { + tCar_spec *car; + tU32 time; + tU32 lifetime; + tU32 count; + int colour; + int whiter; + br_actor *flame_actor; + int frame_count[3]; + br_vector3 pos; + br_scalar scale_x[3]; + br_scalar scale_y[3]; + br_scalar offset_x[3]; + br_scalar offset_z[3]; + tU32 smudge_timer; + int vertex_index; + int upright; +} tSmoke_column; + +typedef struct tSplash { + br_actor *actor; + br_vector3 v; + int just_done; + br_scalar size; + br_scalar scale_x; +} tSplash; + +typedef struct tBRender_smoke { + br_vector3 pos; + br_scalar r; + br_scalar strength; + br_colour col; + br_scalar aspect; +} tBRender_smoke; + +typedef struct tRGB_colour { + int red; + int green; + int blue; +} tRGB_colour; -typedef struct tWreck_info tWreck_info; -struct tWreck_info { - br_actor *actor; - br_matrix34 rotation; - br_matrix34 original_matrix; - int customised; - int car_index; - float pos_x; - float pos_y; - tVehicle_type car_type; - br_scalar scaling_factor; -}; -typedef struct tRectangle tRectangle; -struct tRectangle { - int left; - int top; - int right; - int bottom; -}; -typedef struct tSkid tSkid; -struct tSkid { - br_actor *actor; - br_vector3 normal; - br_vector3 pos; -}; -typedef struct tSpark tSpark; -typedef struct tShrapnel tShrapnel; -typedef struct tSmoke tSmoke; -typedef struct tSmoke_column tSmoke_column; -typedef struct tSplash tSplash; -typedef struct tBRender_smoke tBRender_smoke; -struct tSpark { - int count; - br_vector3 pos; - br_vector3 v; - br_vector3 length; - br_vector3 normal; - tU32 time_sync; - tCar_spec *car; - tU8 colour; -}; -struct tShrapnel { - br_actor *actor; - br_vector3 v; - tU32 time_sync; - tU32 age; - br_scalar shear1; - br_scalar shear2; - br_vector3 axis; -}; -struct tSmoke { - tU32 time_sync; - br_vector3 pos; - br_vector3 v; - br_scalar radius; - br_scalar strength; - br_scalar decay_factor; - tU8 type; - tU8 pipe_me; -}; -struct tSmoke_column { - tCar_spec *car; - tU32 time; - tU32 lifetime; - tU32 count; - int colour; - int whiter; - br_actor *flame_actor; - int frame_count[3]; - br_vector3 pos; - br_scalar scale_x[3]; - br_scalar scale_y[3]; - br_scalar offset_x[3]; - br_scalar offset_z[3]; - tU32 smudge_timer; - int vertex_index; - int upright; -}; -struct tSplash { - br_actor *actor; - br_vector3 v; - int just_done; - br_scalar size; - br_scalar scale_x; -}; -struct tBRender_smoke { - br_vector3 pos; - br_scalar r; - br_scalar strength; - br_colour col; - br_scalar aspect; -}; -typedef struct tRGB_colour tRGB_colour; -struct tRGB_colour { - int red; - int green; - int blue; -}; -typedef struct tFunkotronic_spec tFunkotronic_spec; -typedef struct tGroovidelic_spec tGroovidelic_spec; typedef br_material* * tPMFMCB(br_model*, tU16); typedef enum tMatrix_mod_type { - eMatrix_mod_none = 255, - eMatrix_mod_spin = 0, - eMatrix_mod_rock = 1, - eMatrix_mod_throb = 2, - eMatrix_mod_slither = 3, - eMatrix_mod_roll = 4 + eMatrix_mod_none = 255, + eMatrix_mod_spin = 0, + eMatrix_mod_rock = 1, + eMatrix_mod_throb = 2, + eMatrix_mod_slither = 3, + eMatrix_mod_roll = 4 } tMatrix_mod_type; - typedef enum tTexture_animation_type { - eTexture_animation_none = 255, - eTexture_animation_frames = 0, - eTexture_animation_flic = 1 + eTexture_animation_none = 255, + eTexture_animation_frames = 0, + eTexture_animation_flic = 1 } tTexture_animation_type; - typedef enum tMove_mode { - eMove_none = 255, - eMove_linear = 0, - eMove_harmonic = 1, - eMove_flash = 2, - eMove_controlled = 3, - eMove_absolute = 4, - eMove_continuous = 5 + eMove_none = 255, + eMove_linear = 0, + eMove_harmonic = 1, + eMove_flash = 2, + eMove_controlled = 3, + eMove_absolute = 4, + eMove_continuous = 5 } tMove_mode; - typedef enum tFunk_trigger_mode { - eFunk_mode_constant = 0, - eFunk_mode_distance = 1, - eFunk_mode_last_lap_only = 2, - eFunk_mode_all_laps_but_last = 3 + eFunk_mode_constant = 0, + eFunk_mode_distance = 1, + eFunk_mode_last_lap_only = 2, + eFunk_mode_all_laps_but_last = 3 } tFunk_trigger_mode; - typedef enum tGroove_trigger_mode { - eGroove_mode_constant = 0, - eGroove_mode_distance = 1 + eGroove_mode_constant = 0, + eGroove_mode_distance = 1 } tGroove_trigger_mode; - typedef enum tGroove_path_mode { - eGroove_path_none = 255, - eGroove_path_straight = 0, - eGroove_path_circular = 1 + eGroove_path_none = 255, + eGroove_path_straight = 0, + eGroove_path_circular = 1 } tGroove_path_mode; - typedef enum tGroove_object_mode { - eGroove_object_none = 255, - eGroove_object_spin = 0, - eGroove_object_rock = 1, - eGroove_object_throb = 2, - eGroove_object_shear = 3 + eGroove_object_none = 255, + eGroove_object_spin = 0, + eGroove_object_rock = 1, + eGroove_object_throb = 2, + eGroove_object_shear = 3 } tGroove_object_mode; - typedef enum tGroove_axis_mode { - eGroove_axis_x = 0, - eGroove_axis_y = 1, - eGroove_axis_z = 2 + eGroove_axis_x = 0, + eGroove_axis_y = 1, + eGroove_axis_z = 2 } tGroove_axis_mode; - typedef enum tAnimation_time_mode { - eTime_mode_approximate = 0, - eTime_mode_accurate = 1 + eTime_mode_approximate = 0, + eTime_mode_accurate = 1 } tAnimation_time_mode; - typedef enum tInterrupt_status { - eInterrupt_none = 0, - eInterrupt_less_than = 1, - eInterrupt_greater_than = 2 + eInterrupt_none = 0, + eInterrupt_less_than = 1, + eInterrupt_greater_than = 2 } tInterrupt_status; - typedef enum tRotate_mode { - eRotate_mode_x = 0, - eRotate_mode_y = 1, - eRotate_mode_z = 2 + eRotate_mode_x = 0, + eRotate_mode_y = 1, + eRotate_mode_z = 2 } tRotate_mode; - typedef enum tScale_mode { - eScale_mode_all = 0, - eScale_mode_x = 1, - eScale_mode_y = 2, - eScale_mode_z = 3 + eScale_mode_all = 0, + eScale_mode_x = 1, + eScale_mode_y = 2, + eScale_mode_z = 3 } tScale_mode; +typedef struct tFunkotronic_spec { + int owner; + br_material *material; + tFunk_trigger_mode mode; + tMatrix_mod_type matrix_mod_type; + tMove_mode matrix_mode; + struct { + struct { + float period; + }; + struct { + float period; + br_scalar x_centre; + br_scalar y_centre; + float rock_angle; + }; + struct { + float x_period; + float y_period; + br_scalar x_centre; + br_scalar y_centre; + float x_magnitude; + float y_magnitude; + }; + struct { + float x_period; + float y_period; + float x_magnitude; + float y_magnitude; + }; + struct { + float x_period; + float y_period; + }; + }; + tMove_mode lighting_animation_type; + float lighting_animation_period; + float ambient_base; + float ambient_delta; + float direct_base; + float direct_delta; + float specular_base; + float specular_delta; + tTexture_animation_type texture_animation_type; + tAnimation_time_mode time_mode; + float last_frame; + struct { + struct { + tMove_mode mode; + float period; + int texture_count; + int current_frame; + br_pixelmap *textures[8]; + }; + struct { + tU8 *flic_data; + tU32 flic_data_length; + tFlic_descriptor flic_descriptor; + }; + }; + int proximity_count; + br_vector3 *proximity_array; +} tFunkotronic_spec; -struct tFunkotronic_spec { - int owner; - br_material *material; - tFunk_trigger_mode mode; - tMatrix_mod_type matrix_mod_type; - tMove_mode matrix_mode; - struct { +typedef struct tGroovidelic_spec { + int owner; + int done_this_frame; + br_actor *actor; + tLollipop_mode lollipop_mode; + tGroove_trigger_mode mode; + tGroove_path_mode path_type; + tMove_mode path_mode; + tInterrupt_status path_interrupt_status; + float path_resumption_value; struct { - float period; + struct { + float period; + float x_delta; + float y_delta; + float z_delta; + br_vector3 centre; + }; + struct { + float period; + float radius; + br_vector3 centre; + tGroove_axis_mode axis; + }; }; + br_vector3 object_centre; + br_vector3 object_position; + tGroove_object_mode object_type; + tMove_mode object_mode; + tInterrupt_status object_interrupt_status; + float object_resumption_value; struct { - float period; - br_scalar x_centre; - br_scalar y_centre; - float rock_angle; + struct { + float period; + tGroove_axis_mode axis; + }; + struct { + float period; + float max_angle; + float current_angle; + tGroove_axis_mode axis; + }; + struct { + float x_period; + float y_period; + float z_period; + float x_magnitude; + float y_magnitude; + float z_magnitude; + }; + struct { + float x_period; + float y_period; + float z_period; + float x_magnitude; + float y_magnitude; + float z_magnitude; + }; }; - struct { - float x_period; - float y_period; - br_scalar x_centre; - br_scalar y_centre; - float x_magnitude; - float y_magnitude; - }; - struct { - float x_period; - float y_period; - float x_magnitude; - float y_magnitude; - }; - struct { - float x_period; - float y_period; - }; - }; - tMove_mode lighting_animation_type; - float lighting_animation_period; - float ambient_base; - float ambient_delta; - float direct_base; - float direct_delta; - float specular_base; - float specular_delta; - tTexture_animation_type texture_animation_type; - tAnimation_time_mode time_mode; - float last_frame; - struct { - struct { - tMove_mode mode; - float period; - int texture_count; - int current_frame; - br_pixelmap *textures[8]; - }; - struct { - tU8 *flic_data; - tU32 flic_data_length; - tFlic_descriptor flic_descriptor; - }; - }; - int proximity_count; - br_vector3 *proximity_array; -}; -struct tGroovidelic_spec { - int owner; - int done_this_frame; - br_actor *actor; - tLollipop_mode lollipop_mode; - tGroove_trigger_mode mode; - tGroove_path_mode path_type; - tMove_mode path_mode; - tInterrupt_status path_interrupt_status; - float path_resumption_value; - struct { - struct { - float period; - float x_delta; - float y_delta; - float z_delta; - br_vector3 centre; - }; - struct { - float period; - float radius; - br_vector3 centre; - tGroove_axis_mode axis; - }; - }; - br_vector3 object_centre; - br_vector3 object_position; - tGroove_object_mode object_type; - tMove_mode object_mode; - tInterrupt_status object_interrupt_status; - float object_resumption_value; - struct { - struct { - float period; - tGroove_axis_mode axis; - }; - struct { - float period; - float max_angle; - float current_angle; - tGroove_axis_mode axis; - }; - struct { - float x_period; - float y_period; - float z_period; - float x_magnitude; - float y_magnitude; - float z_magnitude; - }; - struct { - float x_period; - float y_period; - float z_period; - float x_magnitude; - float y_magnitude; - float z_magnitude; - }; - }; -}; -typedef struct DWORDREGS DWORDREGS; -typedef struct WORDREGS WORDREGS; -typedef struct BYTEREGS BYTEREGS; -typedef struct REGS REGS; -typedef struct SREGS SREGS; -typedef struct REGPACKB REGPACKB; -typedef struct REGPACKW REGPACKW; -typedef struct REGPACKX REGPACKX; -typedef struct REGPACK REGPACK; -typedef struct INTPACKX INTPACKX; -typedef struct INTPACKW INTPACKW; -typedef struct INTPACKB INTPACKB; -typedef struct INTPACK INTPACK; -typedef struct _DOSERROR _DOSERROR; -typedef struct DOSERROR DOSERROR; -typedef struct dosdate_t dosdate_t; -typedef struct dostime_t dostime_t; -typedef struct find_t find_t; -typedef struct _diskfree_t _diskfree_t; -typedef struct tPD_net_game_info tPD_net_game_info; -typedef struct tIPX_netnum tIPX_netnum; -typedef struct tRM_info tRM_info; -struct DWORDREGS { - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - unsigned int esi; - unsigned int edi; - unsigned int cflag; -}; -struct WORDREGS { - unsigned short ax; - unsigned short _1; - unsigned short bx; - unsigned short _2; - unsigned short cx; - unsigned short _3; - unsigned short dx; - unsigned short _4; - unsigned short si; - unsigned short _5; - unsigned short di; - unsigned short _6; - unsigned int cflag; -}; -struct BYTEREGS { - unsigned char al; - unsigned char ah; - unsigned short _1; - unsigned char bl; - unsigned char bh; - unsigned short _2; - unsigned char cl; - unsigned char ch; - unsigned short _3; - unsigned char dl; - unsigned char dh; - unsigned short _4; -}; -struct REGS { - DWORDREGS x; - WORDREGS w; - BYTEREGS h; -}; -struct SREGS { - unsigned short es; - unsigned short cs; - unsigned short ss; - unsigned short ds; - unsigned short fs; - unsigned short gs; -}; -struct REGPACKB { - unsigned char al; - unsigned char ah; - unsigned short _1; - unsigned char bl; - unsigned char bh; - unsigned short _2; - unsigned char cl; - unsigned char ch; - unsigned short _3; - unsigned char dl; - unsigned char dh; - unsigned short _4; -}; -struct REGPACKW { - unsigned short ax; - unsigned short _1; - unsigned short bx; - unsigned short _2; - unsigned short cx; - unsigned short _3; - unsigned short dx; - unsigned short _4; - unsigned short bp; - unsigned short _5; - unsigned short si; - unsigned short _6; - unsigned short di; - unsigned short _7; - unsigned short ds; - unsigned short es; - unsigned short fs; - unsigned short gs; - unsigned int flags; -}; -struct REGPACKX { - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - unsigned int ebp; - unsigned int esi; - unsigned int edi; - unsigned short ds; - unsigned short es; - unsigned short fs; - unsigned short gs; - unsigned int flags; -}; -struct REGPACK { - REGPACKB h; - REGPACKW w; - REGPACKX x; -}; -struct INTPACKX { - unsigned int gs; - unsigned int fs; - unsigned int es; - unsigned int ds; - unsigned int edi; - unsigned int esi; - unsigned int ebp; - unsigned int esp; - unsigned int ebx; - unsigned int edx; - unsigned int ecx; - unsigned int eax; - unsigned int eip; - unsigned int cs; - unsigned int flags; -}; -struct INTPACKW { - unsigned short gs; - unsigned short _1; - unsigned short fs; - unsigned short _2; - unsigned short es; - unsigned short _3; - unsigned short ds; - unsigned short _4; - unsigned short di; - unsigned short _5; - unsigned short si; - unsigned short _6; - unsigned short bp; - unsigned short _7; - unsigned short sp; - unsigned short _8; - unsigned short bx; - unsigned short _9; - unsigned short dx; - unsigned short _a; - unsigned short cx; - unsigned short _b; - unsigned short ax; - unsigned short _c; - unsigned short ip; - unsigned short _d; - unsigned short cs; - unsigned short _e; - unsigned int flags; -}; -struct INTPACKB { - unsigned char bl; - unsigned char bh; - unsigned short _1; - unsigned char dl; - unsigned char dh; - unsigned short _2; - unsigned char cl; - unsigned char ch; - unsigned short _3; - unsigned char al; - unsigned char ah; - unsigned short _4; -}; -struct INTPACK { - INTPACKB h; - INTPACKW w; - INTPACKX x; -}; -struct _DOSERROR { - int exterror; - char errclass; - char action; - char locus; -}; -struct DOSERROR { - int exterror; - char class; - char action; - char locus; -}; -struct dosdate_t { - unsigned char day; - unsigned char month; - unsigned short year; - unsigned char dayofweek; -}; -struct dostime_t { - unsigned char hour; - unsigned char minute; - unsigned char second; - unsigned char hsecond; -}; -struct find_t { - char reserved[21]; - char attrib; - unsigned short wr_time; - unsigned short wr_date; - unsigned long size; - char name[13]; -}; -struct _diskfree_t { - unsigned short total_clusters; - unsigned short avail_clusters; - unsigned short sectors_per_cluster; - unsigned short bytes_per_sector; -}; -struct tPD_net_game_info { - _IPX_LOCAL_TARGET addr_ipx; - tU32 last_response; -}; -struct tIPX_netnum { - BYTE bNetwork[4]; -}; -struct tRM_info { - unsigned long EDI; - unsigned long ESI; - unsigned long EBP; - unsigned long reserved; - unsigned long EBX; - unsigned long EDX; - unsigned long ECX; - unsigned long EAX; - unsigned short flags; - unsigned short ES; - unsigned short DS; - unsigned short FS; - unsigned short GS; - unsigned short IP; - unsigned short CS; - unsigned short SP; - unsigned short SS; -}; +} tGroovidelic_spec; + +typedef struct DWORDREGS { + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + unsigned int esi; + unsigned int edi; + unsigned int cflag; +} DWORDREGS; + +typedef struct WORDREGS { + unsigned short ax; + unsigned short _1; + unsigned short bx; + unsigned short _2; + unsigned short cx; + unsigned short _3; + unsigned short dx; + unsigned short _4; + unsigned short si; + unsigned short _5; + unsigned short di; + unsigned short _6; + unsigned int cflag; +} WORDREGS; + +typedef struct BYTEREGS { + unsigned char al; + unsigned char ah; + unsigned short _1; + unsigned char bl; + unsigned char bh; + unsigned short _2; + unsigned char cl; + unsigned char ch; + unsigned short _3; + unsigned char dl; + unsigned char dh; + unsigned short _4; +} BYTEREGS; + +typedef struct REGS { + DWORDREGS x; + WORDREGS w; + BYTEREGS h; +} REGS; + +typedef struct SREGS { + unsigned short es; + unsigned short cs; + unsigned short ss; + unsigned short ds; + unsigned short fs; + unsigned short gs; +} SREGS; + +typedef struct REGPACKB { + unsigned char al; + unsigned char ah; + unsigned short _1; + unsigned char bl; + unsigned char bh; + unsigned short _2; + unsigned char cl; + unsigned char ch; + unsigned short _3; + unsigned char dl; + unsigned char dh; + unsigned short _4; +} REGPACKB; + +typedef struct REGPACKW { + unsigned short ax; + unsigned short _1; + unsigned short bx; + unsigned short _2; + unsigned short cx; + unsigned short _3; + unsigned short dx; + unsigned short _4; + unsigned short bp; + unsigned short _5; + unsigned short si; + unsigned short _6; + unsigned short di; + unsigned short _7; + unsigned short ds; + unsigned short es; + unsigned short fs; + unsigned short gs; + unsigned int flags; +} REGPACKW; + +typedef struct REGPACKX { + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + unsigned int ebp; + unsigned int esi; + unsigned int edi; + unsigned short ds; + unsigned short es; + unsigned short fs; + unsigned short gs; + unsigned int flags; +} REGPACKX; + +typedef struct REGPACK { + REGPACKB h; + REGPACKW w; + REGPACKX x; +} REGPACK; + +typedef struct INTPACKX { + unsigned int gs; + unsigned int fs; + unsigned int es; + unsigned int ds; + unsigned int edi; + unsigned int esi; + unsigned int ebp; + unsigned int esp; + unsigned int ebx; + unsigned int edx; + unsigned int ecx; + unsigned int eax; + unsigned int eip; + unsigned int cs; + unsigned int flags; +} INTPACKX; + +typedef struct INTPACKW { + unsigned short gs; + unsigned short _1; + unsigned short fs; + unsigned short _2; + unsigned short es; + unsigned short _3; + unsigned short ds; + unsigned short _4; + unsigned short di; + unsigned short _5; + unsigned short si; + unsigned short _6; + unsigned short bp; + unsigned short _7; + unsigned short sp; + unsigned short _8; + unsigned short bx; + unsigned short _9; + unsigned short dx; + unsigned short _a; + unsigned short cx; + unsigned short _b; + unsigned short ax; + unsigned short _c; + unsigned short ip; + unsigned short _d; + unsigned short cs; + unsigned short _e; + unsigned int flags; +} INTPACKW; + +typedef struct INTPACKB { + unsigned char bl; + unsigned char bh; + unsigned short _1; + unsigned char dl; + unsigned char dh; + unsigned short _2; + unsigned char cl; + unsigned char ch; + unsigned short _3; + unsigned char al; + unsigned char ah; + unsigned short _4; +} INTPACKB; + +typedef struct INTPACK { + INTPACKB h; + INTPACKW w; + INTPACKX x; +} INTPACK; + +typedef struct _DOSERROR { + int exterror; + char errclass; + char action; + char locus; +} _DOSERROR; + +typedef struct DOSERROR { + int exterror; + char class; + char action; + char locus; +} DOSERROR; + +typedef struct dosdate_t { + unsigned char day; + unsigned char month; + unsigned short year; + unsigned char dayofweek; +} dosdate_t; + +typedef struct dostime_t { + unsigned char hour; + unsigned char minute; + unsigned char second; + unsigned char hsecond; +} dostime_t; + +typedef struct find_t { + char reserved[21]; + char attrib; + unsigned short wr_time; + unsigned short wr_date; + unsigned long size; + char name[13]; +} find_t; + +typedef struct _diskfree_t { + unsigned short total_clusters; + unsigned short avail_clusters; + unsigned short sectors_per_cluster; + unsigned short bytes_per_sector; +} _diskfree_t; + +typedef struct tPD_net_game_info { + _IPX_LOCAL_TARGET addr_ipx; + tU32 last_response; +} tPD_net_game_info; + +typedef struct tIPX_netnum { + BYTE bNetwork[4]; +} tIPX_netnum; + +typedef struct tRM_info { + unsigned long EDI; + unsigned long ESI; + unsigned long EBP; + unsigned long reserved; + unsigned long EBX; + unsigned long EDX; + unsigned long ECX; + unsigned long EAX; + unsigned short flags; + unsigned short ES; + unsigned short DS; + unsigned short FS; + unsigned short GS; + unsigned short IP; + unsigned short CS; + unsigned short SP; + unsigned short SS; +} tRM_info; + typedef unsigned int ino_t; typedef int dev_t; typedef long off_t; typedef dirent DIR; -typedef struct dosio_event dosio_event; -typedef struct dosio_event_queue dosio_event_queue; -typedef struct _stat _stat; -typedef struct stat stat; -typedef struct tMem_info tMem_info; typedef enum dosio_event_type { - DOSIO_EVENT_KEY_DOWN = 0, - DOSIO_EVENT_KEY_UP = 1, - DOSIO_EVENT_POINTER1_DOWN = 2, - DOSIO_EVENT_POINTER1_UP = 3, - DOSIO_EVENT_POINTER2_DOWN = 4, - DOSIO_EVENT_POINTER2_UP = 5, - DOSIO_EVENT_POINTER3_DOWN = 6, - DOSIO_EVENT_POINTER3_UP = 7, - DOSIO_EVENT_POINTER_MOVE = 8, - DOSIO_EVENT_MAX = 9 + DOSIO_EVENT_KEY_DOWN = 0, + DOSIO_EVENT_KEY_UP = 1, + DOSIO_EVENT_POINTER1_DOWN = 2, + DOSIO_EVENT_POINTER1_UP = 3, + DOSIO_EVENT_POINTER2_DOWN = 4, + DOSIO_EVENT_POINTER2_UP = 5, + DOSIO_EVENT_POINTER3_DOWN = 6, + DOSIO_EVENT_POINTER3_UP = 7, + DOSIO_EVENT_POINTER_MOVE = 8, + DOSIO_EVENT_MAX = 9 } dosio_event_type; - typedef enum dosio_event_qual { - DOSIO_QUAL_SHIFT = 1, - DOSIO_QUAL_CONTROL = 2, - DOSIO_QUAL_ALT = 4 + DOSIO_QUAL_SHIFT = 1, + DOSIO_QUAL_CONTROL = 2, + DOSIO_QUAL_ALT = 4 } dosio_event_qual; +typedef struct dirent { + char d_dta[21]; + char d_attr; + unsigned short d_time; + unsigned short d_date; + long d_size; + char d_name[13]; + unsigned short d_ino; + char d_first; +} DIR; -struct dirent { - char d_dta[21]; - char d_attr; - unsigned short d_time; - unsigned short d_date; - long d_size; - char d_name[13]; - unsigned short d_ino; - char d_first; -}; -struct dosio_event { - br_uint_16 type; - br_uint_16 qualifiers; - br_uint_32 value_1; - br_uint_32 value_2; -}; -struct dosio_event_queue { - br_uint_16 total; - br_uint_16 count; - br_uint_16 head; - br_uint_16 tail; - dosio_event slots[1]; -}; -struct _stat { - dev_t st_dev; - ino_t st_ino; - unsigned short st_mode; - short st_nlink; - unsigned long st_uid; - short st_gid; - dev_t st_rdev; - off_t st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; - time_t st_btime; - unsigned long st_attr; - unsigned long st_archivedID; - unsigned long st_updatedID; - unsigned short st_inheritedRightsMask; - unsigned char st_originatingNameSpace; - unsigned char st_name[13]; -}; -struct stat { - dev_t st_dev; - ino_t st_ino; - unsigned short st_mode; - short st_nlink; - unsigned long st_uid; - short st_gid; - dev_t st_rdev; - off_t st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; - time_t st_btime; - unsigned long st_attr; - unsigned long st_archivedID; - unsigned long st_updatedID; - unsigned short st_inheritedRightsMask; - unsigned char st_originatingNameSpace; - unsigned char st_name[13]; -}; -struct tMem_info { - unsigned int largest_block_avail; - unsigned int max_unlocked_page; - unsigned int largest_lockable_page; - unsigned int lin_addr_space; - unsigned int num_free_pages_avail; - unsigned int num_physical_pages_free; - unsigned int total_physical_pages; - unsigned int free_lin_addr_space; - unsigned int size_of_page_file; - unsigned int reserved[3]; -}; -typedef struct pm_temp_edge pm_temp_edge; -typedef struct prep_vertex prep_vertex; -struct pm_temp_edge { - pm_temp_edge *next; - br_uint_16 first; - br_uint_16 last; - char other; -}; -struct prep_vertex { - br_vector3 n; - br_uint_16 v; - br_uint_16 f; -}; -typedef struct order_info order_info; -struct order_info { - br_uint_8 a0; - br_uint_8 a1; - br_uint_8 a2; - br_uint_8 _pad[1]; -}; -typedef struct transform_type transform_type; -struct transform_type { - br_uint_32 id; - br_file_struct *fs; -}; -typedef struct resource_header resource_header; -struct resource_header { - br_simple_node node; - br_simple_list children; - br_uint_8 size_l; - br_uint_8 size_m; - br_uint_8 size_h; - br_uint_8 class; - void *magic_ptr; - int magic_num; -}; -typedef struct host_real_memory host_real_memory; -typedef struct host_regs host_regs; -typedef struct host_info host_info; -struct host_real_memory { - br_uint_32 pm_off; - br_uint_16 pm_seg; - br_uint_16 _reserved; - br_uint_16 rm_off; - br_uint_16 rm_seg; -}; -struct host_regs { - struct { - br_uint_32 edi; - br_uint_32 esi; - br_uint_32 ebp; - br_uint_32 _res; - br_uint_32 ebx; - br_uint_32 edx; - br_uint_32 ecx; - br_uint_32 eax; - br_uint_16 flags; - br_uint_16 es; - br_uint_16 ds; - br_uint_16 fs; - br_uint_16 gs; - br_uint_16 ip; - br_uint_16 cs; - br_uint_16 sp; - br_uint_16 ss; - }; - struct { - br_uint_16 di; - br_uint_16 _pad0; - br_uint_16 si; - br_uint_16 _pad1; - br_uint_16 bp; - br_uint_16 _pad2; - br_uint_16 _res; - br_uint_16 _pad3; - br_uint_16 bx; - br_uint_16 _pad4; - br_uint_16 dx; - br_uint_16 _pad5; - br_uint_16 cx; - br_uint_16 _pad6; - br_uint_16 ax; - br_uint_16 _pad7; - br_uint_16 flags; - br_uint_16 es; - br_uint_16 ds; - br_uint_16 fs; - br_uint_16 gs; - br_uint_16 ip; - br_uint_16 cs; - br_uint_16 sp; - br_uint_16 ss; - }; - struct { - br_uint_32 _pad0[4]; - br_uint_8 bl; - br_uint_8 bh; - br_uint_8 _pad1; - br_uint_8 _pad2; - br_uint_8 dl; - br_uint_8 dh; - br_uint_8 _pad3; - br_uint_8 _pad4; - br_uint_8 cl; - br_uint_8 ch; - br_uint_8 _pad5; - br_uint_8 _pad6; - br_uint_8 al; - br_uint_8 ah; - br_uint_8 _pad7; - br_uint_8 _pad8; - }; -}; -struct host_info { - br_uint_32 size; - char identifier[40]; - br_uint_32 capabilities; - br_token processor_family; - br_token processor_type; -}; -typedef struct file_info file_info; -struct file_info { - br_uint_32 type; - br_uint_32 version; -}; -typedef struct pm_type_info pm_type_info; -typedef struct match_tokens match_tokens; -struct pm_type_info { - br_uint_16 bits; - br_uint_16 file_size; - br_uint_16 align; - br_uint_16 channels; -}; -struct match_tokens { - br_token use; - br_uint_8 pixel_type; - br_int_32 pixel_bits; - br_int_32 width; - br_int_32 height; - br_object *renderer; -}; -typedef struct object_list object_list; -typedef struct object_list_entry object_list_entry; -typedef struct token_match token_match; -struct object_list { - br_simple_list l; -}; -struct object_list_entry { - br_simple_node n; - br_object *h; -}; -struct token_match { - br_token_value *original; - br_token_value *query; - br_int_32 n; - void *extra; - br_size_t extra_size; -}; -typedef struct token_type token_type; -struct token_type { - char *identifier; - br_token type; - int length; -}; -typedef struct export_directory export_directory; -typedef struct import_directory import_directory; -typedef struct basereloc_header basereloc_header; -typedef struct msdos_header msdos_header; -typedef struct coff_header coff_header; -typedef struct nt_optional_header nt_optional_header; -typedef struct section_header section_header; -struct export_directory { - br_uint_32 flags; - br_uint_32 timestamp; - br_uint_16 major_version; - br_uint_16 minor_version; - br_uint_32 name; - br_uint_32 ordinal_base; - br_uint_32 n_entries; - br_uint_32 n_names; - br_uint_32 export_table; - br_uint_32 name_table; - br_uint_32 ordinal_table; -}; -struct import_directory { - br_uint_32 lookup_table; - br_uint_32 timestamp; - br_uint_32 forwarder; - br_uint_32 name; - br_uint_32 address_table; -}; -struct basereloc_header { - br_uint_32 rva; - br_uint_32 size; -}; -struct msdos_header { - br_uint_16 magic; - br_uint_16 last_page_bytes; - br_uint_16 pages; - br_uint_16 n_relocations; - br_uint_16 header_size; - br_uint_16 minalloc; - br_uint_16 maxalloc; - br_uint_16 start_ss; - br_uint_16 start_sp; - br_uint_16 checksum; - br_uint_16 start_ip; - br_uint_16 start_cs; - br_uint_16 reloc_offset; - br_uint_16 overlay_number; - br_uint_16 _reserved0[4]; - br_uint_16 oem_id; - br_uint_16 oem_info; - br_uint_16 _reserved1[10]; - br_uint_32 new_header_offset; -}; -struct coff_header { - br_uint_16 machine; - br_uint_16 n_sections; - br_uint_32 time_date; - br_uint_32 symbols_offset; - br_uint_32 n_symbols; - br_uint_16 opt_header_size; - br_uint_16 flags; -}; -struct nt_optional_header { - br_uint_16 magic; - br_uint_8 l_major; - br_uint_8 l_minor; - br_uint_32 code_size; - br_uint_32 data_size; - br_uint_32 bss_size; - br_uint_32 entry_point; - br_uint_32 code_base; - br_uint_32 data_base; - br_uint_32 image_base; - br_uint_32 section_alignment; - br_uint_32 file_alignment; - br_uint_16 os_major; - br_uint_16 os_minor; - br_uint_16 user_major; - br_uint_16 user_minor; - br_uint_16 subsys_major; - br_uint_16 subsys_minor; - br_uint_32 _reserved; - br_uint_32 image_size; - br_uint_32 header_size; - br_uint_32 file_checksum; - br_uint_16 subsystem; - br_uint_16 dll_flags; - br_uint_32 stack_reserve_size; - br_uint_32 stack_commit_size; - br_uint_32 heap_reserve_size; - br_uint_32 heap_commit_size; - br_uint_32 loader_flags; - br_uint_32 n_data_directories; - struct { +typedef struct dosio_event { + br_uint_16 type; + br_uint_16 qualifiers; + br_uint_32 value_1; + br_uint_32 value_2; +} dosio_event; + +typedef struct dosio_event_queue { + br_uint_16 total; + br_uint_16 count; + br_uint_16 head; + br_uint_16 tail; + dosio_event slots[1]; +} dosio_event_queue; + +typedef struct _stat { + dev_t st_dev; + ino_t st_ino; + unsigned short st_mode; + short st_nlink; + unsigned long st_uid; + short st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; + time_t st_btime; + unsigned long st_attr; + unsigned long st_archivedID; + unsigned long st_updatedID; + unsigned short st_inheritedRightsMask; + unsigned char st_originatingNameSpace; + unsigned char st_name[13]; +} _stat; + +typedef struct stat { + dev_t st_dev; + ino_t st_ino; + unsigned short st_mode; + short st_nlink; + unsigned long st_uid; + short st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; + time_t st_btime; + unsigned long st_attr; + unsigned long st_archivedID; + unsigned long st_updatedID; + unsigned short st_inheritedRightsMask; + unsigned char st_originatingNameSpace; + unsigned char st_name[13]; +} stat; + +typedef struct tMem_info { + unsigned int largest_block_avail; + unsigned int max_unlocked_page; + unsigned int largest_lockable_page; + unsigned int lin_addr_space; + unsigned int num_free_pages_avail; + unsigned int num_physical_pages_free; + unsigned int total_physical_pages; + unsigned int free_lin_addr_space; + unsigned int size_of_page_file; + unsigned int reserved[3]; +} tMem_info; + +typedef unsigned int jmp_buf[13]; +typedef struct pm_temp_edge { + pm_temp_edge *next; + br_uint_16 first; + br_uint_16 last; + char other; +} pm_temp_edge; + +typedef struct prep_vertex { + br_vector3 n; + br_uint_16 v; + br_uint_16 f; +} prep_vertex; + +typedef struct order_info { + br_uint_8 a0; + br_uint_8 a1; + br_uint_8 a2; + br_uint_8 _pad[1]; +} order_info; + +typedef struct transform_type { + br_uint_32 id; + br_file_struct *fs; +} transform_type; + +typedef struct resource_header { + br_simple_node node; + br_simple_list children; + br_uint_8 size_l; + br_uint_8 size_m; + br_uint_8 size_h; + br_uint_8 class; + void *magic_ptr; + int magic_num; +} resource_header; + +typedef struct host_real_memory { + br_uint_32 pm_off; + br_uint_16 pm_seg; + br_uint_16 _reserved; + br_uint_16 rm_off; + br_uint_16 rm_seg; +} host_real_memory; + +typedef struct host_regs { + struct { + br_uint_32 edi; + br_uint_32 esi; + br_uint_32 ebp; + br_uint_32 _res; + br_uint_32 ebx; + br_uint_32 edx; + br_uint_32 ecx; + br_uint_32 eax; + br_uint_16 flags; + br_uint_16 es; + br_uint_16 ds; + br_uint_16 fs; + br_uint_16 gs; + br_uint_16 ip; + br_uint_16 cs; + br_uint_16 sp; + br_uint_16 ss; + }; + struct { + br_uint_16 di; + br_uint_16 _pad0; + br_uint_16 si; + br_uint_16 _pad1; + br_uint_16 bp; + br_uint_16 _pad2; + br_uint_16 _res; + br_uint_16 _pad3; + br_uint_16 bx; + br_uint_16 _pad4; + br_uint_16 dx; + br_uint_16 _pad5; + br_uint_16 cx; + br_uint_16 _pad6; + br_uint_16 ax; + br_uint_16 _pad7; + br_uint_16 flags; + br_uint_16 es; + br_uint_16 ds; + br_uint_16 fs; + br_uint_16 gs; + br_uint_16 ip; + br_uint_16 cs; + br_uint_16 sp; + br_uint_16 ss; + }; + struct { + br_uint_32 _pad0[4]; + br_uint_8 bl; + br_uint_8 bh; + br_uint_8 _pad1; + br_uint_8 _pad2; + br_uint_8 dl; + br_uint_8 dh; + br_uint_8 _pad3; + br_uint_8 _pad4; + br_uint_8 cl; + br_uint_8 ch; + br_uint_8 _pad5; + br_uint_8 _pad6; + br_uint_8 al; + br_uint_8 ah; + br_uint_8 _pad7; + br_uint_8 _pad8; + }; +} host_regs; + +typedef struct host_info { + br_uint_32 size; + char identifier[40]; + br_uint_32 capabilities; + br_token processor_family; + br_token processor_type; +} host_info; + +typedef struct file_info { + br_uint_32 type; + br_uint_32 version; +} file_info; + +typedef struct pm_type_info { + br_uint_16 bits; + br_uint_16 file_size; + br_uint_16 align; + br_uint_16 channels; +} pm_type_info; + +typedef struct match_tokens { + br_token use; + br_uint_8 pixel_type; + br_int_32 pixel_bits; + br_int_32 width; + br_int_32 height; + br_object *renderer; +} match_tokens; + +typedef struct object_list { + br_simple_list l; +} object_list; + +typedef struct object_list_entry { + br_simple_node n; + br_object *h; +} object_list_entry; + +typedef struct token_match { + br_token_value *original; + br_token_value *query; + br_int_32 n; + void *extra; + br_size_t extra_size; +} token_match; + +typedef struct token_type { + char *identifier; + br_token type; + int length; +} token_type; + +typedef struct export_directory { + br_uint_32 flags; + br_uint_32 timestamp; + br_uint_16 major_version; + br_uint_16 minor_version; + br_uint_32 name; + br_uint_32 ordinal_base; + br_uint_32 n_entries; + br_uint_32 n_names; + br_uint_32 export_table; + br_uint_32 name_table; + br_uint_32 ordinal_table; +} export_directory; + +typedef struct import_directory { + br_uint_32 lookup_table; + br_uint_32 timestamp; + br_uint_32 forwarder; + br_uint_32 name; + br_uint_32 address_table; +} import_directory; + +typedef struct basereloc_header { br_uint_32 rva; br_uint_32 size; - }; -}; -struct section_header { - br_uint_8 section_name[8]; - br_uint_32 virtual_size; - br_uint_32 rva; - br_uint_32 data_size; - br_uint_32 data_offset; - br_uint_32 relocs_offset; - br_uint_32 linenums_offset; - br_uint_16 n_relocs; - br_uint_16 n_linenums; - br_uint_32 flags; -}; -typedef struct host_interrupt_hook host_interrupt_hook; -typedef struct host_exception_hook host_exception_hook; -struct host_interrupt_hook { - br_uint_8 vector; - br_boolean active; - br_uint_32 old_offset; - br_uint_16 old_sel; -}; -struct host_exception_hook { - br_uint_8 exception; - br_boolean active; - br_uint_32 old_offset; - br_uint_16 old_sel; - br_uint_8 scratch[256]; -}; -typedef struct ldt ldt; -struct ldt { - unsigned long limit_0: 10; - unsigned long base_0: 10; - unsigned long base_1: 8; - unsigned long type: 4; - unsigned long application: 1; - unsigned long dpl: 2; - unsigned long present: 1; - unsigned long limit_1: 4; - unsigned long system: 1; - unsigned long reserved: 1; - unsigned long use32: 1; - unsigned long granularity: 1; - unsigned long base_2: 8; -}; +} basereloc_header; -#endif \ No newline at end of file +typedef struct msdos_header { + br_uint_16 magic; + br_uint_16 last_page_bytes; + br_uint_16 pages; + br_uint_16 n_relocations; + br_uint_16 header_size; + br_uint_16 minalloc; + br_uint_16 maxalloc; + br_uint_16 start_ss; + br_uint_16 start_sp; + br_uint_16 checksum; + br_uint_16 start_ip; + br_uint_16 start_cs; + br_uint_16 reloc_offset; + br_uint_16 overlay_number; + br_uint_16 _reserved0[4]; + br_uint_16 oem_id; + br_uint_16 oem_info; + br_uint_16 _reserved1[10]; + br_uint_32 new_header_offset; +} msdos_header; + +typedef struct coff_header { + br_uint_16 machine; + br_uint_16 n_sections; + br_uint_32 time_date; + br_uint_32 symbols_offset; + br_uint_32 n_symbols; + br_uint_16 opt_header_size; + br_uint_16 flags; +} coff_header; + +typedef struct nt_optional_header { + br_uint_16 magic; + br_uint_8 l_major; + br_uint_8 l_minor; + br_uint_32 code_size; + br_uint_32 data_size; + br_uint_32 bss_size; + br_uint_32 entry_point; + br_uint_32 code_base; + br_uint_32 data_base; + br_uint_32 image_base; + br_uint_32 section_alignment; + br_uint_32 file_alignment; + br_uint_16 os_major; + br_uint_16 os_minor; + br_uint_16 user_major; + br_uint_16 user_minor; + br_uint_16 subsys_major; + br_uint_16 subsys_minor; + br_uint_32 _reserved; + br_uint_32 image_size; + br_uint_32 header_size; + br_uint_32 file_checksum; + br_uint_16 subsystem; + br_uint_16 dll_flags; + br_uint_32 stack_reserve_size; + br_uint_32 stack_commit_size; + br_uint_32 heap_reserve_size; + br_uint_32 heap_commit_size; + br_uint_32 loader_flags; + br_uint_32 n_data_directories; + struct { + br_uint_32 rva; + br_uint_32 size; + }; +} nt_optional_header; + +typedef struct section_header { + br_uint_8 section_name[8]; + br_uint_32 virtual_size; + br_uint_32 rva; + br_uint_32 data_size; + br_uint_32 data_offset; + br_uint_32 relocs_offset; + br_uint_32 linenums_offset; + br_uint_16 n_relocs; + br_uint_16 n_linenums; + br_uint_32 flags; +} section_header; + +typedef struct host_interrupt_hook { + br_uint_8 vector; + br_boolean active; + br_uint_32 old_offset; + br_uint_16 old_sel; +} host_interrupt_hook; + +typedef struct host_exception_hook { + br_uint_8 exception; + br_boolean active; + br_uint_32 old_offset; + br_uint_16 old_sel; + br_uint_8 scratch[256]; +} host_exception_hook; + +typedef struct ldt { + unsigned long limit_0: 10; + unsigned long base_0: 10; + unsigned long base_1: 8; + unsigned long type: 4; + unsigned long application: 1; + unsigned long dpl: 2; + unsigned long present: 1; + unsigned long limit_1: 4; + unsigned long system: 1; + unsigned long reserved: 1; + unsigned long use32: 1; + unsigned long granularity: 1; + unsigned long base_2: 8; +} ldt; + + +#endif diff --git a/tools/watcom-dump/README.md b/tools/watcom-dump/README.md new file mode 100644 index 00000000..169fa3f8 --- /dev/null +++ b/tools/watcom-dump/README.md @@ -0,0 +1,46 @@ +# Watcom dump tools + +### parse_dump.py + +Takes an [exedump](https://github.com/jeff-1amstudios/open-watcom-v2/tree/master/bld/exedump) output file and generates skeleton "c" project files containing functions, structs, enums and global variables. + +It was used to generate the first commits of [src](../../src) directory. + +Example output: +```c + +typedef enum tPowerup_type { + ePowerup_dummy = 0, + ePowerup_instantaneous = 1, + ePowerup_timed = 2, + ePowerup_whole_race = 3 +} tPowerup_type; + +struct tPedestrian_action { + float danger_level; + float percentage_chance; + int number_of_bearings; + int number_of_sounds; + int sounds[3]; + tBearing_sequence sequences[7]; + float initial_speed; + float looping_speed; + tU32 reaction_time; +}; + +// Offset: 9548 +// Size: 1603 +// EAX: c +void CalcEngineForce(tCar_spec *c, br_scalar dt) { + br_scalar torque; + br_scalar ts; + br_scalar ts2; + br_scalar brake_temp; + int sign; + tS32 temp_for_swap; +} +``` + +### split-dump.sh +Takes a [exedump](https://github.com/jeff-1amstudios/open-watcom-v2/tree/master/bld/exedump) output file and splits it into a single file per module for easier debugging. + diff --git a/parse_watcom_dump.py b/tools/watcom-dump/parse_dump.py similarity index 92% rename from parse_watcom_dump.py rename to tools/watcom-dump/parse_dump.py index 84ebdb0c..1116f465 100755 --- a/parse_watcom_dump.py +++ b/tools/watcom-dump/parse_dump.py @@ -1,7 +1,20 @@ #!/usr/bin/env python3 -u + +####################################################### +# Parses Watcom "exedump" output into c skeleton coode +# exedump: https://github.com/jeff-1amstudios/open-watcom-v2/tree/master/bld/exedump +# +# Writes c code into "./_generated" directory +# +# Usage: parse_dump.py +####################################################### +import sys import re import os import errno +import shutil + +BASE_OUTPUT_DIR = '_generated/' module_start_regex = '\d+\\) Name:\s+(\S+)' LOCAL_HEADER_REGEX = '(\S+):\s+(\S+)' @@ -26,14 +39,14 @@ ENUM_ITEM_REGEX = '"(\S+)" value = (\S+)' SECTION_UNDERLINE = '^(=*)$' # ignore these lines -fp = open('full_dump.txt', 'r') +fp = open(sys.argv[1], 'r') STATE_NONE = 0 STATE_MODULE = 1 STATE_LOCALS = 2 STATE_TYPES = 3 -INDENT_SPACES = 2 +INDENT_SPACES = 4 modules = [] scopes = [] @@ -328,12 +341,6 @@ def process_type(current_module, type_name): def resolve_type_str(module, type_idx, var_name, decl=True): global indent - # if var_name != None: - # var_name = ' ' + var_name + ' ' - if type_idx not in module['types']: - print('ERROR: type', type_idx, 'not found in', module['name'], 'line', line_number) - return '__unk{}__'.format(type_idx) - original_type = module['types'][type_idx] t = module['types'][type_idx] bounds = '' @@ -452,16 +459,7 @@ def resolve_function_signature(module, fn): if 'value' in arg_type and arg_type['value'] == 'void': continue - if len(fn['local_vars']) <= i: - print('WARNING: missing local var for', fn['name'], i) - print('context:', args) - print('locals:') - print(fn['local_vars']) - print('args:') - print(fn_type['args']) - name = '__unk{}__'.format(i) - else: - name = fn['local_vars'][i]['name'] + name = fn['local_vars'][i]['name'] arg_type = resolve_type_str(module, arg, name, False) if arg_type == 'void ?no_name?': continue @@ -534,6 +532,7 @@ def get_struct_tag_name(module, t): def get_type_declaration(module, t, name): global indent indirections = '' + bounds = '' while 'base_type' in t: if t['type'] == 'NEAR386 PTR' or t['type'] == 'FAR386 PTR': indirections = indirections + '*' @@ -541,7 +540,7 @@ def get_type_declaration(module, t, name): bounds = bounds + '[{}]'.format(t['upper_bound']+1) t = module['types'][t['base_type']] - print ('type decl', t) + #print ('type decl', t) if t['type'] == 'FIELD_LIST': s = 'struct' tag_name = get_struct_tag_name(module, t) @@ -552,7 +551,7 @@ def get_type_declaration(module, t, name): for e in reversed(t['fields']): s += '\n' s += ' ' * (indent * INDENT_SPACES) - s += ' ' + resolve_type_str(module, e['type_idx'], e['name']); + s += (' ' * INDENT_SPACES) + resolve_type_str(module, e['type_idx'], e['name']); if e['type'] == 'BIT_BYTE': s += ': ' + str(e['bit_size']) s += ';' @@ -572,7 +571,7 @@ def get_type_declaration(module, t, name): elif t['type'] == 'SCALAR' or t['type'] == 'NAME': if indirections != '': indirections = ' ' + indirections - return t['value'] + indirections + ' ' + name + '' + return t['value'] + indirections + ' ' + name + bounds else: return 'WARN: No decl for ' + t['type'] @@ -580,10 +579,14 @@ def generate_c_skeleton(): global dr_types_file global br_types_file - mkdir_p('src/types') + try: + shutil.rmtree(BASE_OUTPUT_DIR) + except: + pass + mkdir_p(BASE_OUTPUT_DIR + '/types') - dr_types_file = open('src/types/dr_types.h', 'w') - br_types_file = open('src/types/br_types.h', 'w') + dr_types_file = open(BASE_OUTPUT_DIR + '/types/dr_types.h', 'w') + br_types_file = open(BASE_OUTPUT_DIR + '/types/br_types.h', 'w') dr_types_file.write("#ifndef DR_TYPES_H\n") dr_types_file.write("#define DR_TYPES_H\n\n") @@ -593,34 +596,43 @@ def generate_c_skeleton(): br_types_file.write("#define BR_TYPES_H\n\n") for m in modules: + # ignore lib modules if 'DETHRACE' not in m['name'] and 'BRSRC13' not in m['name']: - #print("ignoring", m['name']) + print("ignoring", m['name']) continue print(m['name']) print('-----------------------') - #generate_h_file(m) - #generate_c_file(m) + generate_h_file(m) + generate_c_file(m) generate_types_header(m) br_types_file.write("\n#endif") dr_types_file.write("\n#endif") def generate_h_file(module): - filename = 'src/' + module['name'][3:].replace('\\', '/').replace('.c', '.h') + filename = BASE_OUTPUT_DIR + module['name'][3:].replace('\\', '/').replace('.c', '.h') dir = os.path.dirname(filename) + name = os.path.basename(filename) + mkdir_p(dir) h_file = open(filename, 'w') + + def_name = '_' + name.upper().replace('.', '_') + '_' + h_file.write('#ifndef ' + def_name + '\n') + h_file.write('#define ' + def_name + '\n\n') + h_file.write('#include \"dr_types.h\"\n') - h_file.write('#include \"br_types.h\"\n') + h_file.write('#include \"br_types.h\"\n\n') for fn in module['functions']: h_file.write(resolve_function_header(module, fn)) h_file.write('\n') h_file.write(resolve_function_signature(module, fn) + ';') h_file.write('\n\n') + h_file.write('#endif\n') def generate_c_file(module): - filename = 'src/' + module['name'][3:].replace('\\', '/') + filename = BASE_OUTPUT_DIR + module['name'][3:].replace('\\', '/') c_file = open(filename, 'w') c_file.write('#include \"') @@ -628,7 +640,6 @@ def generate_c_file(module): c_file.write('\"\n\n') # global variables - c_file.write('// Global variables\n') for gv in module['global_vars']: # print('gv:', gv) str = resolve_type_str(module, gv['type'], gv['name']) @@ -650,7 +661,7 @@ def generate_c_file(module): # print fn # print module['types'][fn['type']] for v in fn['local_vars'][arg_count:]: - c_file.write(' ') + c_file.write(' ' * INDENT_SPACES) str = resolve_type_str(module, v['type'], v['name']) c_file.write(str) c_file.write(';\n') @@ -704,17 +715,17 @@ def generate_types_header(module): for e in reversed(t['elements']): if not first_elem: s += ',' - s += '\n {} = {}'.format(e['name'], e['value']) + s += '\n{}{} = {}'.format((' ' * INDENT_SPACES), e['name'], e['value']) first_elem = False - s += '\n}} {};\n\n'.format(type_name) + s += '\n}} {};\n'.format(type_name) enums[type_name] = s elif t['type'] == 'FIELD_LIST': type_name = get_struct_name(module, t) tag_name = get_struct_tag_name(module, t) s = 'typedef struct ' + tag_name + ' ' + type_name + ';\n' - typedefs[type_name] = s + #typedefs[type_name] = s - s = get_type_declaration(module, t, type_name) + ';\n' + s = 'typedef ' + get_type_declaration(module, t, type_name) + ' ' + type_name + ';\n\n' structs[type_name] = s elif t['type'] == 'SCALAR' or t['type'] == 'NAME': s = 'typedef ' + get_type_declaration(module, t, type_name) + ';\n' @@ -725,8 +736,9 @@ def generate_types_header(module): elif 'NEAR386' in t['type'] or 'FAR386' in t['type']: s = 'typedef ' + get_type_declaration(module, t, type_name) + ';\n' typedefs[type_name] = s - if s == 'typedef ;\n': - print ('got empty s') + elif 'ARRAY' in t['type']: + s = 'typedef ' + get_type_declaration(module, t, type_name) + ';\n' + typedefs[type_name] = s else: print('ignoring type', type_name, t) diff --git a/tools/watcom-dump/split-dump.sh b/tools/watcom-dump/split-dump.sh new file mode 100755 index 00000000..355a1381 --- /dev/null +++ b/tools/watcom-dump/split-dump.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +####################################################### +# Splits a Watcom "exedump" output file into a separate +# file per module for easier debugging. +# exedump: https://github.com/jeff-1amstudios/open-watcom-v2/tree/master/bld/exedump +# +# Writes per module files into "./_generated_dump" directory +# +# Usage: split_dump.sh +####################################################### + +FILE=$1 +SECTION=-1 + +mkdir -p _generated_dump + +while IFS= read -r line +do + if [[ "$line" == *") Name: "* ]]; then + (( SECTION++ )) + fi + if [ ${SECTION} -gt -1 ]; then + echo "$line" >> "_generated_dump/${SECTION}_dump.txt" + fi +done <$FILE