X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_menu.pas;h=6265eeb2d69ce0abf6cbc5cb03d1f72523e3619a;hb=0ff34dffaf5a42425834667f9c39d4120fbb8e3c;hp=3056950af666495842af15a008ba3f4cc2ac211c;hpb=3424d00c1df01d4ccef05c7436345e61c16c22ff;p=d2df-sdl.git diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas index 3056950..6265eeb 100644 --- a/src/game/g_menu.pas +++ b/src/game/g_menu.pas @@ -42,17 +42,13 @@ var implementation uses -{$IFDEF USE_NANOGL} - nanoGL, -{$ELSE} - GL, GLExt, -{$ENDIF} + {$INCLUDE ../nogl/noGLuses.inc} g_gui, g_textures, e_graphics, g_main, g_window, g_game, g_map, g_basic, g_console, g_sound, g_gfx, g_player, g_options, g_weapons, e_log, SysUtils, CONFIG, g_playermodel, DateUtils, sdl2, MAPDEF, Math, g_saveload, e_texture, g_language, - g_net, g_netmsg, g_netmaster, g_items, e_input, + g_net, g_netmsg, g_netmaster, g_items, e_input, g_touch, utils, wadreader; @@ -164,7 +160,8 @@ begin gShowMessages := TGUISwitch(menu.GetControl('swMessages')).ItemIndex = 0; gRevertPlayers := TGUISwitch(menu.GetControl('swRevertPlayers')).ItemIndex = 0; gChatBubble := TGUISwitch(menu.GetControl('swChatBubble')).ItemIndex; - g_dbg_scale := TGUIScroll(menu.GetControl('swScaleFactor')).Value + 1; + gPlayerIndicator := TGUISwitch(menu.GetControl('swPlayerIndicator')).ItemIndex = 0; + g_dbg_scale := TGUIScroll(menu.GetControl('scScaleFactor')).Value + 1; menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsMenu').GetControl('mOptionsControlsMenu')); @@ -258,6 +255,15 @@ begin end; end; + if g_touch_enabled then + begin + menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsTouchMenu').GetControl('mOptionsControlsTouchMenu')); + g_touch_alt := TGUISwitch(menu.GetControl('swTouchAlt')).ItemIndex = 1; + g_touch_size := TGUIScroll(menu.GetControl('scTouchSize')).Value / 10 + 0.5; + g_touch_fire := TGUISwitch(menu.GetControl('swTouchFire')).ItemIndex = 1; + g_touch_offset := TGUIScroll(menu.GetControl('scTouchOffset')).Value * 5; + end; + menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mOptionsPlayersP1Menu')); gPlayer1Settings.Name := b_Text_Unformat(TGUIEdit(menu.GetControl('edP1Name')).Text); @@ -281,8 +287,8 @@ begin gPlayer2Settings.Color := Model.Color; end; - if gPlayer1Settings.Name = '' then gPlayer1Settings.Name := 'Player1'; - if gPlayer2Settings.Name = '' then gPlayer2Settings.Name := 'Player2'; + if gPlayer1Settings.Name = '' then gPlayer1Settings.Name := GenPlayerName(1); + if gPlayer2Settings.Name = '' then gPlayer2Settings.Name := GenPlayerName(2); if g_Game_IsServer then begin @@ -446,6 +452,17 @@ begin end; end; + if g_touch_enabled then + begin + menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsTouchMenu').GetControl('mOptionsControlsTouchMenu')); + with TGUISwitch(menu.GetControl('swTouchAlt')) do + if g_touch_alt then ItemIndex := 1 else ItemIndex := 0; + TGUIScroll(menu.GetControl('scTouchSize')).Value := Round((g_touch_size - 0.5) * 10); + with TGUISwitch(menu.GetControl('swTouchFire')) do + if g_touch_fire then ItemIndex := 1 else ItemIndex := 0; + TGUIScroll(menu.GetControl('scTouchOffset')).Value := Round(g_touch_offset / 5); + end; + menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsMenu').GetControl('mOptionsControlsMenu')); with menu, gGameControls.GameControls do begin @@ -496,7 +513,10 @@ begin with TGUISwitch(menu.GetControl('swChatBubble')) do ItemIndex := gChatBubble; - TGUIScroll(menu.GetControl('swScaleFactor')).Value := Round(g_dbg_scale - 1); + with TGUISwitch(menu.GetControl('swPlayerIndicator')) do + if gPlayerIndicator then ItemIndex := 0 else ItemIndex := 1; + + TGUIScroll(menu.GetControl('scScaleFactor')).Value := Round(g_dbg_scale - 1); menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mOptionsPlayersP1Menu')); @@ -748,6 +768,7 @@ begin end else slWaitStr := _lc[I_NET_SLIST_ERROR]; + g_Serverlist_GenerateTable(slCurrent, slTable); end; procedure ProcStartCampaign(); @@ -1267,7 +1288,17 @@ var menu: TGUIMenu; begin menu := TGUIMenu(g_GUI_GetWindow('OptionsGameMenu').GetControl('mOptionsGameMenu')); - g_dbg_scale := TGUIScroll(menu.GetControl('swScaleFactor')).Value + 1; + g_dbg_scale := TGUIScroll(menu.GetControl('scScaleFactor')).Value + 1; +end; + +procedure ProcChangeTouchSettings(Sender: TGUIControl); +var + menu: TGUIMenu; +begin + menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsTouchMenu').GetControl('mOptionsControlsTouchMenu')); + g_touch_alt := TGUISwitch(menu.GetControl('swTouchAlt')).ItemIndex = 1; + g_touch_size := TGUIScroll(menu.GetControl('scTouchSize')).Value / 10 + 0.5; + g_touch_offset := TGUIScroll(menu.GetControl('scTouchOffset')).Value * 5; end; procedure ProcOptionsPlayersMIMenu(); @@ -2684,9 +2715,15 @@ begin AddItem(_lc[I_MENU_GAME_CHAT_TYPE_COLOR]); AddItem(_lc[I_MENU_GAME_CHAT_TYPE_TEXTURE]); end; + with AddSwitch(_lc[I_MENU_GAME_PLAYER_INDICATOR]) do + begin + Name := 'swPlayerIndicator'; + AddItem(_lc[I_MENU_YES]); + AddItem(_lc[I_MENU_NO]); + end; with AddScroll(_lc[I_MENU_GAME_SCALE_FACTOR]) do begin - Name := 'swScaleFactor'; + Name := 'scScaleFactor'; Max := 10; OnChange := ProcChangeGameSettings; end; @@ -2711,9 +2748,16 @@ begin AddButton(nil, _lc[I_MENU_PLAYER_2_KBD], 'OptionsControlsP2Menu'); {AddButton(nil, _lc[I_MENU_PLAYER_2_ALT], 'OptionsControlsP2MenuAlt');} AddButton(nil, _lc[I_MENU_PLAYER_2_WEAPONS], 'OptionsControlsP2MenuWeapons'); - AddSpace(); if e_JoysticksAvailable <> 0 then + begin + AddSpace(); AddButton(nil, _lc[I_MENU_CONTROL_JOYSTICKS], 'OptionsControlsJoystickMenu'); + end; + if g_touch_enabled then + begin + AddSpace(); + AddButton(nil, _lc[I_MENU_CONTROL_TOUCH], 'OptionsControlsTouchMenu'); + end; end; Menu.DefControl := 'mOptionsControlsMenu'; g_GUI_AddWindow(Menu); @@ -2790,6 +2834,39 @@ begin Menu.DefControl := 'mOptionsControlsJoystickMenu'; g_GUI_AddWindow(Menu); + Menu := TGUIWindow.Create('OptionsControlsTouchMenu'); + with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_CONTROL_TOUCH]))) do + begin + Name := 'mOptionsControlsTouchMenu'; + with AddSwitch(_lc[I_MENU_CONTROL_TOUCH_ALT]) do + begin + Name := 'swTouchAlt'; + AddItem(_lc[I_MENU_NO]); + AddItem(_lc[I_MENU_YES]); + OnChange := ProcChangeTouchSettings; + end; + with AddScroll(_lc[I_MENU_CONTROL_TOUCH_SIZE]) do + begin + Name := 'scTouchSize'; + Max := 20; + OnChange := ProcChangeTouchSettings; + end; + with AddSwitch(_lc[I_MENU_CONTROL_TOUCH_FIRE]) do + begin + Name := 'swTouchFire'; + AddItem(_lc[I_MENU_NO]); + AddItem(_lc[I_MENU_YES]); + end; + with AddScroll(_lc[I_MENU_CONTROL_TOUCH_OFFSET]) do + begin + Name := 'scTouchOffset'; + Max := 20; + OnChange := ProcChangeTouchSettings; + end; + end; + Menu.DefControl := 'mOptionsControlsTouchMenu'; + g_GUI_AddWindow(Menu); + Menu := TGUIWindow.Create('OptionsPlayersMenu'); with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_PLAYER_OPTIONS]))) do begin