Add new natives to read/write on entity's private data based off class/member name available from gamedata files

This commit is contained in:
Arkshine
2015-08-13 21:08:11 +02:00
parent ac2bcb2d19
commit 16f65663dc
10 changed files with 1161 additions and 6 deletions

View File

@ -16,6 +16,11 @@
edict_t *g_player_edicts[33]; // Used for INDEXENT() forward.
IGameConfig *CommonConfig;
IGameConfigManager *ConfigManager;
HLTypeConversion TypeConversion;
void OnAmxxAttach()
{
initialze_offsets();
@ -33,6 +38,25 @@ void OnAmxxAttach()
g_kvd_glb.kvd.szKeyName = const_cast<char *>(g_kvd_glb.key.chars());
g_kvd_glb.kvd.szValue = const_cast<char *>(g_kvd_glb.val.chars());
g_kvd_glb.kvd.fHandled = 0;
ConfigManager = MF_GetConfigManager();
char error[256];
error[0] = '\0';
if (!ConfigManager->LoadGameConfigFile("common.games", &CommonConfig, error, sizeof(error)) && error[0] != '\0')
{
MF_Log("Could not read common.games gamedata: %s", error);
MF_Log("get/set/find_ent_data* natives have been disabled");
return;
}
MF_AddNatives(pdata_gc_natives);
}
void OnPluginsLoaded()
{
TypeConversion.init();
}
extern CStack<TraceResult *> g_FreeTRs;