struct IGameFramework {
IActorSystem* GetActorSystem() {
return CallFunction<IActorSystem * (__fastcall*)(PVOID)>(this, 0xD0)(this);
}
IViewSystem* GetIViewSystem() {
return CallFunction<IViewSystem * (__fastcall*)(PVOID)>(this, 0xF0)(this);
}
IGameRulesSystem* GetGameRules() {
return CallFunction<IGameRulesSystem * (__fastcall*)(PVOID)>(this, 0x450)(this);
}
CTimeValue GetServerTime() {
CTimeValue pTimeValue;
CallFunction<void(__fastcall*)(PVOID, CTimeValue*)>(this, 0x250)(this, &pTimeValue); return pTimeValue;
}
IActor* GetClientActor() {
IActor* pLocalActor = 0;
bool bGetActorResult = CallFunction<bool(__fastcall*)(PVOID, IActor**)>(this, 0x478)(this, &pLocalActor);
if (!bGetActorResult) pLocalActor = 0;
return pLocalActor;
}
INetChannel* GetClientChannel() {
return CallFunction<INetChannel * (__fastcall*)(PVOID)>(this, 0x240)(this);
}
const char* GetLevelName() {
return CallFunction<const char* (__fastcall*)(PVOID)>(this, 0x300)(this);
}
void RegisterListener(IGameFrameworkListener* pGameFrameworkListener, const char* name, EFRAMEWORKLISTENERPRIORITY eFrameworkListenerPriority) {
CallFunction<void(__fastcall*)(PVOID, IGameFrameworkListener*, const char*, EFRAMEWORKLISTENERPRIORITY)>(this, 0x368)(this, pGameFrameworkListener, name, eFrameworkListenerPriority);
}
void UnregisterListener(IGameFrameworkListener* pGameFrameworkListener) {
CallFunction<void(__fastcall*)(PVOID, IGameFrameworkListener*)>(this, 0x370)(this, pGameFrameworkListener);
}
};
struct IGame {
Defualt(IGameFramework* m_pFramework) = 0x48;
Defualt(CFlowchartManager* m_pFlowchartManager) = 0x230;
Defualt(CSpecialMovesRegistry* m_pSpecialMovesRegistry) = 0x2A0;
Defualt(CEquipmentSystem* m_equipmentSystem) = 0x2D0;
Defualt(CPlayerStatus* m_pPlayerStatus) = 0x338;
static CGame* GetInstance() {
return *(CGame**)0x1426EE920;
}
};
struct SSystemGlobalEnvironment {
Defualt(CCryFont* m_pCryFont) = 0x30;
Defualt(CNetwork* pNetwork) = 0x38;
Defualt(IRenderer* m_pRenderer) = 0x48;
Defualt(IPhysicalWorld* m_pPhysicalWorld) = 0x70;
Defualt(IInput* m_pInput) = 0x78;
Defualt(IGame* m_pGame) = 0xD0;
Defualt(IEntitySystem* m_pEntitySystem) = 0xE0;
Defualt(ISystem* m_pSystem) = 0xF0;
Defualt(ITimer* m_pTimer) = 0xC0;
Defualt(IMovieSystem* pMovieSystem) = 0x128;
Defualt(IHardwareMouse* m_pHardwareMouse) = 0x140;
static SSystemGlobalEnvironment* GetInstance() {
return *(SSystemGlobalEnvironment**)0x1424A6970;
}
};