List of functions in hamsandwich.inc

Function Description
RegisterHam
Hooks the virtual table for the specified entity class.
An example would be: RegisterHam(Ham_TakeDamage, "player", "player_hurt");
Look at the Ham enum for parameter lists.
RegisterHamPlayer
Hooks the virtual table for the player class.
An example would be: RegisterHam(Ham_TakeDamage, "player_hurt");
Look at the Ham enum for parameter lists.
RegisterHamFromEntity
Hooks the virtual table for the specified entity's class.
An example would be: RegisterHam(Ham_TakeDamage, id, "player_hurt");
Look at the Ham enum for parameter lists.
Note: This will cause hooks for the entire internal class that the entity is
      not exclusively for the provided entity.
DisableHamForward
Stops a ham forward from triggering.
Use the return value from RegisterHam as the parameter here!
EnableHamForward
Starts a ham forward back up.
Use the return value from RegisterHam as the parameter here!
ExecuteHam
Executes the virtual function on the entity.
Look at the Ham enum for parameter lists.
ExecuteHamB
Executes the virtual function on the entity, this will trigger all hooks on that function.
Be very careful about recursion!
Look at the Ham enum for parameter lists.
GetHamReturnStatus
Gets the return status of the current hook.
This is useful to determine what return natives to use.
GetHamReturnInteger
Gets the return value of a hook for hooks that return integers or booleans.
GetHamReturnFloat
Gets the return value of a hook for hooks that return float.
GetHamReturnVector
Gets the return value of a hook for hooks that return Vectors.
GetHamReturnEntity
Gets the return value of a hook for hooks that return entities.
GetHamReturnString
Gets the return value of a hook for hooks that return strings.
GetOrigHamReturnInteger
Gets the original return value of a hook for hooks that return integers or booleans.
GetOrigHamReturnFloat
Gets the original return value of a hook for hooks that return floats.
GetOrigHamReturnVector
Gets the original return value of a hook for hooks that return Vectors.
GetOrigHamReturnEntity
Gets the original return value of a hook for hooks that return entities.
GetOrigHamReturnString
Gets the original return value of a hook for hooks that return strings.
SetHamReturnInteger
Sets the return value of a hook that returns an integer or boolean.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.
SetHamReturnFloat
Sets the return value of a hook that returns a float.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.
SetHamReturnVector
Sets the return value of a hook that returns a Vector.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.
SetHamReturnEntity
Sets the return value of a hook that returns an entity.  Set to -1 for null.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.
SetHamReturnString
Sets the return value of a hook that returns a string.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.
SetHamParamInteger
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are integers.
SetHamParamFloat
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are floats.
SetHamParamVector
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are Vectors.
SetHamParamEntity
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are entities.
SetHamParamString
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are strings.
SetHamParamTraceResult
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are trace result handles.
SetHamParamItemInfo
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are trace result handles.
GetHamItemInfo
Gets a parameter on the fly of the current hook.
Use this on parameters that are iteminfo result handles.
SetHamItemInfo
Sets a parameter on the fly of the current hook.
Use this on parameters that are iteminfo result handles.
CreateHamItemInfo
Creates an ItemInfo handle.  This value should never be altered.
The handle can be used in Get/SetHamItemInfo.

NOTE: You must call FreeHamItemInfo() on every handle made with CreateHamItemInfo().
FreeHamItemInfo
Frees an ItemIndo handle created with CreateHamItemInfo().  Do not call
this more than once per handle, or on handles not created through
CreateHamItemInfo().
IsHamValid
Returns whether or not the function for the specified Ham is valid.
Things that would make it invalid would be bounds (an older module version
 may not have all of the functions), and the function not being found in
 the mod's hamdata.ini file.
get_pdata_cbase
This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
Note this dereferences memory! Improper use of this will crash the server.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry.
set_pdata_cbase
This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
This will set the corresponding cbase field in private data with the index.
Pass -1 to null the entry.
get_pdata_cbase_safe
This is similar to the get_pdata_cbase, however it does not dereference memory.
This is many times slower than get_pdata_cbase, and this should only be used
for testing and finding of offsets, not actual release quality plugins.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry. -2 on an invalid entry.
SetHamParamEntity2
Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are entities.