CFuncAreaPortalBase::UpdateVisibility
0x006b0820 · 188 bytes · __cdecl
_ZN19CFuncAreaPortalBase16UpdateVisibilityERK10CUtlVectorI6Vector10CUtlMemoryIS1_iEEfRb
Decompiled
undefined (3 params)
/* CFuncAreaPortalBase::UpdateVisibility(CUtlVector<Vector, CUtlMemory<Vector, int> > const&, float,
bool&) */
undefined4 CFuncAreaPortalBase::UpdateVisibility(CUtlVector *param_1,float param_2,bool *param_3)
{
float *pfVar1;
char cVar2;
int iVar3;
int local_30;
float local_2c;
float local_28;
float local_24;
float local_20;
local_30 = *(int *)(param_1 + 0x440);
if ((local_30 != -1) && (0 < *(int *)((int)param_2 + 0xc))) {
iVar3 = 0;
while( true ) {
pfVar1 = (float *)(*(int *)param_2 + iVar3 * 0xc);
cVar2 = (**(code **)(*engine + 0x10c))(engine,pfVar1,local_30,&local_2c);
if ((cVar2 == '\0') ||
(-80.0 < (local_2c * *pfVar1 - local_20) + local_28 * pfVar1[1] + local_24 * pfVar1[2])) {
return 1;
}
iVar3 = iVar3 + 1;
if (*(int *)((int)param_2 + 0xc) <= iVar3) break;
local_30 = *(int *)(param_1 + 0x440);
}
}
return 0;
}
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.