Fix APC/BIGAPC wheels when player wasted equivalent cop car in previous race
This commit is contained in:
parent
a5dfa782a4
commit
c0c91bbb61
|
|
@ -1891,9 +1891,17 @@ void LoadCar(char* pCar_name, tDriver pDriver, tCar_spec* pCar_spec, int pOwner,
|
|||
int vertex_total;
|
||||
|
||||
if (pDriver == eDriver_local_human) {
|
||||
#if defined(DETHRACE_FIX_BUGS)
|
||||
// Player's APC/BIGAPC wheels got stuck if the equivalent cop car was wasted in previous race
|
||||
if (strcmp(gProgram_state.car_name, pCar_name) == 0 &&
|
||||
strcmp(gProgram_state.car_name, "APC.TXT") != 0 &&
|
||||
strcmp(gProgram_state.car_name, "BIGAPC.TXT") != 0)
|
||||
return;
|
||||
#else
|
||||
if (strcmp(gProgram_state.car_name, pCar_name) == 0) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (gProgram_state.car_name[0] != '\0') {
|
||||
DisposeCar(&gProgram_state.current_car, gProgram_state.current_car.index);
|
||||
ClearOutStorageSpace(&gOur_car_storage_space);
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "utility.h"
|
||||
#include "world.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
// GLOBAL: CARM95 0x00509a60
|
||||
int gLast_wrong_checkpoint;
|
||||
|
|
@ -500,6 +501,10 @@ void DoGame(void) {
|
|||
int second_select_race;
|
||||
int first_summary_done;
|
||||
int i;
|
||||
#if defined(DETHRACE_FIX_BUGS)
|
||||
// Player's APC/BIGAPC wheels got stuck if the equivalent cop car was wasted in previous race
|
||||
int power_up_levels[3];
|
||||
#endif
|
||||
|
||||
gAbandon_game = 0;
|
||||
gDisallow_abandon_race = 0;
|
||||
|
|
@ -538,6 +543,28 @@ void DoGame(void) {
|
|||
DoNewGameAnimation();
|
||||
StartLoadingScreen();
|
||||
if (gNet_mode == eNet_mode_none) {
|
||||
#if defined(DETHRACE_FIX_BUGS)
|
||||
// Player's APC/BIGAPC wheels got stuck if the equivalent cop car was wasted in previous race
|
||||
if(strcmp(gProgram_state.car_name, "APC.TXT") == 0 ||
|
||||
strcmp(gProgram_state.car_name, "BIGAPC.TXT") == 0) {
|
||||
AboutToLoadFirstCar();
|
||||
SwitchToRealResolution();
|
||||
for (i = 0; i < COUNT_OF(power_up_levels); i++) {
|
||||
power_up_levels[i] = gProgram_state.current_car.power_up_levels[i];
|
||||
}
|
||||
LoadCar(gOpponents[gProgram_state.cars_available[gCurrent_car_index]].car_file_name,
|
||||
eDriver_local_human,
|
||||
&gProgram_state.current_car,
|
||||
gProgram_state.cars_available[gCurrent_car_index],
|
||||
gProgram_state.player_name[gProgram_state.frank_or_anniness],
|
||||
&gOur_car_storage_space);
|
||||
for (i = 0; i < COUNT_OF(power_up_levels); i++) {
|
||||
gProgram_state.current_car.power_up_levels[i] = power_up_levels[i];
|
||||
}
|
||||
SwitchToLoresMode();
|
||||
SetCarStorageTexturingLevel(&gOur_car_storage_space, GetCarTexturingLevel(), eCTL_full);
|
||||
}
|
||||
#endif
|
||||
LoadOpponentsCars(&gCurrent_race);
|
||||
} else {
|
||||
if (gCurrent_net_game->options.random_car_choice
|
||||
|
|
|
|||
Loading…
Reference in New Issue