diff --git a/LagCompensation/gamedata/LagCompensation.games.txt b/LagCompensation/gamedata/LagCompensation.games.txt index 53306a61..478bee72 100644 --- a/LagCompensation/gamedata/LagCompensation.games.txt +++ b/LagCompensation/gamedata/LagCompensation.games.txt @@ -46,8 +46,8 @@ "UTIL_Remove" { "signature" "::UTIL_Remove" - "callconv" "cdecl" "return" "void" + "callconv" "cdecl" "arguments" { "oldObj" @@ -108,6 +108,7 @@ "CServerNetworkableProperty::m_pOuter" { "linux" "8" + "windows" "8" } } } @@ -120,36 +121,42 @@ { "library" "server" "linux" "\x55\x89\xE5\x83\xEC\x48\x89\x5D\xF4\x8B\x5D\x08\x89\x75\xF8\x89\x7D\xFC\x85\xDB" + "windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A" } "CCSGameRules::RestartRound" { "library" "server" "linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\x3C\x03\x00\x00" + "windows" "\x55\x8B\xEC\x83\xE4\xF8\x81\xEC\xD8\x01\x00\x00" } "CLogicMeasureMovement::SetTarget" { "library" "server" "linux" "\x55\x89\xE5\x56\x53\x83\xEC\x20\x8B\x5D\x0C\xC7\x44\x24\x18\x00\x00\x00\x00\x8B\x75\x08\xC7\x44\x24\x14\x00\x00\x00\x00\xC7\x44\x24\x10\x00\x00\x00\x00\xC7\x44\x24\x0C\x00\x00\x00\x00\x89\x5C\x24\x08\xC7\x44\x24\x04\x00\x00\x00\x00\xC7\x04\x24\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8B\x10\x89\x04\x24\xFF\x52\x0C\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x00\x83\xF8\xFF\x89\x86\xBC\x03\x00\x00" + "windows" "\x55\x8B\xEC\x51\x53\x8B\x5D\x08\x56\x8B\xF1\x89\x75\xFC\x57\x85\xDB\x74\x2A\x8A\x03\x84\xC0\x74\x2A\x3C\x21\x75\x2A\x6A\x00\x6A\x00\x6A\x00\x53\xE8\x2A\x2A\x2A\x2A\x8B\xF8\xEB\x2A\x8B\x35\x2A\x2A\x2A\x2A\x85\xF6\x74\x2A\x8B\x3E\x85\xFF\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x15\x2A\x2A\x2A\x2A\x83\xC4\x04\xEB\x2A\x8B\x56\x10\x85\xD2\x74\x2A\x3B\xD3\x74\x2A\x8B\xCB\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75\x2A\x8B\x76\x0C\x85\xF6\x75\x2A\x8B\x75\xFC\x33\xFF\x85\xFF\x74\x2A\x8B\x07\x8B\xCF\xFF\x50\x08\x8B\x00\x89\x86\xA4\x03\x00\x00" } "CEntityTouchManager::FrameUpdatePostEntityThink" { "library" "server" "linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x85\xC0" + "windows" "\x55\x8B\xEC\x53\x56\x57\x8B\x3D\x2A\x2A\x2A\x2A\x85\xFF" } "CalcAbsolutePosition" { "library" "server" "linux" "\x55\x89\xE5\x81\xEC\x98\x00\x00\x00\x89\x5D\xF4\x8B\x5D\x08\x89\x75\xF8\x89\x7D\xFC\x8B\x83\xDC\x00\x00\x00" + "windows" "\x55\x8B\xEC\x83\xE4\xF0\x83\xEC\x68\x56\x8B\xF1" } "MarkPartitionHandleDirty" { "library" "server" "linux" "\x55\x89\xE5\x53\x83\xEC\x14\x8B\x5D\x08\x8B\x43\x04\xF6\x80\xDD\x00\x00\x00\x80" + "windows" "\x56\x8B\xF1\x8B\x4E\x04\x8B\x51\x1C" } } @@ -160,6 +167,10 @@ "signature" "::UTIL_Remove" "return" "void" "callconv" "cdecl" + "windows" + { + "callconv" "fastcall" + } "arguments" { "oldObj" @@ -174,15 +185,13 @@ "signature" "CCSGameRules::RestartRound" "callconv" "thiscall" "return" "void" - "this" "ignore" } "CEntityTouchManager__FrameUpdatePostEntityThink" { "signature" "CEntityTouchManager::FrameUpdatePostEntityThink" - "callconv" "thiscall" + "callconv" "cdecl" "return" "void" - "this" "ignore" } "CLogicMeasureMovement__SetTarget" @@ -221,6 +230,7 @@ "CServerNetworkableProperty::m_pOuter" { "linux" "8" + "windows" "8" } } } diff --git a/LagCompensation/scripting/LagCompensation.sp b/LagCompensation/scripting/LagCompensation.sp index edd78313..abcd649e 100644 --- a/LagCompensation/scripting/LagCompensation.sp +++ b/LagCompensation/scripting/LagCompensation.sp @@ -5,7 +5,7 @@ #include #include -#define PLUGIN_VERSION "1.0" +#define PLUGIN_VERSION "1.0.1" #define SetBit(%1,%2) ((%1)[(%2) >> 5] |= (1 << ((%2) & 31))) #define ClearBit(%1,%2) ((%1)[(%2) >> 5] &= ~(1 << ((%2) & 31))) @@ -366,9 +366,10 @@ public void OnMapStart() { if(IsClientInGame(client)) { - OnClientPutInServer(client); + OnClientConnected(client); if(AreClientCookiesCached(client)) OnClientCookiesCached(client); + OnClientPutInServer(client); } } @@ -398,13 +399,8 @@ public void OnMapEnd() g_bCleaningUp = true; } -public void OnClientPutInServer(int client) +public void OnClientConnected(int client) { - if(g_iLerpTime == -1) - { - g_iLerpTime = FindDataMapInfo(client, "m_fLerpTime"); - } - g_bDisableLagComp[client] = false; g_iDisableLagComp[client] = 0; } @@ -419,6 +415,14 @@ public void OnClientCookiesCached(int client) g_bDisableLagComp[client] = false; } +public void OnClientPutInServer(int client) +{ + if(g_iLerpTime == -1) + { + g_iLerpTime = FindDataMapInfo(client, "m_fLerpTime"); + } +} + public void OnClientDisconnect(int client) { g_bDisableLagComp[client] = false;