diff --git a/dlls/client.cpp b/dlls/client.cpp index 3ed3b664..27c9e6bf 100644 --- a/dlls/client.cpp +++ b/dlls/client.cpp @@ -691,7 +691,6 @@ void ClientUserInfoChanged( edict_t *pEntity, char *infobuffer ) const char *name = g_engfuncs.pfnInfoKeyValue( infobuffer, "name" ); - // prevent keeping other's uid on saverestore CBasePlayer *pPlayer = GetClassPtr((CBasePlayer *)&pEntity->v); const char *uid = GGM_GetAuthID( pPlayer ); @@ -701,10 +700,10 @@ void ClientUserInfoChanged( edict_t *pEntity, char *infobuffer ) if( pState != pPlayer->m_ggm.pState ) { - GGM_SaveState( pPlayer ); pEntity->v.netname = pEntity->v.frags = 0; if( pPlayer->m_ggm.iState == STATE_LOAD_FIX ) return; + GGM_SaveState( pPlayer ); pPlayer->m_ggm.pState = pState; pPlayer->m_ggm.iState = STATE_UNINITIALIZED; } diff --git a/dlls/coop.cpp b/dlls/coop.cpp index 631812ae..43e52f03 100644 --- a/dlls/coop.cpp +++ b/dlls/coop.cpp @@ -518,7 +518,7 @@ void COOP_ServerActivate( void ) return; } - ALERT( at_console, "COOP_ServerActivate: %s", STRING( gpGlobals->mapname ) ); + ALERT( at_console, "COOP_ServerActivate: %s\n", STRING( gpGlobals->mapname ) ); if( g_flDupCheck && gpGlobals->time && ( fabs( g_flDupCheck -gpGlobals->time ) < 1 || g_flDupCheck == 1 ) ) { @@ -565,6 +565,7 @@ void COOP_ServerActivate( void ) plr->m_ggm.iState = STATE_UNINITIALIZED; + plr->m_ggm.pState = NULL; plr->RemoveAllItems( TRUE ); UTIL_BecomeSpectator( plr ); if( g_CoopState.landmarkTransition.fLoading ) diff --git a/dlls/multiplay_gamerules.cpp b/dlls/multiplay_gamerules.cpp index 7006d397..e9b78716 100644 --- a/dlls/multiplay_gamerules.cpp +++ b/dlls/multiplay_gamerules.cpp @@ -568,6 +568,7 @@ void CHalfLifeMultiplay::PlayerThink( CBasePlayer *pPlayer ) { CLIENT_COMMAND( pPlayer->edict(), "reconnect\n" ); pPlayer->m_ggm.iState = STATE_UNINITIALIZED; + pPlayer->m_ggm.pState = NULL; pPlayer->m_afButtonPressed = 0; return; } diff --git a/dlls/triggers.cpp b/dlls/triggers.cpp index db968709..30dfa30d 100644 --- a/dlls/triggers.cpp +++ b/dlls/triggers.cpp @@ -1803,6 +1803,7 @@ void CChangeLevel::ChangeLevelNow( CBaseEntity *pActivator ) { GGM_SaveState( plr ); plr->m_ggm.iState = STATE_UNINITIALIZED; + plr->m_ggm.pState = NULL; plr->RemoveAllItems( TRUE ); UTIL_BecomeSpectator( plr ); // HACK: force perform reconnection