mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
fix correct dummy-tunings now
This commit is contained in:
parent
1704e27828
commit
addfe47d4c
|
@ -169,7 +169,7 @@ public:
|
||||||
virtual void OnRender() = 0;
|
virtual void OnRender() = 0;
|
||||||
virtual void OnStateChange(int NewState, int OldState) = 0;
|
virtual void OnStateChange(int NewState, int OldState) = 0;
|
||||||
virtual void OnConnected() = 0;
|
virtual void OnConnected() = 0;
|
||||||
virtual void OnMessage(int MsgID, CUnpacker *pUnpacker) = 0;
|
virtual void OnMessage(int MsgID, CUnpacker *pUnpacker, bool IsDummy = 0) = 0;
|
||||||
virtual void OnPredict() = 0;
|
virtual void OnPredict() = 0;
|
||||||
virtual void OnActivateEditor() = 0;
|
virtual void OnActivateEditor() = 0;
|
||||||
|
|
||||||
|
|
|
@ -1735,6 +1735,37 @@ void CClient::ProcessServerPacket(CNetChunk *pPacket)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CClient::ProcessServerPacketDummy(CNetChunk *pPacket)
|
||||||
|
{
|
||||||
|
CUnpacker Unpacker;
|
||||||
|
Unpacker.Reset(pPacket->m_pData, pPacket->m_DataSize);
|
||||||
|
|
||||||
|
// unpack msgid and system flag
|
||||||
|
int Msg = Unpacker.GetInt();
|
||||||
|
int Sys = Msg&1;
|
||||||
|
Msg >>= 1;
|
||||||
|
|
||||||
|
if(Unpacker.Error())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(Sys)
|
||||||
|
{
|
||||||
|
// system message
|
||||||
|
if(Msg == NETMSG_MAP_CHANGE || Msg == NETMSG_MAP_DATA || Msg == NETMSG_PING || Msg == NETMSG_RCON_CMD_ADD || Msg == NETMSG_RCON_CMD_REM || Msg == NETMSG_RCON_AUTH_STATUS || Msg == NETMSG_RCON_LINE || Msg == NETMSG_PING_REPLY || Msg == NETMSG_INPUTTIMING || Msg == NETMSG_SNAP || Msg == NETMSG_SNAPSINGLE || Msg == NETMSG_SNAPEMPTY)
|
||||||
|
{
|
||||||
|
return; // no need of all that stuff for the dummy
|
||||||
|
}
|
||||||
|
else if(Msg == NETMSG_CON_READY)
|
||||||
|
{
|
||||||
|
GameClient()->OnConnected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GameClient()->OnMessage(Msg, &Unpacker, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CClient::PumpNetwork()
|
void CClient::PumpNetwork()
|
||||||
{
|
{
|
||||||
for(int i=0; i<2; i++)
|
for(int i=0; i<2; i++)
|
||||||
|
@ -1779,12 +1810,12 @@ void CClient::PumpNetwork()
|
||||||
if(g_Config.m_ClDummy)
|
if(g_Config.m_ClDummy)
|
||||||
ProcessServerPacket(&Packet); //self
|
ProcessServerPacket(&Packet); //self
|
||||||
else
|
else
|
||||||
ProcessConnlessPacket(&Packet); //multiclient
|
ProcessServerPacketDummy(&Packet); //multiclient
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(g_Config.m_ClDummy)
|
if(g_Config.m_ClDummy)
|
||||||
ProcessConnlessPacket(&Packet); //multiclient
|
ProcessServerPacketDummy(&Packet); //multiclient
|
||||||
else
|
else
|
||||||
ProcessServerPacket(&Packet); //self
|
ProcessServerPacket(&Packet); //self
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,6 +280,7 @@ public:
|
||||||
|
|
||||||
void ProcessConnlessPacket(CNetChunk *pPacket);
|
void ProcessConnlessPacket(CNetChunk *pPacket);
|
||||||
void ProcessServerPacket(CNetChunk *pPacket);
|
void ProcessServerPacket(CNetChunk *pPacket);
|
||||||
|
void ProcessServerPacketDummy(CNetChunk *pPacket);
|
||||||
|
|
||||||
virtual int MapDownloadAmount() { return m_MapdownloadAmount; }
|
virtual int MapDownloadAmount() { return m_MapdownloadAmount; }
|
||||||
virtual int MapDownloadTotalsize() { return m_MapdownloadTotalsize; }
|
virtual int MapDownloadTotalsize() { return m_MapdownloadTotalsize; }
|
||||||
|
|
|
@ -593,10 +593,10 @@ void CGameClient::OnRelease()
|
||||||
m_All.m_paComponents[i]->OnRelease();
|
m_All.m_paComponents[i]->OnRelease();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameClient::OnMessage(int MsgId, CUnpacker *pUnpacker)
|
void CGameClient::OnMessage(int MsgId, CUnpacker *pUnpacker, bool IsDummy)
|
||||||
{
|
{
|
||||||
// special messages
|
// special messages
|
||||||
if(MsgId == NETMSGTYPE_SV_EXTRAPROJECTILE)
|
if(MsgId == NETMSGTYPE_SV_EXTRAPROJECTILE && !IsDummy)
|
||||||
{
|
{
|
||||||
int Num = pUnpacker->GetInt();
|
int Num = pUnpacker->GetInt();
|
||||||
|
|
||||||
|
@ -631,10 +631,13 @@ void CGameClient::OnMessage(int MsgId, CUnpacker *pUnpacker)
|
||||||
m_ServerMode = SERVERMODE_PURE;
|
m_ServerMode = SERVERMODE_PURE;
|
||||||
|
|
||||||
// apply new tuning
|
// apply new tuning
|
||||||
m_Tuning[g_Config.m_ClDummy] = NewTuning;
|
m_Tuning[IsDummy ? !g_Config.m_ClDummy : g_Config.m_ClDummy] = NewTuning;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(IsDummy)
|
||||||
|
return; // no need of all that stuff for the dummy
|
||||||
|
|
||||||
void *pRawMsg = m_NetObjHandler.SecureUnpackMsg(MsgId, pUnpacker);
|
void *pRawMsg = m_NetObjHandler.SecureUnpackMsg(MsgId, pUnpacker);
|
||||||
if(!pRawMsg)
|
if(!pRawMsg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -219,7 +219,7 @@ public:
|
||||||
virtual void OnInit();
|
virtual void OnInit();
|
||||||
virtual void OnConsoleInit();
|
virtual void OnConsoleInit();
|
||||||
virtual void OnStateChange(int NewState, int OldState);
|
virtual void OnStateChange(int NewState, int OldState);
|
||||||
virtual void OnMessage(int MsgId, CUnpacker *pUnpacker);
|
virtual void OnMessage(int MsgId, CUnpacker *pUnpacker, bool IsDummy = 0);
|
||||||
virtual void OnNewSnapshot();
|
virtual void OnNewSnapshot();
|
||||||
virtual void OnPredict();
|
virtual void OnPredict();
|
||||||
virtual void OnActivateEditor();
|
virtual void OnActivateEditor();
|
||||||
|
|
Loading…
Reference in a new issue