mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Fix loop desyncs (by making loop end point sorting consistent)
This commit is contained in:
parent
cd9e4f4364
commit
68a1271ab0
1 changed files with 6 additions and 2 deletions
|
|
@ -784,9 +784,13 @@ static int cmp_loopends(const void *a, const void *b)
|
|||
*mt2 = *(const mapthing_t*const*)b;
|
||||
|
||||
// weighted sorting; tag takes precedence over type
|
||||
return
|
||||
intsign(mt1->tid - mt2->tid) * 2 +
|
||||
const int maincomp = intsign(mt1->tid - mt2->tid) * 2 +
|
||||
intsign(mt1->thing_args[0] - mt2->thing_args[0]);
|
||||
|
||||
// JugadorXEI (04/20/25): If a qsort comparison ends up with an equal result,
|
||||
// it results in UNSPECIFIED BEHAVIOR, so assuming the previous two comparisons
|
||||
// are equal, let's make it consistent with Linux behaviour (ascending order).
|
||||
return maincomp != 0 ? maincomp : intsign((mt1 - mapthings) - (mt2 - mapthings));
|
||||
}
|
||||
|
||||
static void P_SpawnMapThings(boolean spawnemblems)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue