diff --git a/r5dev/game/server/baseentity.h b/r5dev/game/server/baseentity.h index 71456ad8..9077557f 100644 --- a/r5dev/game/server/baseentity.h +++ b/r5dev/game/server/baseentity.h @@ -272,7 +272,7 @@ class VBaseEntity : public IDetour } virtual void GetVar(void) const { - g_pEntityList = p_CBaseEntity__GetBaseEntity.FindPattern("48 8D 0D").ResolveRelativeAddressSelf(0x3, 0x7).RCast(); + g_pEntityList = p_CBaseEntity__GetBaseEntity.FindPattern("48 8D 0D").ResolveRelativeAddressSelf(0x3, 0x7).RCast(); } virtual void GetCon(void) const { } virtual void Attach(void) const { } diff --git a/r5dev/game/server/entitylist.cpp b/r5dev/game/server/entitylist.cpp index 9965ef87..6e96aec2 100644 --- a/r5dev/game/server/entitylist.cpp +++ b/r5dev/game/server/entitylist.cpp @@ -6,4 +6,12 @@ #include "core/stdafx.h" #include "entitylist.h" -CEntInfo* g_pEntityList = nullptr; \ No newline at end of file +IHandleEntity* LookupEntityByIndex(int iEntity) +{ + Assert(iEntity >= 0 && iEntity < NUM_ENT_ENTRIES); // Programmer error! + + IHandleEntity* pHandle = reinterpret_cast(*&g_pEntityList[6 * iEntity]); + return pHandle; // !TODO: implement CBaseEntityList properly. +} + +CEntInfo** g_pEntityList = nullptr; \ No newline at end of file diff --git a/r5dev/game/server/entitylist.h b/r5dev/game/server/entitylist.h index cb166122..f0ec8cc0 100644 --- a/r5dev/game/server/entitylist.h +++ b/r5dev/game/server/entitylist.h @@ -8,6 +8,7 @@ #define ENTITYLIST_H #include "game/shared/entitylist_base.h" -extern CEntInfo* g_pEntityList; +IHandleEntity* LookupEntityByIndex(int iEntity); +extern CEntInfo** g_pEntityList; #endif // ENTITYLIST_H diff --git a/r5dev/public/const.h b/r5dev/public/const.h index 9c9b6ed7..5709c447 100644 --- a/r5dev/public/const.h +++ b/r5dev/public/const.h @@ -14,7 +14,7 @@ #define MAX_EDICTS (1<