/******************************************************************* * Decompiled By: Bog * Decompiled File: scripts\sp\_art.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 23 * Decompile Time: 1086 ms * Timestamp: 10/27/2023 12:23:49 AM *******************************************************************/ //Function Number: 1 main() { if(!isdefined(level.var_ABE6)) { level.var_ABE6 = 0; } level.var_4BC4 = "default"; level.var_11A9 = 0; func_5843(); func_11715(); level.var_1094B = []; level.var_32F7 = []; function_01C5("r_umbraMinObjectContribution",8); function_01C5("r_umbraShadowcasters",1); function_01C5("r_usePrebuiltSunShadow",3); function_01C5("r_mbEnable",1); function_01C5("r_mbVelocityScale",0); function_01C5("r_mbVelocityScaleViewModel",0.2); if(!isdefined(level.var_11220)) { level.var_11220 = []; } if(!isdefined(level.script)) { level.script = tolower(getdvar("mapname")); } } //Function Number: 2 func_5849(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { level.var_5832[param_00][param_01]["nearStart"] = param_02; level.var_5832[param_00][param_01]["nearEnd"] = param_03; level.var_5832[param_00][param_01]["nearBlur"] = param_04; level.var_5832[param_00][param_01]["farStart"] = param_05; level.var_5832[param_00][param_01]["farEnd"] = param_06; level.var_5832[param_00][param_01]["farBlur"] = param_07; level.var_5832[param_00][param_01]["weight"] = param_08; } //Function Number: 3 func_5838(param_00) { if(level.var_5832[param_00]["timeRemaining"] <= 0) { return; } var_01 = min(1,0.05 / level.var_5832[param_00]["timeRemaining"]); level.var_5832[param_00]["timeRemaining"] = level.var_5832[param_00]["timeRemaining"] - 0.05; if(level.var_5832[param_00]["timeRemaining"] <= 0) { level.var_5832[param_00]["timeRemaining"] = 0; level.var_5832[param_00]["current"]["nearStart"] = level.var_5832[param_00]["goal"]["nearStart"]; level.var_5832[param_00]["current"]["nearEnd"] = level.var_5832[param_00]["goal"]["nearEnd"]; level.var_5832[param_00]["current"]["nearBlur"] = level.var_5832[param_00]["goal"]["nearBlur"]; level.var_5832[param_00]["current"]["farStart"] = level.var_5832[param_00]["goal"]["farStart"]; level.var_5832[param_00]["current"]["farEnd"] = level.var_5832[param_00]["goal"]["farEnd"]; level.var_5832[param_00]["current"]["farBlur"] = level.var_5832[param_00]["goal"]["farBlur"]; level.var_5832[param_00]["current"]["weight"] = level.var_5832[param_00]["goal"]["weight"]; return; } level.var_5832[param_00]["current"]["nearStart"] = level.var_5832[param_00]["current"]["nearStart"] + var_01 * level.var_5832[param_00]["goal"]["nearStart"] - level.var_5832[param_00]["current"]["nearStart"]; level.var_5832[param_00]["current"]["nearEnd"] = level.var_5832[param_00]["current"]["nearEnd"] + var_01 * level.var_5832[param_00]["goal"]["nearEnd"] - level.var_5832[param_00]["current"]["nearEnd"]; level.var_5832[param_00]["current"]["nearBlur"] = level.var_5832[param_00]["current"]["nearBlur"] + var_01 * level.var_5832[param_00]["goal"]["nearBlur"] - level.var_5832[param_00]["current"]["nearBlur"]; level.var_5832[param_00]["current"]["farStart"] = level.var_5832[param_00]["current"]["farStart"] + var_01 * level.var_5832[param_00]["goal"]["farStart"] - level.var_5832[param_00]["current"]["farStart"]; level.var_5832[param_00]["current"]["farEnd"] = level.var_5832[param_00]["current"]["farEnd"] + var_01 * level.var_5832[param_00]["goal"]["farEnd"] - level.var_5832[param_00]["current"]["farEnd"]; level.var_5832[param_00]["current"]["farBlur"] = level.var_5832[param_00]["current"]["farBlur"] + var_01 * level.var_5832[param_00]["goal"]["farBlur"] - level.var_5832[param_00]["current"]["farBlur"]; level.var_5832[param_00]["current"]["weight"] = level.var_5832[param_00]["current"]["weight"] + var_01 * level.var_5832[param_00]["goal"]["weight"] - level.var_5832[param_00]["current"]["weight"]; } //Function Number: 4 func_583A(param_00,param_01) { var_02 = 1; var_03 = 1; var_04 = 4.5; var_05 = 500; var_06 = 500; var_07 = 0.05; func_5849(param_00,param_01,var_02,var_03,var_04,var_05,var_06,var_07,1); } //Function Number: 5 func_5843() { if(getdvar("scr_dof_enable") == "") { function_01C5("scr_dof_enable","1"); } setdvar("ads_dof_tracedist",8192); setdvar("ads_dof_maxEnemyDist",10000); setdvar("ads_dof_playerForgetEnemyTime",5000); setdvar("ads_dof_nearStartScale",0.25); setdvar("ads_dof_nearEndScale",0.85); setdvar("ads_dof_farStartScale",1.15); setdvar("ads_dof_farEndScale",3); setdvar("ads_dof_nearBlur",4); setdvar("ads_dof_farBlur",1.5); setdvar("ads_dof_debug",0); level.var_5832 = []; level.var_5832["base"] = []; level.var_5832["base"]["current"] = []; level.var_5832["base"]["goal"] = []; level.var_5832["base"]["timeRemaining"] = 0; func_583A("base","current"); func_5849("base","goal",0,0,0,0,0,0,0); level.var_5832["script"] = []; level.var_5832["script"]["current"] = []; level.var_5832["script"]["goal"] = []; level.var_5832["script"]["timeRemaining"] = 0; func_5849("script","current",0,0,0,0,0,0,0); func_5849("script","goal",0,0,0,0,0,0,0); level.var_5832["ads"] = []; level.var_5832["ads"]["current"] = []; level.var_5832["ads"]["goal"] = []; func_5849("ads","current",0,0,0,0,0,0,0); func_5849("ads","goal",0,0,0,0,0,0,0); level.var_5832["results"] = []; level.var_5832["results"]["current"] = []; func_583A("results","current"); foreach(var_01 in level.players) { var_01 thread func_584E(); } } //Function Number: 6 func_5848(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { func_5849("base","goal",param_00,param_01,param_02,param_03,param_04,param_05,1); level.var_5832["base"]["timeRemaining"] = param_06; if(param_06 <= 0) { func_5849("base","current",param_00,param_01,param_02,param_03,param_04,param_05,1); } } //Function Number: 7 func_583F(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { func_5849("script","goal",param_00,param_01,param_02,param_03,param_04,param_05,1); level.var_5832["script"]["timeRemaining"] = param_06; if(param_06 <= 0) { func_5849("script","current",param_00,param_01,param_02,param_03,param_04,param_05,1); return; } if(level.var_5832["script"]["current"]["weight"] <= 0) { func_5849("script","current",param_00,param_01,param_02,param_03,param_04,param_05,0); } } //Function Number: 8 func_583D(param_00) { level.var_5832["script"]["goal"]["weight"] = 0; level.var_5832["script"]["timeRemaining"] = param_00; if(param_00 <= 0) { level.var_5832["script"]["current"]["weight"] = 0; } } //Function Number: 9 is_dof_script_enabled() { return level.var_5832["script"]["current"]["weight"] > 0; } //Function Number: 10 func_583E(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { func_5849("ads","goal",param_00,param_01,param_02,param_03,param_04,param_05,param_06); if(level.var_5832["ads"]["current"]["weight"] <= 0) { func_5849("ads","current",param_00,param_01,param_02,param_03,param_04,param_05,0); } } //Function Number: 11 func_5836(param_00,param_01,param_02,param_03) { if(param_00 > param_01) { var_04 = param_00 - param_01 * param_03; if(var_04 > param_02) { var_04 = param_02; } else if(var_04 < 1) { var_04 = 1; } if(param_00 - var_04 <= param_01) { return param_01; } else { return param_00 - var_04; } } else if(param_00 < param_01) { var_04 = param_01 - param_00 * param_03; if(var_04 > param_02) { var_04 = param_02; } else if(var_04 < 1) { var_04 = 1; } if(param_00 + var_04 >= param_01) { return param_01; } else { return param_00 + var_04; } } return param_00; } //Function Number: 12 func_5835() { var_00 = level.var_5832["ads"]["goal"]["weight"]; if(var_00 < 1) { if(self adsbuttonpressed() && self method_822E() > 0) { var_00 = min(1,var_00 + 0.7); } else { var_00 = 0; } level.var_5832["ads"]["current"]["nearStart"] = level.var_5832["ads"]["goal"]["nearStart"]; level.var_5832["ads"]["current"]["nearEnd"] = level.var_5832["ads"]["goal"]["nearEnd"]; level.var_5832["ads"]["current"]["nearBlur"] = level.var_5832["ads"]["goal"]["nearBlur"]; level.var_5832["ads"]["current"]["farStart"] = level.var_5832["ads"]["goal"]["farStart"]; level.var_5832["ads"]["current"]["farEnd"] = level.var_5832["ads"]["goal"]["farEnd"]; level.var_5832["ads"]["current"]["farBlur"] = level.var_5832["ads"]["goal"]["farBlur"]; level.var_5832["ads"]["current"]["weight"] = var_00; return; } if(isdefined(level.var_5837)) { var_01 = level.var_5837; } else { var_01 = 0.1; } var_02 = 10; var_03 = max(var_02,abs(level.var_5832["ads"]["current"]["nearStart"] - level.var_5832["ads"]["goal"]["nearStart"]) * var_01); var_04 = max(var_02,abs(level.var_5832["ads"]["current"]["nearEnd"] - level.var_5832["ads"]["goal"]["nearEnd"]) * var_01); var_05 = max(var_02,abs(level.var_5832["ads"]["current"]["farStart"] - level.var_5832["ads"]["goal"]["farStart"]) * var_01); var_06 = max(var_02,abs(level.var_5832["ads"]["current"]["farEnd"] - level.var_5832["ads"]["goal"]["farEnd"]) * var_01); var_07 = 0.1; level.var_5832["ads"]["current"]["nearStart"] = func_5836(level.var_5832["ads"]["current"]["nearStart"],level.var_5832["ads"]["goal"]["nearStart"],var_03,0.33); level.var_5832["ads"]["current"]["nearEnd"] = func_5836(level.var_5832["ads"]["current"]["nearEnd"],level.var_5832["ads"]["goal"]["nearEnd"],var_04,0.33); level.var_5832["ads"]["current"]["nearBlur"] = func_5836(level.var_5832["ads"]["current"]["nearBlur"],level.var_5832["ads"]["goal"]["nearBlur"],var_07,0.33); level.var_5832["ads"]["current"]["farStart"] = func_5836(level.var_5832["ads"]["current"]["farStart"],level.var_5832["ads"]["goal"]["farStart"],var_05,0.33); level.var_5832["ads"]["current"]["farEnd"] = func_5836(level.var_5832["ads"]["current"]["farEnd"],level.var_5832["ads"]["goal"]["farEnd"],var_06,0.33); level.var_5832["ads"]["current"]["farBlur"] = func_5836(level.var_5832["ads"]["current"]["farBlur"],level.var_5832["ads"]["goal"]["farBlur"],var_07,0.33); level.var_5832["ads"]["current"]["weight"] = 1; } //Function Number: 13 func_583C() { level.var_5832["ads"]["goal"]["weight"] = 0; level.var_5832["ads"]["current"]["weight"] = 0; } //Function Number: 14 func_5833(param_00) { var_01 = level.var_5832[param_00]["current"]["weight"]; var_02 = 1 - var_01; level.var_5832["results"]["current"]["nearStart"] = level.var_5832["results"]["current"]["nearStart"] * var_02 + level.var_5832[param_00]["current"]["nearStart"] * var_01; level.var_5832["results"]["current"]["nearEnd"] = level.var_5832["results"]["current"]["nearEnd"] * var_02 + level.var_5832[param_00]["current"]["nearEnd"] * var_01; level.var_5832["results"]["current"]["nearBlur"] = level.var_5832["results"]["current"]["nearBlur"] * var_02 + level.var_5832[param_00]["current"]["nearBlur"] * var_01; level.var_5832["results"]["current"]["farStart"] = level.var_5832["results"]["current"]["farStart"] * var_02 + level.var_5832[param_00]["current"]["farStart"] * var_01; level.var_5832["results"]["current"]["farEnd"] = level.var_5832["results"]["current"]["farEnd"] * var_02 + level.var_5832[param_00]["current"]["farEnd"] * var_01; level.var_5832["results"]["current"]["farBlur"] = level.var_5832["results"]["current"]["farBlur"] * var_02 + level.var_5832[param_00]["current"]["farBlur"] * var_01; } //Function Number: 15 func_5839() { func_5838("base"); func_5838("script"); func_5835(); func_5833("base"); func_5833("script"); func_5833("ads"); var_00 = level.var_5832["results"]["current"]["nearStart"]; var_01 = level.var_5832["results"]["current"]["nearEnd"]; var_02 = level.var_5832["results"]["current"]["nearBlur"]; var_03 = level.var_5832["results"]["current"]["farStart"]; var_04 = level.var_5832["results"]["current"]["farEnd"]; var_05 = level.var_5832["results"]["current"]["farBlur"]; var_00 = max(0,var_00); var_01 = max(0,var_01); var_03 = max(0,var_03); var_04 = max(0,var_04); var_02 = max(4,var_02); var_02 = min(10,var_02); var_05 = max(0,var_05); var_05 = min(var_02,var_05); if(var_05 > 0) { var_03 = max(var_01,var_03); } level.var_5832["results"]["current"]["nearStart"] = var_00; level.var_5832["results"]["current"]["nearEnd"] = var_01; level.var_5832["results"]["current"]["nearBlur"] = var_02; level.var_5832["results"]["current"]["farStart"] = var_03; level.var_5832["results"]["current"]["farEnd"] = var_04; level.var_5832["results"]["current"]["farBlur"] = var_05; } //Function Number: 16 func_5845() { var_00 = self method_822E(); if(var_00 <= 0) { func_583C(); return; } if(isdefined(level.var_4C4C)) { [[ level.var_4C4C ]](); return; } var_01 = getdvarfloat("ads_dof_tracedist",4096); var_02 = getdvarfloat("ads_dof_maxEnemyDist",0); var_03 = getdvarint("ads_dof_playerForgetEnemyTime",5000); var_04 = getdvarfloat("ads_dof_nearStartScale",0.25); var_05 = getdvarfloat("ads_dof_nearEndScale",0.85); var_06 = getdvarfloat("ads_dof_farStartScale",1.15); var_07 = getdvarfloat("ads_dof_farEndScale",3); var_08 = getdvarfloat("ads_dof_nearBlur",4); var_09 = getdvarfloat("ads_dof_farBlur",2.5); var_0A = self geteye(); var_0B = self getplayerangles(); if(isdefined(self.var_5847)) { var_0C = combineangles(self.var_5847.angles,var_0B); } else { var_0C = var_0C; } var_0D = vectornormalize(anglestoforward(var_0C)); var_0E = bullettrace(var_0A,var_0A + var_0D * var_01,1,self,1,0,0,0,0); var_0F = function_0072("axis"); var_10 = self getcurrentweapon(); if(isdefined(level.var_1094B[var_10])) { [[ level.var_1094B[var_10] ]](var_0E,var_0F,var_0A,var_0D,var_00); return; } if(var_0E["fraction"] == 1) { var_01 = 8192; var_11 = 1024; var_12 = var_01 * var_06 * 2; } else { var_03 = distance(var_0C,var_10["position"]); var_11 = var_03 * var_06; var_12 = var_02 * var_07; } foreach(var_14 in var_0F) { var_15 = var_14 method_819D(); var_16 = var_14 method_817E(var_03); if(!var_15 && !var_16) { continue; } var_17 = vectornormalize(var_14.origin - var_0A); var_18 = vectordot(var_0D,var_17); if(var_18 < 0.923) { continue; } var_19 = distance(var_0A,var_14.origin); if(var_19 - 30 < var_11) { var_11 = var_19 - 30; } var_1A = min(var_19,var_02); if(var_1A + 30 > var_12) { var_12 = var_1A + 30; } } if(var_11 > var_12) { var_11 = var_12 - 256; } if(var_11 > var_01) { var_11 = var_01 - 30; } if(var_11 < 1) { var_11 = 1; } if(var_12 < var_01) { var_12 = var_01; } var_1C = var_11 * var_04; var_1D = var_12 * var_07; func_583E(var_1C,var_11,var_08,var_12,var_1D,var_09,var_00); } //Function Number: 17 func_A43D(param_00,param_01,param_02,param_03,param_04) { if(param_04 < 0.88) { func_583C(); 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; } var_0D = var_06 * 4; var_0E = 4; var_0F = 1.8; func_583E(var_07,var_05,var_0E,var_06,var_0D,var_0F,param_04); } //Function Number: 18 func_584E() { for(;;) { scripts\common\utility::func_136F7(); if(level.var_ABE6) { continue; } if(!getdvarint("scr_dof_enable")) { continue; } func_5845(); func_5839(); if(isdefined(self method_8473())) { func_583A("results","current"); } var_00 = level.var_5832["results"]["current"]["nearStart"]; var_01 = level.var_5832["results"]["current"]["nearEnd"]; var_02 = level.var_5832["results"]["current"]["farStart"]; var_03 = level.var_5832["results"]["current"]["farEnd"]; var_04 = level.var_5832["results"]["current"]["nearBlur"]; var_05 = level.var_5832["results"]["current"]["farBlur"]; self setdepthoffield(var_00,var_01,var_02,var_03,var_04,var_05); } } //Function Number: 19 func_11715() { var_00 = getdvar("r_tessellation"); if(var_00 == "") { return; } level.var_11714 = spawnstruct(); level.var_11714.var_4CA5 = getdvarfloat("r_tessellationCutoffDistanceBase",960); level.var_11714.var_4CA6 = level.var_11714.var_4CA5; level.var_11714.var_4CA7 = getdvarfloat("r_tessellationCutoffFalloffBase",320); level.var_11714.var_4CA8 = level.var_11714.var_4CA7; level.var_11714.var_118D7 = 0; function_01C5("r_tessellationCutoffDistance",level.var_11714.var_4CA5); function_01C5("r_tessellationCutoffFalloff",level.var_11714.var_4CA7); foreach(var_02 in level.players) { var_02 thread func_11717(); } } //Function Number: 20 func_11716(param_00,param_01,param_02) { level.var_11714.var_4CA6 = param_00; level.var_11714.var_4CA8 = param_01; level.var_11714.var_118D7 = param_02; } //Function Number: 21 func_11717() { for(;;) { var_00 = level.var_11714.var_4CA5; var_01 = level.var_11714.var_4CA7; scripts\common\utility::func_136F7(); if(level.var_11714.var_118D7 > 0) { var_02 = level.var_11714.var_118D7 * 20; var_03 = level.var_11714.var_4CA6 - level.var_11714.var_4CA5 / var_02; var_04 = level.var_11714.var_4CA8 - level.var_11714.var_4CA7 / var_02; level.var_11714.var_4CA5 = level.var_11714.var_4CA5 + var_03; level.var_11714.var_4CA7 = level.var_11714.var_4CA7 + var_04; level.var_11714.var_118D7 = level.var_11714.var_118D7 - 0.05; } else { level.var_11714.var_4CA5 = level.var_11714.var_4CA6; level.var_11714.var_4CA7 = level.var_11714.var_4CA8; } if(var_00 != level.var_11714.var_4CA5) { function_01C5("r_tessellationCutoffDistance",level.var_11714.var_4CA5); } if(var_01 != level.var_11714.var_4CA7) { function_01C5("r_tessellationCutoffFalloff",level.var_11714.var_4CA7); } } } //Function Number: 22 func_1121E(param_00,param_01) { if(!isdefined(level.var_11220[param_00])) { return; } self notify("sunflare_start_adjust"); self endon("sunflare_start_adjust"); var_02 = gettime(); var_03 = param_01 * 1000; var_04 = getdvarvector("r_sunflare_position",(0,0,0)); var_05 = gettime() - var_02; var_06 = level.var_11220[param_00].var_245; level.var_4BC4 = param_00; while(var_05 < var_03) { var_06 = level.var_11220[param_00].var_245; var_07 = min(float(var_05 / var_03),1); var_08 = var_04 + var_06 - var_04 * var_07; setdvar("r_sunflare_position",var_08); function_01C9(var_08); wait(0.05); var_05 = gettime() - var_02; } setdvar("r_sunflare_position",level.var_11220[param_00].var_245); function_01C9(var_06); } //Function Number: 23 func_F5FD(param_00) { switch(param_00) { case 1: function_01C5("r_veilFalloffWeight1","1 0.95 0.75"); function_01C5("r_veilFalloffWeight2","0.25 0.875 0.02"); break; case 2: function_01C5("r_veilFalloffWeight1","1 0.9 0.6"); function_01C5("r_veilFalloffWeight2","0.3 0.05 0.02"); break; case 3: function_01C5("r_veilFalloffWeight1","1 0.6875 0.375"); function_01C5("r_veilFalloffWeight2","0.1875 0.1013 0.02"); break; case 4: function_01C5("r_veilFalloffWeight1","1 0.98 0.7"); function_01C5("r_veilFalloffWeight2","0.2 0.05 0.0"); break; case 5: function_01C5("r_veilFalloffWeight1","1 0.4 0.15"); function_01C5("r_veilFalloffWeight2","0.1 0.0750 0.15"); break; default: function_01C5("r_veilFalloffWeight1","0.25 0.75 1.5"); function_01C5("r_veilFalloffWeight2","2 2.5 3"); break; } }