amxx sdk update
This commit is contained in:
		@@ -1,4 +1,36 @@
 | 
			
		||||
 | 
			
		||||
/* AMX Mod X
 | 
			
		||||
*
 | 
			
		||||
* by the AMX Mod X Development Team
 | 
			
		||||
*  originally developed by OLO
 | 
			
		||||
*
 | 
			
		||||
* Parts Copyright (C) 2001-2003 Will Day <willday@hpgx.net>
 | 
			
		||||
*
 | 
			
		||||
*  This program is free software; you can redistribute it and/or modify it
 | 
			
		||||
*  under the terms of the GNU General Public License as published by the
 | 
			
		||||
*  Free Software Foundation; either version 2 of the License, or (at
 | 
			
		||||
*  your option) any later version.
 | 
			
		||||
*
 | 
			
		||||
*  This program is distributed in the hope that it will be useful, but
 | 
			
		||||
*  WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 | 
			
		||||
*  General Public License for more details.
 | 
			
		||||
*
 | 
			
		||||
*  You should have received a copy of the GNU General Public License
 | 
			
		||||
*  along with this program; if not, write to the Free Software Foundation,
 | 
			
		||||
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 | 
			
		||||
*
 | 
			
		||||
*  In addition, as a special exception, the author gives permission to
 | 
			
		||||
*  link the code of this program with the Half-Life Game Engine ("HL
 | 
			
		||||
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
 | 
			
		||||
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
 | 
			
		||||
*  respects for all of the code used other than the HL Engine and MODs
 | 
			
		||||
*  from Valve. If you modify this file, you may extend this exception
 | 
			
		||||
*  to your version of the file, but you are not obligated to do so. If
 | 
			
		||||
*  you do not wish to do so, delete this exception statement from your
 | 
			
		||||
*  version.
 | 
			
		||||
*
 | 
			
		||||
*  Description: AMX Mod X Module Interface Functions
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <new>
 | 
			
		||||
@@ -2442,6 +2474,9 @@ PFN_LOAD_AMXSCRIPT			g_fn_LoadAmxScript;
 | 
			
		||||
PFN_UNLOAD_AMXSCRIPT		g_fn_UnloadAmxScript;
 | 
			
		||||
PFN_REAL_TO_CELL			g_fn_RealToCell;
 | 
			
		||||
PFN_CELL_TO_REAL			g_fn_CellToReal;
 | 
			
		||||
PFN_REGISTER_SPFORWARD		g_fn_RegisterSPForward;
 | 
			
		||||
PFN_REGISTER_SPFORWARD_BYNAME	g_fn_RegisterSPForwardByName;
 | 
			
		||||
PFN_UNREGISTER_SPFORWARD	g_fn_UnregisterSPForward;
 | 
			
		||||
 | 
			
		||||
// *** Exports ***
 | 
			
		||||
C_DLLEXPORT int AMXX_Query(int *interfaceVersion, amxx_module_info_s *moduleInfo)
 | 
			
		||||
@@ -2510,6 +2545,9 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc)
 | 
			
		||||
	REQFUNC("AddNatives", g_fn_AddNatives, PFN_ADD_NATIVES);
 | 
			
		||||
	REQFUNC("RaiseAmxError", g_fn_RaiseAmxError, PFN_RAISE_AMXERROR);
 | 
			
		||||
	REQFUNC("RegisterForward", g_fn_RegisterForward, PFN_REGISTER_FORWARD);
 | 
			
		||||
	REQFUNC("RegisterSPForward", g_fn_RegisterSPForward, PFN_REGISTER_SPFORWARD);
 | 
			
		||||
	REQFUNC("RegisterSPForwardByName", g_fn_RegisterSPForwardByName, PFN_REGISTER_SPFORWARD_BYNAME);
 | 
			
		||||
	REQFUNC("UnregisterSPForward", g_fn_UnregisterSPForward, PFN_UNREGISTER_SPFORWARD);
 | 
			
		||||
	REQFUNC("ExecuteForward", g_fn_ExecuteForward, PFN_EXECUTE_FORWARD);
 | 
			
		||||
	REQFUNC("PrepareCellArray", g_fn_PrepareCellArray, PFN_PREPARE_CELLARRAY);
 | 
			
		||||
	REQFUNC("PrepareCharArray", g_fn_PrepareCharArray, PFN_PREPARE_CHARARRAY);
 | 
			
		||||
@@ -2584,7 +2622,7 @@ void MF_Log(const char *fmt, ...)
 | 
			
		||||
#ifdef _DEBUG
 | 
			
		||||
// validate macros
 | 
			
		||||
// Makes sure compiler reports errors when macros are invalid
 | 
			
		||||
void ValidateMacros()
 | 
			
		||||
void ValidateMacros_DontCallThis_Smiley()
 | 
			
		||||
{
 | 
			
		||||
	MF_BuildPathname("str", "str", 0);
 | 
			
		||||
	MF_FormatAmxString(NULL, 0, 0, NULL);
 | 
			
		||||
@@ -2630,6 +2668,9 @@ void ValidateMacros()
 | 
			
		||||
	MF_AmxAllot(0, 0, 0, 0);
 | 
			
		||||
	MF_LoadAmxScript(0, 0, 0, 0);
 | 
			
		||||
	MF_UnloadAmxScript(0, 0);
 | 
			
		||||
	MF_RegisterSPForward(0, 0, 0, 0, 0, 0);
 | 
			
		||||
	MF_RegisterSPForwardByName(0, 0, 0, 0, 0, 0);
 | 
			
		||||
	MF_UnregisterSPForward(0);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -257,9 +257,9 @@ void FN_META_QUERY(void);
 | 
			
		||||
void FN_META_ATTACH(void);
 | 
			
		||||
#endif // FN_META_ATTACH
 | 
			
		||||
 | 
			
		||||
#ifdef FN_META_DETTACH
 | 
			
		||||
void FN_META_DETTACH(void);
 | 
			
		||||
#endif // FN_META_DETTACH
 | 
			
		||||
#ifdef FN_META_DETACH
 | 
			
		||||
void FN_META_DETACH(void);
 | 
			
		||||
#endif // FN_META_DETACH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1869,9 +1869,9 @@ void FN_AMXX_QUERY(void);
 | 
			
		||||
void FN_AMXX_ATTACH(void);
 | 
			
		||||
#endif // FN_AMXX_ATTACH
 | 
			
		||||
 | 
			
		||||
#ifdef FN_AMXX_DETTACH
 | 
			
		||||
void FN_AMXX_DETTACH(void);
 | 
			
		||||
#endif // FN_AMXX_DETTACH
 | 
			
		||||
#ifdef FN_AMXX_DETACH
 | 
			
		||||
void FN_AMXX_DETACH(void);
 | 
			
		||||
#endif // FN_AMXX_DETACH
 | 
			
		||||
 | 
			
		||||
#ifdef FN_AMXX_PLUGINSLOADED
 | 
			
		||||
void FN_AMXX_PLUGINSLOADED(void);
 | 
			
		||||
@@ -1951,6 +1951,9 @@ typedef int				(*PFN_LOAD_AMXSCRIPT)			(AMX* /*amx*/, void** /*code*/, const cha
 | 
			
		||||
typedef int				(*PFN_UNLOAD_AMXSCRIPT)			(AMX* /*amx*/,void** /*code*/);
 | 
			
		||||
typedef cell			(*PFN_REAL_TO_CELL)				(REAL /*x*/);
 | 
			
		||||
typedef REAL			(*PFN_CELL_TO_REAL)				(cell /*x*/);
 | 
			
		||||
typedef int				(*PFN_REGISTER_SPFORWARD)		(AMX * /*amx*/, int /*func*/, ... /*params*/);
 | 
			
		||||
typedef int				(*PFN_REGISTER_SPFORWARD_BYNAME)	(AMX * /*amx*/, const char * /*funcName*/, ... /*params*/);
 | 
			
		||||
typedef void			(*PFN_UNREGISTER_SPFORWARD)		(int /*id*/);
 | 
			
		||||
 | 
			
		||||
extern PFN_ADD_NATIVES				g_fn_AddNatives;
 | 
			
		||||
extern PFN_BUILD_PATHNAME			g_fn_BuildPathname;
 | 
			
		||||
@@ -1999,6 +2002,9 @@ extern PFN_LOAD_AMXSCRIPT			g_fn_LoadAmxScript;
 | 
			
		||||
extern PFN_UNLOAD_AMXSCRIPT			g_fn_UnloadAmxScript;
 | 
			
		||||
extern PFN_REAL_TO_CELL				g_fn_RealToCell;
 | 
			
		||||
extern PFN_CELL_TO_REAL				g_fn_CellToReal;
 | 
			
		||||
extern PFN_REGISTER_SPFORWARD		g_fn_RegisterSPForward;
 | 
			
		||||
extern PFN_REGISTER_SPFORWARD_BYNAME	g_fn_RegisterSPForwardByName;
 | 
			
		||||
extern PFN_UNREGISTER_SPFORWARD		g_fn_UnregisterSPForward;
 | 
			
		||||
 | 
			
		||||
#ifdef MAY_NEVER_BE_DEFINED
 | 
			
		||||
// Function prototypes for intellisense and similar systems
 | 
			
		||||
@@ -2044,6 +2050,9 @@ int				MF_GetPlayerArmor			(int id) { }
 | 
			
		||||
int				MF_GetPlayerHealth			(int id) { }
 | 
			
		||||
REAL			amx_ctof					(cell x) { }
 | 
			
		||||
cell			amx_ftoc					(float x) { }
 | 
			
		||||
int				MF_RegisterSPForwardByName	(AMX * amx, const char *str, ...) { }
 | 
			
		||||
int				MF_RegisterSPForward		(AMX * amx, int func, ...) { }
 | 
			
		||||
void			MF_UnregisterSPForward		(int id) { }
 | 
			
		||||
#endif	// MAY_NEVER_BE_DEFINED
 | 
			
		||||
 | 
			
		||||
#define MF_AddNatives g_fn_AddNatives
 | 
			
		||||
@@ -2093,6 +2102,9 @@ void MF_Log(const char *fmt, ...);
 | 
			
		||||
#define MF_UnloadAmxScript g_fn_UnloadAmxScript
 | 
			
		||||
#define amx_ctof g_fn_CellToReal
 | 
			
		||||
#define amx_ftoc g_fn_RealToCell
 | 
			
		||||
#define MF_RegisterSPForwardByName g_fn_RegisterSPForwardByName
 | 
			
		||||
#define MF_RegisterSPForward g_fn_RegisterSPForward
 | 
			
		||||
#define MF_UnregisterSPForward g_fn_UnregisterSPForward
 | 
			
		||||
 | 
			
		||||
/*** Memory ***/
 | 
			
		||||
void	*operator new(size_t reportedSize);
 | 
			
		||||
 
 | 
			
		||||
@@ -289,7 +289,7 @@ void TraceLine_Post(const float *v1, const float *v2, int fNoMonsters, edict_t *
 | 
			
		||||
	RETURN_META(MRES_IGNORED);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FN_META_ATTACH() {
 | 
			
		||||
void OnMetaAttach() {
 | 
			
		||||
 | 
			
		||||
	CVAR_REGISTER (&init_csstats_maxsize);
 | 
			
		||||
	CVAR_REGISTER (&init_csstats_reset);
 | 
			
		||||
@@ -304,7 +304,7 @@ void FN_META_ATTACH() {
 | 
			
		||||
	csstats_pause = CVAR_GET_POINTER(init_csstats_pause.name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FN_AMXX_ATTACH(){
 | 
			
		||||
void OnAmxxAttach(){
 | 
			
		||||
	MF_AddNatives(stats_Natives);
 | 
			
		||||
	const char* path =  get_localinfo("csstats_score");
 | 
			
		||||
	if ( path && *path ) 
 | 
			
		||||
@@ -320,13 +320,13 @@ void FN_AMXX_ATTACH(){
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FN_AMXX_Detach() {
 | 
			
		||||
void OnAmxxDetach() {
 | 
			
		||||
	g_grenades.clear();
 | 
			
		||||
	g_rank.clear();
 | 
			
		||||
	g_rank.unloadCalc();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FN_AMXX_PLUGINSLOADED(){
 | 
			
		||||
void OnPluginsLoaded(){
 | 
			
		||||
	iFDamage = MF_RegisterForward("client_damage",ET_IGNORE,FP_CELL,FP_CELL,FP_CELL,FP_CELL,FP_CELL,FP_CELL,FP_DONE);
 | 
			
		||||
	iFDeath = MF_RegisterForward("client_death",ET_IGNORE,FP_CELL,FP_CELL,FP_CELL,FP_CELL,FP_CELL,FP_DONE);
 | 
			
		||||
	iFGrenade = MF_RegisterForward("grenade_throw",ET_IGNORE,FP_CELL,FP_CELL,FP_CELL,FP_DONE);
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
//   Do native functions init here (MF_AddNatives)
 | 
			
		||||
#define FN_AMXX_ATTACH OnAmxxAttach
 | 
			
		||||
// AMXX dettach
 | 
			
		||||
#define FN_AMXX_DETTACH OnAmxxDettach
 | 
			
		||||
#define FN_AMXX_DETACH OnAmxxDetach
 | 
			
		||||
// All plugins loaded
 | 
			
		||||
//   Do forward functions init here (MF_RegisterForward)
 | 
			
		||||
#define FN_AMXX_PLUGINSLOADED OnPluginsLoaded
 | 
			
		||||
@@ -49,7 +49,7 @@
 | 
			
		||||
// Meta attach
 | 
			
		||||
#define FN_META_ATTACH OnMetaAttach
 | 
			
		||||
// Meta dettach
 | 
			
		||||
#define FN_META_DETTACH OnMetaDettach
 | 
			
		||||
//#define FN_META_DETACH OnMetaDetach
 | 
			
		||||
 | 
			
		||||
// (wd) are Will Day's notes
 | 
			
		||||
// - GetEntityAPI2 functions
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user