From 1c150106f87b421e8295bb6681972b701869da8b Mon Sep 17 00:00:00 2001 From: sirius Date: Fri, 27 Sep 2019 17:16:48 +0800 Subject: [PATCH] demoplayer disconnect when render finished --- src/engine/client/client.cpp | 4 ++++ src/engine/client/client.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp index 44a6c541f..24180c682 100644 --- a/src/engine/client/client.cpp +++ b/src/engine/client/client.cpp @@ -778,6 +778,7 @@ void CClient::DisconnectWithReason(const char *pReason) void CClient::Disconnect() { + m_ButtonRender = false; if(m_DummyConnected) DummyDisconnect(0); if(m_State != IClient::STATE_OFFLINE) @@ -2515,6 +2516,8 @@ void CClient::Update() IVideo::Current()->nextVideoFrame(); } } + else if(m_ButtonRender) + Disconnect(); #endif @@ -3573,6 +3576,7 @@ const char *CClient::DemoPlayer_Render(const char *pFilename, int StorageType, c // enter demo playback state SetState(IClient::STATE_DEMOPLAYBACK); + m_ButtonRender = true; this->CClient::StartVideo(NULL, this, pVideoName); m_DemoPlayer.Play(); diff --git a/src/engine/client/client.h b/src/engine/client/client.h index fe77d5990..cf7f8aa5a 100644 --- a/src/engine/client/client.h +++ b/src/engine/client/client.h @@ -122,6 +122,7 @@ class CClient : public IClient, public CDemoPlayer::IListener int m_UseTempRconCommands; char m_Password[32]; bool m_SendPassword; + bool m_ButtonRender=false; // version-checking char m_aVersionStr[10];