GetInterpolationData
0x00bc4ea0 · 259 bytes · __cdecl
_Z20GetInterpolationDataPKfS0_iifbPfS1_S1_
Decompiled
undefined (9 params)
/* GetInterpolationData(float const*, float const*, int, int, float, bool, float*, float*, float*)
*/
void GetInterpolationData
(float *param_1,float *param_2,int param_3,int param_4,float param_5,bool param_6,
float *param_7,float *param_8,float *param_9)
{
int iVar1;
int iVar2;
int iVar3;
int iVar4;
float fVar5;
float fVar6;
if ((0 < param_3) && (*param_1 < param_5)) {
iVar1 = 0;
do {
iVar3 = iVar1;
iVar1 = iVar3 + 1;
if (iVar1 == param_3) {
if (param_6) {
iVar4 = iVar3 * 4;
iVar2 = 0;
fVar5 = param_5 - param_1[iVar3];
fVar6 = ((float)param_4 + *param_1) - param_1[iVar3];
goto LAB_00bc4f40;
}
fVar5 = param_2[iVar3];
goto LAB_00bc4f74;
}
} while (param_1[iVar1] <= param_5 && param_5 != param_1[iVar1]);
if (iVar1 != 0) {
iVar2 = iVar1 * 4;
iVar4 = iVar3 * 4;
fVar5 = param_5 - param_1[iVar3];
fVar6 = param_1[iVar1] - param_1[iVar3];
goto LAB_00bc4f40;
}
}
if (!param_6) {
fVar5 = *param_2;
LAB_00bc4f74:
*param_8 = fVar5;
*param_7 = fVar5;
*param_9 = 1.0;
return;
}
iVar4 = (param_3 + -1) * 4;
iVar2 = 0;
fVar6 = *param_1 + ((float)param_4 - param_1[param_3 + -1]);
fVar5 = param_5 + ((float)param_4 - param_1[param_3 + -1]);
LAB_00bc4f40:
*param_7 = *(float *)((int)param_2 + iVar4);
*param_8 = *(float *)((int)param_2 + iVar2);
*param_9 = fVar5 / fVar6;
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)
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.
Gamedata KeyValues
DHooks plugin example
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.