Files
IL-GSC/WW2/PC/ALL/maps/mp/_entityheadicons.gsc
2023-10-27 03:49:01 -04:00

479 lines
8.4 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_entityheadicons.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 10
* Decompile Time: 172 ms
* Timestamp: 10/27/2023 3:21:15 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
if(isdefined(level.var_52B3))
{
return;
}
level.var_52B3 = 1;
if(level.var_6520)
{
foreach(var_01 in level.var_985B)
{
var_02 = "entity_headicon_" + var_01;
game[var_02] = maps\mp\gametypes\_teams::func_650A(var_01);
precacheshader(game[var_02]);
}
return;
}
game["entity_headicon_allies"] = maps\mp\gametypes\_teams::func_46D1("allies");
game["entity_headicon_axis"] = maps\mp\gametypes\_teams::func_46D1("axis");
precacheshader(game["entity_headicon_allies"]);
precacheshader(game["entity_headicon_axis"]);
}
//Function Number: 2
func_869E(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C)
{
if(maps\mp\_utility::func_56FF(param_00) && !isplayer(param_00))
{
return;
}
if(!isdefined(self.var_37D6))
{
self.var_37D6 = [];
}
if(!isdefined(param_05))
{
param_05 = 1;
}
if(!isdefined(param_06))
{
param_06 = 0.05;
}
if(!isdefined(param_07))
{
param_07 = 1;
}
if(!isdefined(param_08))
{
param_08 = 1;
}
if(!isdefined(param_09))
{
param_09 = 0;
}
if(!isdefined(param_0A))
{
param_0A = 1;
}
if(!isdefined(param_0B))
{
param_0B = "";
}
if(!isplayer(param_00) && param_00 == "none")
{
foreach(var_0F, var_0E in self.var_37D6)
{
if(isdefined(var_0E))
{
var_0E destroy();
}
self.var_37D6[var_0F] = undefined;
}
return;
}
if(isplayer(param_03))
{
if(isdefined(self.var_37D6[param_03.var_48CA]))
{
self.var_37D6[param_03.var_48CA] destroy();
self.var_37D6[param_03.var_48CA] = undefined;
}
if(param_04 == "")
{
return;
}
if(isdefined(self.var_37D6[param_03.var_1A7]))
{
self.var_37D6[param_03.var_1A7] destroy();
self.var_37D6[param_03.var_1A7] = undefined;
}
var_0E = newclienthudelem(param_03);
self.var_37D6[param_02.var_48CA] = var_0F;
}
else
{
if(isdefined(self.var_37D6[param_03]))
{
self.var_37D6[param_03] destroy();
self.var_37D6[param_03] = undefined;
}
if(param_04 == "")
{
return;
}
foreach(var_10 in self.var_37D6)
{
if(var_12 == "axis" || var_12 == "allies")
{
continue;
}
var_11 = maps\mp\_utility::func_4621(var_12);
if(var_11.var_1A7 == param_01)
{
self.var_37D6[var_12] destroy();
self.var_37D6[var_12] = undefined;
}
}
if(isdefined(var_0D))
{
var_0E = newteamclienthiddenhudelem(param_01,var_0D);
}
else
{
var_0E = newteamhudelem(param_01);
}
self.var_37D6[param_01] = var_0E;
}
if(!isdefined(param_04) || !isdefined(param_05))
{
param_04 = 10;
param_05 = 10;
}
var_0E.var_1F = param_06;
var_0E.var_18 = 0.85;
var_0E setshader(param_02,param_04,param_05);
var_0E setwaypoint(param_08,param_09,param_0A,param_0B);
if(param_0C == "")
{
var_0E.maxsightdistsqrd = self.var_116[0] + param_03[0];
var_0E.var_1D7 = self.var_116[1] + param_03[1];
var_0E.var_1D9 = self.var_116[2] + param_03[2];
var_0E thread func_59DC(self,param_03,param_07);
}
else
{
var_0E.maxsightdistsqrd = param_03[0];
var_0E.var_1D7 = param_03[1];
var_0E.var_1D9 = param_03[2];
var_0E settargetent(self,param_0C);
}
thread func_2DCF();
if(isplayer(param_01))
{
var_0E thread func_2DD5(param_01);
}
if(isplayer(self))
{
var_0E thread func_2DD5(self);
}
return var_0E;
}
//Function Number: 3
func_2DD5(param_00)
{
self endon("death");
param_00 waittill("disconnect");
self destroy();
}
//Function Number: 4
func_2DCF()
{
self notify("destroyIconsOnDeath");
self endon("destroyIconsOnDeath");
self waittill("death");
foreach(var_01 in self.var_37D6)
{
if(!isdefined(var_01))
{
continue;
}
var_01 destroy();
}
}
//Function Number: 5
func_59DC(param_00,param_01,param_02)
{
self endon("death");
param_00 endon("death");
param_00 endon("disconnect");
var_03 = param_00.var_116;
for(;;)
{
if(!isdefined(param_00))
{
return;
}
if(var_03 != param_00.var_116)
{
var_03 = param_00.var_116;
self.maxsightdistsqrd = var_03[0] + param_01[0];
self.var_1D7 = var_03[1] + param_01[1];
self.var_1D9 = var_03[2] + param_01[2];
}
if(param_02 > 0.05)
{
self.var_18 = 0.85;
self fadeovertime(param_02);
self.var_18 = 0;
}
wait(param_02);
}
}
//Function Number: 6
func_873C(param_00,param_01,param_02,param_03)
{
if(!level.var_984D)
{
return;
}
if(!isdefined(param_02))
{
param_02 = "";
}
if(!isdefined(self.var_37D7))
{
self.var_37D7 = "none";
self.var_37D3 = undefined;
}
if(isdefined(param_03) && param_03 == 0)
{
var_04 = undefined;
}
var_05 = param_00;
if(maps\mp\_utility::func_579B() && common_scripts\utility::func_562E(level.var_79C1))
{
var_05 = maps\mp\_utility::func_45DE(param_00);
}
var_06 = game["entity_headicon_" + var_05];
self.var_37D7 = param_00;
if(isdefined(param_01))
{
self.var_37D4 = param_01;
}
else
{
self.var_37D4 = (0,0,0);
}
self notify("kill_entity_headicon_thread");
if(param_00 == "none")
{
if(isdefined(self.var_37D3))
{
self.var_37D3 destroy();
}
return;
}
var_07 = newteamhudelem(param_00);
var_07.var_1F = 1;
var_07.var_18 = 0.8;
var_07 setshader(var_06,10,10);
var_07 setwaypoint(0,0,0,1);
self.var_37D3 = var_07;
if(!isdefined(param_03))
{
if(param_02 == "")
{
var_07.maxsightdistsqrd = self.var_116[0] + self.var_37D4[0];
var_07.var_1D7 = self.var_116[1] + self.var_37D4[1];
var_07.var_1D9 = self.var_116[2] + self.var_37D4[2];
thread func_59DB();
}
else
{
var_07.maxsightdistsqrd = self.var_37D4[0];
var_07.var_1D7 = self.var_37D4[1];
var_07.var_1D9 = self.var_37D4[2];
var_07 settargetent(self,param_02);
}
}
else
{
var_08 = anglestoup(self.var_1D);
var_09 = self.var_116 + var_08 * 28;
if(param_02 == "")
{
var_07.maxsightdistsqrd = var_09[0];
var_07.var_1D7 = var_09[1];
var_07.var_1D9 = var_09[2];
thread func_59DB(param_03);
}
else
{
var_07.maxsightdistsqrd = var_09[0];
var_07.var_1D7 = var_09[1];
var_07.var_1D9 = var_09[2];
var_07 settargetent(self,param_02);
}
}
thread func_2DCE();
}
//Function Number: 7
func_86FC(param_00,param_01,param_02)
{
if(level.var_984D)
{
return;
}
if(!isdefined(param_02))
{
param_02 = "";
}
if(!isdefined(self.var_37D7))
{
self.var_37D7 = "none";
self.var_37D3 = undefined;
}
self notify("kill_entity_headicon_thread");
if(!isdefined(param_00))
{
if(isdefined(self.var_37D3))
{
self.var_37D3 destroy();
}
return;
}
var_03 = param_00.var_1A7;
self.var_37D7 = var_03;
if(isdefined(param_01))
{
self.var_37D4 = param_01;
}
else
{
self.var_37D4 = (0,0,0);
}
if(var_03 == "spectator")
{
var_04 = game["entity_headicon_allies"];
}
else
{
var_04 = game["entity_headicon_" + var_04];
}
var_05 = newclienthudelem(param_00);
var_05.var_1F = 1;
var_05.var_18 = 0.8;
var_05 setshader(var_04,10,10);
var_05 setwaypoint(0,0,0,1);
self.var_37D3 = var_05;
if(param_02 == "")
{
var_05.maxsightdistsqrd = self.var_116[0] + self.var_37D4[0];
var_05.var_1D7 = self.var_116[1] + self.var_37D4[1];
var_05.var_1D9 = self.var_116[2] + self.var_37D4[2];
thread func_59DB();
}
else
{
var_05.maxsightdistsqrd = self.var_37D4[0];
var_05.var_1D7 = self.var_37D4[1];
var_05.var_1D9 = self.var_37D4[2];
var_05 settargetent(self,param_02);
}
thread func_2DCE();
}
//Function Number: 8
func_59DB(param_00)
{
self endon("kill_entity_headicon_thread");
self endon("death");
var_01 = self.var_116;
for(;;)
{
if(var_01 != self.var_116)
{
func_A122(param_00);
var_01 = self.var_116;
}
wait 0.05;
}
}
//Function Number: 9
func_2DCE()
{
self endon("kill_entity_headicon_thread");
self waittill("death");
if(!isdefined(self.var_37D3))
{
return;
}
self.var_37D3 destroy();
}
//Function Number: 10
func_A122(param_00)
{
if(!isdefined(param_00))
{
self.var_37D3.maxsightdistsqrd = self.var_116[0] + self.var_37D4[0];
self.var_37D3.var_1D7 = self.var_116[1] + self.var_37D4[1];
self.var_37D3.var_1D9 = self.var_116[2] + self.var_37D4[2];
return;
}
var_01 = anglestoup(self.var_1D);
var_02 = self.var_116 + var_01 * 28;
self.var_37D3.maxsightdistsqrd = var_02[0];
self.var_37D3.var_1D7 = var_02[1];
self.var_37D3.var_1D9 = var_02[2];
}