You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Entity lifecycle API (Generally these could be replaced by calling game functions instead, so these mostly optional if there's a way to do it without using the game code):
Creating an entity (by classname, other means?);
Dispatching spawn and its keyvalues;
Killing/Freeing an entity;
UTIL_* functions to provide conversation from (?):
CEntityIndex -> CBaseEntity;
CPlayerSlot -> CBaseEntity;
CGameEntitySystem;
CConcreteEntityList;
CEntityIdentity;
CEntityHandle;
CEntityKeyValues;
EntityInstanceByClassIter_t;
Resource/Manifest management:
Basic resource precaching workflow;
CEntityPrecacheContext (Needs to be moved to a separate location);
IEntityPrecacheConfiguration;
IEntityResourceManifest;
Ray Tracing mechanisms (Generally its already doable with what we have):
CGamePhysicsQueryInterface;
IVPhysics2World;
CGameTrace;
CTraceFilter;
Ray_t;
Update MASK/CONTENTS flags;
If you want to contribute to the project, please make sure to pr the changes to cs2 branch as well as discuss them beforehand in the AlliedModders discord in appropriate channels.
This is a collaborative work and a lot of the research and development was done by: vanz, Wend4r, slidybat, poggu_, psychonic9, zer0.k, mooshua, boeing666, komashchenko, 0xe58, number201724 and others from the AM Discord. So huge thanks to them!
The text was updated successfully, but these errors were encountered:
This is awesome, and incredible to see so much already figured out! Thank you for writing this up, and thanks to everyone who has already dove in and expanded community knowledge of the engine.
I am currently still trying to figure the KeyValues system (seems like it's different in ways I didn't manage to figure yet), but I can say for sure, that IKeyValuesSystem has a destructor as first class member (it's exposed in tier0.dll):
Edit:
Apparently the problem is that there's two different KeyValues systems: KeyValues and KeyValues3.
For example IGameEvent::GetDataKeys (which the offset is shifted wrongly a bit, so is for HasKey) uses KeyValues3, not KeyValues.
It should be possible to reverse engineer KeyValues 3 from tier0.dll's ?DebugPrintKV3@@YAXPEBVKeyValues3@@@Z (void __fastcall DebugPrintKV3(const struct KeyValues3 *)).
This issue is a progress/issue tracker for the ongoing development of cs2 hl2sdk branch done by the community and am members.
Completion status:
CEntityIndex
->CBaseEntity
;CPlayerSlot
->CBaseEntity
;If you want to contribute to the project, please make sure to pr the changes to cs2 branch as well as discuss them beforehand in the AlliedModders discord in appropriate channels.
This is a collaborative work and a lot of the research and development was done by: vanz, Wend4r, slidybat, poggu_, psychonic9, zer0.k, mooshua, boeing666, komashchenko, 0xe58, number201724 and others from the AM Discord. So huge thanks to them!
The text was updated successfully, but these errors were encountered: