SDK no longer manages memory by default
This commit is contained in:
		| @@ -45,8 +45,6 @@ | ||||
| enginefuncs_t g_engfuncs; | ||||
| globalvars_t  *gpGlobals; | ||||
|  | ||||
|  | ||||
|  | ||||
| DLL_FUNCTIONS *g_pFunctionTable; | ||||
| DLL_FUNCTIONS *g_pFunctionTable_Post; | ||||
| enginefuncs_t *g_pengfuncsTable; | ||||
| @@ -54,7 +52,6 @@ enginefuncs_t *g_pengfuncsTable_Post; | ||||
| NEW_DLL_FUNCTIONS *g_pNewFunctionsTable; | ||||
| NEW_DLL_FUNCTIONS *g_pNewFunctionsTable_Post; | ||||
|  | ||||
|  | ||||
| // GetEntityAPI2 functions | ||||
| static DLL_FUNCTIONS g_EntityAPI_Table =  | ||||
| { | ||||
| @@ -2481,9 +2478,11 @@ PFN_IS_PLAYER_CONNECTING	g_fn_IsPlayerConnecting; | ||||
| PFN_IS_PLAYER_HLTV			g_fn_IsPlayerHLTV; | ||||
| PFN_GET_PLAYER_ARMOR		g_fn_GetPlayerArmor; | ||||
| PFN_GET_PLAYER_HEALTH		g_fn_GetPlayerHealth; | ||||
| #ifdef MEMORY_TEST | ||||
| PFN_ALLOCATOR				g_fn_Allocator; | ||||
| PFN_REALLOCATOR				g_fn_Reallocator; | ||||
| PFN_DEALLOCATOR				g_fn_Deallocator; | ||||
| #endif | ||||
| PFN_AMX_EXEC				g_fn_AmxExec; | ||||
| PFN_AMX_EXECV				g_fn_AmxExecv; | ||||
| PFN_AMX_ALLOT				g_fn_AmxAllot; | ||||
| @@ -2613,10 +2612,12 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) | ||||
| 	REQFUNC("GetPlayerEdict", g_fn_GetPlayerEdict, PFN_GET_PLAYER_EDICT); | ||||
| 	REQFUNC("amx_Push", g_fn_AmxPush, PFN_AMX_PUSH); | ||||
|  | ||||
| #ifdef MEMORY_TEST | ||||
| 	// Memory | ||||
| 	REQFUNC_OPT("Allocator", g_fn_Allocator, PFN_ALLOCATOR); | ||||
| 	REQFUNC_OPT("Reallocator", g_fn_Reallocator, PFN_REALLOCATOR); | ||||
| 	REQFUNC_OPT("Deallocator", g_fn_Deallocator, PFN_DEALLOCATOR); | ||||
| #endif | ||||
|  | ||||
| 	REQFUNC("CellToReal", g_fn_CellToReal, PFN_CELL_TO_REAL); | ||||
| 	REQFUNC("RealToCell", g_fn_RealToCell, PFN_REAL_TO_CELL); | ||||
| @@ -2735,6 +2736,8 @@ void ValidateMacros_DontCallThis_Smiley() | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #ifdef MEMORY_TEST | ||||
|  | ||||
| /************* MEMORY *************/ | ||||
| // undef all defined macros | ||||
| #undef new | ||||
| @@ -2906,6 +2909,8 @@ void	operator delete[](void *reportedAddress) | ||||
| 	Mem_Deallocator(g_Mem_CurrentFilename, g_Mem_CurrentLine, g_Mem_CurrentFunc, m_alloc_delete_array, reportedAddress); | ||||
| } | ||||
|  | ||||
| #endif //MEMORY_TEST | ||||
|  | ||||
| /************* stuff from dlls/util.cpp *************/ | ||||
| //				must come here because cbase.h declares it's own operator new | ||||
|  | ||||
|   | ||||
| @@ -46,8 +46,6 @@ struct amxx_module_info_s | ||||
| 	const char *logtag;		// added in version 2 | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| // return values from functions called by amxx | ||||
| #define AMXX_OK					0			/* no error */ | ||||
| #define AMXX_IFVERS				1			/* interface version */ | ||||
| @@ -1981,12 +1979,14 @@ typedef edict_t *		(*PFN_GET_PLAYER_EDICT)			(int /*id*/); | ||||
| typedef void *			(*PFN_GET_PLAYER_EDICT)			(int /*id*/); | ||||
| #endif | ||||
|  | ||||
| #ifdef MEMORY_TEST | ||||
| typedef void *			(*PFN_ALLOCATOR)				(const char* /*filename*/, const unsigned int /*line*/, const char* /*func*/, | ||||
| 														 const unsigned int /*type*/, const size_t /*size*/); | ||||
| typedef void *			(*PFN_REALLOCATOR)				(const char* /*filename*/, const unsigned int /*line*/, const char* /*func*/, | ||||
| 														 const unsigned int /*type*/, const size_t /*size*/, void* /*addr*/ ); | ||||
| typedef void			(*PFN_DEALLOCATOR)				(const char* /*filename*/, const unsigned int /*line*/, const char* /*func*/, | ||||
| 														 const unsigned int /*type*/, const void* /*addr*/ ); | ||||
| #endif | ||||
| typedef int				(*PFN_AMX_EXEC)					(AMX* /*amx*/, cell* /*return val*/, int /*index*/); | ||||
| typedef int				(*PFN_AMX_EXECV)				(AMX* /*amx*/, cell* /*return val*/, int /*index*/, int /*numparams*/, cell[] /*params*/); | ||||
| typedef int				(*PFN_AMX_ALLOT)				(AMX* /*amx*/, int /*length*/, cell* /*amx_addr*/, cell** /*phys_addr*/); | ||||
| @@ -2048,7 +2048,6 @@ extern PFN_IS_PLAYER_HLTV			g_fn_IsPlayerHLTV; | ||||
| extern PFN_GET_PLAYER_ARMOR			g_fn_GetPlayerArmor; | ||||
| extern PFN_GET_PLAYER_HEALTH		g_fn_GetPlayerHealth; | ||||
| extern PFN_AMX_EXEC					g_fn_AmxExec; | ||||
| extern PFN_AMX_EXECV				g_fn_AmxExecv; | ||||
| extern PFN_AMX_ALLOT				g_fn_AmxAllot; | ||||
| extern PFN_AMX_FINDPUBLIC			g_fn_AmxFindPublic; | ||||
| extern PFN_LOAD_AMXSCRIPT			g_fn_LoadAmxScript; | ||||
| @@ -2193,6 +2192,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...); | ||||
| #define MF_RequestFunction g_fn_RequestFunction; | ||||
| #define MF_AmxPush g_fn_AmxPush | ||||
|  | ||||
| #ifdef MEMORY_TEST | ||||
| /*** Memory ***/ | ||||
| void	*operator new(size_t reportedSize); | ||||
| void	*operator new[](size_t reportedSize); | ||||
| @@ -2236,4 +2236,6 @@ void	Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons | ||||
| #define	realloc(ptr,sz)	Mem_Reallocator(__FILE__,__LINE__,__FUNCTION__,m_alloc_realloc,sz,ptr) | ||||
| #define	free(ptr)	Mem_Deallocator(__FILE__,__LINE__,__FUNCTION__,m_alloc_free,ptr) | ||||
|  | ||||
| #endif //MEMORY_TEST | ||||
|  | ||||
| #endif // #ifndef __AMXXMODULE_H__ | ||||
|   | ||||
| @@ -21,13 +21,19 @@ | ||||
| // metamod plugin? | ||||
| // #define USE_METAMOD | ||||
|  | ||||
| // use memory manager/tester? | ||||
| // note that if you use this, you cannot construct/allocate  | ||||
| // anything before the module attached (OnAmxxAttach). | ||||
| // be careful of default constructors using new/malloc! | ||||
| // #define MEMORY_TEST | ||||
|  | ||||
| // - AMXX Init functions | ||||
| // Also consider using FN_META_* | ||||
| // AMXX query | ||||
| //#define FN_AMXX_QUERY OnAmxxQuery | ||||
| // AMXX attach | ||||
| //   Do native functions init here (MF_AddNatives) | ||||
| // #define FN_AMXX_ATTACH OnAmxxAttach | ||||
| //#define FN_AMXX_ATTACH OnAmxxAttach | ||||
| // AMXX detach | ||||
| //#define FN_AMXX_DETACH OnAmxxDetach | ||||
| // All plugins loaded | ||||
|   | ||||
		Reference in New Issue
	
	Block a user