Skip to content

Commit

Permalink
Remove Smotra code added in 5b1da08
Browse files Browse the repository at this point in the history
  • Loading branch information
fcs49 committed Mar 9, 2019
1 parent 37087bc commit 17b7abf
Show file tree
Hide file tree
Showing 8 changed files with 4 additions and 111 deletions.
23 changes: 0 additions & 23 deletions Client/core/CCore.cpp
Expand Up @@ -2269,26 +2269,3 @@ SString CCore::GetBlueCopyrightString()
SString strCopyright = BLUE_COPYRIGHT_STRING;
return strCopyright.Replace("%BUILD_YEAR%", std::to_string(BUILD_YEAR).c_str());
}

bool CCore::IsHostSmotraServer()
{
unsigned int uiPort;
SString strHost;
CVARS_GET("host", strHost);
CVARS_GET("port", uiPort);

if (uiPort != 22003)
{
return false;
}

unsigned int arrSmotraHostIps[3] = {HashString("164.132.204.62"), HashString("149.202.223.26"), HashString("151.80.111.167")};
for (int i = 0; i < 3; i++)
{
if (arrSmotraHostIps[i] == HashString(strHost))
{
return true;
}
}
return false;
}
2 changes: 0 additions & 2 deletions Client/core/CCore.h
Expand Up @@ -276,8 +276,6 @@ class CCore : public CCoreInterface, public CSingleton<CCore>
bool IsFakeLagCommandEnabled() { return m_bFakeLagCommandEnabled; }
SString GetBlueCopyrightString();

bool IsHostSmotraServer();

private:
// Core devices.
CXML* m_pXML;
Expand Down
3 changes: 0 additions & 3 deletions Client/mods/deathmatch/logic/CClientGame.cpp
Expand Up @@ -236,9 +236,6 @@ CClientGame::CClientGame(bool bLocalPlay)
// Singular file download manager
m_pSingularFileDownloadManager = new CSingularFileDownloadManager();

bool bIsHostSmotraServer = g_pCore->IsHostSmotraServer();
g_pMultiplayer->InitializeAnimationHooks(bIsHostSmotraServer);

// Register the message and the net packet handler
g_pMultiplayer->SetPreWeaponFireHandler(CClientGame::PreWeaponFire);
g_pMultiplayer->SetPostWeaponFireHandler(CClientGame::PostWeaponFire);
Expand Down
29 changes: 4 additions & 25 deletions Client/multiplayer_sa/CMultiplayerSA.cpp
Expand Up @@ -420,7 +420,6 @@ void HOOK_RpAnimBlendClumpUpdateAnimations();
void HOOK_CAnimBlendAssoc_destructor();
void HOOK_CAnimManager_AddAnimation();
void HOOK_CAnimManager_AddAnimationAndSync();
void HOOK_CAnimBlendAssocGroupCopyAnimation();
void HOOK_CAnimManager_BlendAnimation_Hierarchy();
void HOOK_CPed_GetWeaponSkill();
void HOOK_CPed_AddGogglesModel();
Expand Down Expand Up @@ -736,6 +735,10 @@ void CMultiplayerSA::InitHooks()
// Fix GTA:SA swimming speed problem on higher fps
HookInstall(HOOKPOS_CTaskSimpleSwim_ProcessSwimmingResistance, (DWORD)HOOK_CTaskSimpleSwim_ProcessSwimmingResistance, 6);

HookInstall(HOOKPOS_CAnimManager_AddAnimation, (DWORD)HOOK_CAnimManager_AddAnimation, 10);
HookInstall(HOOKPOS_CAnimManager_AddAnimationAndSync, (DWORD)HOOK_CAnimManager_AddAnimationAndSync, 10);
HookInstall(HOOKPOS_CAnimManager_BlendAnimation_Hierarchy, (DWORD)HOOK_CAnimManager_BlendAnimation_Hierarchy, 5);

// Disable GTA setting g_bGotFocus to false when we minimize
MemSet((void*)ADDR_GotFocus, 0x90, pGameInterface->GetGameVersion() == VERSION_EU_10 ? 6 : 10);

Expand Down Expand Up @@ -1532,30 +1535,6 @@ void RemoveFxSystemPointer(DWORD* pPointer)
}
}

void CMultiplayerSA::InitializeAnimationHooks(bool bIsHostSmotra)
{
if (bIsHostSmotra)
{
BYTE originalCode_CAnimManager_AddAnimation[10] = {0x8B, 0x44, 0x24, 0x0C, 0x8B, 0x15, 0x34, 0xEA, 0xB4, 0x0};
BYTE originalCode_CAnimManager_AddAnimationAndSync[10] = {0x8B, 0x44, 0x24, 0x10, 0x8B, 0x15, 0x34, 0xEA, 0xB4, 0x00};
BYTE originalCode_CAnimManager_BlendAnimation_Hierarchy[5] = {0x8B, 0x54, 0x24, 0x2C, 0x51};
MemCpy((LPVOID)HOOKPOS_CAnimManager_AddAnimation, &originalCode_CAnimManager_AddAnimation, 10);
MemCpy((LPVOID)HOOKPOS_CAnimManager_AddAnimationAndSync, &originalCode_CAnimManager_AddAnimationAndSync, 10);
MemCpy((LPVOID)HOOKPOS_CAnimManager_BlendAnimation_Hierarchy, &originalCode_CAnimManager_BlendAnimation_Hierarchy, 5);

HookInstall(HOOKPOS_CAnimBlendAssocGroupCopyAnimation, (DWORD)HOOK_CAnimBlendAssocGroupCopyAnimation, 6);
}
else
{
BYTE originalCode_CAnimBlendAssocGroupCopyAnimation[6] = {0x64, 0xA1, 0x00, 0x00, 0x00, 0x00};
MemCpy((LPVOID)HOOKPOS_CAnimBlendAssocGroupCopyAnimation, &originalCode_CAnimBlendAssocGroupCopyAnimation, 6);

HookInstall(HOOKPOS_CAnimManager_AddAnimation, (DWORD)HOOK_CAnimManager_AddAnimation, 10);
HookInstall(HOOKPOS_CAnimManager_AddAnimationAndSync, (DWORD)HOOK_CAnimManager_AddAnimationAndSync, 10);
HookInstall(HOOKPOS_CAnimManager_BlendAnimation_Hierarchy, (DWORD)HOOK_CAnimManager_BlendAnimation_Hierarchy, 5);
}
}

CRemoteDataStorage* CMultiplayerSA::CreateRemoteDataStorage()
{
return new CRemoteDataStorageSA();
Expand Down
2 changes: 0 additions & 2 deletions Client/multiplayer_sa/CMultiplayerSA.h
Expand Up @@ -81,8 +81,6 @@ class CMultiplayerSA : public CMultiplayer
void RemoveRemoteDataStorage(CPlayerPed* pPed);
void EnableHooks_ClothesMemFix(bool bEnable);

void InitializeAnimationHooks(bool bIsHostSmotra);

CPed* GetContextSwitchedPed();

CPopulationMP* GetPopulationMP() { return Population; }
Expand Down
53 changes: 0 additions & 53 deletions Client/multiplayer_sa/CMultiplayerSA_FixBadAnimId.cpp
Expand Up @@ -64,59 +64,6 @@ int _cdecl OnCAnimBlendAssocGroupCopyAnimation_FixBadAnim(AssocGroupId* pAnimGro
return *pAnimId;
}

////////////////////////////////////////////////////////////////////////////////////////////////
// Check for anims that will crash and change to one that wont. (The new anim will be wrong and look crap though)
int _cdecl OnCAnimBlendAssocGroupCopyAnimation_FixBadAnim_Smotra(CAnimBlendAssocGroupSAInterface* pGroup, int iAnimId)
{
// Apply offset
int iUseAnimId = iAnimId - pGroup->iIDOffset;

if (pGroup->pAssociationsArray)
{
CAnimBlendStaticAssociationSAInterface* pAssociation = pGroup->pAssociationsArray + iUseAnimId;
if (pAssociation && pAssociation->pAnimHeirarchy == NULL)
{
// Choose another animId
int iNewAnimId = iUseAnimId;
for (int i = 0; i < pGroup->iNumAnimations; i++)
{
pAssociation = pGroup->pAssociationsArray + i;
if (pAssociation->pAnimHeirarchy)
{
// Find closest valid anim id
if (abs(iUseAnimId - i) < abs(iUseAnimId - iNewAnimId) || iNewAnimId == iUseAnimId)
iNewAnimId = i;
}
}

iUseAnimId = iNewAnimId;
LogEvent(534, "CopyAnimation", "", SString("Group:%d replaced id:%d with id:%d", pGroup->groupID, iAnimId, iUseAnimId + pGroup->iIDOffset));
}
}

// Unapply offset
iAnimId = iUseAnimId + pGroup->iIDOffset;
return iAnimId;
}

DWORD RETURN_CAnimBlendAssocGroupCopyAnimation = 0x4CE136;
void _declspec(naked) HOOK_CAnimBlendAssocGroupCopyAnimation()
{
_asm
{
pushad
push[esp + 32 + 4 * 1]
push ecx
call OnCAnimBlendAssocGroupCopyAnimation_FixBadAnim_Smotra
add esp, 4 * 2
mov[esp + 32 + 4 * 1], eax
popad

mov eax, fs:0
jmp RETURN_CAnimBlendAssocGroupCopyAnimation
}
}

////////////////////////////////////////////////////////////////////////////////////////////////
// Check for invalid RpHAnimHierarchy*
void _cdecl OnGetAnimHierarchyFromSkinClump(RpClump* pRpClump, void* pRpHAnimHierarchyResult)
Expand Down
2 changes: 0 additions & 2 deletions Client/sdk/core/CCoreInterface.h
Expand Up @@ -173,8 +173,6 @@ class CCoreInterface
virtual SString GetBlueCopyrightString() = 0;
virtual bool ClearChat() = 0;
virtual void OnGameTimerUpdate() = 0;

virtual bool IsHostSmotraServer() = 0;
};

class CClientTime
Expand Down
1 change: 0 additions & 1 deletion Client/sdk/multiplayer/CMultiplayer.h
Expand Up @@ -179,7 +179,6 @@ class CMultiplayer
FAST_CLOTHES_ON = 2,
};

virtual void InitializeAnimationHooks(bool bIsHostSmotra) = 0;
virtual CRemoteDataStorage* CreateRemoteDataStorage() = 0;
virtual void DestroyRemoteDataStorage(CRemoteDataStorage* pData) = 0;
virtual void AddRemoteDataStorage(CPlayerPed* pPed, CRemoteDataStorage* pData) = 0;
Expand Down

0 comments on commit 17b7abf

Please sign in to comment.