@@ -149,55 +149,16 @@ void DECOMP_VehPhysProc_Driving_PhysLinear(struct Thread* thread, struct Driver*
149149
150150 // === Check Last Place ===
151151
152+ int numDriverInRace =
153+ gGT -> numPlyrCurrGame + gGT -> numBotsNextGame ;
152154
153- driverRankItemValue = driver -> driverRank ;
154-
155- // Basically, if racer is in last place in any possible race scenario
156- if
157- (
158- (
159- (
160- (
161- // If racer is in 8th place
162- (driverRankItemValue == 7 ) &&
163-
164- // If numPlyrCurrGame is 1
165- (gGT -> numPlyrCurrGame == 1 )
166- ) ||
167- (
168- (
169- // If racer is in 6th place
170- driverRankItemValue == 5 &&
171-
172- // if numPlyrCurrGame is 2
173- (gGT -> numPlyrCurrGame == 2 )
174- )
175- )
176- ) ||
177- (
178- (
179- // if racer is in 4th place
180- driverRankItemValue == 3 &&
181-
182- // if numPlyrCurrGame is more than 2
183- (2 < (u_char )gGT -> numPlyrCurrGame )
184- )
185- )
186- ) &&
187- (
188- // race timer is not frozen for this player
189- (driver -> actionsFlagSet & 0x40000 ) == 0
190- )
191- )
192- {
193- // Increase the time racer has been in last place by elapsed milliseconds
194- driver -> timeSpentInLastPlace += msPerFrame ;
195- }
196-
155+ // Last Place, and time is unfrozen
156+ if (driver -> driverRank == (numDriverInRace - 1 ))
157+ if ((driver -> actionsFlagSet & 0x40000 ) == 0 )
158+ driver -> timeSpentInLastPlace += msPerFrame ;
197159
198160 // === Determine Hazard ===
199161
200-
201162 driverRankItemValue = 4 ;
202163
203164 // if you have a raincloud over your head from potion
0 commit comments