L L4D2node

CPhysicsProp::~CPhysicsProp

0x007e6f40 · 382 bytes · __thiscall

_ZN12CPhysicsPropD2Ev

Decompiled

undefined (1 param)

/* CPhysicsProp::~CPhysicsProp() */

void __thiscall CPhysicsProp::~CPhysicsProp(CPhysicsProp *this)

{
  *(undefined ***)this = &PTR__CPhysicsProp_00cc4388;
  *(undefined ***)(this + 0x13f4) = &PTR_SetDmgModBullet_00cc4814;
  *(undefined ***)(this + 0x13f8) = &PTR_OnAttemptPhysGunPickup_00cc48b8;
  *(undefined ***)(this + 0x154c) = &PTR_IsPotentiallyAbleToObstructNavAreas_00cc48e8;
  if (((byte)this[0x14a] & 0x40) != 0) {
    g_ActiveGibCount = g_ActiveGibCount + -1;
  }
  CNavMesh::UnregisterAvoidanceObstacle(TheNavMesh);
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1628));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1610));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x15f8));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x15e0));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x15c8));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x15b0));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1598));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1580));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1568));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1550));
  *(undefined ***)this = &PTR__CBreakableProp_00cc3308;
  *(undefined ***)(this + 0x13f4) = &PTR_SetDmgModBullet_00cc3780;
  *(undefined ***)(this + 0x13f8) = &PTR_OnAttemptPhysGunPickup_00cc3824;
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1510));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x14f8));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x14e0));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x14c8));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x14b0));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x142c));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x1414));
  CBaseEntityOutput::~CBaseEntityOutput((CBaseEntityOutput *)(this + 0x13fc));
  *(undefined ***)this = &PTR__CBaseProp_00cc2be8;
  CBaseAnimating::~CBaseAnimating((CBaseAnimating *)this);
  return;
}

SourceMod gamedata

paste into addons/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.



        

        

          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)