GetScriptDesc<TerrorNavArea>
0x0097ec70 · 11024 bytes · __cdecl
_Z13GetScriptDescI13TerrorNavAreaEP17ScriptClassDesc_tPT_.part.479
Decompiled
ScriptClassDesc_t * (1 param)
/* ScriptClassDesc_t* GetScriptDesc<TerrorNavArea>(TerrorNavArea*) [clone .part.479] */
ScriptClassDesc_t * GetScriptDesc<TerrorNavArea>(TerrorNavArea *param_1)
{
CUtlVector<int,CUtlMemory<int,int>> *this;
undefined4 uVar1;
int iVar2;
undefined4 *puVar3;
void *pvVar4;
ScriptClassDesc_t *pSVar5;
int local_20 [4];
GetScriptDesc<TerrorNavArea>(TerrorNavArea*)::bInitialized = 1;
g_TerrorNavArea_ScriptDesc._8_4_ = s_Navigation_areas_class_00d0e914;
g_TerrorNavArea_ScriptDesc._0_4_ = s_TerrorNavArea_00d0e92b;
g_TerrorNavArea_ScriptDesc._4_4_ = s_TerrorNavArea_00d0e92b;
g_TerrorNavArea_ScriptDesc._12_4_ = 0;
g_TerrorNavArea_ScriptDesc._44_4_ = &g_NavAreaScriptInstanceHelper;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get area ID.";
*puVar3 = "GetID";
puVar3[1] = "ScriptGetID";
puVar3[3] = 5;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,int(TerrorNavArea::*)(),int>::Call;
puVar3[10] = TerrorNavArea::ScriptGetID;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get area attribute bits";
*puVar3 = "GetAttributes";
puVar3[1] = "GetAttributes";
puVar3[3] = 5;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,int(CNavArea::*)(),int>::Call;
puVar3[10] = CNavArea::GetAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Set area attribute bits";
*puVar3 = "SetAttributes";
puVar3[1] = "SetAttributes";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(CNavArea::*)(int),void,int>::Call;
puVar3[10] = CNavArea::SetAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Has area attribute bits";
*puVar3 = "HasAttributes";
puVar3[1] = "HasAttributes";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(CNavArea::*)(int),bool,int>::Call;
puVar3[10] = CNavArea::HasAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Removes area attribute bits";
*puVar3 = "RemoveAttributes";
puVar3[1] = "RemoveAttributes";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(CNavArea::*)(int),void,int>::Call;
puVar3[10] = CNavArea::RemoveAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get center origin of area";
*puVar3 = "GetCenter";
puVar3[1] = "GetCenter";
puVar3[3] = 3;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,Vector_const&(CNavArea::*)(),Vector_const&>::Call
;
puVar3[10] = CNavArea::GetCenter;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( corner ) - Get corner origin of area";
*puVar3 = "GetCorner";
puVar3[1] = "ScriptGetCorner";
puVar3[3] = 0x1e;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,Vector_const(TerrorNavArea::*)(int),Vector_const,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetCorner;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get random origin within extent of area";
*puVar3 = "FindRandomSpot";
puVar3[1] = "FindRandomSpot";
puVar3[3] = 3;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,Vector(TerrorNavArea::*)(),Vector>::Call;
puVar3[10] = TerrorNavArea::FindRandomSpot;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area, dir ) - Connect this area to given area in given direction";
*puVar3 = "ConnectTo";
puVar3[1] = "ScriptConnectToArea";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*,int),void,HSCRIPT__*,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptConnectToArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area ) - Disconnect this area from given area";
*puVar3 = "Disconnect";
puVar3[1] = "ScriptDisconnectArea";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*),void,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptDisconnectArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area, dir ) - Return true if given area is connected in given direction";
*puVar3 = "IsConnected";
puVar3[1] = "ScriptIsConnectedArea";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*,int),bool,HSCRIPT__*,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsConnectedArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( ladder, dir ) - Connect this area to given ladder";
*puVar3 = "ConnectToLadder";
puVar3[1] = "ScriptConnectToLadder";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*),void,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptConnectToLadder;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( ladder ) - Disconnect this area from given ladder";
*puVar3 = "DisconnectLadder";
puVar3[1] = "ScriptDisconnectLadder";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*),void,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptDisconnectLadder;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( ladder, dir ) - Return true if given area is connected to ladder in given direction";
*puVar3 = "IsConnectedLadder";
puVar3[1] = "ScriptIsConnectedLadder";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*,int),bool,HSCRIPT__*,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsConnectedLadder;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return true if continuous damage (ie: fire) is in this area";
*puVar3 = "IsDamaging";
puVar3[1] = "IsDamaging";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(CNavArea::*)(),bool>::Call;
puVar3[10] = CNavArea::IsDamaging;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( duration ) - Mark this area is damaging for the next \'duration\' seconds";
*puVar3 = "MarkAsDamaging";
puVar3[1] = "MarkAsDamaging";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(CNavArea::*)(float),void,float>::Call;
puVar3[10] = CNavArea::MarkAsDamaging;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( team ) - Return true if team is blocked in this area";
*puVar3 = "IsBlocked";
puVar3[1] = "IsBlocked";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 6;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,bool(CNavArea::*)(int,bool),bool,int,bool>::Call;
puVar3[10] = CNavArea::IsBlocked;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( team ) - Mark this area as blocked for team";
*puVar3 = "MarkAsBlocked";
puVar3[1] = "ScriptMarkAsBlocked";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(int),void,int>::Call;
puVar3[10] = TerrorNavArea::ScriptMarkAsBlocked;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( dir ) - Get the number of adjacent areas in the given direction";
*puVar3 = "GetAdjacentCount";
puVar3[1] = "ScriptGetAdjacentCount";
puVar3[3] = 5;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,int(TerrorNavArea::*)(int),int,int>::Call;
puVar3[10] = TerrorNavArea::ScriptGetAdjacentCount;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( dir, table ) - Fills a passed in table with all adjacent areas in the given direction";
*puVar3 = "GetAdjacentAreas";
puVar3[1] = "ScriptGetAdjacentAreas";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,void(TerrorNavArea::*)(int,HSCRIPT__*),void,int,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetAdjacentAreas;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( dir, n ) - Return the i\'th adjacent area in the given direction";
*puVar3 = "GetAdjacentArea";
puVar3[1] = "ScriptGetAdjacentArea";
puVar3[3] = 0x20;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,HSCRIPT__*(TerrorNavArea::*)(int,int),HSCRIPT__*,int,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetAdjacentArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( dir ) - Return a random adjacent area in the given direction";
*puVar3 = "GetRandomAdjacentArea";
puVar3[1] = "ScriptGetRandomAdjacentArea";
puVar3[3] = 0x20;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,HSCRIPT__*(TerrorNavArea::*)(int),HSCRIPT__*,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetRandomAdjacentArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( dir, table ) - Fills a passed in table with areas connected TO this area by a ONE-WAY link (ie: we have no connection back to them)"
;
*puVar3 = "GetIncomingConnections";
puVar3[1] = "ScriptGetIncomingConnections";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,void(TerrorNavArea::*)(int,HSCRIPT__*),void,int,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetIncomingConnections;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area, dir ) - Add areas that connect TO this area by a ONE-WAY link";
*puVar3 = "AddIncomingConnection";
puVar3[1] = "ScriptAddIncomingConnection";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*,int),void,HSCRIPT__*,int>
::Call;
puVar3[10] = TerrorNavArea::ScriptAddIncomingConnection;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get place name";
*puVar3 = "GetPlaceName";
puVar3[1] = "ScriptGetPlaceName";
puVar3[3] = 0x1f;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,char_const*(TerrorNavArea::*)(),char_const*>::
Call;
puVar3[10] = TerrorNavArea::ScriptGetPlaceName;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( name ) - Set place name";
*puVar3 = "SetPlaceName";
puVar3[1] = "ScriptSetPlaceName";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x1f;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(char_const*),void,char_const*>
::Call;
puVar3[10] = TerrorNavArea::ScriptSetPlaceName;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( point ) - Return direction from this area to the given point";
*puVar3 = "ComputeDirection";
puVar3[1] = "ScriptComputeDirection";
puVar3[3] = 5;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,int(TerrorNavArea::*)(Vector_const&),int,Vector_const&>
::Call;
puVar3[10] = TerrorNavArea::ScriptComputeDirection;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( table ) - Fills a passed in table of ladders in direction";
*puVar3 = "GetLadders";
puVar3[1] = "ScriptGetLadders";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,void(TerrorNavArea::*)(int,HSCRIPT__*),void,int,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetLadders;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( team ) - Return number of players of given team currently within this area (team of zero means any/all)"
;
*puVar3 = "GetPlayerCount";
puVar3[1] = "ScriptGetPlayerCount";
puVar3[3] = 5;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,int(TerrorNavArea::*)(int),int,int>::Call;
puVar3[10] = TerrorNavArea::ScriptGetPlayerCount;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area ) - Return true if \'area\' overlaps our 2D extents";
*puVar3 = "IsOverlapping";
puVar3[1] = "ScriptIsOverlapping";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*),bool,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsOverlapping;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( pos, tolerance ) - Return true if \'pos\' is within 2D extents of area";
*puVar3 = "IsOverlappingOrigin";
puVar3[1] = "ScriptIsOverlappingOrigin";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 2) {
puVar3[5] = 2;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(8);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],8);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding2<TerrorNavArea*,bool(TerrorNavArea::*)(Vector_const&,float),bool,Vector_const&,float>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsOverlappingOrigin;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( team ) - Return true if any portion of this area is visible to anyone on the given team";
*puVar3 = "IsPotentiallyVisibleToTeam";
puVar3[1] = "IsPotentiallyVisibleToTeam";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(int),bool,int>::Call;
puVar3[10] = TerrorNavArea::IsPotentiallyVisibleToTeam;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( team ) - Return true if given area is completely visible from somewhere in this area by someone on the team"
;
*puVar3 = "IsCompletelyVisibleToTeam";
puVar3[1] = "IsCompletelyVisibleToTeam";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(int),bool,int>::Call;
puVar3[10] = TerrorNavArea::IsCompletelyVisibleToTeam;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( dir ) - Return true if there are no bi-directional links on the given side";
*puVar3 = "IsEdge";
puVar3[1] = "ScriptIsEdge";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(int),bool,int>::Call;
puVar3[10] = TerrorNavArea::ScriptIsEdge;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( maxheight ) - Returns true if there\'s a large, immobile object obstructing this area";
*puVar3 = "HasAvoidanceObstacle";
puVar3[1] = "HasAvoidanceObstacle";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(CNavArea::*)(float),bool,float>::Call;
puVar3[10] = CNavArea::HasAvoidanceObstacle;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( height ) - Marks the obstructed status of the nav area";
*puVar3 = "MarkObstacleToAvoid";
puVar3[1] = "MarkObstacleToAvoid";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(CNavArea::*)(float),void,float>::Call;
puVar3[10] = CNavArea::MarkObstacleToAvoid;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area ) - Return true if other area is on or above this area, but no others";
*puVar3 = "Contains";
puVar3[1] = "ScriptContains";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*),bool,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptContains;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( point ) - Return true if given point is on or above this area, but no others";
*puVar3 = "ContainsOrigin";
puVar3[1] = "ScriptContainsOrigin";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(Vector_const&),bool,Vector_const&>
::Call;
puVar3[10] = TerrorNavArea::ScriptContainsOrigin;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns the area just prior to this one in the search path";
*puVar3 = "GetParent";
puVar3[1] = "ScriptGetParent";
puVar3[3] = 0x20;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,HSCRIPT__*(TerrorNavArea::*)(),HSCRIPT__*>::Call;
puVar3[10] = TerrorNavArea::ScriptGetParent;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns how we get from parent to us";
*puVar3 = "GetParentHow";
puVar3[1] = "ScriptGetParentHow";
puVar3[3] = 5;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,int(TerrorNavArea::*)(),int>::Call;
puVar3[10] = TerrorNavArea::ScriptGetParentHow;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Draw area as a filled rect of the given color";
*puVar3 = "DebugDrawFilled";
puVar3[1] = "DrawFilled";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 6) {
puVar3[5] = 6;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(0x18);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],0x18);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
this = (CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
local_20[0] = 6;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(this,puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding6<TerrorNavArea*,void(CNavArea::*)(int,int,int,int,float,bool),void,int,int,int,int,float,bool>
::Call;
puVar3[10] = 0x55;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Unblocks this area";
*puVar3 = "UnblockArea";
puVar3[1] = "ScriptUnblockArea";
puVar3[3] = 0;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,void(TerrorNavArea::*)(),void>::Call;
puVar3[10] = TerrorNavArea::ScriptUnblockArea;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return true if this area is approximately square";
*puVar3 = "IsRoughlySquare";
puVar3[1] = "IsRoughlySquare";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(CNavArea::*)(),bool>::Call;
puVar3[10] = CNavArea::IsRoughlySquare;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return true if this area is approximately flat";
*puVar3 = "IsFlat";
puVar3[1] = "IsFlat";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(CNavArea::*)(),bool>::Call;
puVar3[10] = CNavArea::IsFlat;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return true if this area is badly formed";
*puVar3 = "IsDegenerate";
puVar3[1] = "IsDegenerate";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(CNavArea::*)(),bool>::Call;
puVar3[10] = CNavArea::IsDegenerate;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( point ) - Return true if area is visible from the given eyepoint";
*puVar3 = "IsVisible";
puVar3[1] = "ScriptIsVisible";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(Vector_const&),bool,Vector_const&>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsVisible;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return the area size along the X axis";
*puVar3 = "GetSizeX";
puVar3[1] = "GetSizeX";
puVar3[3] = 1;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,float(CNavArea::*)(),float>::Call;
puVar3[10] = CNavArea::GetSizeX;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return the area size along the Y axis";
*puVar3 = "GetSizeY";
puVar3[1] = "GetSizeY";
puVar3[3] = 1;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,float(CNavArea::*)(),float>::Call;
puVar3[10] = CNavArea::GetSizeY;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( pos ) - Return Z of area at (x,y) of \'pos\'";
*puVar3 = "GetZ";
puVar3[1] = "ScriptGetZ";
puVar3[3] = 1;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,float(TerrorNavArea::*)(Vector_const&),float,Vector_const&>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetZ;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( pos ) - Return shortest distance between point and this area";
*puVar3 = "GetDistanceSquaredToPoint";
puVar3[1] = "GetDistanceSquaredToPoint";
puVar3[3] = 1;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,float(CNavArea::*)(Vector_const&),float,Vector_const&>
::Call;
puVar3[10] = CNavArea::GetDistanceSquaredToPoint;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Get spawn attribute bits";
*puVar3 = "GetSpawnAttributes";
puVar3[1] = "ScriptGetSpawnAttributes";
puVar3[3] = 5;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,int(TerrorNavArea::*)(),int>::Call;
puVar3[10] = TerrorNavArea::ScriptGetSpawnAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( attributes ) - Has spawn attribute bits";
*puVar3 = "HasSpawnAttributes";
puVar3[1] = "ScriptHasSpawnAttributes";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(int),bool,int>::Call;
puVar3[10] = TerrorNavArea::ScriptHasSpawnAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( attributes ) - Set spawn attribute bits";
*puVar3 = "SetSpawnAttributes";
puVar3[1] = "ScriptSetSpawnAttributes";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(int),void,int>::Call;
puVar3[10] = TerrorNavArea::ScriptSetSpawnAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( attributes ) - Remove spawn attribute bits";
*puVar3 = "RemoveSpawnAttributes";
puVar3[1] = "ScriptRemoveSpawnAttributes";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(int),void,int>::Call;
puVar3[10] = TerrorNavArea::ScriptRemoveSpawnAttributes;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Return true if area is underwater";
*puVar3 = "IsUnderwater";
puVar3[1] = "IsUnderwater";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(CNavArea::*)(),bool>::Call;
puVar3[10] = CNavArea::IsUnderwater;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( area ) - Return true if this area and given area are approximately co-planar";
*puVar3 = "IsCoplanar";
puVar3[1] = "ScriptIsCoplanar";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*),bool,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsCoplanar;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( dir ) - Removes all connections in directions to left and right of specified direction";
*puVar3 = "RemoveOrthogonalConnections";
puVar3[1] = "ScriptRemoveOrthogonalConnections";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(int),void,int>::Call;
puVar3[10] = TerrorNavArea::ScriptRemoveOrthogonalConnections;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns the maximum height of the obstruction above the ground";
*puVar3 = "GetAvoidanceObstacleHeight";
puVar3[1] = "GetAvoidanceObstacleHeight";
puVar3[3] = 1;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,float(CNavArea::*)(),float>::Call;
puVar3[10] = CNavArea::GetAvoidanceObstacleHeight;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns the elevator if in an elevator\'s path";
*puVar3 = "GetElevator";
puVar3[1] = "ScriptGetElevator";
puVar3[3] = 0x20;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,HSCRIPT__*(TerrorNavArea::*)(),HSCRIPT__*>::Call;
puVar3[10] = TerrorNavArea::ScriptGetElevator;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] =
"( table ) - Fills table with a collection of areas reachable via elevator from this area";
*puVar3 = "GetElevatorAreas";
puVar3[1] = "ScriptGetElevatorAreas";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*),void,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptGetElevatorAreas;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns true if spawning is allowed";
*puVar3 = "IsSpawningAllowed";
puVar3[1] = "IsSpawningAllowed";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(TerrorNavArea::*)(),bool>::Call;
puVar3[10] = TerrorNavArea::IsSpawningAllowed;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Mark this area as not cleared";
*puVar3 = "MarkAreaNotCleared";
puVar3[1] = "MarkAreaNotCleared";
puVar3[3] = 0;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,void(TerrorNavArea::*)(),void>::Call;
puVar3[10] = TerrorNavArea::MarkAreaNotCleared;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns the door entity above the area";
*puVar3 = "GetDoor";
puVar3[1] = "ScriptGetDoor";
puVar3[3] = 0x20;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,HSCRIPT__*(TerrorNavArea::*)(),HSCRIPT__*>::Call;
puVar3[10] = TerrorNavArea::ScriptGetDoor;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( player ) - Returns true if this area has been cleared for the player";
*puVar3 = "IsCleared";
puVar3[1] = "ScriptIsCleared";
puVar3[3] = 6;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,bool(TerrorNavArea::*)(HSCRIPT__*),bool,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptIsCleared;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "( player ) - Mark this area as cleared for the player";
*puVar3 = "MarkAreaCleared";
puVar3[1] = "ScriptMarkAreaCleared";
puVar3[3] = 0;
puVar3[6] = 1;
if ((int)puVar3[5] < 1) {
puVar3[5] = 1;
if ((void *)puVar3[4] == (void *)0x0) {
pvVar4 = malloc(4);
puVar3[4] = pvVar4;
}
else {
pvVar4 = realloc((void *)puVar3[4],4);
puVar3[4] = pvVar4;
}
}
else {
pvVar4 = (void *)puVar3[4];
}
puVar3[8] = pvVar4;
local_20[0] = 0x20;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar3 + 4),puVar3[7],local_20);
uVar1 = g_TerrorNavArea_ScriptDesc._28_4_;
puVar3[9] = CMemberScriptBinding1<TerrorNavArea*,void(TerrorNavArea::*)(HSCRIPT__*),void,HSCRIPT__*>
::Call;
puVar3[10] = TerrorNavArea::ScriptMarkAreaCleared;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),uVar1);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns the time since the area was cleared";
*puVar3 = "GetTimeSinceCleared";
puVar3[1] = "GetTimeSinceCleared";
puVar3[3] = 1;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,float(TerrorNavArea::*)(),float>::Call;
puVar3[10] = TerrorNavArea::GetTimeSinceCleared;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
puVar3 = (undefined4 *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
puVar3[2] = "Returns true if area is a bottleneck";
*puVar3 = "IsBottleneck";
puVar3[1] = "IsBottleneck";
puVar3[3] = 6;
puVar3[9] = CMemberScriptBinding0<TerrorNavArea*,bool(TerrorNavArea::*)(),bool>::Call;
puVar3[10] = TerrorNavArea::IsBottleneck;
puVar3[0xb] = 1;
iVar2 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
(g_TerrorNavArea_ScriptDesc + 0x10),g_TerrorNavArea_ScriptDesc._28_4_);
pSVar5 = (ScriptClassDesc_t *)(iVar2 * 0x30 + g_TerrorNavArea_ScriptDesc._16_4_);
*(char **)(pSVar5 + 8) = "Returns true if area is valid for wandering population";
*(char **)pSVar5 = "IsValidForWanderingPopulation";
*(char **)(pSVar5 + 4) = "IsValidForWanderingPopulation";
*(undefined4 *)(pSVar5 + 0xc) = 6;
*(code **)(pSVar5 + 0x24) =
CMemberScriptBinding0<TerrorNavArea*,bool(TerrorNavArea::*)(),bool>::Call;
*(code **)(pSVar5 + 0x28) = TerrorNavArea::IsValidForWanderingPopulation;
*(undefined4 *)(pSVar5 + 0x2c) = 1;
return pSVar5;
}
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.