diff --git a/dlls/csstats2/csstats/amxxmodule.cpp b/dlls/csstats2/csstats/amxxmodule.cpp index 88a48c5a..5bd6e75a 100755 --- a/dlls/csstats2/csstats/amxxmodule.cpp +++ b/dlls/csstats2/csstats/amxxmodule.cpp @@ -45,6 +45,16 @@ enginefuncs_t g_engfuncs; globalvars_t *gpGlobals; + + +DLL_FUNCTIONS *g_pFunctionTable; +DLL_FUNCTIONS *g_pFunctionTable_Post; +enginefuncs_t *g_pengfuncsTable; +enginefuncs_t *g_pengfuncsTable_Post; +NEW_DLL_FUNCTIONS *g_pNewFunctionsTable; +NEW_DLL_FUNCTIONS *g_pNewFunctionsTable_Post; + + // GetEntityAPI2 functions static DLL_FUNCTIONS g_EntityAPI_Table = { @@ -2114,6 +2124,7 @@ C_DLLEXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int *interfaceVersi return(FALSE); } memcpy(pFunctionTable, &g_EntityAPI_Table, sizeof(DLL_FUNCTIONS)); + g_pFunctionTable=pFunctionTable; return(TRUE); } @@ -2131,7 +2142,7 @@ C_DLLEXPORT int GetEntityAPI2_Post(DLL_FUNCTIONS *pFunctionTable, int *interface return(FALSE); } memcpy( pFunctionTable, &g_EntityAPI_Post_Table, sizeof( DLL_FUNCTIONS ) ); - + g_pFunctionTable_Post=pFunctionTable; return(TRUE); } @@ -2154,6 +2165,7 @@ C_DLLEXPORT int GetEngineFunctions(enginefuncs_t *pengfuncsFromEngine, int *inte return(FALSE); } memcpy(pengfuncsFromEngine, &g_EngineFuncs_Table, sizeof(enginefuncs_t)); + g_pengfuncsTable=pengfuncsFromEngine; return TRUE; } @@ -2171,6 +2183,7 @@ C_DLLEXPORT int GetEngineFunctions_Post(enginefuncs_t *pengfuncsFromEngine, int return(FALSE); } memcpy(pengfuncsFromEngine, &g_EngineFuncs_Post_Table, sizeof(enginefuncs_t)); + g_pengfuncsTable_Post=pengfuncsFromEngine; return TRUE; } @@ -2195,6 +2208,7 @@ C_DLLEXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pNewFunctionTable, return(FALSE); } memcpy(pNewFunctionTable, &g_NewFuncs_Table, sizeof(NEW_DLL_FUNCTIONS)); + g_pNewFunctionsTable=pNewFunctionTable; return TRUE; } @@ -2212,6 +2226,7 @@ C_DLLEXPORT int GetNewDLLFunctions_Post( NEW_DLL_FUNCTIONS *pNewFunctionTable, i return(FALSE); } memcpy(pNewFunctionTable, &g_NewFuncs_Post_Table, sizeof(NEW_DLL_FUNCTIONS)); + g_pNewFunctionsTable_Post=pNewFunctionTable; return TRUE; } @@ -2439,11 +2454,14 @@ PFN_GET_AMXSTRINGLEN g_fn_GetAmxStringLen; PFN_FORMAT_AMXSTRING g_fn_FormatAmxString; PFN_COPY_AMXMEMORY g_fn_CopyAmxMemory; PFN_LOG g_fn_Log; +PFN_LOG_ERROR g_fn_LogErrorFunc; PFN_RAISE_AMXERROR g_fn_RaiseAmxError; PFN_REGISTER_FORWARD g_fn_RegisterForward; PFN_EXECUTE_FORWARD g_fn_ExecuteForward; PFN_PREPARE_CELLARRAY g_fn_PrepareCellArray; PFN_PREPARE_CHARARRAY g_fn_PrepareCharArray; +PFN_PREPARE_CELLARRAY_A g_fn_PrepareCellArrayA; +PFN_PREPARE_CHARARRAY_A g_fn_PrepareCharArrayA; PFN_IS_PLAYER_VALID g_fn_IsPlayerValid; PFN_GET_PLAYER_NAME g_fn_GetPlayerName; PFN_GET_PLAYER_IP g_fn_GetPlayerIP; @@ -2453,6 +2471,7 @@ PFN_IS_PLAYER_AUTHORIZED g_fn_IsPlayerAuthorized; PFN_GET_PLAYER_TIME g_fn_GetPlayerTime; PFN_GET_PLAYER_PLAYTIME g_fn_GetPlayerPlayTime; PFN_GET_PLAYER_CURWEAPON g_fn_GetPlayerCurweapon; +PFN_GET_PLAYER_TEAM g_fn_GetPlayerTeam; PFN_GET_PLAYER_TEAMID g_fn_GetPlayerTeamID; PFN_GET_PLAYER_DEATHS g_fn_GetPlayerDeaths; PFN_GET_PLAYER_MENU g_fn_GetPlayerMenu; @@ -2525,6 +2544,7 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("PrintSrvConsole", g_fn_PrintSrvConsole, PFN_PRINT_SRVCONSOLE); REQFUNC("GetModname", g_fn_GetModname, PFN_GET_MODNAME); REQFUNC("Log", g_fn_Log, PFN_LOG); + REQFUNC("LogError", g_fn_LogErrorFunc, PFN_LOG_ERROR); REQFUNC("MergeDefinitionFile", g_fn_MergeDefinition_File, PFN_MERGEDEFINITION_FILE); REQFUNC("Format", g_fn_Format, PFN_FORMAT); @@ -2560,7 +2580,8 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("ExecuteForward", g_fn_ExecuteForward, PFN_EXECUTE_FORWARD); REQFUNC("PrepareCellArray", g_fn_PrepareCellArray, PFN_PREPARE_CELLARRAY); REQFUNC("PrepareCharArray", g_fn_PrepareCharArray, PFN_PREPARE_CHARARRAY); - + REQFUNC("PrepareCellArrayA", g_fn_PrepareCellArrayA, PFN_PREPARE_CELLARRAY_A); + REQFUNC("PrepareCharArrayA", g_fn_PrepareCharArrayA, PFN_PREPARE_CHARARRAY_A); // Player REQFUNC("IsPlayerValid", g_fn_IsPlayerValid, PFN_IS_PLAYER_VALID); REQFUNC("GetPlayerName", g_fn_GetPlayerName, PFN_GET_PLAYER_NAME); @@ -2572,6 +2593,7 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("GetPlayerPlayTime", g_fn_GetPlayerPlayTime, PFN_GET_PLAYER_PLAYTIME); REQFUNC("GetPlayerCurweapon", g_fn_GetPlayerCurweapon, PFN_GET_PLAYER_CURWEAPON); REQFUNC("GetPlayerTeamID", g_fn_GetPlayerTeamID, PFN_GET_PLAYER_TEAMID); + REQFUNC("GetPlayerTeam",g_fn_GetPlayerTeam, PFN_GET_PLAYER_TEAM); REQFUNC("GetPlayerDeaths", g_fn_GetPlayerDeaths, PFN_GET_PLAYER_DEATHS); REQFUNC("GetPlayerMenu", g_fn_GetPlayerMenu, PFN_GET_PLAYER_MENU); REQFUNC("GetPlayerKeys", g_fn_GetPlayerKeys, PFN_GET_PLAYER_KEYS); @@ -2626,7 +2648,19 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); +} + +void MF_LogError(AMX *amx, int err, const char *fmt, ...) +{ + // :TODO: Overflow possible here + char msg[3072]; + va_list arglst; + va_start(arglst, fmt); + vsprintf(msg, fmt, arglst); + va_end(arglst); + + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } @@ -2649,11 +2683,14 @@ void ValidateMacros_DontCallThis_Smiley() MF_GetAmxStringLen(NULL); MF_CopyAmxMemory(NULL, NULL, 0); MF_Log("str", "str", 0); + MF_LogError(NULL, 0, NULL); MF_RaiseAmxError(NULL, 0); MF_RegisterForward("str", (ForwardExecType)0, 0, 0, 0); MF_ExecuteForward(0, 0, 0); MF_PrepareCellArray(NULL, 0); MF_PrepareCharArray(NULL, 0); + MF_PrepareCellArrayA(NULL, 0, true); + MF_PrepareCharArrayA(NULL, 0, true); MF_IsPlayerValid(0); MF_GetPlayerName(0); MF_GetPlayerIP(0); @@ -2664,6 +2701,7 @@ void ValidateMacros_DontCallThis_Smiley() MF_GetPlayerPlayTime(0); MF_GetPlayerCurweapon(0); MF_GetPlayerTeamID(0); + MF_GetPlayerTeam(0); MF_GetPlayerDeaths(0); MF_GetPlayerMenu(0); MF_GetPlayerKeys(0); diff --git a/dlls/csstats2/csstats/amxxmodule.h b/dlls/csstats2/csstats/amxxmodule.h index 0d44ad13..e0b0e8fa 100755 --- a/dlls/csstats2/csstats/amxxmodule.h +++ b/dlls/csstats2/csstats/amxxmodule.h @@ -55,7 +55,7 @@ struct amxx_module_info_s // The next section is copied from the amx.h file // Copyright (c) ITB CompuPhase, 1997-2004 -#if defined __LCC__ || defined __DMC__ || defined __linux__ +#if defined __LCC__ || defined __DMC__ || defined __linux__ || defined __GNUC__ #include #elif !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L /* The ISO C99 defines the int16_t and int_32t types. If the compiler got @@ -929,7 +929,7 @@ void FN_EngineFprintf(FILE *pfile, char *szFmt, ...); #endif // FN_EngineFprintf #ifdef FN_PvAllocEntPrivateData -void *FN_PvAllocEntPrivateData(edict_t *pEdict, long cb); +void *FN_PvAllocEntPrivateData(edict_t *pEdict, int32 cb); #endif // FN_PvAllocEntPrivateData #ifdef FN_PvEntPrivateData @@ -1919,11 +1919,14 @@ typedef int (*PFN_GET_AMXSTRINGLEN) (const cell *ptr); typedef char * (*PFN_FORMAT_AMXSTRING) (AMX * /*amx*/, cell * /*params*/, int /*startParam*/, int * /*pLen*/); typedef void (*PFN_COPY_AMXMEMORY) (cell * /*dest*/, const cell * /*src*/, int /*len*/); typedef void (*PFN_LOG) (const char * /*fmt*/, ...); +typedef void (*PFN_LOG_ERROR) (AMX * /*amx*/, int /*err*/, const char * /*fmt*/, ...); typedef int (*PFN_RAISE_AMXERROR) (AMX * /*amx*/, int /*error*/); typedef int (*PFN_REGISTER_FORWARD) (const char * /*funcname*/, ForwardExecType /*exectype*/, ... /*paramtypes terminated by PF_DONE*/); typedef int (*PFN_EXECUTE_FORWARD) (int /*id*/, ... /*params*/); typedef cell (*PFN_PREPARE_CELLARRAY) (cell * /*ptr*/, unsigned int /*size*/); typedef cell (*PFN_PREPARE_CHARARRAY) (char * /*ptr*/, unsigned int /*size*/); +typedef cell (*PFN_PREPARE_CELLARRAY_A) (cell * /*ptr*/, unsigned int /*size*/, bool /*copyBack*/); +typedef cell (*PFN_PREPARE_CHARARRAY_A) (char * /*ptr*/, unsigned int /*size*/, bool /*copyBack*/); typedef int (*PFN_IS_PLAYER_VALID) (int /*id*/); typedef const char * (*PFN_GET_PLAYER_NAME) (int /*id*/); typedef const char * (*PFN_GET_PLAYER_IP) (int /*id*/); @@ -1932,8 +1935,9 @@ typedef int (*PFN_IS_PLAYER_BOT) (int /*id*/); typedef int (*PFN_IS_PLAYER_AUTHORIZED) (int /*id*/); typedef float (*PFN_GET_PLAYER_TIME) (int /*id*/); typedef float (*PFN_GET_PLAYER_PLAYTIME) (int /*id*/); -typedef int (*PFN_GETPLAYERFLAGS) (int /* id*/); +typedef int (*PFN_GETPLAYERFLAGS) (int /* id*/); typedef int (*PFN_GET_PLAYER_CURWEAPON) (int /*id*/); +typedef const char * (*PFN_GET_PLAYER_TEAM) (int /*id*/); typedef int (*PFN_GET_PLAYER_TEAMID) (int /*id*/); typedef int (*PFN_GET_PLAYER_DEATHS) (int /*id*/); typedef int (*PFN_GET_PLAYER_MENU) (int /*id*/); @@ -1986,11 +1990,14 @@ extern PFN_GET_AMXSTRINGLEN g_fn_GetAmxStringLen; extern PFN_FORMAT_AMXSTRING g_fn_FormatAmxString; extern PFN_COPY_AMXMEMORY g_fn_CopyAmxMemory; extern PFN_LOG g_fn_Log; +extern PFN_LOG_ERROR g_fn_LogErrorFunc; extern PFN_RAISE_AMXERROR g_fn_RaiseAmxError; extern PFN_REGISTER_FORWARD g_fn_RegisterForward; extern PFN_EXECUTE_FORWARD g_fn_ExecuteForward; extern PFN_PREPARE_CELLARRAY g_fn_PrepareCellArray; extern PFN_PREPARE_CHARARRAY g_fn_PrepareCharArray; +extern PFN_PREPARE_CELLARRAY_A g_fn_PrepareCellArrayA; +extern PFN_PREPARE_CHARARRAY_A g_fn_PrepareCharArrayA; extern PFN_IS_PLAYER_VALID g_fn_IsPlayerValid; extern PFN_GET_PLAYER_NAME g_fn_GetPlayerName; extern PFN_GET_PLAYER_IP g_fn_GetPlayerIP; @@ -2026,6 +2033,7 @@ extern PFN_AMX_FINDNATIVE g_fn_AmxFindNative; extern PFN_GETPLAYERFLAGS g_fn_GetPlayerFlags; extern PFN_GET_PLAYER_EDICT g_fn_GetPlayerEdict; extern PFN_FORMAT g_fn_Format; +extern PFN_GET_PLAYER_TEAM g_fn_GetPlayerTeam; #ifdef MAY_NEVER_BE_DEFINED // Function prototypes for intellisense and similar systems @@ -2045,11 +2053,14 @@ int MF_GetAmxStringLen (const cell *ptr) { } char * MF_FormatAmxString (AMX * amx, cell * params, int startParam, int * pLen) { } void MF_CopyAmxMemory (cell * dest, const cell * src, int len) { } void MF_Log (const char * fmt, ...) { } +void MF_LogError (AMX * amx, int err, const char *fmt, ...) { } int MF_RaiseAmxError (AMX * amx, int error) { } int MF_RegisterForward (const char * funcname, ForwardExecType exectype, ...) { } int MF_ExecuteForward (int id, ...) { } cell MF_PrepareCellArray (cell * ptr, unsigned int size) { } cell MF_PrepareCharArray (char * ptr, unsigned int size) { } +cell MF_PrepareCellArrayA (cell * ptr, unsigned int size, bool copyBack) { } +cell MF_PrepareCharArrayA (char * ptr, unsigned int size, bool copyBack) { } int MF_IsPlayerValid (int id) { } const char * MF_GetPlayerName (int id) { } const char * MF_GetPlayerIP (int id) { } @@ -2059,6 +2070,7 @@ int MF_IsPlayerAuthorized (int id) { } float MF_GetPlayerTime (int id) { } float MF_GetPlayerPlayTime (int id) { } int MF_GetPlayerCurweapon (int id) { } +const char * MF_GetPlayerTeam (int id) { } int MF_GetPlayerTeamID (int id) { } int MF_GetPlayerDeaths (int id) { } int MF_GetPlayerMenu (int id) { } @@ -2094,11 +2106,14 @@ const char * MF_Format (const char *fmt, ...) { } #define MF_GetAmxStringLen g_fn_GetAmxStringLen #define MF_CopyAmxMemory g_fn_CopyAmxMemory void MF_Log(const char *fmt, ...); +void MF_LogError(AMX *amx, int err, const char *fmt, ...); #define MF_RaiseAmxError g_fn_RaiseAmxError #define MF_RegisterForward g_fn_RegisterForward #define MF_ExecuteForward g_fn_ExecuteForward #define MF_PrepareCellArray g_fn_PrepareCellArray #define MF_PrepareCharArray g_fn_PrepareCharArray +#define MF_PrepareCellArrayA g_fn_PrepareCellArrayA +#define MF_PrepareCharArrayA g_fn_PrepareCharArrayA #define MF_IsPlayerValid g_fn_IsPlayerValid #define MF_GetPlayerName g_fn_GetPlayerName #define MF_GetPlayerIP g_fn_GetPlayerIP @@ -2108,6 +2123,7 @@ void MF_Log(const char *fmt, ...); #define MF_GetPlayerTime g_fn_GetPlayerTime #define MF_GetPlayerPlayTime g_fn_GetPlayerPlayTime #define MF_GetPlayerCurweapon g_fn_GetPlayerCurweapon +#define MF_GetPlayerTeam g_fn_GetPlayerTeam #define MF_GetPlayerTeamID g_fn_GetPlayerTeamID #define MF_GetPlayerDeaths g_fn_GetPlayerDeaths #define MF_GetPlayerMenu g_fn_GetPlayerMenu @@ -2133,7 +2149,7 @@ void MF_Log(const char *fmt, ...); #define MF_UnregisterSPForward g_fn_UnregisterSPForward #define MF_GetPlayerFlags g_fn_GetPlayerFlags #define MF_GetPlayerEdict g_fn_GetPlayerEdict -#define MF_Format g_fn_Format; +#define MF_Format g_fn_Format /*** Memory ***/ void *operator new(size_t reportedSize); diff --git a/dlls/csx/source/amxxmodule.cpp b/dlls/csx/source/amxxmodule.cpp index 5ade3d43..5bd6e75a 100755 --- a/dlls/csx/source/amxxmodule.cpp +++ b/dlls/csx/source/amxxmodule.cpp @@ -2296,11 +2296,6 @@ C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) { - if ( gpGamedllFuncs ){ - LOG_ERROR(PLID,"gpGamedllFuncs already set"); - return(FALSE); - } - if(now > Plugin_info.loadable) { LOG_ERROR(PLID, "Can't load module right now"); return(FALSE); @@ -2653,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2665,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/csx_sql/amxxmodule.cpp b/dlls/csx_sql/amxxmodule.cpp index 5ade3d43..5bd6e75a 100755 --- a/dlls/csx_sql/amxxmodule.cpp +++ b/dlls/csx_sql/amxxmodule.cpp @@ -2296,11 +2296,6 @@ C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) { - if ( gpGamedllFuncs ){ - LOG_ERROR(PLID,"gpGamedllFuncs already set"); - return(FALSE); - } - if(now > Plugin_info.loadable) { LOG_ERROR(PLID, "Can't load module right now"); return(FALSE); @@ -2653,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2665,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/dod2/dodx/amxxmodule.cpp b/dlls/dod2/dodx/amxxmodule.cpp index 5ade3d43..5bd6e75a 100755 --- a/dlls/dod2/dodx/amxxmodule.cpp +++ b/dlls/dod2/dodx/amxxmodule.cpp @@ -2296,11 +2296,6 @@ C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) { - if ( gpGamedllFuncs ){ - LOG_ERROR(PLID,"gpGamedllFuncs already set"); - return(FALSE); - } - if(now > Plugin_info.loadable) { LOG_ERROR(PLID, "Can't load module right now"); return(FALSE); @@ -2653,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2665,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/fakemeta/sdk/amxxmodule.cpp b/dlls/fakemeta/sdk/amxxmodule.cpp index 9f4e7ebb..ad38cfe2 100755 --- a/dlls/fakemeta/sdk/amxxmodule.cpp +++ b/dlls/fakemeta/sdk/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } @@ -2757,8 +2757,8 @@ const char *Mem_MakeSourceFile(const char *sourceFile) { // init buffer[0] = '['; - strcpy(buffer + 1, MODULE_NAME); - pos = strlen(MODULE_NAME) + 1; + strcpy(buffer + 1, MODULE_LOGTAG); + pos = strlen(MODULE_LOGTAG) + 1; buffer[pos++] = ']'; } diff --git a/dlls/geoip/amxxmodule.cpp b/dlls/geoip/amxxmodule.cpp index 88a48c5a..5bd6e75a 100755 --- a/dlls/geoip/amxxmodule.cpp +++ b/dlls/geoip/amxxmodule.cpp @@ -45,6 +45,16 @@ enginefuncs_t g_engfuncs; globalvars_t *gpGlobals; + + +DLL_FUNCTIONS *g_pFunctionTable; +DLL_FUNCTIONS *g_pFunctionTable_Post; +enginefuncs_t *g_pengfuncsTable; +enginefuncs_t *g_pengfuncsTable_Post; +NEW_DLL_FUNCTIONS *g_pNewFunctionsTable; +NEW_DLL_FUNCTIONS *g_pNewFunctionsTable_Post; + + // GetEntityAPI2 functions static DLL_FUNCTIONS g_EntityAPI_Table = { @@ -2114,6 +2124,7 @@ C_DLLEXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int *interfaceVersi return(FALSE); } memcpy(pFunctionTable, &g_EntityAPI_Table, sizeof(DLL_FUNCTIONS)); + g_pFunctionTable=pFunctionTable; return(TRUE); } @@ -2131,7 +2142,7 @@ C_DLLEXPORT int GetEntityAPI2_Post(DLL_FUNCTIONS *pFunctionTable, int *interface return(FALSE); } memcpy( pFunctionTable, &g_EntityAPI_Post_Table, sizeof( DLL_FUNCTIONS ) ); - + g_pFunctionTable_Post=pFunctionTable; return(TRUE); } @@ -2154,6 +2165,7 @@ C_DLLEXPORT int GetEngineFunctions(enginefuncs_t *pengfuncsFromEngine, int *inte return(FALSE); } memcpy(pengfuncsFromEngine, &g_EngineFuncs_Table, sizeof(enginefuncs_t)); + g_pengfuncsTable=pengfuncsFromEngine; return TRUE; } @@ -2171,6 +2183,7 @@ C_DLLEXPORT int GetEngineFunctions_Post(enginefuncs_t *pengfuncsFromEngine, int return(FALSE); } memcpy(pengfuncsFromEngine, &g_EngineFuncs_Post_Table, sizeof(enginefuncs_t)); + g_pengfuncsTable_Post=pengfuncsFromEngine; return TRUE; } @@ -2195,6 +2208,7 @@ C_DLLEXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pNewFunctionTable, return(FALSE); } memcpy(pNewFunctionTable, &g_NewFuncs_Table, sizeof(NEW_DLL_FUNCTIONS)); + g_pNewFunctionsTable=pNewFunctionTable; return TRUE; } @@ -2212,6 +2226,7 @@ C_DLLEXPORT int GetNewDLLFunctions_Post( NEW_DLL_FUNCTIONS *pNewFunctionTable, i return(FALSE); } memcpy(pNewFunctionTable, &g_NewFuncs_Post_Table, sizeof(NEW_DLL_FUNCTIONS)); + g_pNewFunctionsTable_Post=pNewFunctionTable; return TRUE; } @@ -2439,11 +2454,14 @@ PFN_GET_AMXSTRINGLEN g_fn_GetAmxStringLen; PFN_FORMAT_AMXSTRING g_fn_FormatAmxString; PFN_COPY_AMXMEMORY g_fn_CopyAmxMemory; PFN_LOG g_fn_Log; +PFN_LOG_ERROR g_fn_LogErrorFunc; PFN_RAISE_AMXERROR g_fn_RaiseAmxError; PFN_REGISTER_FORWARD g_fn_RegisterForward; PFN_EXECUTE_FORWARD g_fn_ExecuteForward; PFN_PREPARE_CELLARRAY g_fn_PrepareCellArray; PFN_PREPARE_CHARARRAY g_fn_PrepareCharArray; +PFN_PREPARE_CELLARRAY_A g_fn_PrepareCellArrayA; +PFN_PREPARE_CHARARRAY_A g_fn_PrepareCharArrayA; PFN_IS_PLAYER_VALID g_fn_IsPlayerValid; PFN_GET_PLAYER_NAME g_fn_GetPlayerName; PFN_GET_PLAYER_IP g_fn_GetPlayerIP; @@ -2453,6 +2471,7 @@ PFN_IS_PLAYER_AUTHORIZED g_fn_IsPlayerAuthorized; PFN_GET_PLAYER_TIME g_fn_GetPlayerTime; PFN_GET_PLAYER_PLAYTIME g_fn_GetPlayerPlayTime; PFN_GET_PLAYER_CURWEAPON g_fn_GetPlayerCurweapon; +PFN_GET_PLAYER_TEAM g_fn_GetPlayerTeam; PFN_GET_PLAYER_TEAMID g_fn_GetPlayerTeamID; PFN_GET_PLAYER_DEATHS g_fn_GetPlayerDeaths; PFN_GET_PLAYER_MENU g_fn_GetPlayerMenu; @@ -2525,6 +2544,7 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("PrintSrvConsole", g_fn_PrintSrvConsole, PFN_PRINT_SRVCONSOLE); REQFUNC("GetModname", g_fn_GetModname, PFN_GET_MODNAME); REQFUNC("Log", g_fn_Log, PFN_LOG); + REQFUNC("LogError", g_fn_LogErrorFunc, PFN_LOG_ERROR); REQFUNC("MergeDefinitionFile", g_fn_MergeDefinition_File, PFN_MERGEDEFINITION_FILE); REQFUNC("Format", g_fn_Format, PFN_FORMAT); @@ -2560,7 +2580,8 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("ExecuteForward", g_fn_ExecuteForward, PFN_EXECUTE_FORWARD); REQFUNC("PrepareCellArray", g_fn_PrepareCellArray, PFN_PREPARE_CELLARRAY); REQFUNC("PrepareCharArray", g_fn_PrepareCharArray, PFN_PREPARE_CHARARRAY); - + REQFUNC("PrepareCellArrayA", g_fn_PrepareCellArrayA, PFN_PREPARE_CELLARRAY_A); + REQFUNC("PrepareCharArrayA", g_fn_PrepareCharArrayA, PFN_PREPARE_CHARARRAY_A); // Player REQFUNC("IsPlayerValid", g_fn_IsPlayerValid, PFN_IS_PLAYER_VALID); REQFUNC("GetPlayerName", g_fn_GetPlayerName, PFN_GET_PLAYER_NAME); @@ -2572,6 +2593,7 @@ C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc) REQFUNC("GetPlayerPlayTime", g_fn_GetPlayerPlayTime, PFN_GET_PLAYER_PLAYTIME); REQFUNC("GetPlayerCurweapon", g_fn_GetPlayerCurweapon, PFN_GET_PLAYER_CURWEAPON); REQFUNC("GetPlayerTeamID", g_fn_GetPlayerTeamID, PFN_GET_PLAYER_TEAMID); + REQFUNC("GetPlayerTeam",g_fn_GetPlayerTeam, PFN_GET_PLAYER_TEAM); REQFUNC("GetPlayerDeaths", g_fn_GetPlayerDeaths, PFN_GET_PLAYER_DEATHS); REQFUNC("GetPlayerMenu", g_fn_GetPlayerMenu, PFN_GET_PLAYER_MENU); REQFUNC("GetPlayerKeys", g_fn_GetPlayerKeys, PFN_GET_PLAYER_KEYS); @@ -2626,7 +2648,19 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); +} + +void MF_LogError(AMX *amx, int err, const char *fmt, ...) +{ + // :TODO: Overflow possible here + char msg[3072]; + va_list arglst; + va_start(arglst, fmt); + vsprintf(msg, fmt, arglst); + va_end(arglst); + + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } @@ -2649,11 +2683,14 @@ void ValidateMacros_DontCallThis_Smiley() MF_GetAmxStringLen(NULL); MF_CopyAmxMemory(NULL, NULL, 0); MF_Log("str", "str", 0); + MF_LogError(NULL, 0, NULL); MF_RaiseAmxError(NULL, 0); MF_RegisterForward("str", (ForwardExecType)0, 0, 0, 0); MF_ExecuteForward(0, 0, 0); MF_PrepareCellArray(NULL, 0); MF_PrepareCharArray(NULL, 0); + MF_PrepareCellArrayA(NULL, 0, true); + MF_PrepareCharArrayA(NULL, 0, true); MF_IsPlayerValid(0); MF_GetPlayerName(0); MF_GetPlayerIP(0); @@ -2664,6 +2701,7 @@ void ValidateMacros_DontCallThis_Smiley() MF_GetPlayerPlayTime(0); MF_GetPlayerCurweapon(0); MF_GetPlayerTeamID(0); + MF_GetPlayerTeam(0); MF_GetPlayerDeaths(0); MF_GetPlayerMenu(0); MF_GetPlayerKeys(0); diff --git a/dlls/geoip/amxxmodule.h b/dlls/geoip/amxxmodule.h index 0d44ad13..e0b0e8fa 100755 --- a/dlls/geoip/amxxmodule.h +++ b/dlls/geoip/amxxmodule.h @@ -55,7 +55,7 @@ struct amxx_module_info_s // The next section is copied from the amx.h file // Copyright (c) ITB CompuPhase, 1997-2004 -#if defined __LCC__ || defined __DMC__ || defined __linux__ +#if defined __LCC__ || defined __DMC__ || defined __linux__ || defined __GNUC__ #include #elif !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L /* The ISO C99 defines the int16_t and int_32t types. If the compiler got @@ -929,7 +929,7 @@ void FN_EngineFprintf(FILE *pfile, char *szFmt, ...); #endif // FN_EngineFprintf #ifdef FN_PvAllocEntPrivateData -void *FN_PvAllocEntPrivateData(edict_t *pEdict, long cb); +void *FN_PvAllocEntPrivateData(edict_t *pEdict, int32 cb); #endif // FN_PvAllocEntPrivateData #ifdef FN_PvEntPrivateData @@ -1919,11 +1919,14 @@ typedef int (*PFN_GET_AMXSTRINGLEN) (const cell *ptr); typedef char * (*PFN_FORMAT_AMXSTRING) (AMX * /*amx*/, cell * /*params*/, int /*startParam*/, int * /*pLen*/); typedef void (*PFN_COPY_AMXMEMORY) (cell * /*dest*/, const cell * /*src*/, int /*len*/); typedef void (*PFN_LOG) (const char * /*fmt*/, ...); +typedef void (*PFN_LOG_ERROR) (AMX * /*amx*/, int /*err*/, const char * /*fmt*/, ...); typedef int (*PFN_RAISE_AMXERROR) (AMX * /*amx*/, int /*error*/); typedef int (*PFN_REGISTER_FORWARD) (const char * /*funcname*/, ForwardExecType /*exectype*/, ... /*paramtypes terminated by PF_DONE*/); typedef int (*PFN_EXECUTE_FORWARD) (int /*id*/, ... /*params*/); typedef cell (*PFN_PREPARE_CELLARRAY) (cell * /*ptr*/, unsigned int /*size*/); typedef cell (*PFN_PREPARE_CHARARRAY) (char * /*ptr*/, unsigned int /*size*/); +typedef cell (*PFN_PREPARE_CELLARRAY_A) (cell * /*ptr*/, unsigned int /*size*/, bool /*copyBack*/); +typedef cell (*PFN_PREPARE_CHARARRAY_A) (char * /*ptr*/, unsigned int /*size*/, bool /*copyBack*/); typedef int (*PFN_IS_PLAYER_VALID) (int /*id*/); typedef const char * (*PFN_GET_PLAYER_NAME) (int /*id*/); typedef const char * (*PFN_GET_PLAYER_IP) (int /*id*/); @@ -1932,8 +1935,9 @@ typedef int (*PFN_IS_PLAYER_BOT) (int /*id*/); typedef int (*PFN_IS_PLAYER_AUTHORIZED) (int /*id*/); typedef float (*PFN_GET_PLAYER_TIME) (int /*id*/); typedef float (*PFN_GET_PLAYER_PLAYTIME) (int /*id*/); -typedef int (*PFN_GETPLAYERFLAGS) (int /* id*/); +typedef int (*PFN_GETPLAYERFLAGS) (int /* id*/); typedef int (*PFN_GET_PLAYER_CURWEAPON) (int /*id*/); +typedef const char * (*PFN_GET_PLAYER_TEAM) (int /*id*/); typedef int (*PFN_GET_PLAYER_TEAMID) (int /*id*/); typedef int (*PFN_GET_PLAYER_DEATHS) (int /*id*/); typedef int (*PFN_GET_PLAYER_MENU) (int /*id*/); @@ -1986,11 +1990,14 @@ extern PFN_GET_AMXSTRINGLEN g_fn_GetAmxStringLen; extern PFN_FORMAT_AMXSTRING g_fn_FormatAmxString; extern PFN_COPY_AMXMEMORY g_fn_CopyAmxMemory; extern PFN_LOG g_fn_Log; +extern PFN_LOG_ERROR g_fn_LogErrorFunc; extern PFN_RAISE_AMXERROR g_fn_RaiseAmxError; extern PFN_REGISTER_FORWARD g_fn_RegisterForward; extern PFN_EXECUTE_FORWARD g_fn_ExecuteForward; extern PFN_PREPARE_CELLARRAY g_fn_PrepareCellArray; extern PFN_PREPARE_CHARARRAY g_fn_PrepareCharArray; +extern PFN_PREPARE_CELLARRAY_A g_fn_PrepareCellArrayA; +extern PFN_PREPARE_CHARARRAY_A g_fn_PrepareCharArrayA; extern PFN_IS_PLAYER_VALID g_fn_IsPlayerValid; extern PFN_GET_PLAYER_NAME g_fn_GetPlayerName; extern PFN_GET_PLAYER_IP g_fn_GetPlayerIP; @@ -2026,6 +2033,7 @@ extern PFN_AMX_FINDNATIVE g_fn_AmxFindNative; extern PFN_GETPLAYERFLAGS g_fn_GetPlayerFlags; extern PFN_GET_PLAYER_EDICT g_fn_GetPlayerEdict; extern PFN_FORMAT g_fn_Format; +extern PFN_GET_PLAYER_TEAM g_fn_GetPlayerTeam; #ifdef MAY_NEVER_BE_DEFINED // Function prototypes for intellisense and similar systems @@ -2045,11 +2053,14 @@ int MF_GetAmxStringLen (const cell *ptr) { } char * MF_FormatAmxString (AMX * amx, cell * params, int startParam, int * pLen) { } void MF_CopyAmxMemory (cell * dest, const cell * src, int len) { } void MF_Log (const char * fmt, ...) { } +void MF_LogError (AMX * amx, int err, const char *fmt, ...) { } int MF_RaiseAmxError (AMX * amx, int error) { } int MF_RegisterForward (const char * funcname, ForwardExecType exectype, ...) { } int MF_ExecuteForward (int id, ...) { } cell MF_PrepareCellArray (cell * ptr, unsigned int size) { } cell MF_PrepareCharArray (char * ptr, unsigned int size) { } +cell MF_PrepareCellArrayA (cell * ptr, unsigned int size, bool copyBack) { } +cell MF_PrepareCharArrayA (char * ptr, unsigned int size, bool copyBack) { } int MF_IsPlayerValid (int id) { } const char * MF_GetPlayerName (int id) { } const char * MF_GetPlayerIP (int id) { } @@ -2059,6 +2070,7 @@ int MF_IsPlayerAuthorized (int id) { } float MF_GetPlayerTime (int id) { } float MF_GetPlayerPlayTime (int id) { } int MF_GetPlayerCurweapon (int id) { } +const char * MF_GetPlayerTeam (int id) { } int MF_GetPlayerTeamID (int id) { } int MF_GetPlayerDeaths (int id) { } int MF_GetPlayerMenu (int id) { } @@ -2094,11 +2106,14 @@ const char * MF_Format (const char *fmt, ...) { } #define MF_GetAmxStringLen g_fn_GetAmxStringLen #define MF_CopyAmxMemory g_fn_CopyAmxMemory void MF_Log(const char *fmt, ...); +void MF_LogError(AMX *amx, int err, const char *fmt, ...); #define MF_RaiseAmxError g_fn_RaiseAmxError #define MF_RegisterForward g_fn_RegisterForward #define MF_ExecuteForward g_fn_ExecuteForward #define MF_PrepareCellArray g_fn_PrepareCellArray #define MF_PrepareCharArray g_fn_PrepareCharArray +#define MF_PrepareCellArrayA g_fn_PrepareCellArrayA +#define MF_PrepareCharArrayA g_fn_PrepareCharArrayA #define MF_IsPlayerValid g_fn_IsPlayerValid #define MF_GetPlayerName g_fn_GetPlayerName #define MF_GetPlayerIP g_fn_GetPlayerIP @@ -2108,6 +2123,7 @@ void MF_Log(const char *fmt, ...); #define MF_GetPlayerTime g_fn_GetPlayerTime #define MF_GetPlayerPlayTime g_fn_GetPlayerPlayTime #define MF_GetPlayerCurweapon g_fn_GetPlayerCurweapon +#define MF_GetPlayerTeam g_fn_GetPlayerTeam #define MF_GetPlayerTeamID g_fn_GetPlayerTeamID #define MF_GetPlayerDeaths g_fn_GetPlayerDeaths #define MF_GetPlayerMenu g_fn_GetPlayerMenu @@ -2133,7 +2149,7 @@ void MF_Log(const char *fmt, ...); #define MF_UnregisterSPForward g_fn_UnregisterSPForward #define MF_GetPlayerFlags g_fn_GetPlayerFlags #define MF_GetPlayerEdict g_fn_GetPlayerEdict -#define MF_Format g_fn_Format; +#define MF_Format g_fn_Format /*** Memory ***/ void *operator new(size_t reportedSize); diff --git a/dlls/mssql/amxxmodule.cpp b/dlls/mssql/amxxmodule.cpp index 9f4e7ebb..5bd6e75a 100755 --- a/dlls/mssql/amxxmodule.cpp +++ b/dlls/mssql/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/ns/ns/amxxmodule.cpp b/dlls/ns/ns/amxxmodule.cpp index 9f4e7ebb..5bd6e75a 100755 --- a/dlls/ns/ns/amxxmodule.cpp +++ b/dlls/ns/ns/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/pgsql/amxxmodule.cpp b/dlls/pgsql/amxxmodule.cpp index 9f4e7ebb..5bd6e75a 100755 --- a/dlls/pgsql/amxxmodule.cpp +++ b/dlls/pgsql/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/regex/amxxmodule.cpp b/dlls/regex/amxxmodule.cpp index 9f4e7ebb..5bd6e75a 100755 --- a/dlls/regex/amxxmodule.cpp +++ b/dlls/regex/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/sockets/amxxmodule.cpp b/dlls/sockets/amxxmodule.cpp index 9f4e7ebb..5bd6e75a 100755 --- a/dlls/sockets/amxxmodule.cpp +++ b/dlls/sockets/amxxmodule.cpp @@ -2648,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2660,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/tfc/tfcx/amxxmodule.cpp b/dlls/tfc/tfcx/amxxmodule.cpp index 5ade3d43..5bd6e75a 100755 --- a/dlls/tfc/tfcx/amxxmodule.cpp +++ b/dlls/tfc/tfcx/amxxmodule.cpp @@ -2296,11 +2296,6 @@ C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) { - if ( gpGamedllFuncs ){ - LOG_ERROR(PLID,"gpGamedllFuncs already set"); - return(FALSE); - } - if(now > Plugin_info.loadable) { LOG_ERROR(PLID, "Can't load module right now"); return(FALSE); @@ -2653,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2665,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); } diff --git a/dlls/ts/tsx/amxxmodule.cpp b/dlls/ts/tsx/amxxmodule.cpp index 5ade3d43..5bd6e75a 100755 --- a/dlls/ts/tsx/amxxmodule.cpp +++ b/dlls/ts/tsx/amxxmodule.cpp @@ -2296,11 +2296,6 @@ C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) { - if ( gpGamedllFuncs ){ - LOG_ERROR(PLID,"gpGamedllFuncs already set"); - return(FALSE); - } - if(now > Plugin_info.loadable) { LOG_ERROR(PLID, "Can't load module right now"); return(FALSE); @@ -2653,7 +2648,7 @@ void MF_Log(const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_Log("[%s] %s", MODULE_NAME, msg); + g_fn_Log("[%s] %s", MODULE_LOGTAG, msg); } void MF_LogError(AMX *amx, int err, const char *fmt, ...) @@ -2665,7 +2660,7 @@ void MF_LogError(AMX *amx, int err, const char *fmt, ...) vsprintf(msg, fmt, arglst); va_end(arglst); - g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_NAME, msg); + g_fn_LogErrorFunc(amx, err, "[%s] %s", MODULE_LOGTAG, msg); }