From 9b43516dee27b3a459443941eab98334feaa6798 Mon Sep 17 00:00:00 2001 From: Dr!fter Date: Thu, 26 Mar 2015 16:51:15 -0400 Subject: [PATCH] Update include to fix warnings and errors related to transitional syntax. Use transitional syntax --- sourcemod/scripting/include/dhooks.inc | 135 +++++++++++++++---------- 1 file changed, 79 insertions(+), 56 deletions(-) diff --git a/sourcemod/scripting/include/dhooks.inc b/sourcemod/scripting/include/dhooks.inc index 293ec2b..571a0aa 100644 --- a/sourcemod/scripting/include/dhooks.inc +++ b/sourcemod/scripting/include/dhooks.inc @@ -2,6 +2,7 @@ #endinput #endif #define _dhooks_included + enum ObjectValueType { ObjectValueType_Int = 0, @@ -18,11 +19,13 @@ enum ObjectValueType ObjectValueType_CharPtr, ObjectValueType_String }; + enum ListenType { ListenType_Created, ListenType_Deleted }; + enum ReturnType { ReturnType_Unknown, @@ -38,6 +41,7 @@ enum ReturnType ReturnType_CBaseEntity, ReturnType_Edict }; + enum HookParamType { HookParamType_Unknown, @@ -53,18 +57,21 @@ enum HookParamType HookParamType_Edict, HookParamType_Object }; + enum ThisPointerType { ThisPointer_Ignore, ThisPointer_CBaseEntity, ThisPointer_Address }; + enum HookType { HookType_Entity, HookType_GameRules, HookType_Raw }; + enum MRESReturn { MRES_ChangedHandled = -2, // Use changed values and return MRES_Handled @@ -74,63 +81,68 @@ enum MRESReturn MRES_Override, // call real function, but use my return value MRES_Supercede // skip real function; use my return value }; + enum DHookPassFlag { DHookPass_ByVal = (1<<0), DHookPass_ByRef = (1<<1) }; -funcenum ListenCB + +typeset ListenCB { //Deleted - public (entity), + function void (int entity); + //Created - public (entity, const String:classname[]) -} -funcenum DHookRemovalCB -{ - public (hookid) + function void (int entity, const char[] classname); }; -funcenum DHookCallback + +typeset DHookRemovalCB +{ + function void (int hookid); +}; +typeset DHookCallback { //Function Example: void Ham::Test() with this pointer ignore - MRESReturn:public(), + function MRESReturn (); //Function Example: void Ham::Test() with this pointer passed - MRESReturn:public(this), + function MRESReturn (int pThis); //Function Example: void Ham::Test(int cake) with this pointer ignore - MRESReturn:public(Handle:hParams), + function MRESReturn (Handle hParams); //Function Example: void Ham::Test(int cake) with this pointer passed - MRESReturn:public(this, Handle:hParams), + function MRESReturn (int pThis, Handle hParams); //Function Example: int Ham::Test() with this pointer ignore - MRESReturn:public(Handle:hReturn), + function MRESReturn (Handle hReturn); //Function Example: int Ham::Test() with this pointer passed - MRESReturn:public(this, Handle:hReturn), + function MRESReturn (int pThis, Handle hReturn); //Function Example: int Ham::Test(int cake) with this pointer ignore - MRESReturn:public(Handle:hReturn, Handle:hParams), + function MRESReturn (Handle hReturn, Handle hParams); //Function Example: int Ham::Test(int cake) with this pointer passed - MRESReturn:public(this, Handle:hReturn, Handle:hParams), + function MRESReturn (int pThis, Handle hReturn, Handle hParams); //Address NOW //Function Example: void Ham::Test() with this pointer passed - MRESReturn:public(Address:this), + function MRESReturn (Address pThis); //Function Example: void Ham::Test(int cake) with this pointer passed - MRESReturn:public(Address:this, Handle:hParams), + function MRESReturn (Address pThis, Handle hParams); //Function Example: int Ham::Test() with this pointer passed - MRESReturn:public(Address:this, Handle:hReturn), + function MRESReturn (Address pThis, Handle hReturn); //Function Example: int Ham::Test(int cake) with this pointer passed - MRESReturn:public(Address:this, Handle:hReturn, Handle:hParams) + function MRESReturn (Address pThis, Handle hReturn, Handle hParams); }; + /* Adds an entity listener hook * * @param type Type of listener to add @@ -138,7 +150,7 @@ funcenum DHookCallback * * @noreturn */ -native DHookAddEntityListener(ListenType:type, ListenCB:callback); +native void DHookAddEntityListener(ListenType type, ListenCB callback); /* Removes an entity listener hook * @@ -147,7 +159,7 @@ native DHookAddEntityListener(ListenType:type, ListenCB:callback); * * @return True if one was removed false otherwise. */ -native bool:DHookRemoveEntityListener(ListenType:type, ListenCB:callback); +native bool DHookRemoveEntityListener(ListenType type, ListenCB callback); /* Creates a hook * @@ -159,7 +171,7 @@ native bool:DHookRemoveEntityListener(ListenType:type, ListenCB:callback); * * @return Returns setup handle for the hook or INVALID_HANDLE. */ -native Handle:DHookCreate(offset, HookType:hooktype, ReturnType:returntype, ThisPointerType:thistype, DHookCallback:callback); +native Handle DHookCreate(int offset, HookType hooktype, ReturnType returntype, ThisPointerType thistype, DHookCallback callback); /* Adds param to a hook setup * @@ -171,7 +183,7 @@ native Handle:DHookCreate(offset, HookType:hooktype, ReturnType:returntype, This * @error Invalid setup handle or too many params added (request upping the max in thread) * @noreturn */ -native DHookAddParam(Handle:setup, HookParamType:type, size=-1, DHookPassFlag:flag=DHookPass_ByVal); +native void DHookAddParam(Handle setup, HookParamType type, int size=-1, DHookPassFlag flag=DHookPass_ByVal); //native DHookAddParam(Handle:setup, HookParamType:type); /* Hook entity @@ -184,7 +196,7 @@ native DHookAddParam(Handle:setup, HookParamType:type, size=-1, DHookPassFlag:fl * @error Invalid setup handle, invalid entity or invalid hook type. * @return -1 on fail a hookid on success */ -native DHookEntity(Handle:setup, bool:post, entity, DHookRemovalCB:removalcb=DHookRemovalCB:-1); +native int DHookEntity(Handle setup, bool post, int entity, DHookRemovalCB removalcb=INVALID_FUNCTION); /* Hook gamerules * @@ -195,7 +207,7 @@ native DHookEntity(Handle:setup, bool:post, entity, DHookRemovalCB:removalcb=DHo * @error Invalid setup handle, failing to get gamerules pointer or invalid hook type. * @return -1 on fail a hookid on success */ -native DHookGamerules(Handle:setup, bool:post, DHookRemovalCB:removalcb=DHookRemovalCB:-1); +native int DHookGamerules(Handle setup, bool post, DHookRemovalCB removalcb=INVALID_FUNCTION); /* Hook a raw pointer * @@ -207,7 +219,7 @@ native DHookGamerules(Handle:setup, bool:post, DHookRemovalCB:removalcb=DHookRem * @error Invalid setup handle, invalid address or invalid hook type. * @return -1 on fail a hookid on success */ -native DHookRaw(Handle:setup, bool:post, Address:addr, DHookRemovalCB:removalcb=DHookRemovalCB:-1); +native int DHookRaw(Handle setup, bool post, Address addr, DHookRemovalCB removalcb=INVALID_FUNCTION); /* Remove hook by hook id * @@ -216,7 +228,7 @@ native DHookRaw(Handle:setup, bool:post, Address:addr, DHookRemovalCB:removalcb= * @return true on success false otherwise * @note This will not fire the removal callback! */ -native bool:DHookRemoveHookID(hookid); +native bool DHookRemoveHookID(int hookid); /* Get param value (Only use for: int, entity, bool or float param types) * @@ -226,7 +238,7 @@ native bool:DHookRemoveHookID(hookid); * @error Invalid handle. Invalid param number. Invalid param type. * @return value if num greater than 0. If 0 returns paramcount. */ -native any:DHookGetParam(Handle:hParams, num); +native any DHookGetParam(Handle hParams, int num); /* Get vector param value * @@ -237,7 +249,7 @@ native any:DHookGetParam(Handle:hParams, num); * @error Invalid handle. Invalid param number. Invalid param type. * @noreturn */ -native DHookGetParamVector(Handle:hParams, num, Float:vec[3]); +native void DHookGetParamVector(Handle hParams, int num, float vec[3]); /* Get string param value * @@ -247,9 +259,9 @@ native DHookGetParamVector(Handle:hParams, num, Float:vec[3]); * @param size Buffer size * * @error Invalid handle. Invalid param number. Invalid param type. - * @return value if num greater than 0. + * @noreturn */ -native DHookGetParamString(Handle:hParams, num, String:buffer[], size); +native void DHookGetParamString(Handle hParams, int num, char[] buffer, int size); /* Set param value (Only use for: int, entity, bool or float param types) * @@ -260,7 +272,7 @@ native DHookGetParamString(Handle:hParams, num, String:buffer[], size); * @error Invalid handle. Invalid param number. Invalid param type. * @noreturn */ -native DHookSetParam(Handle:hParams, num, any:value); +native void DHookSetParam(Handle hParams, int num, any value); /* Set vector param value * @@ -271,7 +283,7 @@ native DHookSetParam(Handle:hParams, num, any:value); * @error Invalid handle. Invalid param number. Invalid param type. * @noreturn */ -native DHookSetParamVector(Handle:hParams, num, Float:vec[3]); +native void DHookSetParamVector(Handle hParams, int num, float vec[3]); /* Set string param value * @@ -282,7 +294,7 @@ native DHookSetParamVector(Handle:hParams, num, Float:vec[3]); * @error Invalid handle. Invalid param number. Invalid param type. * @noreturn */ -native DHookSetParamString(Handle:hParams, num, String:value[]); +native void DHookSetParamString(Handle hParams, int num, char[] value); /* Get return value (Only use for: int, entity, bool or float return types) * @@ -291,7 +303,7 @@ native DHookSetParamString(Handle:hParams, num, String:value[]); * @error Invalid Handle, invalid type. * @return Returns default value if prehook returns actual value if post hook. */ -native any:DHookGetReturn(Handle:hReturn); +native any DHookGetReturn(Handle hReturn); /* Get return vector value * @@ -301,7 +313,7 @@ native any:DHookGetReturn(Handle:hReturn); * @error Invalid Handle, invalid type. * @noreturn */ -native DHookGetReturnVector(Handle:hReturn, Float:vec[3]); +native void DHookGetReturnVector(Handle hReturn, float vec[3]); /* Get return string value * @@ -312,7 +324,7 @@ native DHookGetReturnVector(Handle:hReturn, Float:vec[3]); * @error Invalid Handle, invalid type. * @noreturn */ -native DHookGetReturnString(Handle:hReturn, String:buffer[], size); +native void DHookGetReturnString(Handle hReturn, char[] buffer, int size); /* Set return value (Only use for: int, entity, bool or float return types) * @@ -322,7 +334,7 @@ native DHookGetReturnString(Handle:hReturn, String:buffer[], size); * @error Invalid Handle, invalid type. * @noreturn */ -native DHookSetReturn(Handle:hReturn, any:value); +native void DHookSetReturn(Handle hReturn, any value); /* Set return vector value * @@ -332,7 +344,7 @@ native DHookSetReturn(Handle:hReturn, any:value); * @error Invalid Handle, invalid type. * @noreturn */ -native DHookSetReturnVector(Handle:hReturn, Float:vec[3]); +native void DHookSetReturnVector(Handle hReturn, float vec[3]); /* Set return string value * @@ -342,24 +354,26 @@ native DHookSetReturnVector(Handle:hReturn, Float:vec[3]); * @error Invalid Handle, invalid type. * @noreturn */ -native DHookSetReturnString(Handle:hReturn, String:value[]); +native void DHookSetReturnString(Handle hReturn, char[] value); + +//WE SHOULD WRAP THESE AROUND STOCKS FOR NON PTR AS WE SUPPORT BOTH WITH THESE NATIVE'S /* Gets an objects variable value * * @param hParams Handle to params structure - * @param num Param number to get. (Example if the function has 2 params and you need the value of the first param num would be 1. 0 Will return the number of params stored) + * @param num Param number to get. * @param offset Offset within the object to the var to get. * @param type Type of var it is * * @error Invalid handle. Invalid param number. Invalid param type. Invalid Object type. * @return Value of the objects var. If EHANDLE type or entity returns entity index. */ -native any:DHookGetParamObjectPtrVar(Handle:hParams, num, offset, ObjectValueType:type); +native any DHookGetParamObjectPtrVar(Handle hParams, int num, int offset, ObjectValueType type); /* Sets an objects variable value * * @param hParams Handle to params structure - * @param num Param number to set. (Example if the function has 2 params and you need the value of the first param num would be 1. 0 Will return the number of params stored) + * @param num Param number to set. * @param offset Offset within the object to the var to set. * @param type Type of var it is * @param value The value to set the var to. @@ -367,25 +381,25 @@ native any:DHookGetParamObjectPtrVar(Handle:hParams, num, offset, ObjectValueTyp * @error Invalid handle. Invalid param number. Invalid param type. Invalid Object type. * @noreturn */ -native DHookSetParamObjectPtrVar(Handle:hParams, num, offset, ObjectValueType:type, any:value); +native void DHookSetParamObjectPtrVar(Handle hParams, int num, int offset, ObjectValueType type, any value); /* Gets an objects vector variable value * * @param hParams Handle to params structure - * @param num Param number to get. (Example if the function has 2 params and you need the value of the first param num would be 1. 0 Will return the number of params stored) + * @param num Param number to get. * @param offset Offset within the object to the var to get. * @param type Type of var it is * @param buffer Buffer to store the result vector * * @error Invalid handle. Invalid param number. Invalid param type. Invalid Object type. - * @return Value of the objects var. + * @noreturn */ -native DHookGetParamObjectPtrVarVector(Handle:hParams, num, offset, ObjectValueType:type, Float:buffer[3]); +native void DHookGetParamObjectPtrVarVector(Handle hParams, int num, int offset, ObjectValueType type, float buffer[3]); /* Sets an objects vector variable value * * @param hParams Handle to params structure - * @param num Param number to set. (Example if the function has 2 params and you need the value of the first param num would be 1. 0 Will return the number of params stored) + * @param num Param number to set. * @param offset Offset within the object to the var to set. * @param type Type of var it is * @param value The value to set the vector var to. @@ -393,12 +407,21 @@ native DHookGetParamObjectPtrVarVector(Handle:hParams, num, offset, ObjectValueT * @error Invalid handle. Invalid param number. Invalid param type. Invalid Object type. * @noreturn */ -native DHookSetParamObjectPtrVarVector(Handle:hParams, num, offset, ObjectValueType:type, Float:value[3]); +native void DHookSetParamObjectPtrVarVector(Handle hParams, int num, int offset, ObjectValueType type, float value[3]); - -//ADD DOCS OR ELSE -//WE SHOULD WRAP THESE AROUND STOCKS FOR NON PTR AS WE SUPPORT BOTH WITH THIS NATIVE -native DHookGetParamObjectPtrString(Handle:hParams, num, offset, ObjectValueType:type, String:buffer[], size); +/* Gets an objects string variable value + * + * @param hParams Handle to params structure + * @param num Param number to get. + * @param offset Offset within the object to the var to get. + * @param type Type of var it is + * @param buffer Buffer to store the result vector + * @param size Size of the buffer + * + * @error Invalid handle. Invalid param number. Invalid param type. Invalid Object type. + * @noreturn +*/ +native void DHookGetParamObjectPtrString(Handle hParams, int num, int offset, ObjectValueType type, char[] buffer, int size); /* Checks if a pointer param is null * @@ -408,9 +431,9 @@ native DHookGetParamObjectPtrString(Handle:hParams, num, offset, ObjectValueType * @error Non pointer param * @return True if null false otherwise. */ -native bool:DHookIsNullParam(Handle:hParams, num); +native bool DHookIsNullParam(Handle hParams, int num); -public Extension:__ext_dhooks = +public Extension __ext_dhooks = { name = "dhooks", file = "dhooks.ext",