optionsmenucontrols.c 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717
  1. class OptionsMenuControls extends ScriptedWidgetEventHandler
  2. {
  3. protected Widget m_Root;
  4. protected Widget m_SettingsRoot;
  5. protected Widget m_DetailsRoot;
  6. protected Widget m_DetailsBodyDefault;
  7. protected Widget m_DetailsBodyConnectivity;
  8. #ifdef PLATFORM_CONSOLE
  9. protected bool m_MaKOptionAvailable;
  10. protected Widget m_ConsoleControllerSensitivityWidget;
  11. protected Widget m_ConsoleMouseSensitivityWidget;
  12. #endif
  13. protected TextWidget m_DetailsLabel;
  14. protected RichTextWidget m_DetailsText;
  15. protected GridSpacerWidget m_Keybindings;
  16. protected GameOptions m_Options;
  17. protected OptionsMenu m_Menu;
  18. // console options accessors
  19. protected ref SwitchOptionsAccess m_KeyboardOption;
  20. protected ref SwitchOptionsAccess m_AimHelperOption;
  21. // console options selectors
  22. protected ref OptionSelectorMultistate m_KeyboardSelector;
  23. protected ref OptionSelectorMultistate m_AimHelperSelector;
  24. // mouse accessors
  25. protected ref SwitchOptionsAccess m_Mouse_InvertOption;
  26. protected ref NumericOptionsAccess m_Mouse_VSensitivityOption;
  27. protected ref NumericOptionsAccess m_Mouse_HSensitivityOption;
  28. protected ref NumericOptionsAccess m_Mouse_AimMod_VSensitivityOption;
  29. protected ref NumericOptionsAccess m_Mouse_AimMod_HSensitivityOption;
  30. // mouse selectors
  31. protected ref OptionSelectorMultistate m_Mouse_InvertSelector;
  32. protected ref OptionSelectorSlider m_Mouse_VSensitivitySelector;
  33. protected ref OptionSelectorSlider m_Mouse_HSensitivitySelector;
  34. protected ref OptionSelectorSlider m_Mouse_AimMod_VSensitivitySelector;
  35. protected ref OptionSelectorSlider m_Mouse_AimMod_HSensitivitySelector;
  36. // gamepad/controller accessors
  37. protected ref NumericOptionsAccess m_ControllerLS_VSensitivityOption;
  38. protected ref NumericOptionsAccess m_ControllerLS_HSensitivityOption;
  39. protected ref NumericOptionsAccess m_ControllerLS_VehicleMod_HSensitivityOption;
  40. protected ref SwitchOptionsAccess m_ControllerRS_InvertOption;
  41. protected ref NumericOptionsAccess m_ControllerRS_VSensitivityOption;
  42. protected ref NumericOptionsAccess m_ControllerRS_HSensitivityOption;
  43. protected ref NumericOptionsAccess m_ControllerRS_CurvatureOption;
  44. protected ref NumericOptionsAccess m_ControllerRS_AimMod_VSensitivityOption;
  45. protected ref NumericOptionsAccess m_ControllerRS_AimMod_HSensitivityOption;
  46. protected ref NumericOptionsAccess m_ControllerRS_AimMod_CurvatureOption;
  47. protected ref NumericOptionsAccess m_ControllerLS_DeadZoneOption;
  48. protected ref NumericOptionsAccess m_ControllerRS_DeadZoneOption;
  49. // gamepad/controller selectors
  50. protected ref OptionSelectorSlider m_ControllerLS_VSensitivitySelector;
  51. protected ref OptionSelectorSlider m_ControllerLS_HSensitivitySelector;
  52. protected ref OptionSelectorSlider m_ControllerLS_VehicleMod_HSensitivitySelector;
  53. protected ref OptionSelectorMultistate m_ControllerRS_InvertSelector;
  54. protected ref OptionSelectorSlider m_ControllerRS_VSensitivitySelector;
  55. protected ref OptionSelectorSlider m_ControllerRS_HSensitivitySelector;
  56. protected ref OptionSelectorSlider m_ControllerRS_CurvatureSelector;
  57. protected ref OptionSelectorSlider m_ControllerRS_AimMod_VSensitivitySelector;
  58. protected ref OptionSelectorSlider m_ControllerRS_AimMod_HSensitivitySelector;
  59. protected ref OptionSelectorSlider m_ControllerRS_AimMod_CurvatureSelector;
  60. protected ref OptionSelectorSlider m_ControllerLS_DeadZoneSelector;
  61. protected ref OptionSelectorSlider m_ControllerRS_DeadZoneSelector;
  62. protected ref map<int, ref Param2<string, string>> m_TextMap;
  63. static const float SLIDER_STEP = 0.025;
  64. void OptionsMenuControls( Widget parent, Widget details_root, GameOptions options, OptionsMenu menu )
  65. {
  66. array<string> opt = { "#options_controls_disabled", "#options_controls_enabled" };
  67. m_Root = GetGame().GetWorkspace().CreateWidgets( GetLayoutName(), parent );
  68. m_Options = options;
  69. m_Menu = menu;
  70. m_DetailsRoot = details_root;
  71. m_DetailsBodyDefault = m_DetailsRoot.FindAnyWidget("settings_details_body");
  72. m_DetailsBodyConnectivity = m_DetailsRoot.FindAnyWidget("settings_details_body_connectivity");
  73. m_DetailsLabel = TextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_label" ) );
  74. m_DetailsText = RichTextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_content" ) );
  75. m_Keybindings = GridSpacerWidget.Cast( m_Root.FindAnyWidget( "keyboard_settings_content" ) );
  76. if( m_Keybindings )
  77. m_Keybindings.SetUserID( 777 );
  78. SetOptions( options );
  79. // mouse (PC & consoles)
  80. Widget mouse_InvertSettingOption = m_Root.FindAnyWidget( "mouse_invert_setting_option" );
  81. Widget mouse_VSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_vsensitivity_setting_option" );
  82. Widget mouse_HSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_hsensitivity_setting_option" );
  83. Widget mouse_AimMod_VSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_aimmod_vsensitivity_setting_option" );
  84. Widget mouse_AimMod_HSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_aimmod_hsensitivity_setting_option" );
  85. mouse_InvertSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED );
  86. mouse_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS );
  87. mouse_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS );
  88. mouse_AimMod_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD );
  89. mouse_AimMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD );
  90. m_Mouse_InvertSelector = new OptionSelectorMultistate( mouse_InvertSettingOption, m_Mouse_InvertOption.GetIndex(), this, false, opt );
  91. m_Mouse_VSensitivitySelector = new OptionSelectorSlider( mouse_VSensitivitySettingOption, m_Mouse_VSensitivityOption.ReadValue(), this, false, m_Mouse_VSensitivityOption.GetMin(), m_Mouse_VSensitivityOption.GetMax() );
  92. m_Mouse_VSensitivitySelector.SetStep(SLIDER_STEP);
  93. m_Mouse_HSensitivitySelector = new OptionSelectorSlider( mouse_HSensitivitySettingOption, m_Mouse_HSensitivityOption.ReadValue(), this, false, m_Mouse_HSensitivityOption.GetMin(), m_Mouse_HSensitivityOption.GetMax() );
  94. m_Mouse_HSensitivitySelector.SetStep(SLIDER_STEP);
  95. m_Mouse_AimMod_VSensitivitySelector = new OptionSelectorSlider( mouse_AimMod_VSensitivitySettingOption, m_Mouse_AimMod_VSensitivityOption.ReadValue(), this, false, m_Mouse_AimMod_VSensitivityOption.GetMin(), m_Mouse_AimMod_VSensitivityOption.GetMax() );
  96. m_Mouse_AimMod_VSensitivitySelector.SetStep(SLIDER_STEP);
  97. m_Mouse_AimMod_HSensitivitySelector = new OptionSelectorSlider( mouse_AimMod_HSensitivitySettingOption, m_Mouse_AimMod_HSensitivityOption.ReadValue(), this, false, m_Mouse_AimMod_HSensitivityOption.GetMin(), m_Mouse_AimMod_HSensitivityOption.GetMax() );
  98. m_Mouse_AimMod_HSensitivitySelector.SetStep(SLIDER_STEP);
  99. m_Mouse_InvertSelector.m_OptionChanged.Insert( UpdateMouseInvertView );
  100. m_Mouse_VSensitivitySelector.m_OptionChanged.Insert( UpdateMouseVSensitivity );
  101. m_Mouse_HSensitivitySelector.m_OptionChanged.Insert( UpdateMouseHSensitivity );
  102. m_Mouse_AimMod_VSensitivitySelector.m_OptionChanged.Insert( UpdateMouseAimModVSensitivity );
  103. m_Mouse_AimMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateMouseAimModHSensitivity );
  104. // controller (consoles only)
  105. #ifdef PLATFORM_CONSOLE
  106. m_MaKOptionAvailable = g_Game.GetGameState() != DayZGameState.IN_GAME || GetGame().GetWorld().IsMouseAndKeyboardEnabledOnServer();
  107. m_ConsoleControllerSensitivityWidget = m_Root.FindAnyWidget( "controller_settings_root" );
  108. m_ConsoleMouseSensitivityWidget = m_Root.FindAnyWidget( "mouse_settings_root" );
  109. Widget keyboardSettingOption = m_Root.FindAnyWidget( "keyboard_setting_option" );
  110. Widget aimHelperSettingOption = m_Root.FindAnyWidget( "aimhelper_setting_option" );
  111. Widget controllerLS_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_vsensitivity_setting_option");
  112. Widget controllerLS_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_hsensitivity_setting_option");
  113. Widget controllerLS_VehicleMod_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_vehicle_sensitivity_setting_option");
  114. Widget controllerRS_InvertSettingOption = m_Root.FindAnyWidget("controller_rs_invert_setting_option");
  115. Widget controllerRS_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_vsensitivity_setting_option");
  116. Widget controllerRS_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_hsensitivity_setting_option");
  117. Widget controllerRS_CurvatureSettingOption = m_Root.FindAnyWidget("controller_rs_curvature_setting_option");
  118. Widget controllerRS_AimMod_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_vsensitivity_setting_option");
  119. Widget controllerRS_AimMod_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_hsensitivity_setting_option");
  120. Widget controllerRS_AimMod_CurvatureSettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_curvature_setting_option");
  121. Widget controllerLS_DeadZoneOption = m_Root.FindAnyWidget("controller_ls_deadzone_setting_option");
  122. Widget controllerRS_DeadZoneOption = m_Root.FindAnyWidget("controller_rs_deadzone_setting_option");
  123. keyboardSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD );
  124. aimHelperSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_AIM_HELPER );
  125. controllerLS_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS );
  126. controllerLS_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS );
  127. controllerLS_VehicleMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD );
  128. controllerRS_InvertSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED );
  129. controllerRS_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS );
  130. controllerRS_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS );
  131. controllerRS_CurvatureSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE );
  132. controllerRS_AimMod_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD );
  133. controllerRS_AimMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD );
  134. controllerRS_AimMod_CurvatureSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD );
  135. controllerLS_DeadZoneOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE );
  136. controllerRS_DeadZoneOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE );
  137. m_KeyboardSelector = new OptionSelectorMultistate( keyboardSettingOption, m_KeyboardOption.GetIndex(), this, !m_MaKOptionAvailable, opt );
  138. m_AimHelperSelector = new OptionSelectorMultistate( aimHelperSettingOption, m_AimHelperOption.GetIndex(), this, false, opt );
  139. m_ControllerLS_VSensitivitySelector = new OptionSelectorSlider( controllerLS_VSensitivitySettingOption, m_ControllerLS_VSensitivityOption.ReadValue(), this, false, m_ControllerLS_VSensitivityOption.GetMin(), m_ControllerLS_VSensitivityOption.GetMax() );
  140. m_ControllerLS_VSensitivitySelector.SetStep(SLIDER_STEP);
  141. m_ControllerLS_HSensitivitySelector = new OptionSelectorSlider( controllerLS_HSensitivitySettingOption, m_ControllerLS_HSensitivityOption.ReadValue(), this, false, m_ControllerLS_HSensitivityOption.GetMin(), m_ControllerLS_HSensitivityOption.GetMax() );
  142. m_ControllerLS_HSensitivitySelector.SetStep(SLIDER_STEP);
  143. m_ControllerLS_VehicleMod_HSensitivitySelector = new OptionSelectorSlider( controllerLS_VehicleMod_HSensitivitySettingOption, m_ControllerLS_VehicleMod_HSensitivityOption.ReadValue(), this, false, m_ControllerLS_VehicleMod_HSensitivityOption.GetMin(), m_ControllerLS_VehicleMod_HSensitivityOption.GetMax() );
  144. m_ControllerLS_VehicleMod_HSensitivitySelector.SetStep(SLIDER_STEP);
  145. m_ControllerRS_InvertSelector = new OptionSelectorMultistate( controllerRS_InvertSettingOption, m_ControllerRS_InvertOption.GetIndex(), this, false, opt );
  146. m_ControllerRS_VSensitivitySelector = new OptionSelectorSlider( controllerRS_VSensitivitySettingOption, m_ControllerRS_VSensitivityOption.ReadValue(), this, false, m_ControllerRS_VSensitivityOption.GetMin(), m_ControllerRS_VSensitivityOption.GetMax() );
  147. m_ControllerRS_VSensitivitySelector.SetStep(SLIDER_STEP);
  148. m_ControllerRS_HSensitivitySelector = new OptionSelectorSlider( controllerRS_HSensitivitySettingOption, m_ControllerRS_HSensitivityOption.ReadValue(), this, false, m_ControllerRS_HSensitivityOption.GetMin(), m_ControllerRS_HSensitivityOption.GetMax() );
  149. m_ControllerRS_HSensitivitySelector.SetStep(SLIDER_STEP);
  150. m_ControllerRS_CurvatureSelector = new OptionSelectorSlider( controllerRS_CurvatureSettingOption, m_ControllerRS_CurvatureOption.ReadValue(), this, false, m_ControllerRS_CurvatureOption.GetMin(), m_ControllerRS_CurvatureOption.GetMax() );
  151. m_ControllerRS_CurvatureSelector.SetStep(SLIDER_STEP);
  152. m_ControllerRS_AimMod_VSensitivitySelector = new OptionSelectorSlider( controllerRS_AimMod_VSensitivitySettingOption, m_ControllerRS_AimMod_VSensitivityOption.ReadValue(), this, false, m_ControllerRS_AimMod_VSensitivityOption.GetMin(), m_ControllerRS_AimMod_VSensitivityOption.GetMax() );
  153. m_ControllerRS_AimMod_VSensitivitySelector.SetStep(SLIDER_STEP);
  154. m_ControllerRS_AimMod_HSensitivitySelector = new OptionSelectorSlider( controllerRS_AimMod_HSensitivitySettingOption, m_ControllerRS_AimMod_HSensitivityOption.ReadValue(), this, false, m_ControllerRS_AimMod_HSensitivityOption.GetMin(), m_ControllerRS_AimMod_HSensitivityOption.GetMax() );
  155. m_ControllerRS_AimMod_HSensitivitySelector.SetStep(SLIDER_STEP);
  156. m_ControllerRS_AimMod_CurvatureSelector = new OptionSelectorSlider( controllerRS_AimMod_CurvatureSettingOption, m_ControllerRS_AimMod_CurvatureOption.ReadValue(), this, false, m_ControllerRS_AimMod_CurvatureOption.GetMin(), m_ControllerRS_AimMod_CurvatureOption.GetMax() );
  157. m_ControllerRS_AimMod_CurvatureSelector.SetStep(SLIDER_STEP);
  158. m_ControllerLS_DeadZoneSelector = new OptionSelectorSlider( controllerLS_DeadZoneOption, m_ControllerLS_DeadZoneOption.ReadValue(), this, false, m_ControllerLS_DeadZoneOption.GetMin(), m_ControllerLS_DeadZoneOption.GetMax() );
  159. m_ControllerLS_DeadZoneSelector.SetStep(SLIDER_STEP);
  160. m_ControllerRS_DeadZoneSelector = new OptionSelectorSlider( controllerRS_DeadZoneOption, m_ControllerRS_DeadZoneOption.ReadValue(), this, false, m_ControllerRS_DeadZoneOption.GetMin(), m_ControllerRS_DeadZoneOption.GetMax() );
  161. m_ControllerRS_DeadZoneSelector.SetStep(SLIDER_STEP);
  162. m_KeyboardSelector.m_OptionChanged.Insert( UpdateKeyboard );
  163. m_AimHelperSelector.m_OptionChanged.Insert( UpdateAimHelper );
  164. m_ControllerLS_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_VSensitivity );
  165. m_ControllerLS_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_HSensitivity );
  166. m_ControllerLS_VehicleMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_VehicleMod_HSensitivity );
  167. m_ControllerRS_InvertSelector.m_OptionChanged.Insert( UpdateControllerRS_InvertView );
  168. m_ControllerRS_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_VSensitivity );
  169. m_ControllerRS_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_HSensitivity );
  170. m_ControllerRS_CurvatureSelector.m_OptionChanged.Insert( UpdateControllerRS_Curvature );
  171. m_ControllerRS_AimMod_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_VSensitivity );
  172. m_ControllerRS_AimMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_HSensitivity );
  173. m_ControllerRS_AimMod_CurvatureSelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_Curvature );
  174. m_ControllerLS_DeadZoneSelector.m_OptionChanged.Insert( UpdateControllerLS_Deadzone );
  175. m_ControllerRS_DeadZoneSelector.m_OptionChanged.Insert( UpdateControllerRS_Deadzone );
  176. ShowConsoleSensitivityOptions(m_KeyboardOption.GetIndex());
  177. bool MaKState = m_KeyboardSelector.IsEnabled() && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer();
  178. GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(m_Menu.ToggleDependentOptions,EDependentOptions.MOUSEANDKEYBOARD_QUICKBAR,MaKState);
  179. #endif
  180. FillTextMap();
  181. float x, y, y2;
  182. m_Root.FindAnyWidget( "controls_settings_scroll" ).GetScreenSize( x, y );
  183. m_Root.FindAnyWidget( "controls_settings_root" ).GetScreenSize( x, y2 );
  184. int f = ( y2 > y );
  185. m_Root.FindAnyWidget( "controls_settings_scroll" ).SetAlpha( f );
  186. m_Root.SetHandler( this );
  187. }
  188. string GetLayoutName()
  189. {
  190. #ifdef PLATFORM_CONSOLE
  191. return "gui/layouts/new_ui/options/xbox/controls_tab.layout";
  192. #else
  193. return "gui/layouts/new_ui/options/pc/controls_tab.layout";
  194. #endif
  195. }
  196. void EnterKeybindingMenu()
  197. {
  198. m_Menu.EnterScriptedMenu( MENU_KEYBINDINGS );
  199. }
  200. //! Focuses the first viable item
  201. void Focus()
  202. {
  203. #ifdef PLATFORM_CONSOLE
  204. if (m_KeyboardSelector && m_KeyboardSelector.IsSelectorEnabled())
  205. {
  206. m_KeyboardSelector.Focus();
  207. }
  208. else if (m_AimHelperSelector)
  209. {
  210. m_AimHelperSelector.Focus();
  211. }
  212. #endif
  213. }
  214. override bool OnMouseEnter( Widget w, int x, int y )
  215. {
  216. if ( w && w.IsInherited( ScrollWidget ) )
  217. {
  218. return false;
  219. }
  220. m_Menu.ColorHighlight( w );
  221. return true;
  222. }
  223. override bool OnMouseLeave( Widget w, Widget enterW, int x, int y )
  224. {
  225. if ( w && w.IsInherited( ScrollWidget ) )
  226. {
  227. return false;
  228. }
  229. m_Menu.ColorNormal( w );
  230. return true;
  231. }
  232. override bool OnMouseButtonUp( Widget w, int x, int y, int button )
  233. {
  234. if( button == MouseState.LEFT )
  235. {
  236. #ifndef PLATFORM_CONSOLE
  237. if( w == m_Keybindings )
  238. {
  239. EnterKeybindingMenu();
  240. return true;
  241. }
  242. #endif
  243. }
  244. return false;
  245. }
  246. override bool OnFocus( Widget w, int x, int y )
  247. {
  248. OptionsMenu menu = OptionsMenu.Cast( GetGame().GetUIManager().GetMenu() );
  249. if( menu )
  250. {
  251. menu.OnFocus( w, x, y );
  252. }
  253. if( w )
  254. {
  255. if (TextMapUpdateWidget(w.GetUserID()))
  256. {
  257. return true;
  258. }
  259. if( w.IsInherited( SliderWidget ) )
  260. {
  261. ColorRed( w );
  262. return true;
  263. }
  264. if( IsFocusable( w ) )
  265. {
  266. ColorRed( w );
  267. return true;
  268. }
  269. }
  270. else
  271. {
  272. m_DetailsRoot.Show( false );
  273. }
  274. return ( w != null );
  275. }
  276. override bool OnFocusLost( Widget w, int x, int y )
  277. {
  278. if( IsFocusable( w ) )
  279. {
  280. ColorWhite( w, null );
  281. return true;
  282. }
  283. return false;
  284. }
  285. bool IsFocusable( Widget w )
  286. {
  287. return w && (w.GetFlags() & ~WidgetFlags.NOFOCUS);
  288. }
  289. bool TextMapUpdateWidget(int key)
  290. {
  291. bool connectivityInfoShown = key == OptionIDsScript.OPTION_CONNECTIVITY_INFO;
  292. Param2<string, string> p;
  293. Param tmp = m_TextMap.Get(key);
  294. m_DetailsBodyDefault.Show(!connectivityInfoShown);
  295. m_DetailsBodyConnectivity.Show(connectivityInfoShown);
  296. if (Class.CastTo(p,tmp))
  297. {
  298. m_DetailsRoot.Show(true);
  299. m_DetailsText.Show(true);
  300. m_DetailsLabel.SetText(p.param1);
  301. m_DetailsText.SetText(p.param2);
  302. m_DetailsText.Update();
  303. m_DetailsLabel.Update();
  304. m_DetailsRoot.Update();
  305. m_DetailsBodyConnectivity.Update(); //...
  306. return true;
  307. }
  308. return false;
  309. }
  310. bool IsChanged()
  311. {
  312. #ifdef PLATFORM_CONSOLE
  313. return ( ( m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 0 ) || ( !m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 1 ) );
  314. #else
  315. return false;
  316. #endif
  317. }
  318. void Apply()
  319. {
  320. #ifdef PLATFORM_CONSOLE
  321. bool changed = false;
  322. if (m_MaKOptionAvailable)
  323. {
  324. //on change
  325. if ((m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 0) || (!m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 1))
  326. {
  327. m_KeyboardOption.Switch();
  328. changed = true;
  329. }
  330. }
  331. Focus();
  332. GetGame().GetUIManager().ShowUICursor( m_MaKOptionAvailable && m_KeyboardOption.GetIndex() );
  333. if (changed)
  334. g_Game.UpdateInputDeviceDisconnectWarning();
  335. m_Menu.Refresh();
  336. #endif
  337. }
  338. void Revert()
  339. {
  340. if( m_Mouse_InvertSelector )
  341. m_Mouse_InvertSelector.SetValue( m_Mouse_InvertOption.GetIndex(), true );
  342. if( m_Mouse_VSensitivitySelector )
  343. m_Mouse_VSensitivitySelector.SetValue( m_Mouse_VSensitivityOption.ReadValue(), true );
  344. if( m_Mouse_HSensitivitySelector )
  345. m_Mouse_HSensitivitySelector.SetValue( m_Mouse_HSensitivityOption.ReadValue(), true );
  346. if( m_Mouse_AimMod_VSensitivitySelector )
  347. m_Mouse_AimMod_VSensitivitySelector.SetValue( m_Mouse_AimMod_VSensitivityOption.ReadValue(), true );
  348. if( m_Mouse_AimMod_HSensitivitySelector )
  349. m_Mouse_AimMod_HSensitivitySelector.SetValue( m_Mouse_AimMod_HSensitivityOption.ReadValue(), true );
  350. #ifdef PLATFORM_CONSOLE
  351. if( m_KeyboardSelector )
  352. m_KeyboardSelector.SetValue( m_KeyboardOption.GetIndex(), true );
  353. if( m_AimHelperSelector )
  354. m_AimHelperSelector.SetValue( m_AimHelperOption.GetIndex(), true );
  355. if( m_ControllerLS_VSensitivitySelector )
  356. m_ControllerLS_VSensitivitySelector.SetValue( m_ControllerLS_VSensitivityOption.ReadValue(), true );
  357. if( m_ControllerLS_HSensitivitySelector )
  358. m_ControllerLS_HSensitivitySelector.SetValue( m_ControllerLS_HSensitivityOption.ReadValue(), true );
  359. if( m_ControllerLS_VehicleMod_HSensitivitySelector )
  360. m_ControllerLS_VehicleMod_HSensitivitySelector.SetValue( m_ControllerLS_VehicleMod_HSensitivityOption.ReadValue(), true );
  361. if( m_ControllerRS_InvertSelector )
  362. m_ControllerRS_InvertSelector.SetValue( m_ControllerRS_InvertOption.GetIndex(), true );
  363. if( m_ControllerRS_VSensitivitySelector )
  364. m_ControllerRS_VSensitivitySelector.SetValue( m_ControllerRS_VSensitivityOption.ReadValue(), true );
  365. if( m_ControllerRS_HSensitivitySelector )
  366. m_ControllerRS_HSensitivitySelector.SetValue( m_ControllerRS_HSensitivityOption.ReadValue(), true );
  367. if( m_ControllerRS_CurvatureSelector )
  368. m_ControllerRS_CurvatureSelector.SetValue( m_ControllerRS_CurvatureOption.ReadValue(), true );
  369. if( m_ControllerRS_AimMod_VSensitivitySelector )
  370. m_ControllerRS_AimMod_VSensitivitySelector.SetValue( m_ControllerRS_AimMod_VSensitivityOption.ReadValue(), true );
  371. if( m_ControllerRS_AimMod_HSensitivitySelector )
  372. m_ControllerRS_AimMod_HSensitivitySelector.SetValue( m_ControllerRS_AimMod_HSensitivityOption.ReadValue(), true );
  373. if( m_ControllerRS_AimMod_CurvatureSelector )
  374. m_ControllerRS_AimMod_CurvatureSelector.SetValue( m_ControllerRS_AimMod_CurvatureOption.ReadValue(), true );
  375. if( m_ControllerLS_DeadZoneSelector )
  376. m_ControllerLS_DeadZoneSelector.SetValue( m_ControllerLS_DeadZoneOption.ReadValue(), true );
  377. if( m_ControllerRS_DeadZoneSelector )
  378. m_ControllerRS_DeadZoneSelector.SetValue( m_ControllerRS_DeadZoneOption.ReadValue(), true );
  379. #endif
  380. }
  381. void SetToDefaults()
  382. {
  383. if( m_Mouse_InvertSelector )
  384. m_Mouse_InvertSelector.SetValue( m_Mouse_InvertOption.GetDefaultIndex(), true );
  385. if( m_Mouse_VSensitivitySelector )
  386. m_Mouse_VSensitivitySelector.SetValue( m_Mouse_VSensitivityOption.GetDefault(), true );
  387. if( m_Mouse_HSensitivitySelector )
  388. m_Mouse_HSensitivitySelector.SetValue( m_Mouse_HSensitivityOption.GetDefault(), true );
  389. if( m_Mouse_AimMod_VSensitivitySelector )
  390. m_Mouse_AimMod_VSensitivitySelector.SetValue( m_Mouse_AimMod_VSensitivityOption.GetDefault(), true );
  391. if( m_Mouse_AimMod_HSensitivitySelector )
  392. m_Mouse_AimMod_HSensitivitySelector.SetValue( m_Mouse_AimMod_HSensitivityOption.GetDefault(), true );
  393. #ifdef PLATFORM_CONSOLE
  394. if( m_KeyboardSelector )
  395. m_KeyboardSelector.SetValue( m_KeyboardOption.GetDefaultIndex(), true );
  396. if( m_AimHelperSelector )
  397. m_AimHelperSelector.SetValue( m_AimHelperOption.GetDefaultIndex(), true );
  398. if( m_ControllerLS_VSensitivitySelector )
  399. m_ControllerLS_VSensitivitySelector.SetValue( m_ControllerLS_VSensitivityOption.GetDefault(), true );
  400. if( m_ControllerLS_HSensitivitySelector )
  401. m_ControllerLS_HSensitivitySelector.SetValue( m_ControllerLS_HSensitivityOption.GetDefault(), true );
  402. if( m_ControllerLS_VehicleMod_HSensitivitySelector )
  403. m_ControllerLS_VehicleMod_HSensitivitySelector.SetValue( m_ControllerLS_VehicleMod_HSensitivityOption.GetDefault(), true );
  404. if( m_ControllerRS_InvertSelector )
  405. m_ControllerRS_InvertSelector.SetValue( m_ControllerRS_InvertOption.GetDefaultIndex(), true );
  406. if( m_ControllerRS_VSensitivitySelector )
  407. m_ControllerRS_VSensitivitySelector.SetValue( m_ControllerRS_VSensitivityOption.GetDefault(), true );
  408. if( m_ControllerRS_HSensitivitySelector )
  409. m_ControllerRS_HSensitivitySelector.SetValue( m_ControllerRS_HSensitivityOption.GetDefault(), true );
  410. if( m_ControllerRS_CurvatureSelector )
  411. m_ControllerRS_CurvatureSelector.SetValue( m_ControllerRS_CurvatureOption.GetDefault(), true );
  412. if( m_ControllerRS_AimMod_VSensitivitySelector )
  413. m_ControllerRS_AimMod_VSensitivitySelector.SetValue( m_ControllerRS_AimMod_VSensitivityOption.GetDefault(), true );
  414. if( m_ControllerRS_AimMod_HSensitivitySelector )
  415. m_ControllerRS_AimMod_HSensitivitySelector.SetValue( m_ControllerRS_AimMod_HSensitivityOption.GetDefault(), true );
  416. if( m_ControllerRS_AimMod_CurvatureSelector )
  417. m_ControllerRS_AimMod_CurvatureSelector.SetValue( m_ControllerRS_AimMod_CurvatureOption.GetDefault(), true );
  418. if( m_ControllerLS_DeadZoneSelector )
  419. m_ControllerLS_DeadZoneSelector.SetValue( m_ControllerLS_DeadZoneOption.GetDefault(), true );
  420. if( m_ControllerRS_DeadZoneSelector )
  421. m_ControllerRS_DeadZoneSelector.SetValue( m_ControllerRS_DeadZoneOption.GetDefault(), true );
  422. Focus();
  423. #endif
  424. }
  425. #ifdef PLATFORM_CONSOLE
  426. void ShowConsoleSensitivityOptions(int index)
  427. {
  428. m_ConsoleMouseSensitivityWidget.Show(index == 1 && m_MaKOptionAvailable);
  429. }
  430. void UpdateKeyboard( int index )
  431. {
  432. Focus();
  433. ShowConsoleSensitivityOptions(index);
  434. m_Menu.OnChanged();
  435. //m_Menu.ToggleDependentOptions(EDependentOptions.MOUSEANDKEYBOARD_QUICKBAR,index == 1 && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer());
  436. }
  437. void UpdateAimHelper( int index )
  438. {
  439. if ( m_AimHelperOption.GetIndex() != index )
  440. {
  441. m_AimHelperOption.Switch();
  442. m_Menu.OnChanged();
  443. }
  444. }
  445. void UpdateControllerLS_VSensitivity( float value )
  446. {
  447. m_ControllerLS_VSensitivityOption.WriteValue( value );
  448. m_Menu.OnChanged();
  449. }
  450. void UpdateControllerLS_HSensitivity( float value )
  451. {
  452. m_ControllerLS_HSensitivityOption.WriteValue( value );
  453. m_Menu.OnChanged();
  454. }
  455. void UpdateControllerLS_VehicleMod_HSensitivity( float value )
  456. {
  457. m_ControllerLS_VehicleMod_HSensitivityOption.WriteValue( value );
  458. m_Menu.OnChanged();
  459. }
  460. void UpdateControllerRS_InvertView( int index )
  461. {
  462. if ( m_ControllerRS_InvertOption.GetIndex() != index )
  463. {
  464. m_ControllerRS_InvertOption.Switch();
  465. m_Menu.OnChanged();
  466. }
  467. }
  468. void UpdateControllerRS_VSensitivity( float value )
  469. {
  470. m_ControllerRS_VSensitivityOption.WriteValue( value );
  471. m_Menu.OnChanged();
  472. }
  473. void UpdateControllerRS_HSensitivity( float value )
  474. {
  475. m_ControllerRS_HSensitivityOption.WriteValue( value );
  476. m_Menu.OnChanged();
  477. }
  478. void UpdateControllerRS_Curvature( float value )
  479. {
  480. m_ControllerRS_CurvatureOption.WriteValue( value );
  481. m_Menu.OnChanged();
  482. }
  483. void UpdateControllerLS_Deadzone( float value )
  484. {
  485. m_ControllerLS_DeadZoneOption.WriteValue( value );
  486. m_Menu.OnChanged();
  487. }
  488. void UpdateControllerRS_Deadzone( float value )
  489. {
  490. m_ControllerRS_DeadZoneOption.WriteValue( value );
  491. m_Menu.OnChanged();
  492. }
  493. void UpdateControllerRS_AimMod_VSensitivity( float value )
  494. {
  495. m_ControllerRS_AimMod_VSensitivityOption.WriteValue( value );
  496. m_Menu.OnChanged();
  497. }
  498. void UpdateControllerRS_AimMod_HSensitivity( float value )
  499. {
  500. m_ControllerRS_AimMod_HSensitivityOption.WriteValue( value );
  501. m_Menu.OnChanged();
  502. }
  503. void UpdateControllerRS_AimMod_Curvature( float value )
  504. {
  505. m_ControllerRS_AimMod_CurvatureOption.WriteValue( value );
  506. m_Menu.OnChanged();
  507. }
  508. #endif
  509. void UpdateMouseInvertView( int index )
  510. {
  511. if ( m_Mouse_InvertOption.GetIndex() != index )
  512. {
  513. m_Mouse_InvertOption.Switch();
  514. m_Menu.OnChanged();
  515. }
  516. }
  517. void UpdateMouseVSensitivity( float value )
  518. {
  519. m_Mouse_VSensitivityOption.WriteValue( value );
  520. m_Menu.OnChanged();
  521. }
  522. void UpdateMouseHSensitivity( float value )
  523. {
  524. m_Mouse_HSensitivityOption.WriteValue( value );
  525. m_Menu.OnChanged();
  526. }
  527. void UpdateMouseAimModVSensitivity( float value )
  528. {
  529. m_Mouse_AimMod_VSensitivityOption.WriteValue( value );
  530. m_Menu.OnChanged();
  531. }
  532. void UpdateMouseAimModHSensitivity( float value )
  533. {
  534. m_Mouse_AimMod_HSensitivityOption.WriteValue( value );
  535. m_Menu.OnChanged();
  536. }
  537. void ReloadOptions()
  538. {
  539. m_Menu.ReloadOptions();
  540. }
  541. void SetOptions( GameOptions options )
  542. {
  543. m_Options = options;
  544. // mouse (PC & consoles)
  545. m_Mouse_InvertOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED ) );
  546. m_Mouse_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS ) );
  547. m_Mouse_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS ) );
  548. m_Mouse_AimMod_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD ) );
  549. m_Mouse_AimMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD ) );
  550. // controller (consoles only)
  551. #ifdef PLATFORM_CONSOLE
  552. m_KeyboardOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD ) );
  553. m_AimHelperOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_AIM_HELPER ) );
  554. m_ControllerLS_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS ) );
  555. m_ControllerLS_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS ) );
  556. m_ControllerLS_VehicleMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD ) );
  557. m_ControllerRS_InvertOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED ) );
  558. m_ControllerRS_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS ) );
  559. m_ControllerRS_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS ) );
  560. m_ControllerRS_CurvatureOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE ) );
  561. m_ControllerRS_AimMod_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD ) );
  562. m_ControllerRS_AimMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD ) );
  563. m_ControllerRS_AimMod_CurvatureOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD ) );
  564. m_ControllerLS_DeadZoneOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE ) );
  565. m_ControllerRS_DeadZoneOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE ) );
  566. #endif
  567. Revert();
  568. }
  569. void ToggleDependentOptions(int mode, bool state)
  570. {
  571. }
  572. void InitDependentOptionsVisibility()
  573. {
  574. }
  575. void FillTextMap()
  576. {
  577. m_TextMap = new map<int, ref Param2<string, string>>;
  578. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED, new Param2<string, string>( "#STR_Invert_Vertical_tip_header", "#STR_Invert_Vertical_tip" ) );
  579. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS, new Param2<string, string>( "#STR_Camera_V_Sensitivity_tip_header", "#STR_Camera_V_Sensitivity_tip" ) );
  580. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS, new Param2<string, string>( "#STR_Camera_H_Sensitivity_tip_header", "#STR_Camera_H_Sensitivity_tip" ) );
  581. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_V_Sensitivity_tip_header", "#STR_Aiming_V_Sensitivity_tip" ) );
  582. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_H_Sensitivity_tip_header", "#STR_Aiming_H_Sensitivity_tip" ) );
  583. #ifdef PLATFORM_CONSOLE
  584. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD, new Param2<string, string>( "#xbox_options_controls_mandk_contr", "#xbox_options_controls_mandk_contr_desc" ) );
  585. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_AIM_HELPER, new Param2<string, string>( "#ps4_options_controls_aim_helper_contr", "#ps4_options_controls_aim_helper_contr_desc" ) );
  586. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS, new Param2<string, string>( "#STR_Movement_V_Sensitivity_tip_header", "#STR_Movement_V_Sensitivity_tip" ) );
  587. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS, new Param2<string, string>( "#STR_Movement_H_Sensitivity_tip_header", "#STR_Movement_H_Sensitivity_tip" ) );
  588. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD, new Param2<string, string>( "#STR_Movement_Vehicle_Sensitivity_tip_header", "#STR_Movement_Vehicle_Sensitivity_tip" ) );
  589. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED, new Param2<string, string>( "#STR_Invert_Vertical_tip_header", "#STR_Invert_Vertical_tip" ) );
  590. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS, new Param2<string, string>( "#STR_Camera_V_Sensitivity_tip_header", "#STR_Camera_V_Sensitivity_tip" ) );
  591. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS, new Param2<string, string>( "#STR_Camera_H_Sensitivity_tip_header", "#STR_Camera_H_Sensitivity_tip" ) );
  592. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE, new Param2<string, string>( "#STR_Camera_Curvature_tip_header", "#STR_Camera_Curvature_tip" ) );
  593. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_V_Sensitivity_tip_header", "#STR_Aiming_V_Sensitivity_tip" ) );
  594. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_H_Sensitivity_tip_header", "#STR_Aiming_H_Sensitivity_tip" ) );
  595. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD, new Param2<string, string>( "#STR_Aiming_Curvature_tip_header", "#STR_Camera_Curvature_tip" ) );
  596. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE, new Param2<string, string>( "#STR_Aiming_L_Deadzone_tip_header", "#STR_Aiming_L_Deadzone_tip" ) );
  597. m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE, new Param2<string, string>( "#STR_Aiming_R_Deadzone_tip_header", "#STR_Aiming_R_Deadzone_tip" ) );
  598. #endif
  599. }
  600. //Coloring functions (Until WidgetStyles are useful)
  601. void ColorRed( Widget w )
  602. {
  603. SetFocus( w );
  604. ButtonWidget button;
  605. if (Class.CastTo(button,w))
  606. {
  607. button.SetTextColor( ARGB( 255, 255, 0, 0 ) );
  608. button.SetAlpha( 0.9 );
  609. }
  610. }
  611. void ColorWhite( Widget w, Widget enterW )
  612. {
  613. ButtonWidget button;
  614. if (Class.CastTo(button,w))
  615. {
  616. button.SetTextColor( ARGB( 255, 255, 255, 255 ) );
  617. button.SetAlpha( 0.0 );
  618. }
  619. }
  620. }