Fixed bug where meta tables would not be NULL'd correctly

This commit is contained in:
David Anderson 2004-08-30 01:11:48 +00:00
parent 36ad12b6b3
commit ebe778d0ee
3 changed files with 23 additions and 10 deletions

View File

@ -175,6 +175,18 @@ inline edict_t* INDEXENT2( int iEdictNum )
void EngineError(AMX *amx, char *fmt, ...); void EngineError(AMX *amx, char *fmt, ...);
int Spawn(edict_t *pEntity);
void ChangeLevel(char* s1, char* s2);
void PlaybackEvent(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);
void KeyValue(edict_t *pEntity, KeyValueData *pkvd);
void StartFrame();
void CmdStart(const edict_t *player, const struct usercmd_s *_cmd, unsigned int random_seed);
void ClientKill(edict_t *pEntity);
void PlayerPreThink(edict_t *pEntity);
void PlayerPostThink_Post(edict_t *pEntity);
void pfnTouch(edict_t *pToucher, edict_t *pTouched);
void Think(edict_t *pent);
#define CHECK_ENTITY(x) if (x != 0 && (FNullEnt(INDEXENT2(x)) || x < 0 || x > gpGlobals->maxEntities)) { EngineError(amx, "Invalid entity %d", x); return 0; } #define CHECK_ENTITY(x) if (x != 0 && (FNullEnt(INDEXENT2(x)) || x < 0 || x > gpGlobals->maxEntities)) { EngineError(amx, "Invalid entity %d", x); return 0; }
extern bool g_inKeyValue; extern bool g_inKeyValue;

View File

@ -170,6 +170,7 @@ void PlayerPreThink(edict_t *pEntity)
MF_ExecuteForward(PlayerPreThinkForward, ENTINDEX(pEntity)); MF_ExecuteForward(PlayerPreThinkForward, ENTINDEX(pEntity));
RETURN_META(MRES_IGNORED); RETURN_META(MRES_IGNORED);
} }
void PlayerPostThink_Post(edict_t *pEntity) void PlayerPostThink_Post(edict_t *pEntity)
{ {
if(plinfo[ENTINDEX(pEntity)].pViewEnt) { if(plinfo[ENTINDEX(pEntity)].pViewEnt) {

View File

@ -54,12 +54,12 @@
// (wd) are Will Day's notes // (wd) are Will Day's notes
// - GetEntityAPI2 functions // - GetEntityAPI2 functions
// #define FN_GameDLLInit GameDLLInit /* pfnGameInit() */ // #define FN_GameDLLInit GameDLLInit /* pfnGameInit() */
#define FN_DispatchSpawn Spawn /* pfnSpawn() */ //#define FN_DispatchSpawn Spawn /* pfnSpawn() */
#define FN_DispatchThink Think /* pfnThink() */ //#define FN_DispatchThink Think /* pfnThink() */
// #define FN_DispatchUse Use /* pfnUse() */ // #define FN_DispatchUse Use /* pfnUse() */
#define FN_DispatchTouch pfnTouch /* pfnTouch() */ //#define FN_DispatchTouch pfnTouch /* pfnTouch() */
// #define FN_DispatchBlocked DispatchBlocked /* pfnBlocked() */ // #define FN_DispatchBlocked DispatchBlocked /* pfnBlocked() */
#define FN_DispatchKeyValue KeyValue /* pfnKeyValue() */ //#define FN_DispatchKeyValue KeyValue /* pfnKeyValue() */
// #define FN_DispatchSave DispatchSave /* pfnSave() */ // #define FN_DispatchSave DispatchSave /* pfnSave() */
// #define FN_DispatchRestore DispatchRestore /* pfnRestore() */ // #define FN_DispatchRestore DispatchRestore /* pfnRestore() */
// #define FN_DispatchObjectCollsionBox DispatchObjectCollsionBox /* pfnSetAbsBox() */ // #define FN_DispatchObjectCollsionBox DispatchObjectCollsionBox /* pfnSetAbsBox() */
@ -70,15 +70,15 @@
// #define FN_ResetGlobalState ResetGlobalState /* pfnResetGlobalState() */ // #define FN_ResetGlobalState ResetGlobalState /* pfnResetGlobalState() */
#define FN_ClientConnect ClientConnect /* pfnClientConnect() (wd) Client has connected */ #define FN_ClientConnect ClientConnect /* pfnClientConnect() (wd) Client has connected */
#define FN_ClientDisconnect ClientDisconnect /* pfnClientDisconnect() (wd) Player has left the game */ #define FN_ClientDisconnect ClientDisconnect /* pfnClientDisconnect() (wd) Player has left the game */
#define FN_ClientKill ClientKill /* pfnClientKill() (wd) Player has typed "kill" */ //#define FN_ClientKill ClientKill /* pfnClientKill() (wd) Player has typed "kill" */
// #define FN_ClientPutInServer ClientPutInServer /* pfnClientPutInServer() (wd) Client is entering the game */ // #define FN_ClientPutInServer ClientPutInServer /* pfnClientPutInServer() (wd) Client is entering the game */
// #define FN_ClientCommand ClientCommand /* pfnClientCommand() (wd) Player has sent a command (typed or from a bind) */ // #define FN_ClientCommand ClientCommand /* pfnClientCommand() (wd) Player has sent a command (typed or from a bind) */
// #define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */ // #define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */
#define FN_ServerActivate ServerActivate /* pfnServerActivate() (wd) Server is starting a new map */ #define FN_ServerActivate ServerActivate /* pfnServerActivate() (wd) Server is starting a new map */
#define FN_ServerDeactivate ServerDeactivate /* pfnServerDeactivate() (wd) Server is leaving the map (shutdown or changelevel); SDK2 */ #define FN_ServerDeactivate ServerDeactivate /* pfnServerDeactivate() (wd) Server is leaving the map (shutdown or changelevel); SDK2 */
#define FN_PlayerPreThink PlayerPreThink /* pfnPlayerPreThink() */ //#define FN_PlayerPreThink PlayerPreThink /* pfnPlayerPreThink() */
// #define FN_PlayerPostThink PlayerPostThink /* pfnPlayerPostThink() */ // #define FN_PlayerPostThink PlayerPostThink /* pfnPlayerPostThink() */
#define FN_StartFrame StartFrame /* pfnStartFrame() */ //#define FN_StartFrame StartFrame /* pfnStartFrame() */
// #define FN_ParmsNewLevel ParmsNewLevel /* pfnParmsNewLevel() */ // #define FN_ParmsNewLevel ParmsNewLevel /* pfnParmsNewLevel() */
// #define FN_ParmsChangeLevel ParmsChangeLevel /* pfnParmsChangeLevel() */ // #define FN_ParmsChangeLevel ParmsChangeLevel /* pfnParmsChangeLevel() */
// #define FN_GetGameDescription GetGameDescription /* pfnGetGameDescription() Returns string describing current .dll. E.g. "TeamFotrress 2" "Half-Life" */ // #define FN_GetGameDescription GetGameDescription /* pfnGetGameDescription() Returns string describing current .dll. E.g. "TeamFotrress 2" "Half-Life" */
@ -96,7 +96,7 @@
// #define FN_CreateBaseline CreateBaseline /* pfnCreateBaseline() Tweak entity baseline for network encoding allows setup of player baselines too.; (wd) SDK2 */ // #define FN_CreateBaseline CreateBaseline /* pfnCreateBaseline() Tweak entity baseline for network encoding allows setup of player baselines too.; (wd) SDK2 */
// #define FN_RegisterEncoders RegisterEncoders /* pfnRegisterEncoders() Callbacks for network encoding; (wd) SDK2 */ // #define FN_RegisterEncoders RegisterEncoders /* pfnRegisterEncoders() Callbacks for network encoding; (wd) SDK2 */
// #define FN_GetWeaponData GetWeaponData /* pfnGetWeaponData() (wd) SDK2 */ // #define FN_GetWeaponData GetWeaponData /* pfnGetWeaponData() (wd) SDK2 */
#define FN_CmdStart CmdStart /* pfnCmdStart() (wd) SDK2 */ //#define FN_CmdStart CmdStart /* pfnCmdStart() (wd) SDK2 */
// #define FN_CmdEnd CmdEnd /* pfnCmdEnd() (wd) SDK2 */ // #define FN_CmdEnd CmdEnd /* pfnCmdEnd() (wd) SDK2 */
// #define FN_ConnectionlessPacket ConnectionlessPacket /* pfnConnectionlessPacket() (wd) SDK2 */ // #define FN_ConnectionlessPacket ConnectionlessPacket /* pfnConnectionlessPacket() (wd) SDK2 */
// #define FN_GetHullBounds GetHullBounds /* pfnGetHullBounds() (wd) SDK2 */ // #define FN_GetHullBounds GetHullBounds /* pfnGetHullBounds() (wd) SDK2 */
@ -129,7 +129,7 @@
// #define FN_ServerActivate_Post ServerActivate_Post // #define FN_ServerActivate_Post ServerActivate_Post
// #define FN_ServerDeactivate_Post ServerDeactivate_Post // #define FN_ServerDeactivate_Post ServerDeactivate_Post
// #define FN_PlayerPreThink_Post PlayerPreThink_Post // #define FN_PlayerPreThink_Post PlayerPreThink_Post
#define FN_PlayerPostThink_Post PlayerPostThink_Post //#define FN_PlayerPostThink_Post PlayerPostThink_Post
// #define FN_StartFrame_Post StartFrame_Post // #define FN_StartFrame_Post StartFrame_Post
// #define FN_ParmsNewLevel_Post ParmsNewLevel_Post // #define FN_ParmsNewLevel_Post ParmsNewLevel_Post
// #define FN_ParmsChangeLevel_Post ParmsChangeLevel_Post // #define FN_ParmsChangeLevel_Post ParmsChangeLevel_Post
@ -280,7 +280,7 @@
// #define FN_SetPhysicsKeyValue SetPhysicsKeyValue // #define FN_SetPhysicsKeyValue SetPhysicsKeyValue
// #define FN_GetPhysicsInfoString GetPhysicsInfoString // #define FN_GetPhysicsInfoString GetPhysicsInfoString
// #define FN_PrecacheEvent PrecacheEvent // #define FN_PrecacheEvent PrecacheEvent
#define FN_PlaybackEvent PlaybackEvent //#define FN_PlaybackEvent PlaybackEvent
// #define FN_SetFatPVS SetFatPVS // #define FN_SetFatPVS SetFatPVS
// #define FN_SetFatPAS SetFatPAS // #define FN_SetFatPAS SetFatPAS
// #define FN_CheckVisibility CheckVisibility // #define FN_CheckVisibility CheckVisibility