@@ -2162,7 +2162,7 @@ void CheckSpecialSpool(void)
21622162 specialState == SpecSpool_None &&
21632163 GameType != GAME_PURSUIT &&
21642164 LoadedArea != -1 &&
2165- SpecialByRegion [GameLevel ][LoadedArea ] != MissionHeader -> residentModels [4 ]- 7 )
2165+ SpecialByRegion [GameLevel ][LoadedArea ] != MissionHeader -> residentModels [4 ] - 7 )
21662166 {
21672167 lcp = car_data ;
21682168
@@ -2184,7 +2184,7 @@ void CheckSpecialSpool(void)
21842184 gCarLowModelPtr [4 ] = NULL ;
21852185
21862186 specSpoolModelIndex = SpecialByRegion [GameLevel ][LoadedArea ];
2187- MissionHeader -> residentModels [4 ] = SpecialByRegion [ GameLevel ][ LoadedArea ] + 7 ;
2187+ MissionHeader -> residentModels [4 ] = specSpoolModelIndex + 7 ;
21882188
21892189 SpecialStartNextBlock ();
21902190 }
@@ -2201,7 +2201,7 @@ void QuickSpoolSpecial(void)
22012201 gCarDamModelPtr [4 ] = NULL ;
22022202 gCarLowModelPtr [4 ] = NULL ;
22032203
2204- specSpoolModelIndex = MissionHeader -> residentModels [4 ]- 7 ;
2204+ specSpoolModelIndex = MissionHeader -> residentModels [4 ] - 7 ;
22052205
22062206 do {
22072207 SpoolSYNC ();
@@ -2214,6 +2214,12 @@ void QuickSpoolSpecial(void)
22142214// [D] [T]
22152215void PrepareSecretCar (void )
22162216{
2217+ // [A] Don't do anything if model is already spooled
2218+ if (MissionHeader -> residentModels [4 ] == 12 )
2219+ {
2220+ return ;
2221+ }
2222+
22172223 allowSpecSpooling = 0 ;
22182224 PingOutAllSpecialCivCars ();
22192225
@@ -2222,9 +2228,10 @@ void PrepareSecretCar(void)
22222228 gCarLowModelPtr [4 ] = NULL ;
22232229
22242230 specSpoolModelIndex = 5 ;
2231+ MissionHeader -> residentModels [4 ] = 12 ;
2232+
22252233 specModelValid = 0 ;
22262234 startSpecSpool = CameraCnt ;
2227- MissionHeader -> residentModels [4 ] = 12 ;
22282235 specialState = SpecSpool_None ;
22292236 specBlocksToLoad = 0 ;
22302237 SpecialStartNextBlock ();
0 commit comments