DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
OptionsMenuVideo.c
См. документацию.
1class OptionsMenuVideo extends ScriptedWidgetEventHandler
2{
3 protected Widget m_Root;
4
5 protected Widget m_SettingsRoot;
6 protected Widget m_DetailsRoot;
7 protected Widget m_DetailsBodyDefault;
8 protected Widget m_DetailsBodyConnectivity;
9 protected TextWidget m_DetailsLabel;
10 protected RichTextWidget m_DetailsText;
11
12 protected GameOptions m_Options;
13 protected OptionsMenu m_Menu;
14
15 #ifdef PLATFORM_CONSOLE
16 #ifdef PLATFORM_PS4
17 protected ref OptionSelectorMultistate m_FlipModeSelector;
18 #endif
19 #else
20 //Overall
21 protected ref OptionSelectorMultistate m_OverallQualitySelector;
22
23 //Screen
24 protected ref OptionSelectorMultistate m_DisplayModeSelector;
25 protected ref OptionSelectorMultistate m_ResolutionSelector;
26 protected ref OptionSelectorSlider m_BrightnessSelector;
27 protected ref OptionSelectorMultistate m_VSyncSelector;
28 //protected ref OptionSelectorMultistate m_ColorDepthSelector;
29
30 //Scene
31 protected ref OptionSelectorMultistate m_ObjectDetailSelector;
32 protected ref OptionSelectorMultistate m_TerrainDetailSelector;
33 protected ref OptionSelectorMultistate m_TextureDetailSelector;
34 protected ref OptionSelectorMultistate m_ShadowDetailSelector;
35 protected ref OptionSelectorMultistate m_VisibilitySelector;
36 protected ref OptionSelectorMultistate m_ObjectVisibilitySelector;
37
38 //Rendering
39 protected ref OptionSelectorMultistate m_TextureFilteringSelector;
40 protected ref OptionSelectorMultistate m_TerrainSurfaceDetailSelector;
41 protected ref OptionSelectorMultistate m_PPAASelector;
42 protected ref OptionSelectorMultistate m_HWAASelector;
43 protected ref OptionSelectorMultistate m_ATOCSelector;
44 protected ref OptionSelectorMultistate m_AOSelector;
45 protected ref OptionSelectorMultistate m_PPQualitySelector;
46 protected ref OptionSelectorMultistate m_SSRQualitySelector;
47 #endif
48
49 #ifdef PLATFORM_CONSOLE
50 #ifdef PLATFORM_PS4
51 protected ref ListOptionsAccess m_FlipModeOption;
52 #endif
53 #else
54 //Overall
55 protected ref ListOptionsAccess m_OverallQualityOption;
56
57 //Screen
58 protected ref ListOptionsAccess m_DisplayModeOption;
59 protected ref ListOptionsAccess m_ResolutionOption;
60 protected ref NumericOptionsAccess m_BrightnessOption;
61 protected ref ListOptionsAccess m_VSyncOption;
62 //protected ref ListOptionsAccess m_ColorDepthOption;
63
64 //Scene
65 protected ref ListOptionsAccess m_ObjectDetailOption;
66 protected ref ListOptionsAccess m_TerrainDetailOption;
67 protected ref ListOptionsAccess m_TextureDetailOption;
68 protected ref ListOptionsAccess m_ShadowDetailOption;
69 protected ref ListOptionsAccess m_VisibilityOption;
70 protected ref ListOptionsAccess m_ObjectVisibilityOption;
71
72 //Rendering
73 protected ref ListOptionsAccess m_TextureFilteringOption;
74 protected ref ListOptionsAccess m_TerrainSurfaceDetailOption;
75 protected ref ListOptionsAccess m_PPAAOption;
76 protected ref ListOptionsAccess m_HWAAOption;
77 protected ref ListOptionsAccess m_ATOCOption;
78 protected ref ListOptionsAccess m_AOOption;
79 protected ref ListOptionsAccess m_PPQualityOption;
80 protected ref ListOptionsAccess m_SSRQualityOption;
81 #endif
82
84
85 void OptionsMenuVideo( Widget parent, Widget details_root, GameOptions options, OptionsMenu menu )
86 {
88
89 m_DetailsRoot = details_root;
90 m_DetailsBodyDefault = m_DetailsRoot.FindAnyWidget("settings_details_body");
91 m_DetailsBodyConnectivity = m_DetailsRoot.FindAnyWidget("settings_details_body_connectivity");
92 m_DetailsLabel = TextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_label" ) );
93 m_DetailsText = RichTextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_content" ) );
94
95 SetOptions( options );
96 m_Menu = menu;
97
98 #ifdef PLATFORM_CONSOLE
99 #ifdef PLATFORM_PS4
100 m_Root.FindAnyWidget( "vsync_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_FLIPMODE );
101 #endif
102 #else
103 m_Root.FindAnyWidget( "overall_quality_setting_option" ).SetUserID( OptionAccessType.AT_QUALITY_PREFERENCE );
104 m_Root.FindAnyWidget( "display_mode_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_DISPLAY_MODE );
105 m_Root.FindAnyWidget( "resolution_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_RESOLUTION );
106 m_Root.FindAnyWidget( "brightness_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_BRIGHT_SLIDER );
107 m_Root.FindAnyWidget( "vsync_setting_option" ).SetUserID( OptionAccessType.AT_VSYNC_VALUE );
108 //m_Root.FindAnyWidget( "color_depth_setting_option" ).SetUserID( OptionAccessType.AT_HDR_DETAIL );
109
110 //Scene
111 m_Root.FindAnyWidget( "object_detail_setting_option" ).SetUserID( OptionAccessType.AT_OBJECTS_DETAIL );
112 m_Root.FindAnyWidget( "terrain_detail_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_TERRAIN );
113 m_Root.FindAnyWidget( "texture_detail_setting_option" ).SetUserID( OptionAccessType.AT_TEXTURE_DETAIL );
114 m_Root.FindAnyWidget( "shadow_detail_setting_option" ).SetUserID( OptionAccessType.AT_SHADOW_DETAIL );
115 m_Root.FindAnyWidget( "visibility_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_VISIBILITY_COMBO );
116 m_Root.FindAnyWidget( "object_visibility_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_OBJECT_VISIBILITY_COMBO );
117
118 //Rendering
119 m_Root.FindAnyWidget( "texture_filtering_setting_option" ).SetUserID( OptionAccessType.AT_ANISO_DETAIL );
120 m_Root.FindAnyWidget( "terrain_surface_detail_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_TERRAIN_SHADER );
121 m_Root.FindAnyWidget( "ppaa_setting_option" ).SetUserID( OptionAccessType.AT_OPTIONS_FXAA_VALUE );
122 m_Root.FindAnyWidget( "hwaa_setting_option" ).SetUserID( OptionAccessType.AT_FSAA_DETAIL );
123 m_Root.FindAnyWidget( "atoc_setting_option" ).SetUserID( OptionAccessType.AT_ATOC_DETAIL );
124 m_Root.FindAnyWidget( "ao_setting_option" ).SetUserID( OptionAccessType.AT_AMBIENT_OCCLUSION );
125 m_Root.FindAnyWidget( "pp_setting_option" ).SetUserID( OptionAccessType.AT_POSTPROCESS_EFFECTS );
126 m_Root.FindAnyWidget( "ssr_setting_option" ).SetUserID( OptionAccessType.AT_WATER_DETAIL );
127 #endif
128
129 FillTextMap();
133
134 float x, y, y2;
135 m_Root.FindAnyWidget( "video_settings_scroll" ).GetScreenSize( x, y );
136 m_Root.FindAnyWidget( "video_settings_root" ).GetScreenSize( x, y2 );
137 int f = ( y2 > y );
138 m_Root.FindAnyWidget( "video_settings_scroll" ).SetAlpha( f );
139
140 m_Root.SetHandler( this );
141 }
142
144 {
146 }
147
149 {
150 #ifdef PLATFORM_CONSOLE
151 #ifdef PLATFORM_PS4
152 array<string> opt1 = { "#STR_ENABLED", "#STR_DISABLED", "#STR_SELECTIVE" };
153 m_FlipModeSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "vsync_setting_option" ), m_FlipModeOption.GetIndex(), this, false, opt1 );
154 #endif
155 #else
156 array<string> opt1 = { "#options_controls_disabled", "#options_controls_enabled" };
157 array<string> opt2 = { "#options_video_fullscreen", "#options_video_windowed" };
158 array<string> opt3 = { "#options_video_low", "#options_video_medium", "#options_video_high" };
159 array<string> opt4 = { "#options_video_poor", "#options_video_low", "#options_video_medium", "#options_video_high", "#options_video_extreme" };
160 array<string> opt41 = { "#options_video_low", "#options_video_medium", "#options_video_high", "#options_video_extreme" };
161 array<string> opt6 = { "#options_controls_disabled", "#options_video_low", "#options_video_medium", "#options_video_high", "#options_video_extreme" };
162 array<string> opt7 = { "#options_controls_disabled", "#options_video_low", "#options_video_medium", "#options_video_high" };
163 array<string> opt9 = { "#options_controls_disabled", "#options_video_low", "#options_video_high" };
164
165
166 //Overall
167 m_OverallQualitySelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "overall_quality_setting_option" ), m_OverallQualityOption, this, false );
168
169 //Screen
170 m_DisplayModeSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "display_mode_setting_option" ), m_DisplayModeOption.GetIndex(), this, false, opt2 );
171 m_ResolutionSelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "resolution_setting_option" ), m_ResolutionOption, this, false );
172 m_BrightnessSelector = new OptionSelectorSlider( m_Root.FindAnyWidget( "brightness_setting_option" ), m_BrightnessOption.ReadValue(), this, false, m_BrightnessOption.GetMin(), m_BrightnessOption.GetMax() );
173 m_VSyncSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "vsync_setting_option" ), m_VSyncOption.GetIndex(), this, false, opt1 );
174 //m_ColorDepthSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "color_depth_setting_option" ), m_ColorDepthOption.GetIndex(), this, false, opt3 );
175
176 //Scene
177 m_ObjectDetailSelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "object_detail_setting_option" ), m_ObjectDetailOption, this, false );
178 m_TerrainDetailSelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "terrain_detail_setting_option" ), m_TerrainDetailOption, this, false );
179 m_TextureDetailSelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "texture_detail_setting_option" ), m_TextureDetailOption, this, false );
180 m_ShadowDetailSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "shadow_detail_setting_option" ), m_ShadowDetailOption.GetIndex(), this, false, opt4 );
181 m_VisibilitySelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "visibility_setting_option" ), m_VisibilityOption, this, false );
182 m_ObjectVisibilitySelector = OptionSelectorMultistate.NewFromAccess( m_Root.FindAnyWidget( "object_visibility_setting_option" ), m_ObjectVisibilityOption, this, false );
183 //Rendering
184 m_TextureFilteringSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "texture_filtering_setting_option" ), m_TextureFilteringOption.GetIndex(), this, false, opt3 );
185 m_TerrainSurfaceDetailSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "terrain_surface_detail_setting_option" ), m_TerrainSurfaceDetailOption.GetIndex(), this, false, opt41 );
186
187 m_PPAASelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "ppaa_setting_option" ), m_PPAAOption.GetIndex(), this, false, opt6 );
188 m_HWAASelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "hwaa_setting_option" ), m_HWAAOption.GetIndex(), this, false, opt7 );
189 m_ATOCSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "atoc_setting_option" ), m_ATOCOption.GetIndex(), this, false, opt1 );
190 m_AOSelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "ao_setting_option" ), m_AOOption.GetIndex(), this, false, opt6 );
191 m_PPQualitySelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "pp_setting_option" ), m_PPQualityOption.GetIndex(), this, false, opt3 );
192 m_SSRQualitySelector = new OptionSelectorMultistate( m_Root.FindAnyWidget( "ssr_setting_option" ), m_SSRQualityOption.GetIndex(), this, false, opt9 );
193 #endif
194
195 #ifdef PLATFORM_CONSOLE
196 #ifdef PLATFORM_PS4
197 m_FlipModeSelector.m_OptionChanged.Insert( OnFlipModeChanged );
198 #endif
199 #else
200 //Overall
201 m_OverallQualitySelector.m_OptionChanged.Insert( OnOverallQualityChanged );
202
203 //Screen
204 m_DisplayModeSelector.m_OptionChanged.Insert( OnDisplayModeChanged );
205 m_ResolutionSelector.m_OptionChanged.Insert( OnResolutionChanged );
206 m_BrightnessSelector.m_OptionChanged.Insert( OnBrightnessChanged );
207 m_VSyncSelector.m_OptionChanged.Insert( OnVSyncChanged );
208 //m_ColorDepthSelector.m_OptionChanged.Insert( OnColorDepthChanged );
209
210 //Scene
211 m_ObjectDetailSelector.m_OptionChanged.Insert( OnObjectDetailChanged );
212 m_TerrainDetailSelector.m_OptionChanged.Insert( OnTerrainDetailChanged );
213 m_TextureDetailSelector.m_OptionChanged.Insert( OnTextureDetailChanged );
214 m_ShadowDetailSelector.m_OptionChanged.Insert( OnShadowDetailChanged );
215 m_VisibilitySelector.m_OptionChanged.Insert( OnVisibilityChanged );
217
218 //Rendering
221 m_PPAASelector.m_OptionChanged.Insert( OnPPAAChanged );
222 m_HWAASelector.m_OptionChanged.Insert( OnHWAAChanged );
223 m_ATOCSelector.m_OptionChanged.Insert( OnATOCChanged );
224 m_AOSelector.m_OptionChanged.Insert( OnAOChanged );
225 m_PPQualitySelector.m_OptionChanged.Insert( OnPPQualityChanged );
226 m_SSRQualitySelector.m_OptionChanged.Insert( OnSSRQualityChanged );
227 #endif
228 }
229
231 {
232 #ifdef PLATFORM_PS4
233 return "gui/layouts/new_ui/options/ps/video_tab.layout";
234 #else
235 #ifdef PLATFORM_WINDOWS
236 return "gui/layouts/new_ui/options/pc/video_tab.layout";
237 #endif
238 #endif
239 }
240
241 void Focus()
242 {
243 #ifdef PLATFORM_PS4
244 if (m_FlipModeSelector)
245 {
246 SetFocus( m_FlipModeSelector.GetParent() );
247 }
248 #endif
249 }
250
252 {
253 m_Menu.ReloadOptions();
254 }
255
257 {
258 return false;
259 }
260
261 void Apply()
262 {
263
264 }
265
266 void Revert()
267 {
268 #ifndef PLATFORM_CONSOLE
269 m_DisplayModeSelector.SetValue( m_DisplayModeOption.GetIndex(), false );
270 m_ResolutionSelector.SetValue( m_ResolutionOption.GetIndex(), false );
271 m_BrightnessSelector.SetValue( m_BrightnessOption.ReadValue(), false );
272 m_VSyncSelector.SetValue( m_VSyncOption.GetIndex(), false );
273 //m_ColorDepthSelector.SetValue( m_ColorDepthOption.GetIndex(), false );
274 m_OverallQualitySelector.SetValue( m_OverallQualityOption.GetIndex(), false );
275 #endif
276
278 #ifndef PLATFORM_CONSOLE
279 m_OverallQualitySelector.SetValue( m_OverallQualityOption.GetIndex(), false );
280 #endif
281 }
282
284 {
285 #ifdef PLATFORM_CONSOLE
286 #ifdef PLATFORM_PS4
287 m_FlipModeSelector.SetValue( m_FlipModeOption.GetDefaultIndex(), false );
288 #endif
289 #else
290 m_DisplayModeSelector.SetValue( m_DisplayModeOption.GetDefaultIndex(), false );
291 m_ResolutionSelector.SetValue( m_ResolutionOption.GetDefaultIndex(), false );
292 m_BrightnessSelector.SetValue( m_BrightnessOption.GetDefault(), false );
293 m_VSyncSelector.SetValue( m_VSyncOption.GetDefaultIndex(), false );
294 int idx = m_OverallQualityOption.GetDefaultIndex();
295 m_OverallQualitySelector.SetValue( m_OverallQualityOption.GetDefaultIndex(), true );
296 #endif
297
299 //DefaultValuesToCustom();
300 }
301
302 void SetOptions( GameOptions options )
303 {
304 m_Options = options;
305
306 #ifdef PLATFORM_CONSOLE
307 #ifdef PLATFORM_PS4
308 m_FlipModeOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_FLIPMODE ) );
309 #endif
310 #else
311 //Overall
312 m_OverallQualityOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_QUALITY_PREFERENCE ) );
313
314 //Screen
315 m_DisplayModeOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_DISPLAY_MODE ) );
316 m_ResolutionOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_RESOLUTION ) );
317 m_BrightnessOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_BRIGHT_SLIDER ) );
318 m_VSyncOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_VSYNC_VALUE ) );
319 //m_ColorDepthOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_HDR_DETAIL ) );
320
321 //Scene
322 m_ObjectDetailOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OBJECTS_DETAIL ) );
323 m_TerrainDetailOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_TERRAIN ) );
324 m_TextureDetailOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_TEXTURE_DETAIL ) );
325 m_ShadowDetailOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_SHADOW_DETAIL ) );
326 m_VisibilityOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_VISIBILITY_COMBO ) );
327 m_ObjectVisibilityOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_OBJECT_VISIBILITY_COMBO ) );
328
329 //Rendering
330 m_TextureFilteringOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_ANISO_DETAIL ) );
331 m_TerrainSurfaceDetailOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_TERRAIN_SHADER ) );
332
333 m_PPAAOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_FXAA_VALUE ) );
334 m_HWAAOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_FSAA_DETAIL ) );
335 m_ATOCOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_ATOC_DETAIL ) );
336 m_AOOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_AMBIENT_OCCLUSION ) );
337 m_PPQualityOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_POSTPROCESS_EFFECTS ) );
338 m_SSRQualityOption = ListOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_WATER_DETAIL ) );
339 #endif
340 }
341
342 void ToggleDependentOptions(int mode, bool state)
343 {
344 }
345
349
351 {
352 #ifdef PLATFORM_CONSOLE
353 #ifdef PLATFORM_PS4
354 m_FlipModeSelector.SetValue( m_FlipModeOption.GetIndex(), false );
355 #endif
356 #else
357 //Scene
358 m_ObjectDetailSelector.SetValue( m_ObjectDetailOption.GetIndex(), false );
359 m_TerrainDetailSelector.SetValue( m_TerrainDetailOption.GetIndex(), false );
360 m_TextureDetailSelector.SetValue( m_TextureDetailOption.GetIndex(), false );
361 m_ShadowDetailSelector.SetValue( m_ShadowDetailOption.GetIndex(), false );
362 m_VisibilitySelector.SetValue( m_VisibilityOption.GetIndex(), false );
363 m_ObjectVisibilitySelector.SetValue( m_ObjectVisibilityOption.GetIndex(), false );
364
365 //Rendering
366 m_TextureFilteringSelector.SetValue( m_TextureFilteringOption.GetIndex(), false );
368 m_PPAASelector.SetValue( m_PPAAOption.GetIndex(), false );
369 m_HWAASelector.SetValue( m_HWAAOption.GetIndex(), false );
370 if ( m_HWAAOption.GetIndex() == 0 )
371 {
372 m_ATOCSelector.Disable();
373 }
374 else
375 {
376 m_ATOCSelector.Enable();
377 }
378 m_ATOCSelector.SetValue( m_ATOCOption.GetIndex(), false );
379 m_AOSelector.SetValue( m_AOOption.GetIndex(), false );
380 m_PPQualitySelector.SetValue( m_PPQualityOption.GetIndex(), false );
381 m_SSRQualitySelector.SetValue( m_SSRQualityOption.GetIndex(), false );
382 #endif
383 }
384
385 override bool OnMouseEnter( Widget w, int x, int y )
386 {
387 if ( w && w.IsInherited( ScrollWidget ) )
388 {
389 return false;
390 }
391
392 m_Menu.ColorHighlight( w );
393
394 return true;
395 }
396
397 override bool OnMouseLeave( Widget w, Widget enterW, int x, int y )
398 {
399 if ( w && w.IsInherited( ScrollWidget ) )
400 {
401 return false;
402 }
403
404 m_Menu.ColorNormal( w );
405 return true;
406 }
407
409 {
410 #ifndef PLATFORM_CONSOLE
411 int customPresetIndex = m_OverallQualityOption.GetItemsCount() - 1;
412 if ( m_OverallQualityOption.GetIndex() != customPresetIndex )
413 {
414 m_OverallQualitySelector.SetValue( customPresetIndex );
415 }
416 #endif
417 }
418
419 #ifdef PLATFORM_CONSOLE
420 #ifdef PLATFORM_PS4
421 void OnFlipModeChanged( int value )
422 {
423 m_FlipModeOption.SetIndex( value );
425 m_Menu.OnChanged();
426 }
427 #endif
428 #else
429 void OnOverallQualityChanged( int value )
430 {
431 m_OverallQualityOption.SetIndex( value );
432 m_OverallQualityOption.Test(); //here's the bastard!
433 m_Options.Test();
434 //SetOptions(m_Options);
435
437
438 //InitSelectors();
439 m_OverallQualityOption.SetIndex( value );
441 m_Menu.OnChanged();
442 }
443
444 void OnDisplayModeChanged( int value )
445 {
446 m_DisplayModeOption.SetIndex( value );
447 m_Menu.OnChanged();
448 }
449
450 void OnResolutionChanged( int value )
451 {
452 m_ResolutionOption.SetIndex( value );
453 m_Menu.OnChanged();
454 }
455
456 void OnBrightnessChanged( float value )
457 {
458 m_BrightnessOption.WriteValue( value );
459 m_Menu.OnChanged();
460 }
461
462 void OnVSyncChanged( float value )
463 {
464 m_VSyncOption.SetIndex( value );
465 m_Menu.OnChanged();
466 }
467
468 void OnColorDepthChanged( int value )
469 {
470 //m_ColorDepthOption.SetIndex( value );
471 m_Menu.OnChanged();
472 }
473
474 void OnObjectDetailChanged( int value )
475 {
476 m_ObjectDetailOption.SetIndex( value );
478 m_Menu.OnChanged();
479 }
480
481 void OnTerrainDetailChanged( int value )
482 {
483 m_TerrainDetailOption.SetIndex( value );
485 m_Menu.OnChanged();
486 }
487
488 void OnTextureDetailChanged( int value )
489 {
490 m_TextureDetailOption.SetIndex( value );
492 m_Menu.OnChanged();
493 }
494
495 void OnShadowDetailChanged( int value )
496 {
497 m_ShadowDetailOption.SetIndex( value );
499 m_Menu.OnChanged();
500 }
501
502 void OnVisibilityChanged( int value )
503 {
504 m_VisibilityOption.SetIndex( value );
506 m_Menu.OnChanged();
507 }
508
510 {
511 m_ObjectVisibilityOption.SetIndex( value );
513 m_Menu.OnChanged();
514 }
515
517 {
518 m_TextureFilteringOption.SetIndex( value );
520 m_Menu.OnChanged();
521 }
522
524 {
525 m_TerrainSurfaceDetailOption.SetIndex( value );
527 m_Menu.OnChanged();
528 }
529
530 void OnPPAAChanged( int value )
531 {
532 m_PPAAOption.SetIndex( value );
534 m_Menu.OnChanged();
535 }
536
537 void OnHWAAChanged( int value )
538 {
539 m_HWAAOption.SetIndex( value );
540 if ( value == 0 )
541 {
542 m_ATOCSelector.Disable();
543 }
544 else
545 {
546 m_ATOCSelector.Enable();
547 // with HWAA enabled, reapply last AToC option as it depends on HWAA
548 int atoc = m_ATOCSelector.GetValue();
549 if (atoc)
550 {
551 m_ATOCSelector.SetValue(atoc);
552 }
553 }
555 m_Menu.OnChanged();
556 }
557
558 void OnATOCChanged( int value )
559 {
560 m_ATOCOption.SetIndex( value );
562 m_Menu.OnChanged();
563 }
564
565 void OnAOChanged( int value )
566 {
567 m_AOOption.SetIndex( value );
569 m_Menu.OnChanged();
570 }
571
572 void OnPPQualityChanged( int value )
573 {
574 m_PPQualityOption.SetIndex( value );
576 m_Menu.OnChanged();
577 }
578
579 void OnSSRQualityChanged( int value )
580 {
581 m_SSRQualityOption.SetIndex( value );
583 m_Menu.OnChanged();
584 }
585 #endif
586
587 override bool OnFocus( Widget w, int x, int y )
588 {
589 OptionsMenu menu = OptionsMenu.Cast( GetGame().GetUIManager().GetMenu() );
590 if ( menu )
591 menu.OnFocus( w, x, y );
592 if ( w )
593 {
594 if (TextMapUpdateWidget(w.GetUserID()))
595 {
596 return true;
597 }
598
599 if ( w.IsInherited( SliderWidget ) )
600 {
601 return true;
602 }
603 }
604 m_DetailsRoot.Show( false );
605 return ( w != null );
606 }
607
609 {
610 bool connectivityInfoShown = key == OptionIDsScript.OPTION_CONNECTIVITY_INFO;
612 Param tmp = m_TextMap.Get(key);
613
614 m_DetailsBodyDefault.Show(!connectivityInfoShown);
615 m_DetailsBodyConnectivity.Show(connectivityInfoShown);
616
617 if (Class.CastTo(p,tmp))
618 {
619 m_DetailsRoot.Show(true);
620 m_DetailsText.Show(true);
621 m_DetailsLabel.SetText(p.param1);
622 m_DetailsText.SetText(p.param2);
623
624 m_DetailsText.Update();
625 m_DetailsLabel.Update();
626 m_DetailsRoot.Update();
627 m_DetailsBodyConnectivity.Update(); //...
628 return true;
629 }
630 return false;
631 }
632
634 {
636
637 #ifdef PLATFORM_CONSOLE
638 #ifdef PLATFORM_PS4
639 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_FLIPMODE, new Param2<string, string>( "#options_video_V-sync", "#options_video_V-sync_desc" ) );
640 #endif
641 #else
642 m_TextMap.Insert( OptionAccessType.AT_QUALITY_PREFERENCE, new Param2<string, string>( "#options_video_quality", "#options_video_quality_desc" ) );
643 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_DISPLAY_MODE, new Param2<string, string>( "#options_video_display_mode", "#options_video_display_mode_desc" ) );
644 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_RESOLUTION, new Param2<string, string>( "#options_video_resolution", "#options_video_resolution_desc" ) );
645 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_BRIGHT_SLIDER, new Param2<string, string>( "#options_video_brightness", "#options_video_brightness_desc" ) );
646 m_TextMap.Insert( OptionAccessType.AT_VSYNC_VALUE, new Param2<string, string>( "#options_video_V-sync", "#options_video_V-sync_desc" ) );
647 m_TextMap.Insert( OptionAccessType.AT_HDR_DETAIL, new Param2<string, string>( "#options_video_color_depth", "#options_video_color_depth_desc" ) );
648 m_TextMap.Insert( OptionAccessType.AT_OBJECTS_DETAIL, new Param2<string, string>( "#options_video_object_detail", "#options_video_object_detail_desc" ) );
649 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_TERRAIN, new Param2<string, string>( "#options_video_terrain_detail", "#options_video_terrain_detail_desc" ) );
650 m_TextMap.Insert( OptionAccessType.AT_TEXTURE_DETAIL, new Param2<string, string>( "#options_video_texture_detail", "#options_video_texture_detail_desc" ) );
651 m_TextMap.Insert( OptionAccessType.AT_SHADOW_DETAIL, new Param2<string, string>( "#options_video_shadow_detail", "#options_video_shadow_detail_desc" ) );
652 m_TextMap.Insert( OptionAccessType.AT_ANISO_DETAIL, new Param2<string, string>( "#options_video_texture_filtering", "#options_video_texture_filtering_desc" ) );
653 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_TERRAIN_SHADER, new Param2<string, string>( "#options_video_terrain_surface_detail", "#options_video_terrain_surface_detail_desc" ) );
654 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_FXAA_VALUE, new Param2<string, string>( "#options_video_anti-aliasing", "#options_video_anti-aliasing_desc" ) );
655 m_TextMap.Insert( OptionAccessType.AT_FSAA_DETAIL, new Param2<string, string>( "#options_video_anti-aliasing_hardware", "#options_video_anti-aliasing_hardware_desc" ) );
656 m_TextMap.Insert( OptionAccessType.AT_ATOC_DETAIL, new Param2<string, string>( "#options_video_foliage_smoothing", "#options_video_foliage_smoothing_desc" ) );
657 m_TextMap.Insert( OptionAccessType.AT_AMBIENT_OCCLUSION, new Param2<string, string>( "#options_video_ambient_occlusion", "#options_video_ambient_occlusion_desc" ) );
658 m_TextMap.Insert( OptionAccessType.AT_POSTPROCESS_EFFECTS, new Param2<string, string>( "#options_video_post_process", "#options_video_post_process_desc" ) );
659 m_TextMap.Insert( OptionAccessType.AT_WATER_DETAIL, new Param2<string, string>( "#STR_option_video_ssr_quality_tip_header", "#STR_option_video_ssr_quality_tip" ) );
660 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_VISIBILITY_COMBO, new Param2<string, string>( "#STR_option_video_visibility", "#STR_option_video_visibility_desc" ) );
661 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_OBJECT_VISIBILITY_COMBO, new Param2<string, string>( "#STR_option_video_objectvisibility", "#STR_option_video_objectvisibility_desc" ) );
662 #endif
663 }
664}
map
Определения ControlsXboxNew.c:4
Icon x
Icon y
ServerBrowserMenuNew m_Menu
Определения ServerBrowserTab.c:37
Widget m_DetailsRoot
Определения ServerBrowserTab.c:84
Widget m_Root
Определения SizeToChild.c:91
proto native void BeginOptionsVideo()
proto native WorkspaceWidget GetWorkspace()
proto native void EndOptionsVideo()
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения gameplay.c:1461
Определения PPEConstants.c:68
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Определения param.c:12
Определения gameplay.c:317
GameOptions m_Options
Определения OptionsMenuControls.c:18
ref ListOptionsAccess m_TextureDetailOption
Определения OptionsMenuVideo.c:67
void OnTerrainDetailChanged(int value)
Определения OptionsMenuVideo.c:481
ref OptionSelectorMultistate m_TextureFilteringSelector
Определения OptionsMenuVideo.c:39
ref OptionSelectorMultistate m_ResolutionSelector
Определения OptionsMenuVideo.c:25
ref OptionSelectorMultistate m_ObjectDetailSelector
Определения OptionsMenuVideo.c:31
void OnAOChanged(int value)
Определения OptionsMenuVideo.c:565
void OnResolutionChanged(int value)
Определения OptionsMenuVideo.c:450
void OnHWAAChanged(int value)
Определения OptionsMenuVideo.c:537
void OnPPQualityChanged(int value)
Определения OptionsMenuVideo.c:572
ref OptionSelectorMultistate m_TerrainSurfaceDetailSelector
Определения OptionsMenuVideo.c:40
void OnObjectVisibilityChanged(int value)
Определения OptionsMenuVideo.c:509
void SetToDefaults()
Определения OptionsMenuVideo.c:283
void OnDisplayModeChanged(int value)
Определения OptionsMenuVideo.c:444
ref OptionSelectorMultistate m_HWAASelector
Определения OptionsMenuVideo.c:42
Widget m_Root
Определения SizeToChild.c:9
void ToggleDependentOptions(int mode, bool state)
Определения OptionsMenuVideo.c:342
void RefreshCustom()
Определения OptionsMenuVideo.c:350
void OptionsMenuVideo(Widget parent, Widget details_root, GameOptions options, OptionsMenu menu)
Определения OptionsMenuVideo.c:85
ref OptionSelectorMultistate m_ShadowDetailSelector
Определения OptionsMenuVideo.c:34
ref ListOptionsAccess m_AOOption
Определения OptionsMenuVideo.c:78
ref ListOptionsAccess m_TerrainSurfaceDetailOption
Определения OptionsMenuVideo.c:74
void SetOptions(GameOptions options)
Определения OptionsMenuControls.c:817
ref OptionSelectorMultistate m_AOSelector
Определения OptionsMenuVideo.c:44
ref OptionSelectorMultistate m_DisplayModeSelector
Определения OptionsMenuVideo.c:24
void OnBrightnessChanged(float value)
Определения OptionsMenuVideo.c:456
void OnObjectDetailChanged(int value)
Определения OptionsMenuVideo.c:474
void InitSelectors()
Определения OptionsMenuVideo.c:148
ref ListOptionsAccess m_VisibilityOption
Определения OptionsMenuVideo.c:69
ref ListOptionsAccess m_DisplayModeOption
Определения OptionsMenuVideo.c:58
ref ListOptionsAccess m_ObjectDetailOption
Определения OptionsMenuVideo.c:65
CameraToolsMenu m_Menu
Определения CTEvent.c:8
ref OptionSelectorMultistate m_ATOCSelector
Определения OptionsMenuVideo.c:43
ref OptionSelectorMultistate m_PPQualitySelector
Определения OptionsMenuVideo.c:45
ref ListOptionsAccess m_PPAAOption
Определения OptionsMenuVideo.c:75
void OnTextureFilteringChanged(int value)
Определения OptionsMenuVideo.c:516
RichTextWidget m_DetailsText
Определения OptionsMenuControls.c:15
ref OptionSelectorMultistate m_VSyncSelector
Определения OptionsMenuVideo.c:27
ref ListOptionsAccess m_TextureFilteringOption
Определения OptionsMenuVideo.c:73
void OnVisibilityChanged(int value)
Определения OptionsMenuVideo.c:502
ref ListOptionsAccess m_SSRQualityOption
Определения OptionsMenuVideo.c:80
ref OptionSelectorMultistate m_SSRQualitySelector
Определения OptionsMenuVideo.c:46
void OnPPAAChanged(int value)
Определения OptionsMenuVideo.c:530
ref OptionSelectorMultistate m_OverallQualitySelector
Определения OptionsMenuVideo.c:21
ref OptionSelectorMultistate m_TerrainDetailSelector
Определения OptionsMenuVideo.c:32
Widget m_DetailsBodyConnectivity
Определения OptionsMenuControls.c:8
void ReloadOptions()
Определения OptionsMenuVideo.c:251
void OnATOCChanged(int value)
Определения OptionsMenuVideo.c:558
void OnOptionChanged()
Определения OptionsMenuVideo.c:408
ref ListOptionsAccess m_ResolutionOption
Определения OptionsMenuVideo.c:59
ref ListOptionsAccess m_ObjectVisibilityOption
Определения OptionsMenuVideo.c:70
void OnSSRQualityChanged(int value)
Определения OptionsMenuVideo.c:579
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Определения OptionsMenuVideo.c:397
ref ListOptionsAccess m_PPQualityOption
Определения OptionsMenuVideo.c:79
Widget m_DetailsBodyDefault
Определения OptionsMenuControls.c:7
ref OptionSelectorMultistate m_TextureDetailSelector
Определения OptionsMenuVideo.c:33
void OnOverallQualityChanged(int value)
Определения OptionsMenuVideo.c:429
bool TextMapUpdateWidget(int key)
Определения OptionsMenuControls.c:360
void OnShadowDetailChanged(int value)
Определения OptionsMenuVideo.c:495
void OnTerrainSurfaceDetailChanged(int value)
Определения OptionsMenuVideo.c:523
ref map< int, ref Param2< string, string > > m_TextMap
Определения OptionsMenuControls.c:71
void OnVSyncChanged(float value)
Определения OptionsMenuVideo.c:462
ref OptionSelectorSlider m_BrightnessSelector
Определения OptionsMenuVideo.c:26
ref OptionSelectorMultistate m_VisibilitySelector
Определения OptionsMenuVideo.c:35
ref OptionSelectorMultistate m_PPAASelector
Определения OptionsMenuVideo.c:41
ref ListOptionsAccess m_HWAAOption
Определения OptionsMenuVideo.c:76
void ~OptionsMenuVideo()
Определения OptionsMenuVideo.c:143
override bool OnFocus(Widget w, int x, int y)
Определения OptionsMenuVideo.c:587
ref ListOptionsAccess m_VSyncOption
Определения OptionsMenuVideo.c:61
ref ListOptionsAccess m_ShadowDetailOption
Определения OptionsMenuVideo.c:68
ref ListOptionsAccess m_TerrainDetailOption
Определения OptionsMenuVideo.c:66
ref OptionSelectorMultistate m_ObjectVisibilitySelector
Определения OptionsMenuVideo.c:36
void OnColorDepthChanged(int value)
Определения OptionsMenuVideo.c:468
override bool OnMouseEnter(Widget w, int x, int y)
Определения OptionsMenuVideo.c:385
ref ListOptionsAccess m_OverallQualityOption
Определения OptionsMenuVideo.c:55
ref ListOptionsAccess m_ATOCOption
Определения OptionsMenuVideo.c:77
void OnTextureDetailChanged(int value)
Определения OptionsMenuVideo.c:488
TextWidget m_DetailsLabel
Определения OptionsMenuControls.c:14
void InitDependentOptionsVisibility()
Определения OptionsMenuVideo.c:346
ref NumericOptionsAccess m_BrightnessOption
Определения OptionsMenuVideo.c:60
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:220
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
OptionIDsScript
Used for script-based game options. For anything C++ based, you would most likely use "Option Access ...
Определения gameplay.c:1293
proto native CGame GetGame()
OptionAccessType
C++ OptionAccessType.
Определения gameplay.c:1224
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.
proto native void SetFocus(Widget w)
WorkspaceWidget Widget
Defined in code.