Staffsync excludes many RNG classes

This commit is contained in:
Antonio Martinez 2025-09-27 20:38:42 -04:00
parent 667ad18339
commit 3d16ecd7e9

View file

@ -305,14 +305,30 @@ boolean G_ConsiderEndingDemoRead(void)
// Demo failed sync during a sync test! Log the failure to be reported later.
static boolean G_FailStaffSync(staffsync_reason_t reason, UINT32 extra)
{
if (demo.attract != DEMO_ATTRACT_OFF) // Don't shout about RNG desyncs in titledemos
return false;
if (!staffsync)
return true;
if (staffsync_results[staffsync_failed].reason != 0)
return false;
if (reason == SYNC_RNG && extra == PR_ITEM_DEBRIS)
return false;
if (reason == SYNC_RNG)
{
switch (extra)
{
case PR_ITEM_DEBRIS:
case PR_RANDOMAUDIENCE:
case PR_VOICES:
case PR_DECORATION:
case PR_RANDOMANIM:
CONS_Printf("[!] Ignored desync from RNG class %d\n", extra);
return false;
default:
break;
}
}
staffsync_results[staffsync_failed].map = gamemap;
memcpy(&staffsync_results[staffsync_failed].name, player_names[consoleplayer], sizeof(player_names[consoleplayer]));