EditNav_PrecachePrecache::CResourcePrecacher::Cache
0x007076f0 · 1197 bytes · __cdecl
_ZN24EditNav_PrecachePrecache18CResourcePrecacher5CacheEP16IPrecacheHandlerbP16ResourceList_t__b
Decompiled
undefined (4 params)
/* EditNav_PrecachePrecache::CResourcePrecacher::Cache(IPrecacheHandler*, bool, ResourceList_t__*,
bool) */
void EditNav_PrecachePrecache::CResourcePrecacher::Cache
(IPrecacheHandler *param_1,bool param_2,ResourceList_t__ *param_3,bool param_4)
{
uint uVar1;
undefined3 in_stack_00000009;
undefined3 in_stack_00000011;
uVar1 = (uint)param_3 & 0xff;
(**(code **)*_param_2)(_param_2,3,"Bot.EditSwitchOn",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_TOGGLE_PLACE_MODE",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"Bot.EditSwitchOff",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_PLACE_PICK",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_DELETE",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT.ToggleAttribute",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SPLIT.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SPLIT.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MERGE.Enable",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MERGE.Disable",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MARK.Enable",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MARK.Disable",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MARK_UNNAMED.Enable",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MARK_UNNAMED.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MARK_UNNAMED.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_CONNECT.AllDirections",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_CONNECT.Added",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_DISCONNECT.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_DISCONNECT.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SPLICE.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SPLICE.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SELECT_CORNER.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_SELECT_CORNER.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MOVE_CORNER.MarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_MOVE_CORNER.NoMarkedArea",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_BEGIN_AREA.Creating",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_BEGIN_AREA.NotCreating",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_END_AREA.Creating",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_END_AREA.NotCreating",uVar1,_param_4,0);
(**(code **)*_param_2)(_param_2,3,"EDIT_WARP_TO_MARK",uVar1,_param_4,0);
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.