From d72458058d47b02d6bd14828fcb2610c4ab66d61 Mon Sep 17 00:00:00 2001 From: mittorn Date: Sat, 27 Oct 2018 06:05:45 +0000 Subject: [PATCH] Update score display, fix crash --- dlls/gravgunmod.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/gravgunmod.cpp b/dlls/gravgunmod.cpp index 45bb8777..aafa4b14 100644 --- a/dlls/gravgunmod.cpp +++ b/dlls/gravgunmod.cpp @@ -978,6 +978,8 @@ bool GGM_RestorePosition( CBasePlayer *pPlayer, struct GGMPosition *pos ) return true; } +extern int gmsgScoreInfo; + bool GGM_RestoreState( CBasePlayer *pPlayer ) { GGMPlayerState *pState = pPlayer->gravgunmod_data.pState; @@ -990,6 +992,16 @@ bool GGM_RestoreState( CBasePlayer *pPlayer ) pPlayer->pev->frags = pState->t.iFrags; pPlayer->m_iDeaths = pState->t.iDeaths; + + // update the scores + MESSAGE_BEGIN( MSG_ALL, gmsgScoreInfo ); + WRITE_BYTE( ENTINDEX(pPlayer->edict()) ); + WRITE_SHORT( (int)pPlayer->pev->frags ); + WRITE_SHORT( pPlayer->m_iDeaths ); + WRITE_SHORT( 0 ); + WRITE_SHORT( 0 ); + MESSAGE_END(); + if( pState->t.flHealth < 1 ) return false; pPlayer->pev->armorvalue = pState->t.flBattery; @@ -1735,6 +1747,8 @@ GGM_PlayerMenu &GGM_PlayerMenu::New( const char *title, bool force ) extern int gmsgShowMenu; void GGM_PlayerMenu::Show() { + if( !pPlayer ) + return; if( pPlayer->gravgunmod_data.m_fTouchMenu) { char buf[256];