ResetTransitionedEntities
0x00866be0 · 300 bytes · unknown
_Z25ResetTransitionedEntitiesv
Decompiled
undefined (0 params)
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* ResetTransitionedEntities() */
void ResetTransitionedEntities(void)
{
int *piVar1;
undefined4 *puVar2;
int iVar3;
int iVar4;
iVar3 = 0;
if (0 < DAT_00ffc7e4) {
do {
piVar1 = *(int **)(g_SavedWeapons + iVar3 * 4);
if (piVar1 != (int *)0x0) {
(**(code **)(*piVar1 + 4))(piVar1);
}
iVar3 = iVar3 + 1;
} while (iVar3 < DAT_00ffc7e4);
}
iVar3 = 0;
DAT_00ffc7e4 = 0;
CUtlMemory<SavedWeapon*,int>::Purge((CUtlMemory<SavedWeapon*,int> *)&g_SavedWeapons);
_DAT_00ffc7e8 = g_SavedWeapons;
if (0 < DAT_00ffc7f8) {
do {
piVar1 = *(int **)(g_SavedWeaponSpawns + iVar3 * 4);
if (piVar1 != (int *)0x0) {
(**(code **)(*piVar1 + 4))(piVar1);
}
iVar3 = iVar3 + 1;
} while (iVar3 < DAT_00ffc7f8);
}
DAT_00ffc7f8 = 0;
CUtlMemory<SavedWeaponSpawn*,int>::Purge
((CUtlMemory<SavedWeaponSpawn*,int> *)&g_SavedWeaponSpawns);
_DAT_00ffc7fc = g_SavedWeaponSpawns;
iVar3 = DAT_00ffc7d0 + -1;
iVar4 = iVar3 * 8;
if (-1 < iVar3) {
do {
iVar3 = iVar3 + -1;
puVar2 = (undefined4 *)(g_SavedPropPhysics + iVar4);
iVar4 = iVar4 + -8;
(**(code **)*puVar2)(puVar2);
} while (iVar3 != -1);
}
DAT_00ffc7d0 = 0;
CUtlMemory<SavedPropPhysics,int>::Purge((CUtlMemory<SavedPropPhysics,int> *)&g_SavedPropPhysics);
g_bNeedRestore = 0;
s_landmarkName[0] = 0;
s_landmarkPosition._0_4_ = 0;
s_landmarkPosition._4_4_ = 0;
_DAT_00ffc7d4 = g_SavedPropPhysics;
s_landmarkPosition._8_4_ = 0;
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.