Preserve spectatewait between maps

- Add spectatewait to G_PlayerReborn
- This was making shuffeloser not work
- Testing setup
  - `-server -splitscreen 4 +shuffleloser 1 +maxplayers 2 +numlaps 0 +debugstart 0 +inttime 0 +advancemap random`
  - Spectate two players, go to map
This commit is contained in:
James R 2025-05-25 00:58:50 -07:00
parent 661d22bb4a
commit 0fc22e5fbd

View file

@ -2262,6 +2262,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
INT32 kickstartaccel; INT32 kickstartaccel;
INT32 checkpointId; INT32 checkpointId;
boolean enteredGame; boolean enteredGame;
tic_t spectatewait;
UINT8 lastsafelap; UINT8 lastsafelap;
UINT8 lastsafecheatcheck; UINT8 lastsafecheatcheck;
UINT16 bigwaypointgap; UINT16 bigwaypointgap;
@ -2551,6 +2552,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
checkpointId = players[player].checkpointId; checkpointId = players[player].checkpointId;
enteredGame = players[player].enteredGame; enteredGame = players[player].enteredGame;
spectatewait = players[player].spectatewait;
p = &players[player]; p = &players[player];
memset(p, 0, sizeof (*p)); memset(p, 0, sizeof (*p));
@ -2624,6 +2626,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
p->karthud[khud_fault] = khudfault; p->karthud[khud_fault] = khudfault;
p->kickstartaccel = kickstartaccel; p->kickstartaccel = kickstartaccel;
p->checkpointId = checkpointId; p->checkpointId = checkpointId;
p->spectatewait = spectatewait;
p->ringvolume = 255; p->ringvolume = 255;
p->ringtransparency = 255; p->ringtransparency = 255;