L L4D2node

CCollisionProperty::Init

0x00429af0 · 361 bytes · __thiscall

_ZN18CCollisionProperty4InitEP11CBaseEntity

Decompiled

undefined (2 params)

/* CCollisionProperty::Init(CBaseEntity*) */

void __thiscall CCollisionProperty::Init(CCollisionProperty *this,CBaseEntity *param_1)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  *(CBaseEntity **)(this + 4) = param_1;
  (**(code **)(*(int *)this + 0x50))(this,this + 8);
  *(undefined4 *)(this + 8) = 0;
  *(undefined4 *)(this + 0xc) = 0;
  *(undefined4 *)(this + 0x10) = 0;
  (**(code **)(*(int *)this + 0x50))(this,this + 0x14);
  *(undefined4 *)(this + 0x14) = 0;
  *(undefined4 *)(this + 0x18) = 0;
  *(undefined4 *)(this + 0x1c) = 0;
  *(undefined4 *)(this + 0x24) = 0;
  if (this[0x23] != (CCollisionProperty)0x0) {
    (**(code **)(*(int *)this + 0x50))(this,this + 0x23);
    this[0x23] = (CCollisionProperty)0x0;
  }
  if (*(short *)(this + 0x20) != 0) {
    (**(code **)(*(int *)this + 0x50))(this,this + 0x20);
    *(undefined2 *)(this + 0x20) = 0;
  }
  if (this[0x22] != (CCollisionProperty)0x0) {
    (**(code **)(*(int *)this + 0x50))(this,this + 0x22);
    this[0x22] = (CCollisionProperty)0x0;
  }
  this[0x2b] = (CCollisionProperty)0x1;
  if (this[0x2a] != (CCollisionProperty)0x0) {
    (**(code **)(*(int *)this + 0x50))(this,this + 0x2a);
    this[0x2a] = (CCollisionProperty)0x0;
  }
  uVar3 = DAT_01053d50;
  uVar2 = DAT_01053d4c;
  uVar1 = vec3_origin;
  *(undefined4 *)(this + 0x44) = vec3_origin;
  *(undefined4 *)(this + 0x48) = uVar2;
  *(undefined4 *)(this + 0x4c) = uVar3;
  *(undefined4 *)(this + 0x50) = uVar1;
  *(undefined4 *)(this + 0x54) = uVar2;
  *(undefined4 *)(this + 0x58) = uVar3;
  (**(code **)(*(int *)this + 0x50))(this,this + 0x2c);
  *(undefined4 *)(this + 0x2c) = 0;
  *(undefined4 *)(this + 0x30) = 0;
  *(undefined4 *)(this + 0x34) = 0;
  (**(code **)(*(int *)this + 0x50))(this,this + 0x38);
  *(undefined4 *)(this + 0x38) = 0;
  *(undefined4 *)(this + 0x3c) = 0;
  *(undefined4 *)(this + 0x40) = 0;
  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)