1212#include "players.h"
1313#include "main.h"
1414
15+ #if USE_PC_FILESYSTEM
16+ extern int gContentOverride ;
17+
18+ // [A] loads car model from file
19+ char * LoadCustomCarDentingFromFile (char * dest , int modelNumber )
20+ {
21+ char * mem ;
22+ char filename [64 ];
23+
24+ sprintf (filename , "LEVELS\\%s\\CARMODEL_%d.DEN" , LevelNames [GameLevel ], modelNumber );
25+ if (FileExists (filename ))
26+ {
27+ mem = dest ? dest : ((char * )_other_buffer + modelNumber * 4096 );
28+
29+ // get model from file
30+ Loadfile (filename , mem );
31+ return mem ;
32+ }
33+
34+ return NULL ;
35+ }
36+ #endif
37+
1538char * DentingFiles [] =
1639{
1740 "LEVELS\\CHICAGO.DEN" ,
@@ -377,27 +400,6 @@ void MoveHubcap()
377400 }
378401}
379402
380- #ifndef PSX
381- // [A] loads car model from file
382- char * LoadCarDentingFromFile (char * dest , int modelNumber )
383- {
384- char * mem ;
385- char filename [64 ];
386-
387- sprintf (filename , "LEVELS\\%s\\CARMODEL_%d.DEN" , LevelNames [GameLevel ], modelNumber );
388- if (FileExists (filename ))
389- {
390- mem = dest ? dest : ((char * )_other_buffer + modelNumber * 4096 );
391-
392- // get model from file
393- Loadfile (filename , mem );
394- return mem ;
395- }
396-
397- return NULL ;
398- }
399- #endif
400-
401403// [D] [T]
402404void ProcessDentLump (char * lump_ptr , int lump_size )
403405{
@@ -424,11 +426,11 @@ void ProcessDentLump(char *lump_ptr, int lump_size)
424426 {
425427 offset = * (int * )(lump_ptr + model * 4 );
426428 mem = (u_char * )lump_ptr ;
427- #ifndef PSX
428- extern int gContentOverride ;
429+ #if USE_PC_FILESYSTEM
429430 if (gContentOverride )
430431 {
431- char * newDenting = LoadCarDentingFromFile (NULL , model );
432+ char * newDenting ;
433+ newDenting = LoadCustomCarDentingFromFile (NULL , model );
432434 if (newDenting )
433435 {
434436 mem = (u_char * )newDenting ;
@@ -454,6 +456,20 @@ void SetupSpecDenting(char *loadbuffer)
454456{
455457 int offset ;
456458
459+ #if USE_PC_FILESYSTEM
460+ if (gContentOverride )
461+ {
462+ char * newDenting ;
463+ int model ;
464+ model = MissionHeader -> residentModels [4 ];
465+
466+ newDenting = LoadCustomCarDentingFromFile (NULL , model );
467+ if (newDenting )
468+ loadbuffer = newDenting ;
469+ }
470+
471+ #endif
472+
457473 // [A] this is better
458474 memcpy ((u_char * )gCarDamageZoneVerts [4 ], (u_char * )loadbuffer , NUM_DAMAGE_ZONES * MAX_FILE_DAMAGE_ZONE_VERTS );
459475 offset = NUM_DAMAGE_ZONES * MAX_FILE_DAMAGE_ZONE_VERTS ;
0 commit comments