L L4D2node

GetDispBox

0x000d1510 · 151 bytes · __cdecl

_Z10GetDispBoxP13CCoreDispInfoR8CDispBox

Decompiled

undefined (2 params)

/* GetDispBox(CCoreDispInfo*, CDispBox&) */

void GetDispBox(CCoreDispInfo *param_1,CDispBox *param_2)

{
  float fVar1;
  float fVar2;
  int iVar3;
  float fVar4;
  float fVar5;
  float fVar6;
  float fVar7;
  float fVar8;
  float fVar9;
  
  fVar6 = 1e+24;
  iVar3 = 4;
  fVar4 = -1e+24;
  fVar5 = 1e+24;
  fVar9 = 1e+24;
  fVar8 = -1e+24;
  fVar7 = -1e+24;
  do {
    fVar1 = *(float *)(param_1 + 0x18);
    fVar2 = *(float *)(param_1 + 0x20);
    if (*(float *)(param_1 + 0x1c) <= fVar5) {
      fVar5 = *(float *)(param_1 + 0x1c);
    }
    if (fVar8 <= *(float *)(param_1 + 0x1c)) {
      fVar8 = *(float *)(param_1 + 0x1c);
    }
    iVar3 = iVar3 + -1;
    if (fVar1 <= fVar6) {
      fVar6 = fVar1;
    }
    if (fVar2 <= fVar9) {
      fVar9 = fVar2;
    }
    if (fVar4 <= fVar1) {
      fVar4 = fVar1;
    }
    if (fVar7 <= fVar2) {
      fVar7 = fVar2;
    }
    param_1 = param_1 + 0xc;
  } while (iVar3 != 0);
  *(float *)param_2 = fVar6 - 0.1;
  *(float *)(param_2 + 4) = fVar5 - 0.1;
  *(float *)(param_2 + 8) = fVar9 - 0.1;
  *(float *)(param_2 + 0xc) = fVar4 + 0.1;
  *(float *)(param_2 + 0x10) = fVar8 + 0.1;
  *(float *)(param_2 + 0x14) = fVar7 + 0.1;
  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)