CChoreoScene::ImportEvents
0x00bb6ad0 · 191 bytes · __thiscall
_ZN12CChoreoScene12ImportEventsEP20ISceneTokenProcessorP12CChoreoActorP14CChoreoChannel
Decompiled
undefined (4 params)
/* CChoreoScene::ImportEvents(ISceneTokenProcessor*, CChoreoActor*, CChoreoChannel*) */
void __thiscall
CChoreoScene::ImportEvents
(CChoreoScene *this,ISceneTokenProcessor *param_1,CChoreoActor *param_2,
CChoreoChannel *param_3)
{
undefined4 *puVar1;
code *pcVar2;
char cVar3;
char *pcVar4;
int iVar5;
undefined4 uVar6;
*(ISceneTokenProcessor **)(this + 0xa4) = param_1;
while( true ) {
cVar3 = (**(code **)(*(int *)param_1 + 4))(param_1,1);
if (cVar3 == '\0') break;
pcVar4 = (char *)(**(code **)**(undefined4 **)(this + 0xa4))(*(undefined4 **)(this + 0xa4));
if (*pcVar4 == '\0') break;
pcVar4 = (char *)(**(code **)**(undefined4 **)(this + 0xa4))(*(undefined4 **)(this + 0xa4));
iVar5 = _V_stricmp(pcVar4,"event");
if (iVar5 != 0) {
puVar1 = (undefined4 *)**(int **)(this + 0xa4);
pcVar2 = (code *)puVar1[3];
uVar6 = (*(code *)*puVar1)(*(int **)(this + 0xa4));
(*pcVar2)(*(undefined4 *)(this + 0xa4),"unexpected token %s\n",uVar6);
ReconcileTags(this);
return;
}
ParseEvent(this,param_2,param_3);
param_1 = *(ISceneTokenProcessor **)(this + 0xa4);
}
ReconcileTags(this);
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.