From 16eab8a0911a63e1daa51e44232f887087fd7958 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 2 Mar 2007 00:52:55 +0000 Subject: [PATCH] internal reorganization renamed edict to entity where appropriate --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40560 --- core/msvc8/sourcemod_mm.vcproj | 6 +++- core/smn_halflife.cpp | 54 ---------------------------- plugins/include/entity.inc | 66 ++++++++++++++++++++++++++++++++++ plugins/include/sourcemod.inc | 39 +------------------- 4 files changed, 72 insertions(+), 93 deletions(-) create mode 100644 plugins/include/entity.inc diff --git a/core/msvc8/sourcemod_mm.vcproj b/core/msvc8/sourcemod_mm.vcproj index d8fce4ff..7b30ebd9 100644 --- a/core/msvc8/sourcemod_mm.vcproj +++ b/core/msvc8/sourcemod_mm.vcproj @@ -1,7 +1,7 @@ + + diff --git a/core/smn_halflife.cpp b/core/smn_halflife.cpp index 214d93db..93c00cd0 100644 --- a/core/smn_halflife.cpp +++ b/core/smn_halflife.cpp @@ -51,50 +51,6 @@ static cell_t IsDedicatedServer(IPluginContext *pContext, const cell_t *params) return engine->IsDedicatedServer(); } -static cell_t GetEntityCount(IPluginContext *pContext, const cell_t *params) -{ - return engine->GetEntityCount(); -} - -static cell_t IsValidEntity(IPluginContext *pContext, const cell_t *params) -{ - edict_t *pEdict = engine->PEntityOfEntIndex(params[1]); - - if (!pEdict) - { - return 0; - } - - /* Shouldn't be necessary... not sure though */ - return pEdict->IsFree() ? 0 : 1; -} - -static cell_t CreateEdict(IPluginContext *pContext, const cell_t *params) -{ - edict_t *pEdict = engine->CreateEdict(); - - if (!pEdict) - { - return 0; - } - - return engine->IndexOfEdict(pEdict); -} - -static cell_t RemoveEdict(IPluginContext *pContext, const cell_t *params) -{ - edict_t *pEdict = engine->PEntityOfEntIndex(params[1]); - - if (!pEdict) - { - return pContext->ThrowNativeError("Edict %d is not a valid edict", params[1]); - } - - engine->RemoveEdict(pEdict); - - return 1; -} - static cell_t GetEngineTime(IPluginContext *pContext, const cell_t *params) { float fTime = engine->Time(); @@ -171,11 +127,6 @@ static cell_t GetGameDescription(IPluginContext *pContext, const cell_t *params) return numBytes; } -static cell_t GetMaxEntities(IPluginContext *pContext, const cell_t *params) -{ - return gpGlobals->maxEntities; -} - static cell_t GetCurrentMap(IPluginContext *pContext, const cell_t *params) { size_t bytes; @@ -185,20 +136,15 @@ static cell_t GetCurrentMap(IPluginContext *pContext, const cell_t *params) REGISTER_NATIVES(halflifeNatives) { - {"CreateEdict", CreateEdict}, {"CreateFakeClient", CreateFakeClient}, {"GetCurrentMap", GetCurrentMap}, {"GetEngineTime", GetEngineTime}, - {"GetEntityCount", GetEntityCount}, {"GetGameDescription", GetGameDescription}, {"GetGameTime", GetGameTime}, - {"GetMaxEntities", GetMaxEntities}, {"GetRandomFloat", GetRandomFloat}, {"GetRandomInt", GetRandomInt}, {"IsDedicatedServer", IsDedicatedServer}, {"IsMapValid", IsMapValid}, - {"IsValidEntity", IsValidEntity}, - {"RemoveEdict", RemoveEdict}, {"SetFakeClientConVar", SetFakeClientConVar}, {"SetRandomSeed", SetRandomSeed}, {NULL, NULL}, diff --git a/plugins/include/entity.inc b/plugins/include/entity.inc new file mode 100644 index 00000000..03f40cc4 --- /dev/null +++ b/plugins/include/entity.inc @@ -0,0 +1,66 @@ +/** + * vim: set ts=4 : + * =============================================================== + * SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved. + * =============================================================== + * + * This file is part of the SourceMod/SourcePawn SDK. This file may only be used + * or modified under the Terms and Conditions of its License Agreement, which is found + * in LICENSE.txt. The Terms and Conditions for making SourceMod extensions/plugins + * may change at any time. To view the latest information, see: + * http://www.sourcemod.net/license.php + * + * Version: $Id$ + */ + +#if defined _entity_included + #endinput +#endif +#define _entity_included + +/** + * Returns the maximum number of entities. + * + * @return Maximum number of entities. + */ +native GetMaxEntities(); + +/** + * Returns the number of entities in the server. + * + * @return Number of entities in the server. + */ +native GetEntityCount(); + +/** + * Returns whether or not an entity is valid. Returns false + * if there is no matching CBaseEntity for this edict index. + * + * @param edict Index of the entity. + * @return True if valid, false otherwise. + */ +native bool:IsValidEntity(edict); + +/** + * Returns whether or not an edict index is valid. + * + * @param edict Index of the edict. + * @return True if valid, false otherwise. + */ +native bool:IsValidEdict(edict); + +/** + * Creates a new edict (the basis of a networkable entity) + * + * @return Index of the entity, 0 on failure. + */ +native CreateEdict(); + +/** + * Removes an edict from the world. + * + * @param edict Index of the entity. + * @noreturn + * @error Invalid entity index. + */ +native RemoveEdict(edict); diff --git a/plugins/include/sourcemod.inc b/plugins/include/sourcemod.inc index ae792fa0..fb0d3299 100644 --- a/plugins/include/sourcemod.inc +++ b/plugins/include/sourcemod.inc @@ -37,6 +37,7 @@ struct Plugin #include #include #include +#include /** * Declare this as a struct in your plugin to expose its information. @@ -173,37 +174,6 @@ native bool:IsMapValid(const String:map[]); */ native bool:IsDedicatedServer(); -/** - * Returns the number of entities in the server. - * - * @return Number of entities in the server. - */ -native GetEntityCount(); - -/** - * Returns whether or not an entity is valid. - * - * @param entity Index of the entity. - * @return True if valid, false otherwise. - */ -native bool:IsValidEntity(entity); - -/** - * Creates a new edict (the basis of a networkable entity) - * - * @return Index of the entity, 0 on failure. - */ -native CreateEdict(); - -/** - * Removes an edict from the world. - * - * @param entity Index of the entity. - * @noreturn - * @error Invalid entity index. - */ -native RemoveEntity(entity); - /** * Returns a high-precision time value for profiling the engine. * @@ -229,13 +199,6 @@ native Float:GetGameTime(); */ native GetGameDescription(String:buffer[], maxlength, bool:original=false); -/** - * Returns the maximum number of entities. - * - * @return Maximum number of entities. - */ -native GetMaxEntities(); - /** * Returns the current map name. *