L L4D2node

Path::PriorSegment

0x003e3080 · 87 bytes · __thiscall

_ZNK4Path12PriorSegmentEPKNS_7SegmentE

Decompiled

undefined (2 params)

/* Path::PriorSegment(Path::Segment const*) const */

Path * __thiscall Path::PriorSegment(Path *this,Segment *param_1)

{
  char cVar1;
  int iVar2;
  
  if (param_1 != (Segment *)0x0) {
    cVar1 = (**(code **)(*(int *)this + 0x44))(this);
    if (((cVar1 != '\0') && (iVar2 = ((int)param_1 - (int)(this + 4) >> 2) * -0xf0f0f0f, 0 < iVar2))
       && (iVar2 < *(int *)(this + 0x4404))) {
      return this + (iVar2 + -1) * 0x44 + 4;
    }
  }
  return (Path *)0x0;
}

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)