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