From b57c752b1cea853d795db55f64f564f5c77a73d9 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Mon, 17 Apr 2006 16:59:37 +0000 Subject: [PATCH] Added get_orig_retval for retrieving the original return value of an engine function Reformatted comments in fakemeta include files so they look a bit neater --- plugins/include/fakemeta.inc | 9 + plugins/include/fakemeta_const.inc | 462 ++++++++++++++-------------- plugins/include/fakemeta_stocks.inc | 4 +- 3 files changed, 243 insertions(+), 232 deletions(-) diff --git a/plugins/include/fakemeta.inc b/plugins/include/fakemeta.inc index a0f7b84e..ab1f532f 100755 --- a/plugins/include/fakemeta.inc +++ b/plugins/include/fakemeta.inc @@ -52,6 +52,15 @@ native unregister_forward(_forwardType, registerId, post=0); /* Returns data for metamod */ native forward_return(type,{Float,Sql,Result,_}:...); +/* Returns the original return value of an engine function. + * This is only valid in forwards that were registered as post. + * + * get_orig_retval() - no params, retrieves integer return value + * get_orig_retval(&Float:value) - retrieves float return value by reference + * get_orig_retval(value[], len) - retrives string return value + */ +native get_orig_retval({Float,_}:...) + native engfunc(type,{Float,Sql,Result,_}:...); native dllfunc(type,{Float,Sql,Result,_}:...); diff --git a/plugins/include/fakemeta_const.inc b/plugins/include/fakemeta_const.inc index 72e2b07b..245ba4c7 100755 --- a/plugins/include/fakemeta_const.inc +++ b/plugins/include/fakemeta_const.inc @@ -24,140 +24,143 @@ /* Used with engfunc() */ enum { - EngFunc_PrecacheModel, // int ) (char* s); - EngFunc_PrecacheSound, // int ) (char* s); - EngFunc_SetModel, // void ) (edict_t *e, const char *m); - EngFunc_ModelIndex, // int ) (const char *m); - EngFunc_ModelFrames, // int ) (int modelIndex); - EngFunc_SetSize, // void ) (edict_t *e, const float *rgflMin, const float *rgflMax); - EngFunc_ChangeLevel, // void ) (char* s1, char* s2); - EngFunc_VecToYaw, // float) (const float *rgflVector); - EngFunc_VecToAngles, // void ) (const float *rgflVectorIn, float *rgflVectorOut); - EngFunc_MoveToOrigin, // void ) (edict_t *ent, const float *pflGoal, float dist, int iMoveType); - EngFunc_ChangeYaw, // void ) (edict_t* ent); - EngFunc_ChangePitch, // void ) (edict_t* ent); - EngFunc_FindEntityByString, // edict) (edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue); - EngFunc_GetEntityIllum, // int ) (edict_t* pEnt); - EngFunc_FindEntityInSphere, // edict) (edict_t *pEdictStartSearchAfter, const float *org, float rad); - EngFunc_FindClientInPVS, // edict) (edict_t *pEdict); - EngFunc_EntitiesInPVS, // edict) (edict_t *pplayer); - EngFunc_MakeVectors, // void ) (const float *rgflVector); - EngFunc_AngleVectors, // void ) (const float *rgflVector, float *forward, float *right, float *up); - EngFunc_CreateEntity, // edict) (void); - EngFunc_RemoveEntity, // void ) (edict_t* e); - EngFunc_CreateNamedEntity, // edict) (int className); - EngFunc_MakeStatic, // void ) (edict_t *ent); - EngFunc_EntIsOnFloor, // int ) (edict_t *e); - EngFunc_DropToFloor, // int ) (edict_t* e); - EngFunc_WalkMove, // int ) (edict_t *ent, float yaw, float dist, int iMode); - EngFunc_SetOrigin, // void ) (edict_t *e, const float *rgflOrigin); - EngFunc_EmitSound, // void ) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch); - EngFunc_EmitAmbientSound, // void ) (edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch); + EngFunc_PrecacheModel, // int ) (char *s); + EngFunc_PrecacheSound, // int ) (char *s); + EngFunc_SetModel, // void ) (edict_t *e, const char *m); + EngFunc_ModelIndex, // int ) (const char *m); + EngFunc_ModelFrames, // int ) (int modelIndex); + EngFunc_SetSize, // void ) (edict_t *e, const float *rgflMin, const float *rgflMax); + EngFunc_ChangeLevel, // void ) (char* s1, char* s2); + EngFunc_VecToYaw, // float) (const float *rgflVector); + EngFunc_VecToAngles, // void ) (const float *rgflVectorIn, float *rgflVectorOut); + EngFunc_MoveToOrigin, // void ) (edict_t *ent, const float *pflGoal, float dist, int iMoveType); + EngFunc_ChangeYaw, // void ) (edict_t* ent); + EngFunc_ChangePitch, // void ) (edict_t* ent); + EngFunc_FindEntityByString, // edict) (edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue); + EngFunc_GetEntityIllum, // int ) (edict_t* pEnt); + EngFunc_FindEntityInSphere, // edict) (edict_t *pEdictStartSearchAfter, const float *org, float rad); + EngFunc_FindClientInPVS, // edict) (edict_t *pEdict); + EngFunc_EntitiesInPVS, // edict) (edict_t *pplayer); + EngFunc_MakeVectors, // void ) (const float *rgflVector); + EngFunc_AngleVectors, // void ) (const float *rgflVector, float *forward, float *right, float *up); + EngFunc_CreateEntity, // edict) (void); + EngFunc_RemoveEntity, // void ) (edict_t *e); + EngFunc_CreateNamedEntity, // edict) (int className); + EngFunc_MakeStatic, // void ) (edict_t *ent); + EngFunc_EntIsOnFloor, // int ) (edict_t *e); + EngFunc_DropToFloor, // int ) (edict_t *e); + EngFunc_WalkMove, // int ) (edict_t *ent, float yaw, float dist, int iMode); + EngFunc_SetOrigin, // void ) (edict_t *e, const float *rgflOrigin); + EngFunc_EmitSound, // void ) (edict_t *entity, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch); + EngFunc_EmitAmbientSound, // void ) (edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch); + //With 1.71 you can pass an optional TraceLine ptr for trace natives // it can be 0, for meaning "global tr handle" (for get/set_tr2), or // it can be any other TR handle (such as one from a TR hook) - EngFunc_TraceLine, // void ) (const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); - EngFunc_TraceToss, // void ) (edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr); - EngFunc_TraceMonsterHull, // int ) (edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); - EngFunc_TraceHull, // void ) (const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr); - EngFunc_TraceModel, // void ) (const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr); - EngFunc_TraceTexture, // const char *) (edict_t *pTextureEntity, const float *v1, const float *v2 ); - EngFunc_TraceSphere, // void ) (const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr); - EngFunc_GetAimVector, // void ) (edict_t* ent, float speed, float *rgflReturn); - EngFunc_ParticleEffect, // void ) (const float *org, const float *dir, float color, float count); - EngFunc_LightStyle, // void ) (int style, char* val); - EngFunc_DecalIndex, // int ) (const char *name); - EngFunc_PointContents, // int ) (const float *rgflVector); - EngFunc_FreeEntPrivateData, // void ) (edict_t *pEdict); - EngFunc_SzFromIndex, // const char * ) (int iString); - EngFunc_AllocString, // int ) (const char *szValue); - EngFunc_RegUserMsg, // int ) (const char *pszName, int iSize); - EngFunc_AnimationAutomove, // void ) (const edict_t* pEdict, float flTime); - EngFunc_GetBonePosition, // void ) (const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles ); - EngFunc_GetAttachment, // void ) (const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles ); - EngFunc_SetView, // void ) (const edict_t *pClient, const edict_t *pViewent ); - EngFunc_Time, // float) ( void ); - EngFunc_CrosshairAngle, // void ) (const edict_t *pClient, float pitch, float yaw); - EngFunc_FadeClientVolume, // void ) (const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds); - EngFunc_SetClientMaxspeed, // void ) (const edict_t *pEdict, float fNewMaxspeed); - EngFunc_CreateFakeClient, // edict) (const char *netname); // returns NULL if fake client can't be created - EngFunc_RunPlayerMove, // void ) (edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec ); - EngFunc_NumberOfEntities, // int ) (void); - EngFunc_StaticDecal, // void ) ( const float *origin, int decalIndex, int entityIndex, int modelIndex ); - EngFunc_PrecacheGeneric, // int ) (char* s); - EngFunc_BuildSoundMsg, // void ) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed); - EngFunc_GetPhysicsKeyValue, // const char* ) ( const edict_t *pClient, const char *key ); - EngFunc_SetPhysicsKeyValue, // void ) ( const edict_t *pClient, const char *key, const char *value ); - EngFunc_GetPhysicsInfoString,// const char* ) ( const edict_t *pClient ); - EngFunc_PrecacheEvent, // unsigned short ) ( int type, const char*psz ); - EngFunc_PlaybackEvent, // void ) ( int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ); - EngFunc_CheckVisibility, //) ( const edict_t *entity, unsigned char *pset ); - EngFunc_GetCurrentPlayer, //) ( void ); - EngFunc_CanSkipPlayer, //) ( const edict_t *player ); - EngFunc_SetGroupMask, //) ( int mask, int op ); - EngFunc_GetClientListening, // bool (int iReceiver, int iSender) - EngFunc_SetClientListening, // bool (int iReceiver, int iSender, bool Listen) - EngFunc_MessageBegin, // void (int msg_dest, int msg_type, const float *pOrigin, edict_t *ed) - EngFunc_WriteCoord, // void (float) - EngFunc_WriteAngle, // void (float) - EngFunc_InfoKeyValue, // char* ) (char *infobuffer, char *key); - EngFunc_SetKeyValue, // void ) (char *infobuffer, char *key, char *value); - EngFunc_SetClientKeyValue // void ) (int clientIndex, char *infobuffer, char *key, char *value); + EngFunc_TraceLine, // void ) (const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); + EngFunc_TraceToss, // void ) (edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr); + EngFunc_TraceMonsterHull, // int ) (edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); + EngFunc_TraceHull, // void ) (const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr); + EngFunc_TraceModel, // void ) (const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr); + EngFunc_TraceTexture, // const char *) (edict_t *pTextureEntity, const float *v1, const float *v2 ); + EngFunc_TraceSphere, // void ) (const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr); + + EngFunc_GetAimVector, // void ) (edict_t *ent, float speed, float *rgflReturn); + EngFunc_ParticleEffect, // void ) (const float *org, const float *dir, float color, float count); + EngFunc_LightStyle, // void ) (int style, char *val); + EngFunc_DecalIndex, // int ) (const char *name); + EngFunc_PointContents, // int ) (const float *rgflVector); + EngFunc_FreeEntPrivateData, // void ) (edict_t *pEdict); + EngFunc_SzFromIndex, // const char *) (int iString); + EngFunc_AllocString, // int ) (const char *szValue); + EngFunc_RegUserMsg, // int ) (const char *pszName, int iSize); + EngFunc_AnimationAutomove, // void ) (const edict_t *pEdict, float flTime); + EngFunc_GetBonePosition, // void ) (const edict_t *pEdict, int iBone, float *rgflOrigin, float *rgflAngles); + EngFunc_GetAttachment, // void ) (const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles); + EngFunc_SetView, // void ) (const edict_t *pClient, const edict_t *pViewent); + EngFunc_Time, // float) ( void ); + EngFunc_CrosshairAngle, // void ) (const edict_t *pClient, float pitch, float yaw); + EngFunc_FadeClientVolume, // void ) (const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds); + EngFunc_SetClientMaxspeed, // void ) (const edict_t *pEdict, float fNewMaxspeed); + EngFunc_CreateFakeClient, // edict) (const char *netname); // returns NULL if fake client can't be created + EngFunc_RunPlayerMove, // void ) (edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec); + EngFunc_NumberOfEntities, // int ) ( void ); + EngFunc_StaticDecal, // void ) (const float *origin, int decalIndex, int entityIndex, int modelIndex); + EngFunc_PrecacheGeneric, // int ) (char* s); + EngFunc_BuildSoundMsg, // void ) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed); + EngFunc_GetPhysicsKeyValue, // const char *) (const edict_t *pClient, const char *key); + EngFunc_SetPhysicsKeyValue, // void ) (const edict_t *pClient, const char *key, const char *value); + EngFunc_GetPhysicsInfoString, // const char *) (const edict_t *pClient); + EngFunc_PrecacheEvent, // unsigned short) (int type, const char*psz); + EngFunc_PlaybackEvent, // void ) (int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2); + EngFunc_CheckVisibility, // int ) (const edict_t *entity, unsigned char *pset); + EngFunc_GetCurrentPlayer, // int ) ( void ); + EngFunc_CanSkipPlayer, // int ) (const edict_t *player); + EngFunc_SetGroupMask, // void ) (int mask, int op); + EngFunc_GetClientListening, // bool ) (int iReceiver, int iSender) + EngFunc_SetClientListening, // bool ) (int iReceiver, int iSender, bool Listen) + EngFunc_MessageBegin, // void ) (int msg_dest, int msg_type, const float *pOrigin, edict_t *ed) + EngFunc_WriteCoord, // void ) (float flValue) + EngFunc_WriteAngle, // void ) (float flValue) + EngFunc_InfoKeyValue, // char*) (char *infobuffer, char *key); + EngFunc_SetKeyValue, // void ) (char *infobuffer, char *key, char *value); + EngFunc_SetClientKeyValue, // void ) (int clientIndex, char *infobuffer, char *key, char *value); }; /* Used with dllfunc() */ enum { - DLLFunc_GameInit, // void) ( void ); - DLLFunc_Spawn, // int ) ( edict_t *pent ); - DLLFunc_Think, // void ) ( edict_t *pent ); - DLLFunc_Use, // void ) ( edict_t *pentUsed, edict_t *pentOther ); - DLLFunc_Touch, // void ) ( edict_t *pentTouched, edict_t *pentOther ); - DLLFunc_Blocked, // void ) ( edict_t *pentBlocked, edict_t *pentOther ); + DLLFunc_GameInit, // void ) ( void ); + DLLFunc_Spawn, // int ) (edict_t *pent); + DLLFunc_Think, // void ) (edict_t *pent); + DLLFunc_Use, // void ) (edict_t *pentUsed, edict_t *pentOther); + DLLFunc_Touch, // void ) (edict_t *pentTouched, edict_t *pentOther); + DLLFunc_Blocked, // void ) (edict_t *pentBlocked, edict_t *pentOther); //You can pass in 0 for glb kvd handle or a kvd handle here - DLLFunc_KeyValue, // void ) ( edict_t *pentKeyvalue, KeyValueData *pkvd ); - DLLFunc_SetAbsBox, // void ) ( edict_t *pent ); - DLLFunc_ClientConnect, // bool) ( edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[ 128 ] ); + DLLFunc_KeyValue, // void ) (edict_t *pentKeyvalue, KeyValueData *pkvd); + DLLFunc_SetAbsBox, // void ) (edict_t *pent); + DLLFunc_ClientConnect, // bool ) (edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); - DLLFunc_ClientDisconnect, // void ) ( edict_t *pEntity ); - DLLFunc_ClientKill, // void ) ( edict_t *pEntity ); - DLLFunc_ClientPutInServer, // void ) ( edict_t *pEntity ); - DLLFunc_ClientCommand, // void ) ( edict_t *pEntity ); + DLLFunc_ClientDisconnect, // void ) (edict_t *pEntity); + DLLFunc_ClientKill, // void ) (edict_t *pEntity); + DLLFunc_ClientPutInServer, // void ) (edict_t *pEntity); + DLLFunc_ClientCommand, // void ) (edict_t *pEntity); - DLLFunc_ServerDeactivate, // void) ( void ); + DLLFunc_ServerDeactivate, // void ) ( void ); - DLLFunc_PlayerPreThink, // void ) ( edict_t *pEntity ); - DLLFunc_PlayerPostThink, // void ) ( edict_t *pEntity ); + DLLFunc_PlayerPreThink, // void ) (edict_t *pEntity); + DLLFunc_PlayerPostThink, // void ) (edict_t *pEntity); - DLLFunc_StartFrame, // void ) ( void ); - DLLFunc_ParmsNewLevel, // void ) ( void ); - DLLFunc_ParmsChangeLevel, // void ) ( void ); + DLLFunc_StartFrame, // void ) ( void ); + DLLFunc_ParmsNewLevel, // void ) ( void ); + DLLFunc_ParmsChangeLevel, // void ) ( void ); - // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life - DLLFunc_GetGameDescription, // const char * )( void ); + // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life + // This also gets called when the server is queried for information (for example, by a server browser tool) + DLLFunc_GetGameDescription, // const char *) ( void ); // Spectator funcs - DLLFunc_SpectatorConnect, // void) ( edict_t *pEntity ); - DLLFunc_SpectatorDisconnect, // void ) ( edict_t *pEntity ); - DLLFunc_SpectatorThink, // void ) ( edict_t *pEntity ); + DLLFunc_SpectatorConnect, // void ) (edict_t *pEntity); + DLLFunc_SpectatorDisconnect, // void ) (edict_t *pEntity); + DLLFunc_SpectatorThink, // void ) (edict_t *pEntity); // Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint. - DLLFunc_Sys_Error, // void ) ( const char *error_string ); + DLLFunc_Sys_Error, // void ) (const char *error_string); - DLLFunc_PM_FindTextureType, // char )( char *name ); - DLLFunc_RegisterEncoders, // void ) ( void ); + DLLFunc_PM_FindTextureType, // char ) (char *name); + DLLFunc_RegisterEncoders, // void ) ( void ); // Enumerates player hulls. Returns 0 if the hull number doesn't exist, 1 otherwise - DLLFunc_GetHullBounds, // int) ( int hullnumber, float *mins, float *maxs ); + DLLFunc_GetHullBounds, // int ) (int hullnumber, float *mins, float *maxs); // Create baselines for certain "unplaced" items. - DLLFunc_CreateInstancedBaseline, // void ) ( void ); - DLLFunc_pfnAllowLagCompensation, // int )( void ); + DLLFunc_CreateInstancedBaselines, // void ) ( void ); + DLLFunc_pfnAllowLagCompensation, // int ) ( void ); // I know this does not fit with DLLFUNC(), but I dont want another native just for it. - MetaFunc_CallGameEntity, // bool (plid_t plid, const char *entStr,entvars_t *pev); - DLLFunc_ClientUserInfoChanged // void (idplayer) + MetaFunc_CallGameEntity, // bool ) (plid_t plid, const char *entStr,entvars_t *pev); + DLLFunc_ClientUserInfoChanged // void ) (idplayer) }; enum { @@ -360,141 +363,140 @@ enum /* Used with register_forward() */ enum { - FM_PrecacheModel = 1, // done - FM_PrecacheSound, // done - FM_SetModel, // done - FM_ModelIndex, // done - FM_ModelFrames, // done - FM_SetSize, // done - FM_ChangeLevel, // done - FM_VecToYaw, // done - FM_VecToAngles, // done - FM_MoveToOrigin, // done - FM_ChangeYaw, // done - FM_ChangePitch, // done - FM_FindEntityByString, // done - FM_GetEntityIllum, // done - FM_FindEntityInSphere, // done - FM_FindClientInPVS, // done - FM_EntitiesInPVS, // done - FM_MakeVectors, // done - FM_AngleVectors, // done - FM_CreateEntity, // done - FM_RemoveEntity, // done - FM_CreateNamedEntity, // done - FM_MakeStatic, // done - FM_EntIsOnFloor, // done - FM_DropToFloor, // done - FM_WalkMove, // int ) (edict_t *ent, float yaw, float dist, int iMode); -- does't work as of 0.20 RC2 - FM_SetOrigin, // done - FM_EmitSound, // done - FM_EmitAmbientSound, // done - FM_TraceLine, // void ) (const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_TraceToss, // void ) (edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_TraceMonsterHull, // int ) (edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_TraceHull, // void ) (const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_TraceModel, // void ) (const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_TraceTexture, // const char *) (edict_t *pTextureEntity, const float *v1, const float *v2 ); -- does't work as of 0.20 RC2 - FM_TraceSphere, // void ) (const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2 - FM_GetAimVector, // done - FM_ParticleEffect, // done - FM_LightStyle, // done - FM_DecalIndex, // done - FM_PointContents, // done - FM_MessageBegin, // done - FM_MessageEnd, // done - FM_WriteByte, // done - FM_WriteChar, // done - FM_WriteShort, // done - FM_WriteLong, // done - FM_WriteAngle, // done - FM_WriteCoord, // done - FM_WriteString, // done - FM_WriteEntity, // done - FM_CVarGetFloat, // done - FM_CVarGetString, // done - FM_CVarSetFloat, // done - FM_CVarSetString, // done - FM_FreeEntPrivateData, // done - FM_SzFromIndex, // done - FM_AllocString, // done - FM_RegUserMsg, // done - FM_AnimationAutomove, // done - FM_GetBonePosition, // void ) (const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles ); -- does't work as of 0.20 RC2 - FM_GetAttachment, // void ) (const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles ); -- does't work as of 0.20 RC2 - FM_SetView, // done - FM_Time, // done - FM_CrosshairAngle, // done - FM_FadeClientVolume, // done - FM_SetClientMaxspeed, // done - FM_CreateFakeClient, // done - FM_RunPlayerMove, // void ) (edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec ); -- does't work as of 0.20 RC2 - FM_NumberOfEntities, // done - FM_StaticDecal, // done - FM_PrecacheGeneric, // done - FM_BuildSoundMsg, // void ) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed); -- does't work as of 0.20 RC2 - FM_GetPhysicsKeyValue, // done - FM_SetPhysicsKeyValue, // done - FM_GetPhysicsInfoString,// done - FM_PrecacheEvent, // done - FM_PlaybackEvent, // done - FM_CheckVisibility, //) ( - FM_GetCurrentPlayer, // done - FM_CanSkipPlayer, // done - FM_SetGroupMask, //done - FM_Voice_GetClientListening, // done - FM_Voice_SetClientListening, // done - FM_InfoKeyValue, // done - FM_SetKeyValue, // done - FM_SetClientKeyValue, // done - FM_GetPlayerAuthId, // done - FM_GetPlayerWONId, // done - FM_IsMapValid, // done + FM_PrecacheModel = 1, + FM_PrecacheSound, + FM_SetModel, + FM_ModelIndex, + FM_ModelFrames, + FM_SetSize, + FM_ChangeLevel, + FM_VecToYaw, + FM_VecToAngles, + FM_MoveToOrigin, + FM_ChangeYaw, + FM_ChangePitch, + FM_FindEntityByString, + FM_GetEntityIllum, + FM_FindEntityInSphere, + FM_FindClientInPVS, + FM_EntitiesInPVS, + FM_MakeVectors, + FM_AngleVectors, + FM_CreateEntity, + FM_RemoveEntity, + FM_CreateNamedEntity, + FM_MakeStatic, + FM_EntIsOnFloor, + FM_DropToFloor, + FM_WalkMove, + FM_SetOrigin, + FM_EmitSound, + FM_EmitAmbientSound, + FM_TraceLine, + FM_TraceToss, + FM_TraceMonsterHull, + FM_TraceHull, + FM_TraceModel, + FM_TraceTexture, + FM_TraceSphere, + FM_GetAimVector, + FM_ParticleEffect, + FM_LightStyle, + FM_DecalIndex, + FM_PointContents, + FM_MessageBegin, + FM_MessageEnd, + FM_WriteByte, + FM_WriteChar, + FM_WriteShort, + FM_WriteLong, + FM_WriteAngle, + FM_WriteCoord, + FM_WriteString, + FM_WriteEntity, + FM_CVarGetFloat, + FM_CVarGetString, + FM_CVarSetFloat, + FM_CVarSetString, + FM_FreeEntPrivateData, + FM_SzFromIndex, + FM_AllocString, + FM_RegUserMsg, + FM_AnimationAutomove, + FM_GetBonePosition, + FM_GetAttachment, + FM_SetView, + FM_Time, + FM_CrosshairAngle, + FM_FadeClientVolume, + FM_SetClientMaxspeed, + FM_CreateFakeClient, + FM_RunPlayerMove, + FM_NumberOfEntities, + FM_StaticDecal, + FM_PrecacheGeneric, + FM_BuildSoundMsg, + FM_GetPhysicsKeyValue, + FM_SetPhysicsKeyValue, + FM_GetPhysicsInfoString, + FM_PrecacheEvent, + FM_PlaybackEvent, + FM_CheckVisibility, + FM_GetCurrentPlayer, + FM_CanSkipPlayer, + FM_SetGroupMask, + FM_Voice_GetClientListening, + FM_Voice_SetClientListening, + FM_InfoKeyValue, + FM_SetKeyValue, + FM_SetClientKeyValue, + FM_GetPlayerAuthId, + FM_GetPlayerWONId, + FM_IsMapValid, - - FM_Spawn, // done - FM_Think, // done - FM_Use, // done - FM_Touch, // done - FM_Blocked, // done - FM_KeyValue, // void ) ( edict_t *pentKeyvalue, KeyValueData *pkvd ); -- does't work as of 0.20 RC2 - FM_SetAbsBox, // done - FM_ClientConnect, // done + FM_Spawn, + FM_Think, + FM_Use, + FM_Touch, + FM_Blocked, + FM_KeyValue, + FM_SetAbsBox, + FM_ClientConnect, - FM_ClientDisconnect, // done - FM_ClientKill, // done - FM_ClientPutInServer, // done - FM_ClientCommand, // done + FM_ClientDisconnect, + FM_ClientKill, + FM_ClientPutInServer, + FM_ClientCommand, - FM_ServerDeactivate, // done + FM_ServerDeactivate, - FM_PlayerPreThink, // done - FM_PlayerPostThink, // done + FM_PlayerPreThink, + FM_PlayerPostThink, - FM_StartFrame, // done - FM_ParmsNewLevel, // done - FM_ParmsChangeLevel, // done + FM_StartFrame, + FM_ParmsNewLevel, + FM_ParmsChangeLevel, - // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life - FM_GetGameDescription, // done + // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life + // This also gets called when the server is queried for information (for example, by a server browser tool) + FM_GetGameDescription, // Spectator funcs - FM_SpectatorConnect, // done - FM_SpectatorDisconnect, // done - FM_SpectatorThink, // done + FM_SpectatorConnect, + FM_SpectatorDisconnect, + FM_SpectatorThink, // Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint. - FM_Sys_Error, // done + FM_Sys_Error, - FM_PM_FindTextureType, // done - FM_RegisterEncoders, // done - - // Enumerates player hulls. Returns 0 if the hull number doesn't exist, 1 otherwise + FM_PM_FindTextureType, + FM_RegisterEncoders, // Create baselines for certain "unplaced" items. - FM_CreateInstancedBaseline, // done - FM_AllowLagCompensation, // done - FM_AlertMessage, //done (at_type, message[]) + FM_CreateInstancedBaselines, + + FM_AllowLagCompensation, + FM_AlertMessage, // NEW_DLL_FUNCTIONS: FM_OnFreeEntPrivateData, diff --git a/plugins/include/fakemeta_stocks.inc b/plugins/include/fakemeta_stocks.inc index e507c519..dfeb62b2 100755 --- a/plugins/include/fakemeta_stocks.inc +++ b/plugins/include/fakemeta_stocks.inc @@ -241,8 +241,8 @@ stock DF_RegisterEncoders() stock DF_GetHullBounds(hullnumber, Float:mins[3], Float:maxs[3]) return dllfunc(DLLFunc_GetHullBounds, hullnumber, mins, maxs) -stock DF_CreateInstancedBaseline() - return dllfunc(DLLFunc_CreateInstancedBaseline) +stock DF_CreateInstancedBaselines() + return dllfunc(DLLFunc_CreateInstancedBaselines) stock DF_pfnAllowLagCompensation() return dllfunc(DLLFunc_pfnAllowLagCompensation) stock DF_MetaFunc_CallGameEntity(const STRING[], const ENTITY)