mirror of
https://github.com/rehlds/rehlds.git
synced 2025-04-09 02:50:09 +03:00
-Remove delay in recording demos.
-Stop demo after new world is appear.
This commit is contained in:
parent
a07e88b147
commit
300d03eb85
@ -157,6 +157,11 @@ void DemoClient::RunFrame(double time)
|
|||||||
|
|
||||||
void DemoClient::SendDatagram()
|
void DemoClient::SendDatagram()
|
||||||
{
|
{
|
||||||
|
#ifndef HLTV_FIXES
|
||||||
|
/*
|
||||||
|
* Delaying frames to demo is wrong.
|
||||||
|
* Early stopping demo will lost server frames.
|
||||||
|
*/
|
||||||
if (m_Proxy->GetDelay() > 0)
|
if (m_Proxy->GetDelay() > 0)
|
||||||
{
|
{
|
||||||
double worldTime = m_Proxy->GetSpectatorTime();
|
double worldTime = m_Proxy->GetSpectatorTime();
|
||||||
@ -173,7 +178,7 @@ void DemoClient::SendDatagram()
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
frame_t *frame = m_World->GetLastFrame();
|
frame_t *frame = m_World->GetLastFrame();
|
||||||
if (frame) {
|
if (frame) {
|
||||||
WriteDatagram(frame->time, frame);
|
WriteDatagram(frame->time, frame);
|
||||||
|
@ -106,6 +106,11 @@ void Proxy::AddNextWorld()
|
|||||||
if (m_Server->IsConnected()) {
|
if (m_Server->IsConnected()) {
|
||||||
m_Server->Reconnect();
|
m_Server->Reconnect();
|
||||||
}
|
}
|
||||||
|
if (m_DemoClient.IsActive())
|
||||||
|
{
|
||||||
|
m_DemoClient.Reconnect();
|
||||||
|
m_DemoClient.SetWorld(nextWorld);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
bool Proxy::Init(IBaseSystem *system, int serial, char *name)
|
bool Proxy::Init(IBaseSystem *system, int serial, char *name)
|
||||||
@ -345,18 +350,7 @@ void Proxy::RunFrame(double time)
|
|||||||
// We can't RemoveModule m_World right now because it will fire events to unload us.
|
// We can't RemoveModule m_World right now because it will fire events to unload us.
|
||||||
// Store it in temp var to unload it after set new world
|
// Store it in temp var to unload it after set new world
|
||||||
IWorld* oldWorld = m_World;
|
IWorld* oldWorld = m_World;
|
||||||
m_World = head;
|
m_World = head;
|
||||||
if (m_DemoClient.IsActive())
|
|
||||||
{
|
|
||||||
m_DemoClient.Disconnect("End of Record");
|
|
||||||
m_DemoClient.SetProxy(this);
|
|
||||||
m_DemoClient.SetWorld(m_World);
|
|
||||||
if (m_DemoClient.Connect())
|
|
||||||
{
|
|
||||||
m_DemoClient.SetUpdateRate(m_MaxUpdateRate);
|
|
||||||
m_DemoClient.SetRate(m_MaxRate);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_Worlds.RemoveHead();
|
m_Worlds.RemoveHead();
|
||||||
NewGameStarted();
|
NewGameStarted();
|
||||||
ReconnectClients();
|
ReconnectClients();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user