DayZ 1.30
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 ListOptionsAccess m_FlipModeOption;
51 #else
52 #ifndef PLATFORM_XBOX
53 //Overall
54 protected ListOptionsAccess m_OverallQualityOption;
55
56 //Screen
57 protected ListOptionsAccess m_DisplayModeOption;
58 protected ListOptionsAccess m_ResolutionOption;
59 protected NumericOptionsAccess m_BrightnessOption;
60 protected ListOptionsAccess m_VSyncOption;
61 //protected ListOptionsAccess m_ColorDepthOption;
62
63 //Scene
64 protected ListOptionsAccess m_ObjectDetailOption;
65 protected ListOptionsAccess m_TerrainDetailOption;
66 protected ListOptionsAccess m_TextureDetailOption;
67 protected ListOptionsAccess m_ShadowDetailOption;
68 protected ListOptionsAccess m_VisibilityOption;
69 protected ListOptionsAccess m_ObjectVisibilityOption;
70
71 //Rendering
72 protected ListOptionsAccess m_TextureFilteringOption;
73 protected ListOptionsAccess m_TerrainSurfaceDetailOption;
74 protected ListOptionsAccess m_PPAAOption;
75 protected ListOptionsAccess m_HWAAOption;
76 protected ListOptionsAccess m_ATOCOption;
77 protected ListOptionsAccess m_AOOption;
78 protected ListOptionsAccess m_PPQualityOption;
79 protected 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 int idx = m_OverallQualityOption.GetDefaultIndex();
306 m_OverallQualitySelector.SetValue( m_OverallQualityOption.GetDefaultIndex() );
307 m_DisplayModeSelector.SetValue( m_DisplayModeOption.GetDefaultIndex() );
308 m_ResolutionSelector.SetValue( m_ResolutionOption.GetDefaultIndex() );
309 m_BrightnessSelector.SetValue( m_BrightnessOption.GetDefault() );
310 m_VSyncSelector.SetValue( m_VSyncOption.GetDefaultIndex() );
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
359 {
360 #ifdef PLATFORM_PS4
361 m_FlipModeSelector.SetValue( m_FlipModeOption.GetIndex(), false );
362 #else
363 #ifndef PLATFORM_XBOX
364 //Scene
365 m_ObjectDetailSelector.SetValue( m_ObjectDetailOption.GetIndex(), false );
366 m_TerrainDetailSelector.SetValue( m_TerrainDetailOption.GetIndex(), false );
367 m_TextureDetailSelector.SetValue( m_TextureDetailOption.GetIndex(), false );
368 m_ShadowDetailSelector.SetValue( m_ShadowDetailOption.GetIndex(), false );
369 m_VisibilitySelector.SetValue( m_VisibilityOption.GetIndex(), false );
370 m_ObjectVisibilitySelector.SetValue( m_ObjectVisibilityOption.GetIndex(), false );
371
372 //Rendering
373 m_TextureFilteringSelector.SetValue( m_TextureFilteringOption.GetIndex(), false );
375 m_PPAASelector.SetValue( m_PPAAOption.GetIndex(), false );
376 m_HWAASelector.SetValue( m_HWAAOption.GetIndex(), false );
377 if ( m_HWAAOption.GetIndex() == 0 )
378 {
379 m_ATOCSelector.Disable();
380 }
381 else
382 {
383 m_ATOCSelector.Enable();
384 }
385 m_ATOCSelector.SetValue( m_ATOCOption.GetIndex(), false );
386 m_AOSelector.SetValue( m_AOOption.GetIndex(), false );
387 m_PPQualitySelector.SetValue( m_PPQualityOption.GetIndex(), false );
388 m_SSRQualitySelector.SetValue( m_SSRQualityOption.GetIndex(), false );
389 #endif
390 #endif
391 }
392
393 override bool OnMouseEnter( Widget w, int x, int y )
394 {
395 if ( w && w.IsInherited( ScrollWidget ) )
396 {
397 return false;
398 }
399
400 m_Menu.ColorHighlight( w );
401
402 return true;
403 }
404
405 override bool OnMouseLeave( Widget w, Widget enterW, int x, int y )
406 {
407 if ( w && w.IsInherited( ScrollWidget ) )
408 {
409 return false;
410 }
411
412 m_Menu.ColorNormal( w );
413 return true;
414 }
415
417 {
418 #ifndef PLATFORM_CONSOLE
419 int customPresetIndex = m_OverallQualityOption.GetItemsCount() - 1;
420 if ( m_OverallQualityOption.GetIndex() != customPresetIndex )
421 {
422 m_OverallQualitySelector.SetValue( customPresetIndex );
423 }
424 #endif
425 }
426
427 #ifdef PLATFORM_PS4
428 void OnFlipModeChanged( int value )
429 {
430 m_FlipModeOption.SetIndex( value );
432 m_Menu.OnChanged();
433 }
434 #else
435 #ifndef PLATFORM_XBOX
436 void OnOverallQualityChanged( int value )
437 {
438 m_OverallQualityOption.SetIndex( value );
439 m_OverallQualityOption.Test(); //here's the bastard!
440 m_Options.Test();
441 //SetOptions(m_Options);
442
444
445 //InitSelectors();
446 m_OverallQualityOption.SetIndex( value );
448 m_Menu.OnChanged();
449 }
450
451 void OnDisplayModeChanged( int value )
452 {
453 m_DisplayModeOption.SetIndex( value );
454 m_Menu.OnChanged();
455 }
456
457 void OnResolutionChanged( int value )
458 {
459 m_ResolutionOption.SetIndex( value );
460 m_Menu.OnChanged();
461 }
462
463 void OnBrightnessChanged( float value )
464 {
465 m_BrightnessOption.WriteValue( value );
466 m_Menu.OnChanged();
467 }
468
469 void OnVSyncChanged( float value )
470 {
471 m_VSyncOption.SetIndex( value );
472 m_Menu.OnChanged();
473 }
474
475 void OnColorDepthChanged( int value )
476 {
477 //m_ColorDepthOption.SetIndex( value );
478 m_Menu.OnChanged();
479 }
480
481 void OnObjectDetailChanged( int value )
482 {
483 m_ObjectDetailOption.SetIndex( value );
485 m_Menu.OnChanged();
486 }
487
488 void OnTerrainDetailChanged( int value )
489 {
490 m_TerrainDetailOption.SetIndex( value );
492 m_Menu.OnChanged();
493 }
494
495 void OnTextureDetailChanged( int value )
496 {
497 m_TextureDetailOption.SetIndex( value );
499 m_Menu.OnChanged();
500 }
501
502 void OnShadowDetailChanged( int value )
503 {
504 m_ShadowDetailOption.SetIndex( value );
506 m_Menu.OnChanged();
507 }
508
509 void OnVisibilityChanged( int value )
510 {
511 m_VisibilityOption.SetIndex( value );
513 m_Menu.OnChanged();
514 }
515
517 {
518 m_ObjectVisibilityOption.SetIndex( value );
520 m_Menu.OnChanged();
521 }
522
524 {
525 m_TextureFilteringOption.SetIndex( value );
527 m_Menu.OnChanged();
528 }
529
531 {
532 m_TerrainSurfaceDetailOption.SetIndex( value );
534 m_Menu.OnChanged();
535 }
536
537 void OnPPAAChanged( int value )
538 {
539 m_PPAAOption.SetIndex( value );
541 m_Menu.OnChanged();
542 }
543
544 void OnHWAAChanged( int value )
545 {
546 m_HWAAOption.SetIndex( value );
547 if ( value == 0 )
548 {
549 m_ATOCSelector.Disable();
550 }
551 else
552 {
553 m_ATOCSelector.Enable();
554 // with HWAA enabled, reapply last AToC option as it depends on HWAA
555 int atoc = m_ATOCSelector.GetValue();
556 if (atoc)
557 {
558 m_ATOCSelector.SetValue(atoc);
559 }
560 }
562 m_Menu.OnChanged();
563 }
564
565 void OnATOCChanged( int value )
566 {
567 m_ATOCOption.SetIndex( value );
569 m_Menu.OnChanged();
570 }
571
572 void OnAOChanged( int value )
573 {
574 m_AOOption.SetIndex( value );
576 m_Menu.OnChanged();
577 }
578
579 void OnPPQualityChanged( int value )
580 {
581 m_PPQualityOption.SetIndex( value );
583 m_Menu.OnChanged();
584 }
585
586 void OnSSRQualityChanged( int value )
587 {
588 m_SSRQualityOption.SetIndex( value );
590 m_Menu.OnChanged();
591 }
592 #endif
593 #endif
594
595 override bool OnFocus( Widget w, int x, int y )
596 {
597 OptionsMenu menu = OptionsMenu.Cast( g_Game.GetUIManager().GetMenu() );
598 if ( menu )
599 menu.OnFocus( w, x, y );
600 if ( w )
601 {
602 if (TextMapUpdateWidget(w.GetUserID()))
603 {
604 return true;
605 }
606
607 if ( w.IsInherited( SliderWidget ) )
608 {
609 return true;
610 }
611 }
612 m_DetailsRoot.Show( false );
613 return ( w != null );
614 }
615
617 {
618 bool connectivityInfoShown = key == OptionIDsScript.OPTION_CONNECTIVITY_INFO;
620 Param tmp = m_TextMap.Get(key);
621
622 m_DetailsBodyDefault.Show(!connectivityInfoShown);
623 m_DetailsBodyConnectivity.Show(connectivityInfoShown);
624
625 if (Class.CastTo(p,tmp))
626 {
627 m_DetailsRoot.Show(true);
628 m_DetailsText.Show(true);
629 m_DetailsLabel.SetText(p.param1);
630 m_DetailsText.SetText(p.param2);
631
632 m_DetailsText.Update();
633 m_DetailsLabel.Update();
634 m_DetailsRoot.Update();
635 m_DetailsBodyConnectivity.Update(); //...
636 return true;
637 }
638 return false;
639 }
640
642 {
644
645 #ifdef PLATFORM_PS4
646 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_FLIPMODE, new Param2<string, string>( "#options_video_V-sync", "#options_video_V-sync_desc" ) );
647 #else
648 #ifndef PLATFORM_XBOX
649 m_TextMap.Insert( OptionAccessType.AT_QUALITY_PREFERENCE, new Param2<string, string>( "#options_video_quality", "#options_video_quality_desc" ) );
650 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_DISPLAY_MODE, new Param2<string, string>( "#options_video_display_mode", "#options_video_display_mode_desc" ) );
651 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_RESOLUTION, new Param2<string, string>( "#options_video_resolution", "#options_video_resolution_desc" ) );
652 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_BRIGHT_SLIDER, new Param2<string, string>( "#options_video_brightness", "#options_video_brightness_desc" ) );
653 m_TextMap.Insert( OptionAccessType.AT_VSYNC_VALUE, new Param2<string, string>( "#options_video_V-sync", "#options_video_V-sync_desc" ) );
654 m_TextMap.Insert( OptionAccessType.AT_HDR_DETAIL, new Param2<string, string>( "#options_video_color_depth", "#options_video_color_depth_desc" ) );
655 m_TextMap.Insert( OptionAccessType.AT_OBJECTS_DETAIL, new Param2<string, string>( "#options_video_object_detail", "#options_video_object_detail_desc" ) );
656 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_TERRAIN, new Param2<string, string>( "#options_video_terrain_detail", "#options_video_terrain_detail_desc" ) );
657 m_TextMap.Insert( OptionAccessType.AT_TEXTURE_DETAIL, new Param2<string, string>( "#options_video_texture_detail", "#options_video_texture_detail_desc" ) );
658 m_TextMap.Insert( OptionAccessType.AT_SHADOW_DETAIL, new Param2<string, string>( "#options_video_shadow_detail", "#options_video_shadow_detail_desc" ) );
659 m_TextMap.Insert( OptionAccessType.AT_ANISO_DETAIL, new Param2<string, string>( "#options_video_texture_filtering", "#options_video_texture_filtering_desc" ) );
660 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_TERRAIN_SHADER, new Param2<string, string>( "#options_video_terrain_surface_detail", "#options_video_terrain_surface_detail_desc" ) );
661 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_FXAA_VALUE, new Param2<string, string>( "#options_video_anti-aliasing", "#options_video_anti-aliasing_desc" ) );
662 m_TextMap.Insert( OptionAccessType.AT_FSAA_DETAIL, new Param2<string, string>( "#options_video_anti-aliasing_hardware", "#options_video_anti-aliasing_hardware_desc" ) );
663 m_TextMap.Insert( OptionAccessType.AT_ATOC_DETAIL, new Param2<string, string>( "#options_video_foliage_smoothing", "#options_video_foliage_smoothing_desc" ) );
664 m_TextMap.Insert( OptionAccessType.AT_AMBIENT_OCCLUSION, new Param2<string, string>( "#options_video_ambient_occlusion", "#options_video_ambient_occlusion_desc" ) );
665 m_TextMap.Insert( OptionAccessType.AT_POSTPROCESS_EFFECTS, new Param2<string, string>( "#options_video_post_process", "#options_video_post_process_desc" ) );
666 m_TextMap.Insert( OptionAccessType.AT_WATER_DETAIL, new Param2<string, string>( "#STR_option_video_ssr_quality_tip_header", "#STR_option_video_ssr_quality_tip" ) );
667 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_VISIBILITY_COMBO, new Param2<string, string>( "#STR_option_video_visibility_title", "#STR_option_video_visibility_desc" ) );
668 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_OBJECT_VISIBILITY_COMBO, new Param2<string, string>( "#STR_option_video_objectvisibility_title", "#STR_option_video_objectvisibility_desc" ) );
669 #endif
670 #endif
671 }
672
674 [Obsolete("1.29: No replacement")]
675 void ToggleDependentOptions(int mode, bool state);
676
677 [Obsolete("1.29: No replacement")]
679}
DayZGame g_Game
Определения DayZGame.c:4074
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
ListOptionsAccess m_VSyncOption
Определения OptionsMenuVideo.c:60
void OnTerrainDetailChanged(int value)
Определения OptionsMenuVideo.c:488
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:572
void OnResolutionChanged(int value)
Определения OptionsMenuVideo.c:457
void OnHWAAChanged(int value)
Определения OptionsMenuVideo.c:544
ListOptionsAccess m_SSRQualityOption
Определения OptionsMenuVideo.c:79
void OnPPQualityChanged(int value)
Определения OptionsMenuVideo.c:579
ref OptionSelectorMultistate m_TerrainSurfaceDetailSelector
Определения OptionsMenuVideo.c:39
void OnObjectVisibilityChanged(int value)
Определения OptionsMenuVideo.c:516
void SetToDefaults()
Определения OptionsMenuVideo.c:299
void OnDisplayModeChanged(int value)
Определения OptionsMenuVideo.c:451
ref OptionSelectorMultistate m_HWAASelector
Определения OptionsMenuVideo.c:41
ListOptionsAccess m_PPAAOption
Определения OptionsMenuVideo.c:74
ListOptionsAccess m_ObjectVisibilityOption
Определения OptionsMenuVideo.c:69
ListOptionsAccess m_VisibilityOption
Определения OptionsMenuVideo.c:68
Widget m_Root
Определения SizeToChild.c:9
void ToggleDependentOptions(int mode, bool state)
DEPRECATED BELOW.
void RefreshCustom()
Определения OptionsMenuVideo.c:358
ListOptionsAccess m_ShadowDetailOption
Определения OptionsMenuVideo.c:67
void OptionsMenuVideo(Widget parent, Widget details_root, GameOptions options, OptionsMenu menu)
Определения OptionsMenuVideo.c:85
ListOptionsAccess m_TerrainSurfaceDetailOption
Определения OptionsMenuVideo.c:73
ref OptionSelectorMultistate m_ShadowDetailSelector
Определения OptionsMenuVideo.c:33
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:463
void OnObjectDetailChanged(int value)
Определения OptionsMenuVideo.c:481
void InitSelectors()
Определения OptionsMenuVideo.c:148
NumericOptionsAccess m_BrightnessOption
Определения OptionsMenuVideo.c:59
CameraToolsMenu m_Menu
Определения CTEvent.c:8
ref OptionSelectorMultistate m_ATOCSelector
Определения OptionsMenuVideo.c:42
ListOptionsAccess m_ObjectDetailOption
Определения OptionsMenuVideo.c:64
ref OptionSelectorMultistate m_PPQualitySelector
Определения OptionsMenuVideo.c:44
void OnTextureFilteringChanged(int value)
Определения OptionsMenuVideo.c:523
RichTextWidget m_DetailsText
Определения OptionsMenuControls.c:15
ref OptionSelectorMultistate m_VSyncSelector
Определения OptionsMenuVideo.c:26
void OnVisibilityChanged(int value)
Определения OptionsMenuVideo.c:509
ref OptionSelectorMultistate m_SSRQualitySelector
Определения OptionsMenuVideo.c:45
void OnPPAAChanged(int value)
Определения OptionsMenuVideo.c:537
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:565
void OnOptionChanged()
Определения OptionsMenuVideo.c:416
void OnSSRQualityChanged(int value)
Определения OptionsMenuVideo.c:586
ListOptionsAccess m_TextureFilteringOption
Определения OptionsMenuVideo.c:72
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Определения OptionsMenuVideo.c:405
ListOptionsAccess m_HWAAOption
Определения OptionsMenuVideo.c:75
ListOptionsAccess m_OverallQualityOption
Определения OptionsMenuVideo.c:54
Widget m_DetailsBodyDefault
Определения OptionsMenuControls.c:7
ref OptionSelectorMultistate m_TextureDetailSelector
Определения OptionsMenuVideo.c:32
void OnOverallQualityChanged(int value)
Определения OptionsMenuVideo.c:436
bool TextMapUpdateWidget(int key)
Определения OptionsMenuControls.c:371
void OnShadowDetailChanged(int value)
Определения OptionsMenuVideo.c:502
void OnTerrainSurfaceDetailChanged(int value)
Определения OptionsMenuVideo.c:530
ref map< int, ref Param2< string, string > > m_TextMap
Определения OptionsMenuControls.c:71
void OnVSyncChanged(float value)
Определения OptionsMenuVideo.c:469
ref OptionSelectorSlider m_BrightnessSelector
Определения OptionsMenuVideo.c:25
ref OptionSelectorMultistate m_VisibilitySelector
Определения OptionsMenuVideo.c:34
ListOptionsAccess m_PPQualityOption
Определения OptionsMenuVideo.c:78
ref OptionSelectorMultistate m_PPAASelector
Определения OptionsMenuVideo.c:40
void ~OptionsMenuVideo()
Определения OptionsMenuVideo.c:143
ListOptionsAccess m_ATOCOption
Определения OptionsMenuVideo.c:76
override bool OnFocus(Widget w, int x, int y)
Определения OptionsMenuVideo.c:595
ListOptionsAccess m_DisplayModeOption
Определения OptionsMenuVideo.c:57
ListOptionsAccess m_AOOption
Определения OptionsMenuVideo.c:77
ref OptionSelectorMultistate m_ObjectVisibilitySelector
Определения OptionsMenuVideo.c:35
void OnColorDepthChanged(int value)
Определения OptionsMenuVideo.c:475
override bool OnMouseEnter(Widget w, int x, int y)
Определения OptionsMenuVideo.c:393
ListOptionsAccess m_ResolutionOption
Определения OptionsMenuVideo.c:58
ListOptionsAccess m_TextureDetailOption
Определения OptionsMenuVideo.c:66
void OnTextureDetailChanged(int value)
Определения OptionsMenuVideo.c:495
TextWidget m_DetailsLabel
Определения OptionsMenuControls.c:14
ListOptionsAccess m_TerrainDetailOption
Определения OptionsMenuVideo.c:65
Deprecated.
Определения EnWidgets.c:657
Определения EnWidgets.c:220
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения Transport.c:70
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.
void Obsolete(string msg="")
Определения EnScript.c:371
proto native void SetFocus(Widget w)
WorkspaceWidget Widget
Defined in code.