mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-24 00:27:50 -05:00
1267 lines
29 KiB
Plaintext
1267 lines
29 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\_art.gsc
|
|
* Game: Call of Duty: Modern Warfare 3
|
|
* Platform: PC
|
|
* Function Count: 40
|
|
* Decompile Time: 644 ms
|
|
* Timestamp: 10/27/2023 2:22:15 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
if(getdvar("scr_cmd_plr_sun") == "")
|
|
{
|
|
}
|
|
|
|
if(getdvar("scr_dof_enable") == "")
|
|
{
|
|
setsaveddvar("scr_dof_enable","1");
|
|
}
|
|
|
|
if(getdvar("scr_cinematic_autofocus") == "")
|
|
{
|
|
setdvar("scr_cinematic_autofocus","1");
|
|
}
|
|
|
|
setdvarifuninitialized("scr_glowTweakEnable",1);
|
|
setdvarifuninitialized("scr_glowTweakRadius0",7);
|
|
setdvarifuninitialized("scr_glowTweakBloomCutoff",0.99);
|
|
setdvarifuninitialized("scr_glowTweakBloomDesaturation",0.65);
|
|
setdvarifuninitialized("scr_glowTweakBloomIntensity0",0.36);
|
|
setdvarifuninitialized("scr_filmTweakEnable",1);
|
|
setdvarifuninitialized("scr_filmTweakContrast",1.45);
|
|
setdvarifuninitialized("scr_filmTweakBrightness",0.15);
|
|
setdvarifuninitialized("scr_filmTweakDesaturation",0.4);
|
|
setdvarifuninitialized("scr_filmTweakDesaturationDark",0.4);
|
|
setdvarifuninitialized("scr_filmTweakInvert",0);
|
|
setdvarifuninitialized("scr_filmTweakLightTint","1.14 1.07 0.877");
|
|
setdvarifuninitialized("scr_filmTweakMediumTint","1.16 .74 .69");
|
|
setdvarifuninitialized("scr_filmTweakDarkTint","0.7 0.76 0.86");
|
|
setdvarifuninitialized("scr_primaryLightUseTweaks",1);
|
|
setdvarifuninitialized("scr_primaryLightTweakDiffuseStrength",1);
|
|
setdvarifuninitialized("scr_primaryLightTweakSpecularStrength",1);
|
|
level._clearalltextafterhudelem = 0;
|
|
level.dofdefault["nearStart"] = 1;
|
|
level.dofdefault["nearEnd"] = 1;
|
|
level.dofdefault["farStart"] = 500;
|
|
level.dofdefault["farEnd"] = 500;
|
|
level.dofdefault["nearBlur"] = 4.5;
|
|
level.dofdefault["farBlur"] = 0.05;
|
|
precachemenu("dev_vision_noloc");
|
|
precachemenu("dev_vision_exec");
|
|
var_00 = getdvarint("scr_dof_enable");
|
|
level.special_weapon_dof_funcs = [];
|
|
level.buttons = [];
|
|
if(!isdefined(level.vision_set_vision))
|
|
{
|
|
level.vision_set_vision = [];
|
|
}
|
|
|
|
if(!isdefined(level.vision_set_transition_ent))
|
|
{
|
|
level.vision_set_transition_ent = spawnstruct();
|
|
level.vision_set_transition_ent.vision_set = "";
|
|
level.vision_set_transition_ent.time = 0;
|
|
}
|
|
|
|
if(!isdefined(level.vision_set_fog))
|
|
{
|
|
level.vision_set_fog = [];
|
|
create_default_vision_set_fog(level.script);
|
|
common_scripts\_artcommon::setfogsliders();
|
|
}
|
|
|
|
foreach(var_03, var_02 in level.vision_set_fog)
|
|
{
|
|
create_vision_set_vision(var_03);
|
|
}
|
|
|
|
for(var_04 = 0;var_04 < level.players.size;var_04++)
|
|
{
|
|
var_05 = level.players[var_04];
|
|
var_05.curdof = level.dofdefault["farStart"] - level.dofdefault["nearEnd"] / 2;
|
|
if(var_00)
|
|
{
|
|
var_05 thread adsdof();
|
|
}
|
|
}
|
|
|
|
thread tweakart();
|
|
if(!isdefined(level.script))
|
|
{
|
|
level.script = tolower(getdvar("mapname"));
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
tweakart()
|
|
{
|
|
}
|
|
|
|
//Function Number: 3
|
|
button_down(param_00,param_01)
|
|
{
|
|
var_02 = level.player buttonpressed(param_00);
|
|
if(!var_02)
|
|
{
|
|
var_02 = level.player buttonpressed(param_01);
|
|
}
|
|
|
|
if(!isdefined(level.buttons[param_00]))
|
|
{
|
|
level.buttons[param_00] = 0;
|
|
}
|
|
|
|
if(gettime() < level.buttons[param_00])
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
level.buttons[param_00] = gettime() + 400;
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 4
|
|
create_vision_set_vision(param_00)
|
|
{
|
|
if(!isdefined(level.vision_set_vision))
|
|
{
|
|
level.vision_set_vision = [];
|
|
}
|
|
|
|
var_01 = spawnstruct();
|
|
var_01.name = param_00;
|
|
level.vision_set_vision[param_00] = var_01;
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 5
|
|
updatefogentfromscript()
|
|
{
|
|
if(!isdefined(level.vision_set_fog))
|
|
{
|
|
}
|
|
|
|
var_00 = level.vision_set_fog[level.vision_set_transition_ent.vision_set];
|
|
if(isdefined(var_00.name))
|
|
{
|
|
var_00.startdist = level.fognearplane;
|
|
var_00.halfwaydist = level.fogexphalfplane;
|
|
var_00.red = level.fogcolor[0];
|
|
var_00.green = level.fogcolor[1];
|
|
var_00.blue = level.fogcolor[2];
|
|
var_00.maxopacity = level.fogmaxopacity;
|
|
var_00.sunfogenabled = 0;
|
|
if(level.sunfogenabled)
|
|
{
|
|
var_00.sunfogenabled = 1;
|
|
var_00.sunred = level.sunfogcolor[0];
|
|
var_00.sungreen = level.sunfogcolor[1];
|
|
var_00.sunblue = level.sunfogcolor[2];
|
|
var_00.sundir = level.sunfogdir;
|
|
var_00.sunbeginfadeangle = level.sunfogbeginfadeangle;
|
|
var_00.var_1AF5 = level.sunfogendfadeangle;
|
|
var_00.normalfogscale = level.sunfogscale;
|
|
}
|
|
|
|
if(getdvarint("scr_fog_disable"))
|
|
{
|
|
var_00.startdist = 1215752192;
|
|
var_00.halfwaydist = 1215752193;
|
|
var_00.red = 0;
|
|
var_00.green = 0;
|
|
var_00.blue = 0;
|
|
var_00.maxopacity = 0;
|
|
}
|
|
|
|
maps\_utility::set_fog_to_ent_values(var_00,0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
updatevisionset()
|
|
{
|
|
if(!isdefined(level.vision_set_vision))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level.vision_set_transition_ent))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level.vision_set_transition_ent.vision_set))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level.vision_set_vision[level.vision_set_transition_ent.vision_set]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = level.vision_set_vision[level.vision_set_transition_ent.vision_set];
|
|
if(!isdefined(var_00.selected))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00.r_glow = getdvar("r_glowTweakEnable");
|
|
var_00.r_glowradius0 = getdvar("r_glowTweakRadius0");
|
|
var_00.r_glowbloomcutoff = getdvar("r_glowTweakBloomCutoff");
|
|
var_00.r_glowbloomdesaturation = getdvar("r_glowTweakBloomDesaturation");
|
|
var_00.r_glowbloomintensity0 = getdvar("r_glowTweakBloomIntensity0");
|
|
var_00.r_filmenable = getdvar("r_filmTweakEnable");
|
|
var_00.r_filmcontrast = getdvar("r_filmTweakContrast");
|
|
var_00.r_filmbrightness = getdvar("r_filmTweakBrightness");
|
|
var_00.r_filmdesaturation = getdvar("r_filmTweakDesaturation");
|
|
var_00.r_filmdesaturationdark = getdvar("r_filmTweakDesaturationDark");
|
|
var_00.r_filminvert = getdvar("r_filmTweakInvert");
|
|
var_00.r_filmlighttint = getdvar("r_filmTweakLightTint");
|
|
var_00.r_filmmediumtint = getdvar("r_filmTweakMediumTint");
|
|
var_00.r_filmdarktint = getdvar("r_filmTweakDarkTint");
|
|
var_00.r_primarylightusetweaks = getdvar("r_primaryLightUseTweaks");
|
|
var_00.r_primarylighttweakdiffusestrength = getdvar("r_primaryLightTweakDiffuseStrength");
|
|
var_00.r_primarylighttweakspecularstrength = getdvar("r_primaryLightTweakSpecularStrength");
|
|
}
|
|
|
|
//Function Number: 7
|
|
fovslidercheck()
|
|
{
|
|
if(level.dofdefault["nearStart"] >= level.dofdefault["nearEnd"])
|
|
{
|
|
level.dofdefault["nearStart"] = level.dofdefault["nearEnd"] - 1;
|
|
setdvar("scr_dof_nearStart",level.dofdefault["nearStart"]);
|
|
}
|
|
|
|
if(level.dofdefault["nearEnd"] <= level.dofdefault["nearStart"])
|
|
{
|
|
level.dofdefault["nearEnd"] = level.dofdefault["nearStart"] + 1;
|
|
setdvar("scr_dof_nearEnd",level.dofdefault["nearEnd"]);
|
|
}
|
|
|
|
if(level.dofdefault["farStart"] >= level.dofdefault["farEnd"])
|
|
{
|
|
level.dofdefault["farStart"] = level.dofdefault["farEnd"] - 1;
|
|
setdvar("scr_dof_farStart",level.dofdefault["farStart"]);
|
|
}
|
|
|
|
if(level.dofdefault["farEnd"] <= level.dofdefault["farStart"])
|
|
{
|
|
level.dofdefault["farEnd"] = level.dofdefault["farStart"] + 1;
|
|
setdvar("scr_dof_farEnd",level.dofdefault["farEnd"]);
|
|
}
|
|
|
|
if(level.dofdefault["farBlur"] >= level.dofdefault["nearBlur"])
|
|
{
|
|
level.dofdefault["farBlur"] = level.dofdefault["nearBlur"] - 0.1;
|
|
setdvar("scr_dof_farBlur",level.dofdefault["farBlur"]);
|
|
}
|
|
|
|
if(level.dofdefault["farStart"] <= level.dofdefault["nearEnd"])
|
|
{
|
|
level.dofdefault["farStart"] = level.dofdefault["nearEnd"] + 1;
|
|
setdvar("scr_dof_farStart",level.dofdefault["farStart"]);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
fogslidercheck()
|
|
{
|
|
if(level.sunfogbeginfadeangle >= level.sunfogendfadeangle)
|
|
{
|
|
level.sunfogbeginfadeangle = level.sunfogendfadeangle - 1;
|
|
setdvar("scr_sunFogBeginFadeAngle",level.sunfogbeginfadeangle);
|
|
}
|
|
|
|
if(level.sunfogendfadeangle <= level.sunfogbeginfadeangle)
|
|
{
|
|
level.sunfogendfadeangle = level.sunfogbeginfadeangle + 1;
|
|
setdvar("scr_sunFogEndFadeAngle",level.sunfogendfadeangle);
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
construct_vision_ents()
|
|
{
|
|
if(!isdefined(level.vision_set_fog))
|
|
{
|
|
level.vision_set_fog = [];
|
|
}
|
|
|
|
var_00 = getentarray("trigger_multiple_visionset","classname");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(isdefined(var_02.script_visionset))
|
|
{
|
|
construct_vision_set(var_02.script_visionset);
|
|
}
|
|
|
|
if(isdefined(var_02.script_visionset_start))
|
|
{
|
|
construct_vision_set(var_02.script_visionset_start);
|
|
}
|
|
|
|
if(isdefined(var_02.script_visionset_end))
|
|
{
|
|
construct_vision_set(var_02.script_visionset_end);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
construct_vision_set(param_00)
|
|
{
|
|
if(isdefined(level.vision_set_fog[param_00]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
create_default_vision_set_fog(param_00);
|
|
create_vision_set_vision(param_00);
|
|
iprintlnbold("new vision: " + param_00);
|
|
}
|
|
|
|
//Function Number: 11
|
|
create_default_vision_set_fog(param_00)
|
|
{
|
|
var_01 = maps\_utility::create_vision_set_fog(param_00);
|
|
var_01.startdist = 3764.17;
|
|
var_01.halfwaydist = 19391;
|
|
var_01.red = 0.661137;
|
|
var_01.green = 0.554261;
|
|
var_01.blue = 0.454014;
|
|
var_01.maxopacity = 0.7;
|
|
var_01.sunendfadeangle = 0;
|
|
}
|
|
|
|
//Function Number: 12
|
|
dumpsettings()
|
|
{
|
|
}
|
|
|
|
//Function Number: 13
|
|
print_current_vision()
|
|
{
|
|
var_00 = level.vision_set_vision[level.vision_set_transition_ent.vision_set];
|
|
if(!isdefined(var_00.name))
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::fileprint_launcher_start_file();
|
|
common_scripts\utility::fileprint_launcher("r_glow \" + getdvar("r_glowTweakEnable") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_glowRadius0 \" + getdvar("r_glowTweakRadius0") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_glowBloomCutoff \" + getdvar("r_glowTweakBloomCutoff") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_glowBloomDesaturation \" + getdvar("r_glowTweakBloomDesaturation") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_glowBloomIntensity0 \" + getdvar("r_glowTweakBloomIntensity0") + "\");
|
|
common_scripts\utility::fileprint_launcher(" ");
|
|
common_scripts\utility::fileprint_launcher("r_filmEnable \" + getdvar("r_filmTweakEnable") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmContrast \" + getdvar("r_filmTweakContrast") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmBrightness \" + getdvar("r_filmTweakBrightness") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmDesaturation \" + getdvar("r_filmTweakDesaturation") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmDesaturationDark \" + getdvar("r_filmTweakDesaturationDark") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmInvert \" + getdvar("r_filmTweakInvert") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmLightTint \" + getdvar("r_filmTweakLightTint") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmMediumTint \" + getdvar("r_filmTweakMediumTint") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_filmDarkTint \" + getdvar("r_filmTweakDarkTint") + "\");
|
|
common_scripts\utility::fileprint_launcher(" ");
|
|
common_scripts\utility::fileprint_launcher("r_primaryLightUseTweaks \" + getdvar("r_primaryLightUseTweaks") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_primaryLightTweakDiffuseStrength \" + getdvar("r_primaryLightTweakDiffuseStrength") + "\");
|
|
common_scripts\utility::fileprint_launcher("r_primaryLightTweakSpecularStrength \" + getdvar("r_primaryLightTweakSpecularStrength") + "\");
|
|
common_scripts\utility::fileprint_launcher_end_file("\\share\\raw\\vision\\" + var_00.name + ".vision",1);
|
|
}
|
|
|
|
//Function Number: 14
|
|
print_fog_ents()
|
|
{
|
|
foreach(var_01 in level.vision_set_fog)
|
|
{
|
|
if(!isdefined(var_01.name))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
common_scripts\utility::fileprint_launcher("\tent = maps\\_utility::create_vision_set_fog( \" + var_01.name + "\" );");
|
|
if(isdefined(var_01.startdist))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.startDist = " + var_01.startdist + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.halfwaydist))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.halfwayDist = " + var_01.halfwaydist + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.red))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.red = " + var_01.red + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.green))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.green = " + var_01.green + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.blue))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.blue = " + var_01.blue + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.maxopacity))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.maxOpacity = " + var_01.maxopacity + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sunendfadeangle))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.transitionTime = " + var_01.sunendfadeangle + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sunfogenabled))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunFogEnabled = " + var_01.sunfogenabled + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sunred))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunRed = " + var_01.sunred + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sungreen))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunGreen = " + var_01.sungreen + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sunblue))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunBlue = " + var_01.sunblue + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sundir))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunDir = " + var_01.sundir + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.sunbeginfadeangle))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunBeginFadeAngle = " + var_01.sunbeginfadeangle + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.var_1AF5))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.sunEndFadeAngle = " + var_01.var_1AF5 + ";");
|
|
}
|
|
|
|
if(isdefined(var_01.normalfogscale))
|
|
{
|
|
common_scripts\utility::fileprint_launcher("\tent.normalFogScale = " + var_01.normalfogscale + ";");
|
|
}
|
|
|
|
common_scripts\utility::fileprint_launcher(" ");
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
print_fog_ents_csv()
|
|
{
|
|
foreach(var_01 in level.vision_set_fog)
|
|
{
|
|
if(!isdefined(var_01.name))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
common_scripts\utility::fileprint_launcher("rawfile,vision/" + var_01.name + ".vision");
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
cloudlight(param_00,param_01,param_02,param_03)
|
|
{
|
|
level.sunlight_bright = param_00;
|
|
level.sunlight_dark = param_01;
|
|
level.diffuse_high = param_02;
|
|
level.diffuse_low = param_03;
|
|
setdvar("r_lighttweaksunlight",level.sunlight_dark);
|
|
setdvar("r_lighttweakdiffusefraction",level.diffuse_low);
|
|
var_04 = "up";
|
|
for(;;)
|
|
{
|
|
var_05 = getdvarfloat("r_lighttweaksunlight");
|
|
var_06 = scale(1 + randomint(21));
|
|
var_07 = randomint(2);
|
|
if(var_07)
|
|
{
|
|
var_06 = var_06 * -1;
|
|
}
|
|
|
|
if(var_04 == "up")
|
|
{
|
|
var_08 = var_05 + scale(30) + var_06;
|
|
}
|
|
else
|
|
{
|
|
var_08 = var_05 - scale(30) + var_06;
|
|
}
|
|
|
|
if(var_08 >= level.sunlight_bright)
|
|
{
|
|
var_08 = level.sunlight_bright;
|
|
var_04 = "down";
|
|
}
|
|
|
|
if(var_08 <= level.sunlight_dark)
|
|
{
|
|
var_08 = level.sunlight_dark;
|
|
var_04 = "up";
|
|
}
|
|
|
|
if(var_08 > var_05)
|
|
{
|
|
brighten(var_08,3 + randomint(3),0.05);
|
|
continue;
|
|
}
|
|
|
|
darken(var_08,3 + randomint(3),0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
brighten(param_00,param_01,param_02)
|
|
{
|
|
var_03 = getdvarfloat("r_lighttweaksunlight");
|
|
var_04 = param_00 - var_03;
|
|
var_05 = var_04 / param_01 / param_02;
|
|
while(param_01 > 0)
|
|
{
|
|
param_01 = param_01 - param_02;
|
|
var_03 = var_03 + var_05;
|
|
setdvar("r_lighttweaksunlight",var_03);
|
|
var_06 = var_03 - level.sunlight_dark / level.sunlight_bright - level.sunlight_dark;
|
|
var_07 = level.diffuse_high + level.diffuse_low - level.diffuse_high * var_06;
|
|
setdvar("r_lighttweakdiffusefraction",var_07);
|
|
wait param_02;
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
darken(param_00,param_01,param_02)
|
|
{
|
|
var_03 = getdvarfloat("r_lighttweaksunlight");
|
|
var_04 = var_03 - param_00;
|
|
var_05 = var_04 / param_01 / param_02;
|
|
while(param_01 > 0)
|
|
{
|
|
param_01 = param_01 - param_02;
|
|
var_03 = var_03 - var_05;
|
|
setdvar("r_lighttweaksunlight",var_03);
|
|
var_06 = var_03 - level.sunlight_dark / level.sunlight_bright - level.sunlight_dark;
|
|
var_07 = level.diffuse_high + level.diffuse_low - level.diffuse_high * var_06;
|
|
setdvar("r_lighttweakdiffusefraction",var_07);
|
|
wait param_02;
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
scale(param_00)
|
|
{
|
|
var_01 = param_00 / 100;
|
|
return level.sunlight_dark + var_01 * level.sunlight_bright - level.sunlight_dark - level.sunlight_dark;
|
|
}
|
|
|
|
//Function Number: 20
|
|
adsdof()
|
|
{
|
|
self.dof = level.dofdefault;
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
wait 0.05;
|
|
if(level.level_specific_dof)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(getdvarint("scr_cinematic"))
|
|
{
|
|
updatecinematicdof();
|
|
continue;
|
|
}
|
|
|
|
if(getdvarint("scr_dof_enable") && !var_00)
|
|
{
|
|
updatedof();
|
|
continue;
|
|
}
|
|
|
|
setdefaultdepthoffield();
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
updatecinematicdof()
|
|
{
|
|
var_00 = self playerads();
|
|
if(var_00 == 1 && getdvarint("scr_cinematic_autofocus"))
|
|
{
|
|
var_01 = vectornormalize(anglestoforward(self getplayerangles()));
|
|
var_02 = bullettrace(self geteye(),self geteye() + var_01 * 100000,1,self);
|
|
var_03 = getaiarray();
|
|
var_04 = 10000;
|
|
var_05 = -1;
|
|
var_06 = self geteye();
|
|
var_07 = self getplayerangles();
|
|
var_08 = 0;
|
|
var_09 = undefined;
|
|
for(var_0A = 0;var_0A < var_03.size;var_0A++)
|
|
{
|
|
var_0B = var_03[var_0A].origin;
|
|
var_0C = vectornormalize(var_0B - var_06);
|
|
var_0D = anglestoforward(var_07);
|
|
var_0E = vectordot(var_0D,var_0C);
|
|
if(var_0E > var_08)
|
|
{
|
|
var_08 = var_0E;
|
|
var_09 = var_03[var_0A].origin;
|
|
}
|
|
}
|
|
|
|
if(var_08 < 0.923)
|
|
{
|
|
var_0F = distance(var_06,var_02["position"]);
|
|
}
|
|
else
|
|
{
|
|
var_0F = distance(var_06,var_09);
|
|
}
|
|
|
|
changedofvalue("nearStart",1,200);
|
|
changedofvalue("nearEnd",var_0F,200);
|
|
changedofvalue("farStart",var_0F + 196,200);
|
|
changedofvalue("farEnd",var_0F + 196 * 2,200);
|
|
changedofvalue("nearBlur",6,0.1);
|
|
changedofvalue("farBlur",3.6,0.1);
|
|
}
|
|
else
|
|
{
|
|
var_0F = getdvarint("scr_cinematic_doffocus") * 39;
|
|
if(self.curdof != var_0F)
|
|
{
|
|
changedofvalue("nearStart",1,100);
|
|
changedofvalue("nearEnd",var_0F,100);
|
|
changedofvalue("farStart",var_0F + 196,100);
|
|
changedofvalue("farEnd",var_0F + 196 * 2,100);
|
|
changedofvalue("nearBlur",6,0.1);
|
|
changedofvalue("farBlur",3.6,0.1);
|
|
}
|
|
}
|
|
|
|
self.curdof = self.dof["farStart"] - self.dof["nearEnd"] / 2;
|
|
self setdepthoffield(self.dof["nearStart"],self.dof["nearEnd"],self.dof["farStart"],self.dof["farEnd"],self.dof["nearBlur"],self.dof["farBlur"]);
|
|
}
|
|
|
|
//Function Number: 22
|
|
updatedof()
|
|
{
|
|
var_00 = self playerads();
|
|
if(var_00 == 0)
|
|
{
|
|
setdefaultdepthoffield();
|
|
return;
|
|
}
|
|
|
|
var_01 = self geteye();
|
|
var_02 = self getplayerangles();
|
|
var_03 = vectornormalize(anglestoforward(var_02));
|
|
var_04 = bullettrace(var_01,var_01 + var_03 * 8192,1,self,1);
|
|
var_05 = getaiarray("axis");
|
|
var_06 = self getcurrentweapon();
|
|
if(isdefined(level.special_weapon_dof_funcs[var_06]))
|
|
{
|
|
[[ level.special_weapon_dof_funcs[var_06] ]](var_04,var_05,var_01,var_03,var_00);
|
|
return;
|
|
}
|
|
|
|
var_07 = 10000;
|
|
var_08 = -1;
|
|
for(var_09 = 0;var_09 < var_05.size;var_09++)
|
|
{
|
|
var_0A = vectornormalize(var_05[var_09].origin - var_01);
|
|
var_0B = vectordot(var_03,var_0A);
|
|
if(var_0B < 0.923)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0C = distance(var_01,var_05[var_09].origin);
|
|
if(var_0C - 30 < var_07)
|
|
{
|
|
var_07 = var_0C - 30;
|
|
}
|
|
|
|
if(var_0C + 30 > var_08)
|
|
{
|
|
var_08 = var_0C + 30;
|
|
}
|
|
}
|
|
|
|
if(var_07 > var_08)
|
|
{
|
|
var_07 = 256;
|
|
var_08 = 2500;
|
|
}
|
|
else
|
|
{
|
|
if(var_07 < 50)
|
|
{
|
|
var_07 = 50;
|
|
}
|
|
else if(var_07 > 512)
|
|
{
|
|
var_07 = 512;
|
|
}
|
|
|
|
if(var_08 > 2500)
|
|
{
|
|
var_08 = 2500;
|
|
}
|
|
else if(var_08 < 1000)
|
|
{
|
|
var_08 = 1000;
|
|
}
|
|
}
|
|
|
|
var_0D = distance(var_01,var_04["position"]);
|
|
if(var_07 > var_0D)
|
|
{
|
|
var_07 = var_0D - 30;
|
|
}
|
|
|
|
if(var_07 < 1)
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
|
|
if(var_08 < var_0D)
|
|
{
|
|
var_08 = var_0D;
|
|
}
|
|
|
|
setdoftarget(var_00,1,var_07,var_08,var_08 * 4,6,1.8);
|
|
}
|
|
|
|
//Function Number: 23
|
|
javelin_dof(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
if(param_04 < 0.88)
|
|
{
|
|
setdefaultdepthoffield();
|
|
return;
|
|
}
|
|
|
|
var_05 = 10000;
|
|
var_06 = -1;
|
|
var_05 = 2400;
|
|
var_07 = 2400;
|
|
for(var_08 = 0;var_08 < param_01.size;var_08++)
|
|
{
|
|
var_09 = vectornormalize(param_01[var_08].origin - param_02);
|
|
var_0A = vectordot(param_03,var_09);
|
|
if(var_0A < 0.923)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0B = distance(param_02,param_01[var_08].origin);
|
|
if(var_0B < 2500)
|
|
{
|
|
var_0B = 2500;
|
|
}
|
|
|
|
if(var_0B - 30 < var_05)
|
|
{
|
|
var_05 = var_0B - 30;
|
|
}
|
|
|
|
if(var_0B + 30 > var_06)
|
|
{
|
|
var_06 = var_0B + 30;
|
|
}
|
|
}
|
|
|
|
if(var_05 > var_06)
|
|
{
|
|
var_05 = 2400;
|
|
var_06 = 3000;
|
|
}
|
|
else
|
|
{
|
|
if(var_05 < 50)
|
|
{
|
|
var_05 = 50;
|
|
}
|
|
|
|
if(var_06 > 2500)
|
|
{
|
|
var_06 = 2500;
|
|
}
|
|
else if(var_06 < 1000)
|
|
{
|
|
var_06 = 1000;
|
|
}
|
|
}
|
|
|
|
var_0C = distance(param_02,param_00["position"]);
|
|
if(var_0C < 2500)
|
|
{
|
|
var_0C = 2500;
|
|
}
|
|
|
|
if(var_05 > var_0C)
|
|
{
|
|
var_05 = var_0C - 30;
|
|
}
|
|
|
|
if(var_05 < 1)
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
|
|
if(var_06 < var_0C)
|
|
{
|
|
var_06 = var_0C;
|
|
}
|
|
|
|
if(var_07 >= var_05)
|
|
{
|
|
var_07 = var_05 - 1;
|
|
}
|
|
|
|
setdoftarget(param_04,var_07,var_05,var_06,var_06 * 4,4,1.8);
|
|
}
|
|
|
|
//Function Number: 24
|
|
setdoftarget(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
if(param_00 == 1)
|
|
{
|
|
changedofvalue("nearStart",param_01,50);
|
|
changedofvalue("nearEnd",param_02,50);
|
|
changedofvalue("farStart",param_03,400);
|
|
changedofvalue("farEnd",param_04,400);
|
|
changedofvalue("nearBlur",param_05,0.1);
|
|
changedofvalue("farBlur",param_06,0.1);
|
|
}
|
|
else
|
|
{
|
|
lerpdofvalue("nearStart",param_01,param_00);
|
|
lerpdofvalue("nearEnd",param_02,param_00);
|
|
lerpdofvalue("farStart",param_03,param_00);
|
|
lerpdofvalue("farEnd",param_04,param_00);
|
|
lerpdofvalue("nearBlur",param_05,param_00);
|
|
lerpdofvalue("farBlur",param_06,param_00);
|
|
}
|
|
|
|
self setdepthoffield(self.dof["nearStart"],self.dof["nearEnd"],self.dof["farStart"],self.dof["farEnd"],self.dof["nearBlur"],self.dof["farBlur"]);
|
|
}
|
|
|
|
//Function Number: 25
|
|
changedofvalue(param_00,param_01,param_02)
|
|
{
|
|
if(self.dof[param_00] > param_01)
|
|
{
|
|
var_03 = self.dof[param_00] - param_01 * 0.5;
|
|
if(var_03 > param_02)
|
|
{
|
|
var_03 = param_02;
|
|
}
|
|
else if(var_03 < 1)
|
|
{
|
|
var_03 = 1;
|
|
}
|
|
|
|
if(self.dof[param_00] - var_03 < param_01)
|
|
{
|
|
self.dof[param_00] = param_01;
|
|
return;
|
|
}
|
|
|
|
self.dof[param_00] = self.dof[param_00] - var_03;
|
|
return;
|
|
}
|
|
|
|
if(self.dof[param_00] < param_01)
|
|
{
|
|
var_03 = param_01 - self.dof[param_00] * 0.5;
|
|
if(var_03 > param_02)
|
|
{
|
|
var_03 = param_02;
|
|
}
|
|
else if(var_03 < 1)
|
|
{
|
|
var_03 = 1;
|
|
}
|
|
|
|
if(self.dof[param_00] + var_03 > param_01)
|
|
{
|
|
self.dof[param_00] = param_01;
|
|
return;
|
|
}
|
|
|
|
self.dof[param_00] = self.dof[param_00] + var_03;
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
lerpdofvalue(param_00,param_01,param_02)
|
|
{
|
|
self.dof[param_00] = level.dofdefault[param_00] + param_01 - level.dofdefault[param_00] * param_02;
|
|
}
|
|
|
|
//Function Number: 27
|
|
dofvarupdate()
|
|
{
|
|
level.dofdefault["nearStart"] = getdvarint("scr_dof_nearStart");
|
|
level.dofdefault["nearEnd"] = getdvarint("scr_dof_nearEnd");
|
|
level.dofdefault["farStart"] = getdvarint("scr_dof_farStart");
|
|
level.dofdefault["farEnd"] = getdvarint("scr_dof_farEnd");
|
|
level.dofdefault["nearBlur"] = getdvarfloat("scr_dof_nearBlur");
|
|
level.dofdefault["farBlur"] = getdvarfloat("scr_dof_farBlur");
|
|
}
|
|
|
|
//Function Number: 28
|
|
setdefaultdepthoffield()
|
|
{
|
|
if(isdefined(self.dofdefault))
|
|
{
|
|
self setdepthoffield(self.dofdefault["nearStart"],self.dofdefault["nearEnd"],self.dofdefault["farStart"],self.dofdefault["farEnd"],self.dofdefault["nearBlur"],self.dofdefault["farBlur"]);
|
|
return;
|
|
}
|
|
|
|
self setdepthoffield(level.dofdefault["nearStart"],level.dofdefault["nearEnd"],level.dofdefault["farStart"],level.dofdefault["farEnd"],level.dofdefault["nearBlur"],level.dofdefault["farBlur"]);
|
|
}
|
|
|
|
//Function Number: 29
|
|
isdofdefault()
|
|
{
|
|
if(level.dofdefault["nearStart"] != getdvarint("scr_dof_nearStart"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.dofdefault["nearEnd"] != getdvarint("scr_dof_nearEnd"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.dofdefault["farStart"] != getdvarint("scr_dof_farStart"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.dofdefault["farEnd"] != getdvarint("scr_dof_farEnd"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.dofdefault["nearBlur"] != getdvarint("scr_dof_nearBlur"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.dofdefault["farBlur"] != getdvarint("scr_dof_farBlur"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 30
|
|
hud_init()
|
|
{
|
|
var_00 = 7;
|
|
var_01 = [];
|
|
var_02 = 15;
|
|
var_03 = int(var_00 / 2);
|
|
var_04 = 240 + var_03 * var_02;
|
|
var_05 = 0.5 / var_03;
|
|
var_06 = var_05;
|
|
for(var_07 = 0;var_07 < var_00;var_07++)
|
|
{
|
|
var_01[var_07] = _newhudelem();
|
|
var_01[var_07].location = 0;
|
|
var_01[var_07].alignx = "left";
|
|
var_01[var_07].aligny = "middle";
|
|
var_01[var_07].foreground = 1;
|
|
var_01[var_07].fontscale = 2;
|
|
var_01[var_07].sort = 20;
|
|
if(var_07 == var_03)
|
|
{
|
|
var_01[var_07].alpha = 1;
|
|
}
|
|
else
|
|
{
|
|
var_01[var_07].alpha = var_06;
|
|
}
|
|
|
|
var_01[var_07].x = 20;
|
|
var_01[var_07].y = var_04;
|
|
var_01[var_07] _settext(".");
|
|
if(var_07 == var_03)
|
|
{
|
|
var_05 = var_05 * -1;
|
|
}
|
|
|
|
var_06 = var_06 + var_05;
|
|
var_04 = var_04 - var_02;
|
|
}
|
|
|
|
level.spam_group_hudelems = var_01;
|
|
var_08 = _newhudelem();
|
|
var_08.location = 0;
|
|
var_08.alignx = "center";
|
|
var_08.aligny = "bottom";
|
|
var_08.foreground = 1;
|
|
var_08.fontscale = 2;
|
|
var_08.sort = 20;
|
|
var_08.alpha = 1;
|
|
var_08.x = 320;
|
|
var_08.y = 244;
|
|
var_08 _settext(".");
|
|
level.crosshair = var_08;
|
|
var_08 = _newhudelem();
|
|
var_08.location = 0;
|
|
var_08.alignx = "center";
|
|
var_08.aligny = "bottom";
|
|
var_08.foreground = 1;
|
|
var_08.fontscale = 2;
|
|
var_08.sort = 20;
|
|
var_08.alpha = 0;
|
|
var_08.x = 320;
|
|
var_08.y = 244;
|
|
var_08 setvalue(0);
|
|
level.crosshair_value = var_08;
|
|
}
|
|
|
|
//Function Number: 31
|
|
controler_hud_add(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = 520;
|
|
var_06 = 120;
|
|
var_07 = 18;
|
|
var_08 = 0.8;
|
|
var_09 = 20;
|
|
var_0A = 1.4;
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = "";
|
|
}
|
|
|
|
if(!isdefined(level.hud_controler) || !isdefined(level.hud_controler[param_00]))
|
|
{
|
|
level.hud_controler[param_00] = _newhudelem();
|
|
var_0B = _newhudelem();
|
|
}
|
|
else
|
|
{
|
|
var_0B = level.hud_controler[param_01].description;
|
|
}
|
|
|
|
level.hud_controler[param_00].location = 0;
|
|
level.hud_controler[param_00].alignx = "right";
|
|
level.hud_controler[param_00].aligny = "middle";
|
|
level.hud_controler[param_00].foreground = 1;
|
|
level.hud_controler[param_00].fontscale = 1.5;
|
|
level.hud_controler[param_00].sort = 20;
|
|
level.hud_controler[param_00].alpha = var_08;
|
|
level.hud_controler[param_00].x = var_05 + var_09;
|
|
level.hud_controler[param_00].y = var_06 + param_01 * var_07;
|
|
level.hud_controler[param_00] _settext(param_02);
|
|
level.hud_controler[param_00].base_button_text = param_02;
|
|
var_0B.location = 0;
|
|
var_0B.alignx = "left";
|
|
var_0B.aligny = "middle";
|
|
var_0B.foreground = 1;
|
|
var_0B.fontscale = var_0A;
|
|
var_0B.sort = 20;
|
|
var_0B.alpha = var_08;
|
|
var_0B.x = var_05 + var_09;
|
|
var_0B.y = var_06 + param_01 * var_07;
|
|
if(isdefined(param_04))
|
|
{
|
|
var_0B setvalue(param_04);
|
|
}
|
|
|
|
if(isdefined(param_03))
|
|
{
|
|
var_0B _settext(param_03);
|
|
}
|
|
|
|
level.hud_controler[param_00].description = var_0B;
|
|
}
|
|
|
|
//Function Number: 32
|
|
_newhudelem()
|
|
{
|
|
if(!isdefined(level.scripted_elems))
|
|
{
|
|
level.scripted_elems = [];
|
|
}
|
|
|
|
var_00 = newhudelem();
|
|
level.scripted_elems[level.scripted_elems.size] = var_00;
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 33
|
|
_settext(param_00)
|
|
{
|
|
self.realtext = param_00;
|
|
self settext("_");
|
|
thread _clearalltextafterhudelem();
|
|
var_01 = 0;
|
|
foreach(var_03 in level.scripted_elems)
|
|
{
|
|
if(isdefined(var_03.realtext))
|
|
{
|
|
var_01 = var_01 + var_03.realtext.size;
|
|
var_03 settext(var_03.realtext);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
_clearalltextafterhudelem()
|
|
{
|
|
if(level._clearalltextafterhudelem)
|
|
{
|
|
return;
|
|
}
|
|
|
|
level._clearalltextafterhudelem = 1;
|
|
self clearalltextafterhudelem();
|
|
wait 0.05;
|
|
level._clearalltextafterhudelem = 0;
|
|
}
|
|
|
|
//Function Number: 35
|
|
setgroup_up()
|
|
{
|
|
reset_cmds();
|
|
var_00 = undefined;
|
|
var_01 = getarraykeys(level.vision_set_vision);
|
|
for(var_02 = 0;var_02 < var_01.size;var_02++)
|
|
{
|
|
if(var_01[var_02] == level.vision_set_transition_ent.vision_set)
|
|
{
|
|
var_00 = var_02 + 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_00 == var_01.size)
|
|
{
|
|
return;
|
|
}
|
|
|
|
setcurrentgroup(var_01[var_00]);
|
|
}
|
|
|
|
//Function Number: 36
|
|
setgroup_down()
|
|
{
|
|
reset_cmds();
|
|
var_00 = undefined;
|
|
var_01 = getarraykeys(level.vision_set_vision);
|
|
for(var_02 = 0;var_02 < var_01.size;var_02++)
|
|
{
|
|
if(var_01[var_02] == level.vision_set_transition_ent.vision_set)
|
|
{
|
|
var_00 = var_02 - 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_00 < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
setcurrentgroup(var_01[var_00]);
|
|
}
|
|
|
|
//Function Number: 37
|
|
reset_cmds()
|
|
{
|
|
}
|
|
|
|
//Function Number: 38
|
|
setcurrentgroup(param_00)
|
|
{
|
|
level.spam_model_current_group = param_00;
|
|
var_01 = getarraykeys(level.vision_set_vision);
|
|
var_02 = 0;
|
|
var_03 = int(level.spam_group_hudelems.size / 2);
|
|
for(var_04 = 0;var_04 < var_01.size;var_04++)
|
|
{
|
|
if(var_01[var_04] == param_00)
|
|
{
|
|
var_02 = var_04;
|
|
break;
|
|
}
|
|
}
|
|
|
|
level.spam_group_hudelems[var_03] _settext(var_01[var_02]);
|
|
for(var_04 = 1;var_04 < level.spam_group_hudelems.size - var_03;var_04++)
|
|
{
|
|
if(var_02 - var_04 < 0)
|
|
{
|
|
level.spam_group_hudelems[var_03 + var_04] _settext(".");
|
|
continue;
|
|
}
|
|
|
|
level.spam_group_hudelems[var_03 + var_04] _settext(var_01[var_02 - var_04]);
|
|
}
|
|
|
|
for(var_04 = 1;var_04 < level.spam_group_hudelems.size - var_03;var_04++)
|
|
{
|
|
if(var_02 + var_04 > var_01.size - 1)
|
|
{
|
|
level.spam_group_hudelems[var_03 - var_04] _settext(".");
|
|
continue;
|
|
}
|
|
|
|
level.spam_group_hudelems[var_03 - var_04] _settext(var_01[var_02 + var_04]);
|
|
}
|
|
|
|
maps\_utility::vision_set_fog_changes(var_01[var_02],0);
|
|
}
|
|
|
|
//Function Number: 39
|
|
init_fog_transition()
|
|
{
|
|
if(!isdefined(level.fog_transition_ent))
|
|
{
|
|
level.fog_transition_ent = spawnstruct();
|
|
level.fog_transition_ent.fogset = "";
|
|
level.fog_transition_ent.time = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 40
|
|
playerinit()
|
|
{
|
|
var_00 = level.vision_set_transition_ent.vision_set;
|
|
level.vision_set_transition_ent.vision_set = "";
|
|
level.vision_set_transition_ent.time = "";
|
|
init_fog_transition();
|
|
level.fog_transition_ent.fogset = "";
|
|
level.fog_transition_ent.time = "";
|
|
setcurrentgroup(var_00);
|
|
} |