Files
IL-GSC/IW/PC/ALL/scripts/sp/_outline.gsc
2023-10-27 03:49:01 -04:00

679 lines
13 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\sp\_outline.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 23
* Decompile Time: 1046 ms
* Timestamp: 10/27/2023 12:24:50 AM
*******************************************************************/
//Function Number: 1
func_918F()
{
level.var_91AA = [];
func_9188("default",0,::func_9192);
function_01C5("r_hudoutlineEnable",1);
}
//Function Number: 2
func_9197(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(param_04))
{
param_04 = 0;
}
if(!isdefined(param_00))
{
param_00 = "default";
}
if(!isdefined(level.var_91AA))
{
func_918F();
}
if(func_919F(param_00,self))
{
func_91A7(param_00,self,param_01,param_02,param_03,param_04);
}
else
{
var_05 = level.var_91AA[param_00].var_6631.size;
level.var_91AA[param_00].var_6631[var_05] = func_9190(self,param_01,param_02,param_03,param_04);
thread func_9195(param_00);
}
if(!isdefined(level.var_91AA[param_00].var_C8F5))
{
if(!isdefined(level.var_91AB))
{
func_9186(param_00);
}
var_06 = level.var_91AA[level.var_91AB].priority;
var_07 = level.var_91AA[param_00].priority;
if(level.var_91AB != param_00 && var_06 < var_07)
{
func_9186(param_00);
return;
}
if(level.var_91AB == param_00)
{
func_1251(self,param_01,param_02,param_03,param_04,param_00);
return;
}
return;
}
var_08 = level.var_91AA[param_01].var_C8F5;
if(!isdefined(level.var_91AB))
{
func_9186(var_08);
}
var_06 = level.var_91AA[level.var_91AB].priority;
var_09 = level.var_91AA[var_08].priority;
if(level.var_91AB != var_08 && var_06 < var_09)
{
func_9186(var_08);
return;
}
if(level.var_91AB == var_08)
{
func_1251(self,param_01,param_02,param_03,param_04,var_08);
return;
}
}
//Function Number: 3
func_9194(param_00)
{
if(!isdefined(param_00))
{
param_00 = "default";
}
if(!isdefined(level.var_91AA))
{
return;
}
if(isdefined(self))
{
self notify(param_00 + "hudoutline_disable");
}
var_01 = undefined;
foreach(var_04, var_03 in level.var_91AA[param_00].var_6631)
{
if(!isdefined(var_03.var_65D3))
{
level.var_91AA[param_00].var_6631[var_04] = undefined;
continue;
}
if(var_03.var_65D3 == self)
{
var_01 = var_04;
level.var_91AA[param_00].var_6631[var_01] = undefined;
break;
}
}
var_05 = [];
foreach(var_07 in level.var_91AA[param_00].var_6631)
{
if(!isdefined(var_07))
{
continue;
}
var_05[var_05.size] = var_07;
}
level.var_91AA[param_00].var_6631 = var_05;
if(!isdefined(level.var_91AB))
{
return;
}
if(level.var_91AB == param_00)
{
if(isdefined(var_01))
{
func_11DA(self,param_00);
}
if(level.var_91AA[param_00].var_6631.size == 0)
{
var_08 = 0;
if(isdefined(level.var_91AA[param_00].var_3E65) && level.var_91AA[param_00].var_3E65.size > 0)
{
foreach(var_0A in level.var_91AA[param_00].var_3E65)
{
if(level.var_91AA[var_0A].var_6631.size > 0)
{
var_08 = 1;
break;
}
}
}
if(!var_08)
{
func_9185();
return;
}
return;
}
return;
}
if(isdefined(level.var_91AA[var_01].var_C8F5) && level.var_91AB == level.var_91AA[var_01].var_C8F5)
{
var_0C = level.var_91AA[var_01].var_C8F5;
if(isdefined(var_02))
{
func_11DA(self,var_0C);
}
if(level.var_91AA[var_01].var_6631.size == 0)
{
func_9185();
return;
}
}
}
//Function Number: 4
func_9185()
{
var_00 = undefined;
var_01 = undefined;
if(isdefined(level.var_91AC) && level.var_91AC.size > 0)
{
foreach(var_03 in level.var_91AC)
{
if(!isdefined(var_00) || level.var_91AA[var_03].priority > var_00)
{
var_00 = level.var_91AA[var_03].priority;
var_01 = var_03;
}
}
}
else
{
foreach(var_03 in level.var_91AA)
{
if(isdefined(var_03.var_C8F5))
{
continue;
}
if(!isdefined(var_03.var_3E65) || var_03.var_3E65.size == 0)
{
if(var_03.var_6631.size == 0)
{
continue;
}
}
else
{
var_06 = 0;
if(var_03.var_6631.size > 0)
{
var_06 = 1;
}
foreach(var_08 in var_03.var_3E65)
{
if(level.var_91AA[var_08].var_6631.size > 0)
{
var_06 = 1;
}
}
if(!var_06)
{
continue;
}
}
if(!isdefined(var_00) || var_03.priority > var_00)
{
var_00 = var_03.priority;
var_01 = var_03.var_3C65;
}
}
}
if(isdefined(var_01))
{
func_9186(var_01);
return;
}
level.var_91AB = undefined;
}
//Function Number: 5
func_9190(param_00,param_01,param_02,param_03,param_04)
{
var_05 = spawnstruct();
var_05.var_65D3 = param_00;
var_05.var_4395 = param_01;
var_05.var_5259 = param_02;
var_05.var_6C0F = param_03;
var_05.var_10F87 = param_04;
return var_05;
}
//Function Number: 6
func_91A7(param_00,param_01,param_02,param_03,param_04,param_05)
{
foreach(var_07 in level.var_91AA[param_00].var_6631)
{
if(var_07.var_65D3 == param_01)
{
var_07.var_4395 = param_02;
var_07.var_5259 = param_03;
var_07.var_6C0F = param_04;
var_07.var_10F87 = param_05;
}
}
}
//Function Number: 7
func_9186(param_00)
{
if(isdefined(level.var_91AB) && level.var_91AB != param_00)
{
func_9191(level.var_91AB);
if(isdefined(level.var_91AA[level.var_91AB].var_3E65) && level.var_91AA[level.var_91AB].var_3E65.size > 0)
{
foreach(var_02 in level.var_91AA[level.var_91AB].var_3E65)
{
func_9191(var_02);
}
}
}
level.var_91AB = param_00;
thread func_91A5(param_00);
func_1250(param_00);
}
//Function Number: 8
func_1250(param_00)
{
var_01 = func_12AA(param_00);
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
foreach(var_04 in level.var_91AA[var_01[var_02]].var_6631)
{
var_05 = var_04.var_65D3;
var_05 method_818E(var_04.var_4395,var_04.var_5259,var_04.var_6C0F,var_04.var_10F87);
}
}
}
//Function Number: 9
func_1251(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isdefined(level.var_91AA[param_05].var_3E65) || level.var_91AA[param_05].var_3E65.size == 0)
{
param_00 method_818E(param_01,param_02,param_03,param_04);
return;
}
var_06 = func_12AA(param_05,1);
var_07 = 0;
for(var_08 = 0;var_08 < var_06.size;var_08++)
{
foreach(var_0A in level.var_91AA[var_06[var_08]].var_6631)
{
if(var_0A.var_65D3 == param_00)
{
param_00 method_818E(var_0A.var_4395,var_0A.var_5259,var_0A.var_6C0F,var_0A.var_10F87);
var_07 = 1;
break;
}
}
if(var_07)
{
break;
}
}
}
//Function Number: 10
func_11DA(param_00,param_01)
{
if(!isdefined(level.var_91AA[param_01].var_3E65) || level.var_91AA[param_01].var_3E65.size == 0)
{
self method_818B();
return;
}
var_02 = func_12AA(param_01,1);
var_03 = 0;
for(var_04 = 0;var_04 < var_02.size;var_04++)
{
foreach(var_06 in level.var_91AA[var_02[var_04]].var_6631)
{
if(var_06.var_65D3 == param_00)
{
param_00 method_818E(var_06.var_4395,var_06.var_5259,var_06.var_6C0F,var_06.var_10F87);
var_03 = 1;
break;
}
}
if(var_03)
{
break;
}
}
if(!var_03)
{
self method_818B();
}
}
//Function Number: 11
func_91A5(param_00)
{
level notify("hudoutline_new_channel_settings");
level endon("hudoutline_new_channel_settings");
wait(0.05);
var_01 = func_9192();
var_02 = [[ level.var_91AA[param_00].var_F88E ]]();
foreach(var_05, var_04 in var_01)
{
if(isdefined(var_02[var_05]))
{
function_01C5(var_05,var_02[var_05]);
continue;
}
function_01C5(var_05,var_04);
}
if(isdefined(level.var_91AA[param_00].var_B05E))
{
func_CC8D(param_00,level.var_91AA[param_00].var_B05E);
}
}
//Function Number: 12
func_9191(param_00)
{
foreach(var_02 in level.var_91AA[param_00].var_6631)
{
var_03 = var_02.var_65D3;
var_03 method_818B();
}
}
//Function Number: 13
func_9188(param_00,param_01,param_02)
{
if(!isdefined(param_02))
{
param_02 = ::func_9192;
}
if(!isdefined(level.var_91AA))
{
func_918F();
}
if(!isdefined(level.var_91AA[param_00]))
{
level.var_91AA[param_00] = spawnstruct();
level.var_91AA[param_00].var_3C65 = param_00;
level.var_91AA[param_00].priority = param_01;
level.var_91AA[param_00].var_F88E = param_02;
level.var_91AA[param_00].var_6631 = [];
}
}
//Function Number: 14
func_918A(param_00,param_01,param_02)
{
if(!isdefined(level.var_91AA[param_00]))
{
level.var_91AA[param_00] = spawnstruct();
level.var_91AA[param_00].var_3C65 = param_00;
level.var_91AA[param_00].priority = param_01;
level.var_91AA[param_00].var_6631 = [];
level.var_91AA[param_00].var_C8F5 = param_02;
}
if(!isdefined(level.var_91AA[param_02].var_3E65))
{
level.var_91AA[param_02].var_3E65 = [];
}
level.var_91AA[param_02].var_3E65[level.var_91AA[param_02].var_3E65.size] = param_00;
}
//Function Number: 15
func_91A1(param_00,param_01)
{
level.var_91AA[param_00].var_F88E = param_01;
if(isdefined(level.var_91AB) && level.var_91AB == param_00)
{
thread func_91A5(param_00);
}
}
//Function Number: 16
func_919F(param_00,param_01)
{
foreach(var_03 in level.var_91AA[param_00].var_6631)
{
if(var_03.var_65D3 == param_01)
{
return 1;
}
}
return 0;
}
//Function Number: 17
func_919A(param_00,param_01)
{
if(!isdefined(level.var_91AC))
{
level.var_91AC = [];
}
if(param_01)
{
foreach(var_03 in level.var_91AC)
{
if(var_03 == param_00)
{
return;
}
}
level.var_91AC[level.var_91AC.size] = param_00;
func_9185();
return;
}
var_05 = [];
foreach(var_03 in level.var_91AC)
{
if(var_03 != param_00)
{
var_05[var_05.size] = var_03;
}
}
level.var_91AC = var_05;
func_9185();
}
//Function Number: 18
func_9195(param_00,param_01)
{
if(isdefined(param_01))
{
self endon("endonMsg");
}
self endon(param_00 + "hudoutline_disable");
scripts\common\utility::waittill_any_3("death","entitydeleted");
thread func_9194(param_00);
}
//Function Number: 19
func_CC8D(param_00,param_01)
{
if(!isdefined(level.var_91AB) || level.var_91AB != param_00)
{
return;
}
level notify("hudoutline_new_anim_on_channel_" + param_00);
level endon("hudoutline_new_channel_settings");
level endon("hudoutline_new_anim_on_channel_" + param_00);
level [[ param_01 ]]();
thread func_91A5(param_00);
}
//Function Number: 20
func_CC8E(param_00,param_01)
{
level.var_91AA[param_00].var_B05E = param_01;
if(!isdefined(level.var_91AB) || level.var_91AB != param_00)
{
return;
}
func_CC8D(param_00,param_01);
}
//Function Number: 21
func_9192()
{
var_00 = [];
if(isdefined(level.player.var_20F8))
{
var_01 = length2d(level.player.origin - level.player.var_20F8.origin);
var_02 = clamp(var_01 / 1000,1,2);
var_00["r_hudoutlineWidth"] = var_02;
}
else
{
var_00["r_hudoutlineWidth"] = 1;
}
var_00["r_hudoutlineFillColor0"] = "0.9 0.9 0.9 0.5";
var_00["r_hudoutlineFillColor1"] = "0.3 0.3 0.3 0.5";
var_00["r_hudoutlineOccludedOutlineColor"] = "1 1 1 1";
var_00["r_hudoutlineOccludedInlineColor"] = "1 1 1 0.45";
var_00["r_hudoutlineOccludedInteriorColor"] = ".7 .7 .7 0.25";
var_00["r_hudOutlineOccludedColorFromFill"] = 1;
var_00["r_drawTransEIDListBeforeOpaques"] = 0;
var_00["cg_hud_outline_colors_0"] = "0.000 0.000 0.000 0.000";
var_00["cg_hud_outline_colors_1"] = "0.882 0.882 0.882 1.000";
var_00["cg_hud_outline_colors_2"] = "0.945 0.384 0.247 1.000";
var_00["cg_hud_outline_colors_3"] = "0.431 0.745 0.235 1.000";
var_00["cg_hud_outline_colors_4"] = "0.157 0.784 0.784 1.000";
var_00["cg_hud_outline_colors_5"] = "0.886 0.600 0.000 1.000";
var_00["cg_hud_outline_colors_6"] = "0.000 0.000 0.000 0.000";
var_00["cg_hud_outline_colors_7"] = "0.76 0.89 0.89 1.0";
return var_00;
}
//Function Number: 22
func_12AA(param_00,param_01)
{
if(!isdefined(param_01))
{
param_01 = 0;
}
var_02 = [];
var_02[0] = param_00;
if(isdefined(level.var_91AA[param_00].var_3E65) && level.var_91AA[param_00].var_3E65.size > 0)
{
foreach(var_04 in level.var_91AA[param_00].var_3E65)
{
if(level.var_91AA[var_04].var_6631.size > 0)
{
for(var_05 = 0;var_05 < var_02.size;var_05++)
{
if(!param_01)
{
if(level.var_91AA[var_02[var_05]].priority >= level.var_91AA[var_04].priority)
{
var_02 = func_C76D(var_02,var_04,var_05);
break;
}
else if(var_05 + 1 == var_02.size)
{
var_02[var_05 + 1] = var_04;
break;
}
continue;
}
if(level.var_91AA[var_02[var_05]].priority < level.var_91AA[var_04].priority)
{
var_02 = func_C76D(var_02,var_04,var_05);
break;
}
else if(var_05 + 1 == var_02.size)
{
var_02[var_05 + 1] = var_04;
break;
}
}
}
}
}
return var_02;
}
//Function Number: 23
func_C76D(param_00,param_01,param_02)
{
if(param_02 == param_00.size)
{
var_03 = param_00;
var_03[var_03.size] = param_01;
return var_03;
}
var_03 = [];
var_04 = 0;
for(var_05 = 0;var_05 < param_00.size;var_05++)
{
if(var_05 == param_02)
{
var_03[var_05] = param_01;
var_04 = 1;
}
var_03[var_05 + var_04] = param_00[var_05];
}
return var_03;
}