9#include "../Hacks/Hacks.h"
20static class dota_interfaces {
22 static inline bool find_all() {
32 static inline CCvar* cvar =
nullptr;
46 if (vmt.entity_system)
54 if (!absolute_address_ptr)
58 if (!CGameEntitySystem_ptr || CGameEntitySystem_ptr.value_or(0) == 0)
61 vmt.entity_system =
reinterpret_cast<CGameEntitySystem*
>(CGameEntitySystem_ptr.value());
62 LOG::INFO(
"CGameEntitySystem -> [{}]", TO_VOID(CGameEntitySystem_ptr.value()));
97 if (!camera_base_address || camera_base_address.value_or(0) == 0)
100 vmt.camera =
reinterpret_cast<CDOTACamera*
>(camera_base_address.value() - 0x40);
101 LOG::INFO(
"CDOTA_Camera -> [{}]", TO_VOID(vmt.camera));
107 if (!dota_gamerules_proxy_ptr)
112 const auto dota_gamerules_ptr = dota_gamerules_proxy->
gamerules();
113 if (!dota_gamerules_ptr)
116 if (vmt.gamerules == dota_gamerules_ptr)
119 vmt.gamerules = dota_gamerules_ptr;
120 LOG::INFO(
"C_DOTAGamerules_Proxy -> [{}]", TO_VOID(dota_gamerules_proxy_ptr.value()));
121 LOG::INFO(
"CDOTAGamerules -> [{}]", TO_VOID(vmt.gamerules));
Definition CDOTACamera.h:6
Definition CDOTAGamerules.h:4
Definition CEngineClient.h:3
Definition CGameEntitySystem.h:31
Definition CSchemaSystem.h:152
Definition CSource2Client.h:3
Definition CDOTAGamerules.h:26
CDOTAGamerules * gamerules() const
Definition CDOTAGamerules.h:28
static optional< T > read_memory(const N &address)
Definition Memory.h:78
static optional< uintptr_t > pattern_scan(const string &target_module, const string &target_pattern)
Definition Memory.cpp:25
Definition interfaces.h:11
static bool find_CDOTAGamerules()
Definition interfaces.h:105
static bool find_all()
Definition interfaces.h:36
static bool find_CDOTACamera()
Definition interfaces.h:88
static bool find_CGameEntitySystem()
Definition interfaces.h:45
static const string CDOTACamera
Definition Dota2Patcher.h:21