Open GAMMACASE opened 1 year ago
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.
Hi, thanks for your efforts.
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):
class IKeyValuesSystem
{
public:
virtual ~IKeyValuesSystem() = 0;
//...
};
(Currently it's in the SDK without.)
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!