‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_art.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\system_shared;
4 #using scripts\shared\util_shared;
5 
6 #insert scripts\shared\shared.gsh;
7 
8 #namespace art;
9 
10 ‪REGISTER_SYSTEM( "art", &‪__init__, undefined )
11 
12 // This function should take care of grain and glow settings for each map, plus anything else that artists
13 // need to be able to tweak without bothering level designers.
14 
15 function ‪__init__()
16 {
17  if( !isdefined( level.dofDefault ) )
18  {
19  level.dofDefault["nearStart"] = 0;
20  level.dofDefault["nearEnd"] = 1;
21  level.dofDefault["farStart"] = 8000;
22  level.dofDefault["farEnd"] = 10000;
23  level.dofDefault["nearBlur"] = 6;
24  level.dofDefault["farBlur"] = 0;
25  }
26 
27  level.curDoF = ( level.dofDefault["farStart"] - level.dofDefault["nearEnd"] ) / 2;
28 
29  if( !isdefined( level.script ) )
30  {
31  level.script = tolower( GetDvarString( "mapname" ) );
32  }
33 }
34 
35 function ‪artfxprintln( file, string )
36 {
37 }
38 
39 
40 // Nate - hack Fixmed and replace with proper script command call once it's fixed.
41 // assumes " " as the deliiter. I'm not getting fancy.
42 // I would really like to go work on jeepride so here's a
43 // quick function that works for now untill engineering fixes strtok.
44 
45 function ‪strtok_loc( string, par1 )
46 {
47  stringlist = [];
48  indexstring = "";
49  for( i = 0 ; i < string.size ; i ++ )
50  {
51  if( string[i] == " " )
52  {
53  stringlist[stringlist.size] = indexstring;
54  indexstring = "";
55  }
56  else
57  {
58  indexstring = indexstring+string[i];
59  }
60  }
61  if( indexstring.size )
62  {
63  stringlist[stringlist.size] = indexstring;
64  }
65  return stringlist;
66 }
67 
68 
69 function ‪setfogsliders()
70 {
71  //fixme. replace strtok_loc with strtok if it ever works properly.
72  fogall = ‪strtok_loc( GetDvarString( "g_fogColorReadOnly" ), " " ) ;
73  red = fogall[ 0 ];
74  green = fogall[ 1 ];
75  blue = fogall[ 2 ];
76  halfplane = GetDvarString( "g_fogHalfDistReadOnly" );
77  nearplane = GetDvarString( "g_fogStartDistReadOnly" );
78 
79  if ( !isdefined( red )
80  || !isdefined( green )
81  || !isdefined( blue )
82  || !isdefined( halfplane )
83  )
84  {
85  red = 1;
86  green = 1;
87  blue = 1;
88  halfplane = 10000001;
89  nearplane = 10000000;
90  }
91  SetDvar("scr_fog_exp_halfplane",halfplane);
92  SetDvar("scr_fog_nearplane",nearplane);
93  SetDvar("scr_fog_color",red+" "+green+" "+blue);
94 }
95 
96 function ‪tweakart()
97 {
98  /#
99  if( !isdefined( level.tweakfile ) )
100  {
101  level.tweakfile = false;
102  }
103 
104 
105  // Default values
106 
107  if(GetDvarString( "scr_fog_baseheight") == "")
108  {
109  SetDvar( "scr_fog_exp_halfplane", "500" );
110  SetDvar( "scr_fog_exp_halfheight", "500" );
111  SetDvar( "scr_fog_nearplane", "0" );
112  SetDvar( "scr_fog_baseheight", "0" );
113  }
114 
115  // not in DEVGUI
116  SetDvar( "scr_fog_fraction", "1.0" );
117  SetDvar( "scr_art_dump", "0" );
118  SetDvar("scr_art_sun_fog_dir_set", "0");
119 
120  // update the devgui variables to current settings
121  SetDvar( "scr_dof_nearStart", level.dofDefault["nearStart"] );
122  SetDvar( "scr_dof_nearEnd", level.dofDefault["nearEnd"] );
123  SetDvar( "scr_dof_farStart", level.dofDefault["farStart"] );
124  SetDvar( "scr_dof_farEnd", level.dofDefault["farEnd"] );
125  SetDvar( "scr_dof_nearBlur", level.dofDefault["nearBlur"] );
126  SetDvar( "scr_dof_farBlur", level.dofDefault["farBlur"] );
127 
128 
129  file = undefined;
130  filename = undefined;
131 
132  // set dofvars from < levelname > _art.gsc
133 
134 
135  tweak_toggle = 1;
136  for( ;; )
137  {
138  while(GetDvarint( "scr_art_tweak" ) == 0 )
139  {
140  tweak_toggle = 1;
141  wait .05;
142  }
143 
144  if(tweak_toggle)
145  {
146  tweak_toggle = 0;
147  fogsettings = getfogsettings();
148 
149  SetDvar( "scr_fog_nearplane", fogsettings[0] );
150  SetDvar( "scr_fog_exp_halfplane", fogsettings[1] );
151  SetDvar( "scr_fog_exp_halfheight", fogsettings[3] );
152  SetDvar( "scr_fog_baseheight", fogsettings[2] );
153 
154  SetDvar("scr_fog_color", fogsettings[4]+" "+fogsettings[5]+" "+fogsettings[6]);
155  SetDvar("scr_fog_color_scale", fogsettings[7]);
156  SetDvar("scr_sun_fog_color", fogsettings[8]+" "+fogsettings[9]+" "+fogsettings[10]);
157 
158  level.fogsundir = [];
159  level.fogsundir[0] = fogsettings[11];
160  level.fogsundir[1] = fogsettings[12];
161  level.fogsundir[2] = fogsettings[13];
162 
163  SetDvar("scr_sun_fog_start_angle",fogsettings[14] );
164  SetDvar("scr_sun_fog_end_angle",fogsettings[15] );
165 
166  SetDvar("scr_fog_max_opacity", fogsettings[16]);
167 
168 
169  }
170 
171  //translate the slider values to script variables
172 
173  level.fogexphalfplane = GetDvarfloat( "scr_fog_exp_halfplane");
174  level.fogexphalfheight = GetDvarfloat( "scr_fog_exp_halfheight");
175  level.fognearplane = GetDvarfloat( "scr_fog_nearplane");
176  level.fogbaseheight = GetDvarfloat( "scr_fog_baseheight");
177 
178  colors = StrTok(GetDvarString("scr_fog_color")," ");
179  level.fogcolorred = int(colors[0]);
180  level.fogcolorgreen = int(colors[1]);
181  level.fogcolorblue = int(colors[2]);
182  level.fogcolorscale = GetDvarfloat( "scr_fog_color_scale");
183 
184  colors = StrTok(GetDvarString("scr_sun_fog_color")," ");
185  level.sunfogcolorred = int(colors[0]);
186  level.sunfogcolorgreen = int(colors[1]);
187  level.sunfogcolorblue = int(colors[2]);
188 
189  level.sunstartangle = GetDvarfloat( "scr_sun_fog_start_angle");
190  level.sunendangle = GetDvarfloat( "scr_sun_fog_end_angle");
191  level.fogmaxopacity = GetDvarfloat( "scr_fog_max_opacity");
192 
193  if( GetDvarint( "scr_art_sun_fog_dir_set") )
194  {
195  SetDvar( "scr_art_sun_fog_dir_set", "0" );
196 
197  println("Setting sun fog direction to facing of player");
198 
199  players = GetPlayers();
200 
201  dir = VectorNormalize( AnglesToForward( players[0] GetPlayerAngles() ) );
202 
203  level.fogsundir = [];
204  level.fogsundir[0] = dir[0];
205  level.fogsundir[1] = dir[1];
206  level.fogsundir[2] = dir[2];
207  }
208 
209 
210  // catch all those cases where a slider can be pushed to a place of conflict
212 
213  ‪dumpsettings(); // dumps and returns true if the dump dvar is set
214 
215  // updates fog to the variables
216 
217  if ( ! GetDvarint( "scr_fog_disable" ) )
218  {
219  if(!isdefined(level.fogsundir)) {
220  level.fogsundir = [];
221  level.fogsundir[0] = 1;
222  level.fogsundir[1] = 0;
223  level.fogsundir[2] = 0;
224  }
225 
226  setVolFog( level.fognearplane, level.fogexphalfplane, level.fogexphalfheight, level.fogbaseheight, level.fogcolorred, level.fogcolorgreen, level.fogcolorblue,
227  level.fogcolorscale, level.sunfogcolorred, level.sunfogcolorgreen, level.sunfogcolorblue, level.fogsundir[0], level.fogsundir[1], level.fogsundir[2], level.sunstartangle, level.sunendangle, 0, level.fogmaxopacity );
228  }
229  else
230  {
231  setExpFog( 100000000, 100000001, 0, 0, 0, 0 ); // couldn't find discreet fog disabling other than to never set it in the first place
232  }
233 
234  wait .1;
235  }
236  #/
237 }
238 
240 {
241  // catch all those cases where a slider can be pushed to a place of conflict
242  if( level.dofDefault["nearStart"] >= level.dofDefault["nearEnd"] )
243  {
244  level.dofDefault["nearStart"] = level.dofDefault["nearEnd"] - 1;
245  SetDvar( "scr_dof_nearStart", level.dofDefault["nearStart"] );
246  }
247  if( level.dofDefault["nearEnd"] <= level.dofDefault["nearStart"] )
248  {
249  level.dofDefault["nearEnd"] = level.dofDefault["nearStart"] + 1;
250  SetDvar( "scr_dof_nearEnd", level.dofDefault["nearEnd"] );
251  }
252  if( level.dofDefault["farStart"] >= level.dofDefault["farEnd"] )
253  {
254  level.dofDefault["farStart"] = level.dofDefault["farEnd"] - 1;
255  SetDvar( "scr_dof_farStart", level.dofDefault["farStart"] );
256  }
257  if( level.dofDefault["farEnd"] <= level.dofDefault["farStart"] )
258  {
259  level.dofDefault["farEnd"] = level.dofDefault["farStart"] + 1;
260  SetDvar( "scr_dof_farEnd", level.dofDefault["farEnd"] );
261  }
262  if( level.dofDefault["farBlur"] >= level.dofDefault["nearBlur"] )
263  {
264  level.dofDefault["farBlur"] = level.dofDefault["nearBlur"] - .1;
265  SetDvar( "scr_dof_farBlur", level.dofDefault["farBlur"] );
266  }
267  if( level.dofDefault["farStart"] <= level.dofDefault["nearEnd"] )
268  {
269  level.dofDefault["farStart"] = level.dofDefault["nearEnd"] + 1;
270  SetDvar( "scr_dof_farStart", level.dofDefault["farStart"] );
271  }
272 }
273 
274 function ‪dumpsettings()
275 {
276 }
‪setfogsliders
‪function setfogsliders()
Definition: _art.gsc:14
‪strtok_loc
‪function strtok_loc(string, par1)
Definition: _art.gsc:45
‪tweakart
‪function tweakart()
Definition: _art.gsc:15
‪fovslidercheck
‪function fovslidercheck()
Definition: _art.gsc:16
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪artfxprintln
‪function artfxprintln(file, string)
Definition: _art.gsc:35
‪__init__
‪function __init__()
Definition: _art.gsc:13
‪dumpsettings
‪function dumpsettings()
Definition: _art.gsc:17