Changeset 6746 for code/trunk
- Timestamp:
- Apr 16, 2010, 2:50:16 PM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 32 deleted
- 77 edited
- 24 copied
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
-
code/trunk/cmake/LibraryConfigTardis.cmake
r6590 r6746 44 44 #SET(BOOST_INCLUDEDIR "/usr/pack/boost-1.42.0-bs/include") 45 45 #SET(BOOST_LIBRARYDIR "/usr/pack/boost-1.42.0-bs/i686-debian-linux4.0/lib") 46 SET(Boost_VERSION 104200) 46 47 SET(Boost_INCLUDE_DIRS "/usr/pack/boost-1.42.0-bs/include" CACHE PATH "") 47 48 SET(Boost_SYSTEM_LIBRARY_RELEASE "/usr/pack/boost-1.42.0-bs/i686-debian-linux5.0/lib/libboost_system.so" CACHE PATH "") -
code/trunk/data/gui/layouts/AudioMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/AudioBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/AudioBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/AudioWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/AudioWindow" > 11 11 <Property Name="Text" Value="Audio" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2875,0},{0.8,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/StaticText" Name="orxonox/MasterVolume" >18 <Window Type="MenuWidgets/StaticText" Name="orxonox/MasterVolume" > 19 19 <Property Name="Text" Value="Master volume " /> 20 20 <Property Name="InheritsAlpha" Value="False" /> … … 23 23 <Property Name="VertFormatting" Value="TopAligned" /> 24 24 <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.15,0},{0.5625,0},{0.3525,0}}" /> 25 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/MasterScrollbar" >25 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/MasterScrollbar" > 26 26 <Property Name="PageSize" Value="0" /> 27 27 <Property Name="StepSize" Value="1" /> … … 36 36 <Event Name="ScrollPosChanged" Function="AudioMenu.AudioMasterScrollbar_changed" /> 37 37 </Window> 38 <Window Type=" TaharezLook/Checkbox" Name="orxonox/MasterCheckbox" >38 <Window Type="MenuWidgets/Checkbox" Name="orxonox/MasterCheckbox" > 39 39 <Property Name="Text" Value="Mute" /> 40 40 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 43 43 </Window> 44 44 </Window> 45 <Window Type=" TaharezLook/StaticText" Name="orxonox/MusicVolume" >45 <Window Type="MenuWidgets/StaticText" Name="orxonox/MusicVolume" > 46 46 <Property Name="Text" Value="Music volume " /> 47 47 <Property Name="InheritsAlpha" Value="False" /> … … 50 50 <Property Name="VertFormatting" Value="TopAligned" /> 51 51 <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.4335,0},{0.5625,0},{0.636,0}}" /> 52 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/MusicScrollbar" >52 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/MusicScrollbar" > 53 53 <Property Name="PageSize" Value="0" /> 54 54 <Property Name="StepSize" Value="1" /> … … 63 63 <Event Name="ScrollPosChanged" Function="AudioMenu.AudioMusicScrollbar_changed" /> 64 64 </Window> 65 <Window Type=" TaharezLook/Checkbox" Name="orxonox/MusicCheckbox" >65 <Window Type="MenuWidgets/Checkbox" Name="orxonox/MusicCheckbox" > 66 66 <Property Name="Text" Value="Mute" /> 67 67 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 70 70 </Window> 71 71 </Window> 72 <Window Type=" TaharezLook/StaticText" Name="orxonox/EffectsVolume" >72 <Window Type="MenuWidgets/StaticText" Name="orxonox/EffectsVolume" > 73 73 <Property Name="Text" Value="Effects volume " /> 74 74 <Property Name="InheritsAlpha" Value="False" /> … … 77 77 <Property Name="VertFormatting" Value="TopAligned" /> 78 78 <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.717,0},{0.5625,0},{0.9195,0}}" /> 79 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/EffectsScrollbar" >79 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/EffectsScrollbar" > 80 80 <Property Name="PageSize" Value="0" /> 81 81 <Property Name="StepSize" Value="1" /> … … 90 90 <Event Name="ScrollPosChanged" Function="AudioMenu.AudioEffectsScrollbar_changed" /> 91 91 </Window> 92 <Window Type=" TaharezLook/Checkbox" Name="orxonox/EffectsCheckbox" >92 <Window Type="MenuWidgets/Checkbox" Name="orxonox/EffectsCheckbox" > 93 93 <Property Name="Text" Value="Mute" /> 94 94 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 97 97 </Window> 98 98 </Window> 99 <Window Type=" TaharezLook/StaticText" Name="orxonox/AudioTheme" >99 <Window Type="MenuWidgets/StaticText" Name="orxonox/AudioTheme" > 100 100 <Property Name="Text" Value="Theme" /> 101 101 <Property Name="InheritsAlpha" Value="False" /> … … 104 104 <Property Name="VertFormatting" Value="TopAligned" /> 105 105 <Property Name="UnifiedAreaRect" Value="{{0.604166,0},{0.15,0},{0.958333,0},{0.636,0}}" /> 106 <Window Type=" TaharezLook/Listbox" Name="orxonox/AudioThemeListbox" >106 <Window Type="MenuWidgets/Listbox" Name="orxonox/AudioThemeListbox" > 107 107 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 108 108 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.225,0},{0.95,0},{0.92,0}}" /> … … 110 110 </Window> 111 111 </Window> 112 <Window Type=" TaharezLook/StaticText" Name="orxonox/AudioInfo" >112 <Window Type="MenuWidgets/StaticText" Name="orxonox/AudioInfo" > 113 113 <Property Name="Text" >Theme changes might take 114 114 up to a minute.</Property> … … 121 121 </Window> 122 122 </Window> 123 <Window Type=" TaharezLook/Button" Name="orxonox/AudioBackButton" >123 <Window Type="MenuWidgets/Button" Name="orxonox/AudioBackButton" > 124 124 <Property Name="Text" Value="Back" /> 125 125 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/ControlsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/ControlsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/ControlsBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/ControlsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/ControlsWindow" > 11 11 <Property Name="Text" Value="Controls" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/Button" Name="orxonox/MouseControlsButton" >18 <Window Type="MenuWidgets/Button" Name="orxonox/MouseControlsButton" > 19 19 <Property Name="Text" Value="Mouse controls" /> 20 20 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 22 22 <Event Name="Clicked" Function="ControlsMenu.ControlsMouseControlsButton_clicked"/> 23 23 </Window> 24 <Window Type=" TaharezLook/Button" Name="orxonox/KeybindingsButton" >24 <Window Type="MenuWidgets/Button" Name="orxonox/KeybindingsButton" > 25 25 <Property Name="Text" Value="Keybindings" /> 26 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 29 29 </Window> 30 30 </Window> 31 <Window Type=" TaharezLook/Button" Name="orxonox/ControlsBackButton" >31 <Window Type="MenuWidgets/Button" Name="orxonox/ControlsBackButton" > 32 32 <Property Name="Text" Value="Back" /> 33 33 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/CreditsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/CreditsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/CreditsBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/CreditsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsWindow" > 11 11 <Property Name="Text" Value="Credits" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/StaticText" Name="orxonox/CreditsText" >18 <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsText" > 19 19 <Property Name="Text">Orxonox version 0.0.3 20 20 … … 32 32 </Window> 33 33 </Window> 34 <Window Type=" TaharezLook/Button" Name="orxonox/CreditsBackButton" >34 <Window Type="MenuWidgets/Button" Name="orxonox/CreditsBackButton" > 35 35 <Property Name="Text" Value="Back" /> 36 36 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/DecisionPopup.layout
r6417 r6746 6 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type=" TaharezLook/StaticImage" Name="orxonox/DecisionPopup_Background" >8 <Window Type="MenuWidgets/StaticImage" Name="orxonox/DecisionPopup_Background" > 9 9 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 10 10 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 11 11 <Property Name="Alpha" Value="0.6" /> 12 <Window Type="TaharezLook/Button" Name="orxonox/DecisionPopup_button_yes" > 13 <Property Name="Font" Value="BlueHighway-12" /> 12 <Window Type="MenuWidgets/Button" Name="orxonox/DecisionPopup_button_yes" > 14 13 <Property Name="Text" Value="Yes" /> 15 14 <Property Name="Alpha" Value="0.7" /> … … 19 18 <Event Name="Clicked" Function="DecisionPopup.button_yes"/> 20 19 </Window> 21 <Window Type="TaharezLook/Button" Name="orxonox/DecisionPopup_button_no" > 22 <Property Name="Font" Value="BlueHighway-12" /> 20 <Window Type="MenuWidgets/Button" Name="orxonox/DecisionPopup_button_no" > 23 21 <Property Name="Text" Value="No" /> 24 22 <Property Name="Alpha" Value="0.8" /> … … 28 26 <Event Name="Clicked" Function="DecisionPopup.button_no"/> 29 27 </Window> 30 <Window Type=" TaharezLook/StaticText" Name="orxonox/DecisionPopup_text" >28 <Window Type="MenuWidgets/StaticText" Name="orxonox/DecisionPopup_text" > 31 29 <Property Name="Text" Value="Template text" /> 32 30 <Property Name="HorzFormatting" Value="WordWrapCentred" /> -
code/trunk/data/gui/layouts/GameplayMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/GameplayBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/GameplayBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/GameplayWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/GameplayWindow" > 11 11 <Property Name="Text" Value="Gameplay" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/StaticText" Name="orxonox/Difficulty" >18 <Window Type="MenuWidgets/StaticText" Name="orxonox/Difficulty" > 19 19 <Property Name="Text" Value="Difficulty" /> 20 20 <Property Name="InheritsAlpha" Value="False" /> … … 23 23 <Property Name="VertFormatting" Value="TopAligned" /> 24 24 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.475,0},{0.9,0}}" /> 25 <Window Type=" TaharezLook/RadioButton" Name="orxonox/DifficultyEasyButton" >25 <Window Type="MenuWidgets/RadioButton" Name="orxonox/DifficultyEasyButton" > 26 26 <Property Name="Text" Value="Easy" /> 27 27 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 29 29 <Event Name="SelectStateChanged" Function="GameplayMenu.GameplayDifficultyEasyButton_clicked"/> 30 30 </Window> 31 <Window Type=" TaharezLook/RadioButton" Name="orxonox/DifficultyNormalButton" >31 <Window Type="MenuWidgets/RadioButton" Name="orxonox/DifficultyNormalButton" > 32 32 <Property Name="Text" Value="Normal" /> 33 33 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 35 35 <Event Name="SelectStateChanged" Function="GameplayMenu.GameplayDifficultyNormalButton_clicked"/> 36 36 </Window> 37 <Window Type=" TaharezLook/RadioButton" Name="orxonox/DifficultyHardButton" >37 <Window Type="MenuWidgets/RadioButton" Name="orxonox/DifficultyHardButton" > 38 38 <Property Name="Text" Value="Hard" /> 39 39 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 42 42 </Window> 43 43 </Window> 44 <Window Type=" TaharezLook/StaticText" Name="orxonox/Theme" >44 <Window Type="MenuWidgets/StaticText" Name="orxonox/Theme" > 45 45 <Property Name="Text" Value="Theme" /> 46 46 <Property Name="InheritsAlpha" Value="False" /> … … 49 49 <Property Name="VertFormatting" Value="TopAligned" /> 50 50 <Property Name="UnifiedAreaRect" Value="{{0.525,0},{0.2,0},{0.95,0},{0.9,0}}" /> 51 <Window Type=" TaharezLook/Combobox" Name="orxonox/ThemeCombobox" >51 <Window Type="MenuWidgets/Combobox" Name="orxonox/ThemeCombobox" > 52 52 <Property Name="AlwaysOnTop" Value="True" /> 53 53 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 59 59 </Window> 60 60 </Window> 61 <Window Type=" TaharezLook/Button" Name="orxonox/GameplayBackButton" >61 <Window Type="MenuWidgets/Button" Name="orxonox/GameplayBackButton" > 62 62 <Property Name="Text" Value="Back" /> 63 63 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/GraphicsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/GraphicsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/GraphicsBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/GraphicsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/GraphicsWindow" > 11 11 <Property Name="Text" Value="Graphics" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/StaticText" Name="orxonox/Resolution" >18 <Window Type="MenuWidgets/StaticText" Name="orxonox/Resolution" > 19 19 <Property Name="Text" Value="Resolution" /> 20 20 <Property Name="InheritsAlpha" Value="False" /> … … 23 23 <Property Name="VertFormatting" Value="TopAligned" /> 24 24 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.475,0},{0.92,0}}" /> 25 <Window Type=" TaharezLook/Listbox" Name="orxonox/ResolutionListbox" >25 <Window Type="MenuWidgets/Listbox" Name="orxonox/ResolutionListbox" > 26 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 27 27 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.95,0}}" /> … … 29 29 </Window> 30 30 </Window> 31 <Window Type=" TaharezLook/StaticText" Name="orxonox/Brightness" >31 <Window Type="MenuWidgets/StaticText" Name="orxonox/Brightness" > 32 32 <Property Name="Text" Value="Brightness" /> 33 33 <Property Name="InheritsAlpha" Value="False" /> … … 36 36 <Property Name="VertFormatting" Value="TopAligned" /> 37 37 <Property Name="UnifiedAreaRect" Value="{{0.525,0},{0.15,0},{0.95,0},{0.35,0}}" /> 38 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/BrightnessScrollbar" >38 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/BrightnessScrollbar" > 39 39 <Property Name="Disabled" Value="true" /> 40 40 <Property Name="PageSize" Value="0" /> … … 50 50 </Window> 51 51 </Window> 52 <Window Type=" TaharezLook/Checkbox" Name="orxonox/FullscreenCheckbox" >52 <Window Type="MenuWidgets/Checkbox" Name="orxonox/FullscreenCheckbox" > 53 53 <Property Name="Text" Value="Fullscreen" /> 54 54 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 56 56 <Event Name="CheckStateChanged" Function="GraphicsMenu.GraphicsFullscreenCheckbox_clicked"/> 57 57 </Window> 58 <Window Type=" TaharezLook/StaticText" Name="orxonox/GraphicsInfo" >58 <Window Type="MenuWidgets/StaticText" Name="orxonox/GraphicsInfo" > 59 59 <Property Name="Text" > 60 60 Changes in graphics … … 69 69 </Window> 70 70 </Window> 71 <Window Type=" TaharezLook/Button" Name="orxonox/GraphicsBackButton" >71 <Window Type="MenuWidgets/Button" Name="orxonox/GraphicsBackButton" > 72 72 <Property Name="Text" Value="Back" /> 73 73 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/InGameMenu.layout
r6417 r6746 6 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_ReturnButton" > 9 <Property Name="Font" Value="BlueHighway-12" /> 8 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_ReturnButton" > 10 9 <Property Name="Text" Value="Return to Game" /> 11 10 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 14 13 <Event Name="Clicked" Function="InGameMenu.button_return_clicked"/> 15 14 </Window> 16 <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_MainMenuButton" > 17 <Property Name="Font" Value="BlueHighway-12" /> 15 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_MainMenuButton" > 18 16 <Property Name="Text" Value="Main Menu" /> 19 17 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 22 20 <Event Name="Clicked" Function="InGameMenu.button_mainmenu_clicked"/> 23 21 </Window> 24 <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_SettingsButton" > 25 <Property Name="Font" Value="BlueHighway-12" /> 22 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_SettingsButton" > 26 23 <Property Name="Text" Value="Settings" /> 27 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 30 27 <Event Name="Clicked" Function="InGameMenu.button_settings_clicked"/> 31 28 </Window> 32 <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_QuitButton" > 33 <Property Name="Font" Value="BlueHighway-12" /> 29 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_QuitButton" > 34 30 <Property Name="Text" Value="Quit" /> 35 31 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/InGameTest.layout
r5781 r6746 4 4 <Property Name="UnifiedSize" Value="{{1.0,0},{1.0,0}}"/> 5 5 6 <Window Type=" TaharezLook/Button" Name="orxonox/TestButton">6 <Window Type="MenuWidgets/Button" Name="orxonox/TestButton"> 7 7 <Property Name="UnifiedPosition" Value="{{0.11,0},{0.528,0}}"/> 8 8 <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/> -
code/trunk/data/gui/layouts/InfoPopup.layout
r6417 r6746 6 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type=" TaharezLook/StaticImage" Name="orxonox/InfoPopup_Background" >8 <Window Type="MenuWidgets/StaticImage" Name="orxonox/InfoPopup_Background" > 9 9 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 10 10 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 11 11 <Property Name="Alpha" Value="0.7" /> 12 <Window Type="TaharezLook/Button" Name="orxonox/InfoPopup_close" > 13 <Property Name="Font" Value="BlueHighway-12" /> 12 <Window Type="MenuWidgets/Button" Name="orxonox/InfoPopup_close" > 14 13 <Property Name="Text" Value="Close" /> 15 14 <Property Name="Alpha" Value="0.7" /> … … 19 18 <Event Name="Clicked" Function="InfoPopup.close"/> 20 19 </Window> 21 <Window Type=" TaharezLook/StaticText" Name="orxonox/InfoPopup_text" >20 <Window Type="MenuWidgets/StaticText" Name="orxonox/InfoPopup_text" > 22 21 <Property Name="Text" Value="Template text" /> 23 22 <Property Name="TextColours" Value="FF4444FF" /> -
code/trunk/data/gui/layouts/KeyBindMenu.layout
r6417 r6746 6 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type=" TaharezLook/StaticText" Name="orxonox/KeyBindWindow" >8 <Window Type="MenuWidgets/StaticText" Name="orxonox/KeyBindWindow" > 9 9 <Property Name="Text" Value="Keybindings" /> 10 10 <Property Name="Alpha" Value="0.8" /> … … 14 14 <Property Name="VertFormatting" Value="TopAligned" /> 15 15 <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.2125,0},{0.85,0},{0.6375,0}}" /> 16 <Window Type=" TaharezLook/StaticText" Name="orxonox/KeyBindWrapper" >16 <Window Type="MenuWidgets/StaticText" Name="orxonox/KeyBindWrapper" > 17 17 <Property Name="TextColours" Value="FF4444FF" /> 18 18 <Property Name="InheritsAlpha" Value="False" /> … … 21 21 <Property Name="VertFormatting" Value="TopAligned" /> 22 22 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" /> 23 <Window Type=" TaharezLook/ScrollablePane" Name="orxonox/KeyBindPane" >23 <Window Type="MenuWidgets/ScrollablePane" Name="orxonox/KeyBindPane" > 24 24 <Property Name="ContentArea" Value="l:0 t:0 r:0 b:0" /> 25 25 <Property Name="HorzStepSize" Value="0.005" /> … … 34 34 </Window> 35 35 </Window> 36 <Window Type=" TaharezLook/Button" Name="orxonox/KeyBindBackButton" >36 <Window Type="MenuWidgets/Button" Name="orxonox/KeyBindBackButton" > 37 37 <Property Name="Text" Value="Back" /> 38 38 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/MainMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/MainMenuBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/MainMenuBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> 7 7 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1.0 2125,0},{1.02167,0}}" />8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1.0,0},{1.0,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/Button" Name="orxonox/QuickGameTestButton" >10 <Window Type="MenuWidgets/Button" Name="orxonox/QuickGameTestButton" > 11 11 <Property Name="Text" Value="Quickstart" /> 12 12 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 14 14 <Event Name="Clicked" Function="MainMenu.QuickGameTestButton_clicked"/> 15 15 </Window> 16 <Window Type=" TaharezLook/Button" Name="orxonox/SingleplayerButton" >16 <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerButton" > 17 17 <Property Name="Text" Value="Singleplayer" /> 18 18 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 20 20 <Event Name="Clicked" Function="MainMenu.SingleplayerButton_clicked"/> 21 21 </Window> 22 <Window Type=" TaharezLook/Button" Name="orxonox/MultiplayerButton" >22 <Window Type="MenuWidgets/Button" Name="orxonox/MultiplayerButton" > 23 23 <Property Name="Text" Value="Multiplayer" /> 24 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 26 26 <Event Name="Clicked" Function="MainMenu.MultiplayerButton_clicked"/> 27 27 </Window> 28 <Window Type=" TaharezLook/Button" Name="orxonox/SettingsButton" >28 <Window Type="MenuWidgets/Button" Name="orxonox/SettingsButton" > 29 29 <Property Name="Text" Value="Settings" /> 30 30 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 32 32 <Event Name="Clicked" Function="MainMenu.SettingsButton_clicked"/> 33 33 </Window> 34 <Window Type=" TaharezLook/Button" Name="orxonox/CreditsButton" >34 <Window Type="MenuWidgets/Button" Name="orxonox/CreditsButton" > 35 35 <Property Name="Text" Value="Credits" /> 36 36 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 38 38 <Event Name="Clicked" Function="MainMenu.CreditsButton_clicked"/> 39 39 </Window> 40 <Window Type=" TaharezLook/Button" Name="orxonox/ExitButton" >40 <Window Type="MenuWidgets/Button" Name="orxonox/ExitButton" > 41 41 <Property Name="Text" Value="Exit" /> 42 42 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/MainMenuBackground.layout
r6417 r6746 1 1 <?xml version="1.0" ?> 2 2 <GUILayout> 3 <Window Type=" TaharezLook/StaticImage" Name="orxonox/Background">3 <Window Type="MenuWidgets/StaticImage" Name="orxonox/Background"> 4 4 <Property Name="UnifiedSize" Value="{{1.0,0},{1.0,0}}"/> 5 5 <Property Name="Image" Value="set:MainMenuBackground image:Background"/> -
code/trunk/data/gui/layouts/MouseControlsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/MouseControlsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/MouseControlsBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/MouseControlsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/MouseControlsWindow" > 11 11 <Property Name="Text" Value="Mouse controls" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/StaticText" Name="orxonox/MouseNormalSensitivity" >18 <Window Type="MenuWidgets/StaticText" Name="orxonox/MouseNormalSensitivity" > 19 19 <Property Name="Text" Value="Sensitivity (normal mode) " /> 20 20 <Property Name="InheritsAlpha" Value="False" /> … … 23 23 <Property Name="VertFormatting" Value="TopAligned" /> 24 24 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.95,0},{0.45,0}}" /> 25 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/MouseNormalScrollbar" >25 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/MouseNormalScrollbar" > 26 26 <Property Name="PageSize" Value="0" /> 27 27 <Property Name="StepSize" Value="1" /> … … 36 36 <Event Name="ScrollPosChanged" Function="MouseControlsMenu.MouseControlsMouseNormalScrollbar_changed" /> 37 37 </Window> 38 <Window Type=" TaharezLook/RadioButton" Name="orxonox/MouseNormalButton" >38 <Window Type="MenuWidgets/RadioButton" Name="orxonox/MouseNormalButton" > 39 39 <Property Name="Text" Value="Normal mouse input" /> 40 40 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 43 43 </Window> 44 44 </Window> 45 <Window Type=" TaharezLook/StaticText" Name="orxonox/MouseDeriveSensitivity" >45 <Window Type="MenuWidgets/StaticText" Name="orxonox/MouseDeriveSensitivity" > 46 46 <Property Name="Text" Value="Sensitivity (derive mode) " /> 47 47 <Property Name="InheritsAlpha" Value="False" /> … … 50 50 <Property Name="VertFormatting" Value="TopAligned" /> 51 51 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.55,0},{0.95,0},{0.8,0}}" /> 52 <Window Type=" TaharezLook/HorizontalScrollbar" Name="orxonox/MouseDeriveScrollbar" >52 <Window Type="MenuWidgets/HorizontalScrollbar" Name="orxonox/MouseDeriveScrollbar" > 53 53 <Property Name="PageSize" Value="0" /> 54 54 <Property Name="StepSize" Value="1" /> … … 63 63 <Event Name="ScrollPosChanged" Function="MouseControlsMenu.MouseControlsMouseDeriveScrollbar_changed" /> 64 64 </Window> 65 <Window Type=" TaharezLook/RadioButton" Name="orxonox/MouseDeriveButton" >65 <Window Type="MenuWidgets/RadioButton" Name="orxonox/MouseDeriveButton" > 66 66 <Property Name="Text" Value="Derive mouse input" /> 67 67 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 70 70 </Window> 71 71 </Window> 72 <Window Type=" TaharezLook/Checkbox" Name="orxonox/MouseInvertCheckbox" >72 <Window Type="MenuWidgets/Checkbox" Name="orxonox/MouseInvertCheckbox" > 73 73 <Property Name="Text" Value="Invert mouse" /> 74 74 <Property Name="Disabled" Value="true" /> … … 78 78 </Window> 79 79 </Window> 80 <Window Type=" TaharezLook/Button" Name="orxonox/MouseControlsBackButton" >80 <Window Type="MenuWidgets/Button" Name="orxonox/MouseControlsBackButton" > 81 81 <Property Name="Text" Value="Back" /> 82 82 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/MultiplayerMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/MultiplayerBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/MultiplayerBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/MultiplayerWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/MultiplayerWindow" > 11 11 <Property Name="Text" Value="Multiplayer" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/Listbox" Name="orxonox/MultiplayerLevelListbox" >18 <Window Type="MenuWidgets/Listbox" Name="orxonox/MultiplayerLevelListbox" > 19 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 20 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.8,0}}" /> 21 21 </Window> 22 <Window Type=" TaharezLook/RadioButton" Name="orxonox/MultiplayerJoinButton" >22 <Window Type="MenuWidgets/RadioButton" Name="orxonox/MultiplayerJoinButton" > 23 23 <Property Name="Text" Value="Join" /> 24 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 26 26 <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerJoinButton_clicked"/> 27 27 </Window> 28 <Window Type=" TaharezLook/RadioButton" Name="orxonox/MultiplayerHostButton" >28 <Window Type="MenuWidgets/RadioButton" Name="orxonox/MultiplayerHostButton" > 29 29 <Property Name="Text" Value="Host" /> 30 30 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 32 32 <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerHostButton_clicked"/> 33 33 </Window> 34 <Window Type=" TaharezLook/RadioButton" Name="orxonox/MultiplayerDedicatedButton" >34 <Window Type="MenuWidgets/RadioButton" Name="orxonox/MultiplayerDedicatedButton" > 35 35 <Property Name="Text" Value="Dedicated" /> 36 36 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 39 39 </Window> 40 40 </Window> 41 <Window Type=" TaharezLook/Button" Name="orxonox/MultiplayerStartButton" >41 <Window Type="MenuWidgets/Button" Name="orxonox/MultiplayerStartButton" > 42 42 <Property Name="Text" Value="Start" /> 43 43 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 45 45 <Event Name="Clicked" Function="MultiplayerMenu.MultiplayerStartButton_clicked"/> 46 46 </Window> 47 <Window Type=" TaharezLook/Button" Name="orxonox/MultiplayerBackButton" >47 <Window Type="MenuWidgets/Button" Name="orxonox/MultiplayerBackButton" > 48 48 <Property Name="Text" Value="Back" /> 49 49 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/MultiplayerOptionsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/MultiplayerOptionsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/MultiplayerOptionsBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/MultiplayerOptionsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/MultiplayerOptionsWindow" > 11 11 <Property Name="Text" Value="Multiplayer options" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 18 </Window> 19 <Window Type=" TaharezLook/Button" Name="orxonox/MultiplayerOptionsBackButton" >19 <Window Type="MenuWidgets/Button" Name="orxonox/MultiplayerOptionsBackButton" > 20 20 <Property Name="Text" Value="Back" /> 21 21 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/PickupInventory.layout
r6711 r6746 6 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type=" TaharezLook/StaticText" Name="orxonox/PickupInventory/PickupInventory" >8 <Window Type="MenuWidgets/StaticText" Name="orxonox/PickupInventory/PickupInventory" > 9 9 <Property Name="Text" Value="Pickup Inventory" /> 10 10 <Property Name="Alpha" Value="0.8" /> … … 14 14 <Property Name="VertFormatting" Value="TopAligned" /> 15 15 <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.15,0},{0.85,0},{0.8,0}}" /> 16 <Window Type=" TaharezLook/StaticText" Name="orxonox/PickupInventory/Wrapper" >16 <Window Type="MenuWidgets/StaticText" Name="orxonox/PickupInventory/Wrapper" > 17 17 <Property Name="TextColours" Value="FF4444FF" /> 18 18 <Property Name="InheritsAlpha" Value="False" /> … … 21 21 <Property Name="VertFormatting" Value="TopAligned" /> 22 22 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" /> 23 <Window Type=" TaharezLook/ScrollablePane" Name="orxonox/PickupInventory/Inventory" >23 <Window Type="MenuWidgets/ScrollablePane" Name="orxonox/PickupInventory/Inventory" > 24 24 <Property Name="ContentArea" Value="l:0 t:0 r:0 b:0" /> 25 25 <Property Name="HorzStepSize" Value="0.005" /> … … 34 34 </Window> 35 35 </Window> 36 <Window Type=" TaharezLook/Button" Name="orxonox/PickupInventory/InventoryBackButton" >36 <Window Type="MenuWidgets/Button" Name="orxonox/PickupInventory/InventoryBackButton" > 37 37 <Property Name="Text" Value="Back" /> 38 38 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/QuestGUI.layout
r6417 r6746 1 1 <?xml version="1.0" ?> 2 2 <GUILayout> 3 <Window Type=" TaharezLook/StaticImage" Name="orxonox/QuestGUI/Background">3 <Window Type="MenuWidgets/StaticImage" Name="orxonox/QuestGUI/Background"> 4 4 <Property Name="UnifiedSize" Value="{{1.0,0},{1.0,0}}"/> 5 5 <Property Name="Image" Value="set:MainMenuBackground image:Background"/> … … 8 8 <Property Name="InheritsAlpha" Value="False" /> 9 9 10 <Window Type=" TaharezLook/Titlebar" Name="orxonox/QuestGUI/Title">10 <Window Type="MenuWidgets/Titlebar" Name="orxonox/QuestGUI/Title"> 11 11 <Property Name="UnifiedPosition" Value="{{0.05,0},{0.05,0}}"/> 12 12 <Property Name="UnifiedSize" Value="{{0.9,0},{0.05,0}}"/> … … 14 14 </Window> 15 15 16 <Window Type=" TaharezLook/Listbox" Name="orxonox/QuestGUI/QuestsList">16 <Window Type="MenuWidgets/Listbox" Name="orxonox/QuestGUI/QuestsList"> 17 17 <Property Name="UnifiedPosition" Value="{{0.07,0},{0.18,0}}" /> 18 18 <Property Name="UnifiedSize" Value="{{0.86,0},{0.8,0}}" /> -
code/trunk/data/gui/layouts/SettingsMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/SettingsBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/SettingsBackground" > 5 5 <Property Name="InheritsAlpha" Value="False" /> 6 6 <Property Name="FrameEnabled" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/SettingsWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/SettingsWindow" > 11 11 <Property Name="Text" Value="Settings" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/Button" Name="orxonox/GameplayButton" >18 <Window Type="MenuWidgets/Button" Name="orxonox/GameplayButton" > 19 19 <Property Name="Text" Value="Gameplay" /> 20 20 <Property Name="Disabled" Value="True" /> … … 23 23 <Event Name="Clicked" Function="SettingsMenu.SettingsGameplayButton_clicked"/> 24 24 </Window> 25 <Window Type=" TaharezLook/Button" Name="orxonox/MultiplayerOptionsButton" >25 <Window Type="MenuWidgets/Button" Name="orxonox/MultiplayerOptionsButton" > 26 26 <Property Name="Text" Value="Multiplayer options" /> 27 27 <Property Name="Disabled" Value="True" /> … … 30 30 <Event Name="Clicked" Function="SettingsMenu.SettingsMultiplayerOptionsButton_clicked"/> 31 31 </Window> 32 <Window Type=" TaharezLook/Button" Name="orxonox/ControlsButton" >32 <Window Type="MenuWidgets/Button" Name="orxonox/ControlsButton" > 33 33 <Property Name="Text" Value="Controls" /> 34 34 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 36 36 <Event Name="Clicked" Function="SettingsMenu.SettingsControlsButton_clicked"/> 37 37 </Window> 38 <Window Type=" TaharezLook/Button" Name="orxonox/GraphicsButton" >38 <Window Type="MenuWidgets/Button" Name="orxonox/GraphicsButton" > 39 39 <Property Name="Text" Value="Graphics" /> 40 40 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 42 42 <Event Name="Clicked" Function="SettingsMenu.SettingsGraphicsButton_clicked"/> 43 43 </Window> 44 <Window Type=" TaharezLook/Button" Name="orxonox/AudioButton" >44 <Window Type="MenuWidgets/Button" Name="orxonox/AudioButton" > 45 45 <Property Name="Text" Value="Audio" /> 46 46 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 48 48 <Event Name="Clicked" Function="SettingsMenu.SettingsAudioButton_clicked"/> 49 49 </Window> 50 <Window Type=" TaharezLook/Button" Name="orxonox/ResetSettingsButton" >50 <Window Type="MenuWidgets/Button" Name="orxonox/ResetSettingsButton" > 51 51 <Property Name="Text" Value="Reset settings" /> 52 52 <Property Name="Disabled" Value="True" /> … … 56 56 </Window> 57 57 </Window> 58 <Window Type=" TaharezLook/Button" Name="orxonox/SettingsBackButton" >58 <Window Type="MenuWidgets/Button" Name="orxonox/SettingsBackButton" > 59 59 <Property Name="Text" Value="Back" /> 60 60 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/layouts/SingleplayerMenu.layout
r6417 r6746 2 2 3 3 <GUILayout > 4 <Window Type=" TaharezLook/StaticImage" Name="orxonox/SingleplayerBackground" >4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/SingleplayerBackground" > 5 5 <Property Name="FrameEnabled" Value="False" /> 6 6 <Property Name="InheritsAlpha" Value="False" /> … … 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type=" TaharezLook/StaticText" Name="orxonox/SingleplayerWindow" >10 <Window Type="MenuWidgets/StaticText" Name="orxonox/SingleplayerWindow" > 11 11 <Property Name="Text" Value="Singleplayer" /> 12 12 <Property Name="Alpha" Value="0.8" /> … … 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" /> 18 <Window Type=" TaharezLook/Listbox" Name="orxonox/SingleplayerLevelListbox" >18 <Window Type="MenuWidgets/Listbox" Name="orxonox/SingleplayerLevelListbox" > 19 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 20 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" /> 21 21 </Window> 22 22 </Window> 23 <Window Type=" TaharezLook/Button" Name="orxonox/SingleplayerStartButton" >23 <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerStartButton" > 24 24 <Property Name="Text" Value="Start" /> 25 25 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 27 27 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/> 28 28 </Window> 29 <Window Type=" TaharezLook/Button" Name="orxonox/SingleplayerBackButton" >29 <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerBackButton" > 30 30 <Property Name="Text" Value="Back" /> 31 31 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> -
code/trunk/data/gui/schemes/OrxonoxGUIScheme.scheme
r6711 r6746 3 3 <Imageset Name="MainMenuBackground" Filename="MainMenuBackground.imageset"/> 4 4 <Imageset Name="PickupInventory" Filename="PickupInventory.imageset"/> 5 <Font Name="BlueHighway-12" Filename="bluehighway-12.font" /> 6 <Font Name="BlueHighway-10" Filename="bluehighway-10.font" /> 7 <Font Name="BlueHighway-8" Filename="bluehighway-8.font" /> 5 8 </GUIScheme> -
code/trunk/data/gui/schemes/TaharezLook.scheme
r5781 r6746 2 2 <GUIScheme Name="TaharezLook"> 3 3 <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" /> 4 <Font Name="Commonwealth-10" Filename="Commonwealth-10.font" />5 4 <LookNFeel Filename="TaharezLook.looknfeel" /> 6 5 <WindowRendererSet Filename="CEGUIFalagardWRBase" /> 7 <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" /> 8 <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" /> 9 <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" /> 10 <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" /> 11 <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" /> 12 <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" /> 13 <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" /> 14 <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" /> 15 <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" /> 16 <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" /> 17 <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" /> 18 <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" /> 19 <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" /> 20 <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" /> 21 <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" /> 22 <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" /> 23 <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" /> 24 <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" /> 25 <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" /> 26 <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" /> 27 <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" /> 28 <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" /> 29 <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" /> 30 <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" /> 31 <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" /> 32 <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" /> 33 <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" /> 34 <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" /> 35 <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" /> 36 <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" /> 37 <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" /> 38 <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" /> 39 <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" /> 40 <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" /> 41 <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" /> 42 <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" /> 43 <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" /> 44 <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" /> 45 <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" /> 46 <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" /> 47 <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" /> 48 <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" /> 49 <FalagardMapping WindowType="TaharezLook/Tree" TargetType="CEGUI/Tree" Renderer="Falagard/Tree" LookNFeel="TaharezLook/Tree" /> 6 7 <!-- Standard widgets --> 8 <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" /> 9 <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" /> 10 <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" /> 11 <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" /> 12 <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" /> 13 <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" /> 14 <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" /> 15 <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" /> 16 <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" /> 17 <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" /> 18 <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" /> 19 <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" /> 20 <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" /> 21 <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" /> 22 <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" /> 23 <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" /> 24 <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" /> 25 <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" /> 26 <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" /> 27 <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" /> 28 <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" /> 29 <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" /> 30 <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" /> 31 <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" /> 32 <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" /> 33 <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" /> 34 <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" /> 35 <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" /> 36 <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" /> 37 <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" /> 38 <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" /> 39 <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" /> 40 <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" /> 41 <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" /> 42 <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" /> 43 <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" /> 44 <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" /> 45 <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" /> 46 <FalagardMapping WindowType="TaharezLook/Tree" TargetType="CEGUI/Tree" Renderer="Falagard/Tree" LookNFeel="TaharezLook/Tree" /> 47 48 <!-- Additional widgets --> 49 <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" /> 50 <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" /> 51 <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" /> 52 <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" /> 50 53 </GUIScheme> -
code/trunk/data/gui/schemes/WindowsLook.scheme
r5781 r6746 1 1 <?xml version="1.0" ?> 2 <GUIScheme Name="WindowsLookSkin"> 3 <Imageset Name="WindowsLook" Filename="WindowsLook.imageset" /> 4 <LookNFeel Filename="WindowsLook.looknfeel" /> 5 <WindowSet Filename="CEGUIFalagardWRBase" /> 6 <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" /> 7 <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" /> 8 <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" /> 9 <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" /> 10 <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" /> 11 <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" /> 12 <FalagardMapping WindowType="WindowsLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/SystemButton" /> 13 <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" /> 14 <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" /> 15 <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" /> 16 <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" /> 17 <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" /> 18 <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" /> 19 <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" /> 20 <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" /> 21 <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" /> 22 <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" /> 23 <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" /> 24 <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" /> 25 <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" /> 26 <FalagardMapping WindowType="WindowsLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabButtonPane" /> 27 <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" /> 28 <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" /> 29 <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" /> 30 <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" /> 31 <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" /> 32 <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" /> 33 <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" /> 34 <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" /> 35 <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" /> 36 <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" /> 37 <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" /> 38 <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" /> 39 <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" /> 40 <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" /> 41 <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" /> 42 <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" /> 43 <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" /> 2 <GUIScheme Name="WindowsLook"> 3 <Imageset Name="WindowsLook" Filename="WindowsLook.imageset" /> 4 <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" /> 5 <LookNFeel Filename="WindowsLook.looknfeel" /> 6 <LookNFeel Filename="TaharezLook.looknfeel" /> 7 <WindowRendererSet Filename="CEGUIFalagardWRBase" /> 8 9 <!-- Standard widgets --> 10 <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" /> 11 <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" /> 12 <FalagardMapping WindowType="WindowsLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabButtonPane" /> 13 <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" /> 14 <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" /> 15 <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" /> 16 <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" /> 17 <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" /> 18 <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" /> 19 <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" /> 20 <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" /> 21 <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" /> 22 <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" /> 23 <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" /> 24 <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" /> 25 <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" /> 26 <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" /> 27 <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" /> 28 <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" /> 29 <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" /> 30 <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" /> 31 <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" /> 32 <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" /> 33 <FalagardMapping WindowType="WindowsLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/Button" /> 34 <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" /> 35 <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" /> 36 <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" /> 37 <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" /> 38 <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" /> 39 <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" /> 40 <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" /> 41 <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" /> 42 <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" /> 43 <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" /> 44 <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" /> 45 <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" /> 46 47 <!-- Missing widgets (using Taharez LookNFeel) --> 48 <FalagardMapping WindowType="WindowsLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" /> 49 <FalagardMapping WindowType="WindowsLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" /> 50 <FalagardMapping WindowType="WindowsLook/Tree" TargetType="CEGUI/Tree" Renderer="Falagard/Tree" LookNFeel="TaharezLook/Tree" /> 51 52 <!-- Additional widgets --> 53 <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" /> 54 <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" /> 44 55 </GUIScheme> -
code/trunk/data/gui/scripts/AudioMenu.lua
r6417 r6746 1 1 -- AudioMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 AudioMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("AudioMenu") 10 4 11 P.filename = "AudioMenu" 12 P.layoutString = "AudioMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 soundMgr = orxonox.SoundManager:getInstance() 16 7 block = false … … 43 34 for k,v in pairs(themeList) do 44 35 item = CEGUI.createListboxTextItem(v) 45 item:setSelectionBrushImage( "TaharezLook", "MultiListSelectionBrush")36 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 46 37 CEGUI.toListbox(listboxwindow):addItem(item) 47 38 end … … 178 169 179 170 function P.AudioBackButton_clicked(e) 180 hide GUI(P.filename)171 hideMenuSheet(P.name) 181 172 end 182 173 -
code/trunk/data/gui/scripts/ControlsMenu.lua
r6417 r6746 1 1 -- ControlsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 ControlsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "ControlsMenu" 12 P.layoutString = "ControlsMenu.layout" 3 local P = createMenuSheet("ControlsMenu") 13 4 14 5 function P.ControlsMouseControlsButton_clicked(e) 15 show GUI("MouseControlsMenu", true)6 showMenuSheet("MouseControlsMenu", true) 16 7 end 17 8 18 9 function P.ControlsKeyboardControlsButton_clicked(e) 19 show GUI("KeyBindMenu", true)10 showMenuSheet("KeyBindMenu", true) 20 11 end 21 12 22 13 function P.ControlsBackButton_clicked(e) 23 hide GUI(P.filename)14 hideMenuSheet(P.name) 24 15 end 25 16 -
code/trunk/data/gui/scripts/CreditsMenu.lua
r6417 r6746 1 1 -- CreditsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 CreditsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "CreditsMenu" 12 P.layoutString = "CreditsMenu.layout" 3 local P = createMenuSheet("CreditsMenu") 13 4 14 5 function P.CreditsBackButton_clicked(e) 15 hide GUI(P.filename)6 hideMenuSheet(P.name) 16 7 end 17 8 -
code/trunk/data/gui/scripts/DecisionPopup.lua
r6417 r6746 1 1 -- DecisionPopup.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 DecisionPopup = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "DecisionPopup" 12 P.layoutString = "DecisionPopup.layout" 13 14 function P:init() 15 end 3 local P = createMenuSheet("DecisionPopup") 16 4 17 5 function P.setCallback(functionPtr) … … 28 16 P.functionPtr(true) 29 17 end 30 hide GUI("DecisionPopup")18 hideMenuSheet("DecisionPopup") 31 19 end 32 20 … … 35 23 P.functionPtr(false) 36 24 end 37 hide GUI("DecisionPopup")25 hideMenuSheet("DecisionPopup") 38 26 end 39 27 -
code/trunk/data/gui/scripts/GUITools.lua
r6417 r6746 1 -- Returns a new menu sheet 2 -- See MenuSheet.new for details about the parameters 3 function createMenuSheet(name, bHidePrevious, tShowCursor, tUseKeyboard, bBlockJoyStick) 4 local sheet = require("MenuSheet").new(name, bHidePrevious, tShowCursor, tUseKeyboard, bBlockJoyStick) 5 _G[sheet.name] = sheet -- Global access required because of the event handlers 6 return sheet 7 end 8 9 -- Returns a new HUD sheet 10 function createHUDSheet(name) 11 local sheet = require("HUDSheet").new(name) 12 _G[sheet.name] = sheet -- Global access required because of the event handlers 13 return sheet 14 end 15 1 16 function openDecisionPopup( text, callbackPtr ) 2 show GUI("DecisionPopup", false, true)17 showMenuSheet("DecisionPopup", false, true) 3 18 DecisionPopup.setCallback(callbackPtr) 4 19 DecisionPopup.setText(text) … … 6 21 7 22 function openInfoPopup(text, functionPtr, closeButton, arguments) 8 show GUI("InfoPopup", false, true)23 showMenuSheet("InfoPopup", false, true) 9 24 InfoPopup.execute(functionPtr, arguments) 10 25 InfoPopup.setText(text) -
code/trunk/data/gui/scripts/GameplayMenu.lua
r6417 r6746 1 1 -- GameplayMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 GameplayMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("GameplayMenu") 10 4 11 P.filename = "GameplayMenu" 12 P.layoutString = "GameplayMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 dropdown = winMgr:getWindow("orxonox/ThemeCombobox") 16 7 local themeList = {} … … 20 11 for k,v in pairs(themeList) do 21 12 item = CEGUI.createListboxTextItem(v) 22 item:setSelectionBrushImage( "TaharezLook", "MultiListSelectionBrush")13 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 23 14 CEGUI.toCombobox(dropdown):addItem(item) 24 15 end … … 27 18 function P.GameplayThemeCombobox_changed(e) 28 19 -- theme 29 debug("event: theme")20 logMessage(0, "event: theme") 30 21 end 31 22 32 23 function P.GameplayDifficultyEasyButton_clicked(e) 33 24 -- difficulty easy 34 debug("event: easy")25 logMessage(0, "event: easy") 35 26 end 36 27 37 28 function P.GameplayDifficultyNormalButton_clicked(e) 38 29 -- difficulty normal 39 debug("event: normal")30 logMessage(0, "event: normal") 40 31 end 41 32 42 33 function P.GameplayDifficultyHardButton_clicked(e) 43 34 -- difficulty hard 44 debug("event: hard")35 logMessage(0, "event: hard") 45 36 end 46 37 47 38 function P.GameplayBackButton_clicked(e) 48 hide GUI(P.filename)39 hideMenuSheet(P.name) 49 40 end 50 41 -
code/trunk/data/gui/scripts/GraphicsMenu.lua
r6417 r6746 1 1 -- GraphicsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 GraphicsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("GraphicsMenu") 10 4 11 P.filename = "GraphicsMenu" 12 P.layoutString = "GraphicsMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 block = true 16 7 file = orxonox.PathConfig:getConfigPathString() .. orxonox.getConfig("GraphicsManager", "ogreConfigFile_") … … 62 53 for k,v in pairs(resolutionList) do 63 54 item = CEGUI.createListboxTextItem(v) 64 item:setSelectionBrushImage( "TaharezLook", "MultiListSelectionBrush")55 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 65 56 CEGUI.toListbox(listboxwindow):addItem(item) 66 57 end … … 152 143 if scrollbar_active == false then 153 144 -- brightness 154 debug("event: brightness")145 logMessage(0, "event: brightness") 155 146 end 156 147 end … … 162 153 function P.GraphicsBrightnessScrollbar_ended(e) 163 154 -- brightness 164 debug("event: brightness")155 logMessage(0, "event: brightness") 165 156 scrollbar_active = false 166 157 end … … 201 192 202 193 function P.GraphicsBackButton_clicked(e) 203 hide GUI(P.filename)194 hideMenuSheet(P.name) 204 195 end 205 196 -
code/trunk/data/gui/scripts/InGameMenu.lua
r6417 r6746 1 1 -- InGameMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 InGameMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "InGameMenu" 12 P.layoutString = "InGameMenu.layout" 13 14 function P:init() 15 end 16 3 local P = createMenuSheet("InGameMenu") 17 4 18 5 -- events for ingamemenu … … 25 12 orxonox.Game:getInstance():popState() 26 13 orxonox.Game:getInstance():requestState("mainmenu") 27 hide GUI("InGameMenu")14 hideMenuSheet("InGameMenu") 28 15 end 29 16 30 17 function P.button_settings_clicked(e) 31 show GUI("SettingsMenu", true)18 showMenuSheet("SettingsMenu", true) 32 19 end 33 20 34 21 function P.button_return_clicked(e) 35 hide GUI("InGameMenu")22 hideMenuSheet("InGameMenu") 36 23 end 37 24 38 25 function P.callback(doExit) 39 26 if doExit then 40 hide GUI("InGameMenu")27 hideMenuSheet("InGameMenu") 41 28 orxonox.execute("exit") 42 29 end -
code/trunk/data/gui/scripts/InfoPopup.lua
r6417 r6746 1 1 -- InfoPopup.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 6 if _REQUIREDNAME == nil then 7 InfoPopup = P 8 else 9 _G[_REQUIREDNAME] = P 10 end 11 12 P.filename = "InfoPopup" 13 P.layoutString = "InfoPopup.layout" 14 15 function P:init() 16 end 3 local P = createMenuSheet("InfoPopup") 17 4 18 5 function P.execute(functionPtr, arguments) … … 26 13 end 27 14 28 function P.setText( text)15 function P.setText(text) 29 16 winMgr:getWindow("orxonox/InfoPopup_text"):setText( text ) 30 17 end … … 42 29 -- events for ingamemenu 43 30 function P.close(e) 44 hide GUI("InfoPopup")31 hideMenuSheet(P.name) 45 32 end 46 33 -
code/trunk/data/gui/scripts/InitialiseGUI.lua
r6711 r6746 1 local schemeMgr = CEGUI.SchemeManager:getSingleton() 2 winMgr = CEGUI.WindowManager:getSingleton()3 local logger = CEGUI.Logger:getSingleton()4 local system = CEGUI.System:getSingleton()5 local cursor = CEGUI.MouseCursor:getSingleton()1 -- Define some global shortcuts for common Managers 2 guiMgr = orxonox.GUIManager:getInstance() 3 inputMgr = orxonox.InputManager:getInstance() 4 schemeMgr = CEGUI.SchemeManager:getSingleton() 5 winMgr = CEGUI.WindowManager:getSingleton() 6 6 7 schemeMgr:loadScheme("TaharezLookSkin.scheme") 8 -- load scheme with our own images 7 -- Load all required skins 8 schemeMgr:loadScheme("TaharezGreenLook.scheme") 9 --schemeMgr:loadScheme("TaharezLook.scheme") 10 --schemeMgr:loadScheme("WindowsLook.scheme") 11 --schemeMgr:loadScheme("VanillaLook.scheme") 12 --schemeMgr:loadScheme("SleekSpaceLook.scheme") 13 14 -- Connect skin specific window types with our own window types 15 -- By loading a different file (if there is) you can change the skin 16 -- of the menus or the HUD independently 17 schemeMgr:loadScheme("TaharezGreenMenuWidgets.scheme") 18 menuImageSet = "TaharezGreenLook" 19 schemeMgr:loadScheme("TaharezGreenHUDWidgets.scheme") 20 hudImageSet = "TaharezGreenLook" 21 22 -- Just a remaining test hack 9 23 schemeMgr:loadScheme("OrxonoxGUIScheme.scheme") 10 24 11 system:setDefaultMouseCursor("TaharezLook", "MouseArrow") 25 local system = CEGUI.System:getSingleton() 26 system:setDefaultMouseCursor(menuImageSet, "MouseArrow") 12 27 system:setDefaultFont("BlueHighway-12") 13 system:setDefaultTooltip(" TaharezLook/Tooltip")28 system:setDefaultTooltip("MenuWidgets/Tooltip") 14 29 15 loadedGUIs = {} 16 cursorVisibility = {} 17 activeSheets = {} 18 nrOfActiveSheets = 0 19 root = nil 20 bShowsCursor = false 21 bHidePrevious = {} 22 23 -- Require all tools 30 -- Convenience function and additional tools 24 31 require("GUITools") 25 26 -- loads the GUI with the specified filename27 -- be sure to set the global variable "filename" before calling this function28 function loadGUI(filename)29 -- check if it already exists30 loadedGui = loadedGUIs[filename]31 if loadedGui == nil then32 loadedGuiNS = require(filename)33 if loadedGuiNS == nil then34 return35 end36 loadedGui = loadedGuiNS:load()37 loadedGUIs[filename] = loadedGui38 -- if there has no GUI been loaded yet, set new GUI as current39 if table.getn(loadedGUIs) == 1 then40 current = loadedGUIs[1]41 end42 -- hide new GUI as we do not want to show it accidentially43 loadedGui:hide()44 end45 return loadedGui46 end47 48 function showGUI(filename, hidePrevious, bCursorVisible, ptr)49 gui = showGUI(filename, hidePrevious, bCursorVisible)50 gui.overlay = ptr51 end52 53 -- shows the specified and loads it if not loaded already54 -- be sure to set the global variable "filename" before calling this function55 function showGUI(filename, hidePrevious, bCursorVisible)56 if bCursorVisible == nil then57 if nrOfActiveSheets > 0 then58 bCursorVisible = cursorVisibility[activeSheets[nrOfActiveSheets]]59 else60 bCursorVisible = true61 end62 end63 64 if root == nil then65 setBackground("")66 end67 68 local currentGUI = loadedGUIs[filename]69 if(currentGUI == nil) then70 currentGUI = loadGUI(filename)71 end72 73 if(root:isChild(currentGUI.window)) then74 root:removeChildWindow(currentGUI.window)75 end76 root:addChildWindow(currentGUI.window)77 78 if bCursorVisible then79 showCursor()80 else81 hideCursor()82 end83 84 if find( activeSheets, filename ) ~= nil then85 table.remove( activeSheets, find( activeSheets, filename ) )86 nrOfActiveSheets = nrOfActiveSheets - 187 else88 if nrOfActiveSheets == 0 then89 orxonox.InputManager:getInstance():enterState("guiMouseOnly")90 orxonox.HumanController:pauseControl()91 end92 end93 nrOfActiveSheets = nrOfActiveSheets + 194 table.insert(activeSheets, filename)95 activeSheets[nrOfActiveSheets] = filename96 bHidePrevious[filename]=hidePrevious97 cursorVisibility[filename] = bCursorVisible98 99 if hidePrevious == true then100 for i=1,nrOfActiveSheets-1 do101 loadedGUIs[ activeSheets[i] ]:hide()102 end103 end104 currentGUI:show()105 return currentGUI106 end107 108 function hideCursor()109 if bShowsCursor==true then110 bShowsCursor=false111 cursor:hide()112 end113 end114 115 function showCursor()116 if bShowsCursor==false then117 bShowsCursor=true118 cursor:show()119 end120 end121 122 function hideGUI(filename)123 local currentGUI = loadedGUIs[filename]124 if currentGUI == nil then125 return126 end127 currentGUI:hide()128 if bHidePrevious[filename] == true then129 local i = nrOfActiveSheets-1130 while i>0 do131 loadedGUIs[ activeSheets[i] ]:show()132 if bHidePrevious[filename]==true then133 break134 else135 i=i-1136 end137 end138 end139 root:removeChildWindow(currentGUI.window)140 local i=1141 while activeSheets[i] do142 if activeSheets[i+1] == nil then143 if activeSheets[i-1] ~= nil then144 if cursorVisibility[ activeSheets[i-1] ] == true then145 showCursor()146 else147 hideCursor()148 end149 else150 hideCursor()151 end152 end153 if activeSheets[i] == filename then154 table.remove( activeSheets, i )155 nrOfActiveSheets = nrOfActiveSheets-1156 else157 i = i+1158 end159 end160 cursorVisibility[filename] = nil -- remove the cursor visibility of the current gui from the table161 bHidePrevious[filename] = nil162 if nrOfActiveSheets == 0 then163 orxonox.InputManager:getInstance():leaveState("guiMouseOnly")164 orxonox.HumanController:resumeControl()165 hideCursor()166 end167 end168 169 function hideAllGUIs()170 while nrOfActiveSheets ~= 0 do171 hideGUI(activeSheets[nrOfActiveSheets])172 end173 end174 175 function keyESC()176 if nrOfActiveSheets == 1 and activeSheets[1] == "MainMenu" then177 orxonox.execute("exit")178 elseif nrOfActiveSheets > 0 then179 orxonox.execute("hideGUI "..activeSheets[nrOfActiveSheets])180 else181 showGUI("InGameMenu")182 end183 end184 185 function setBackground(filename)186 local newroot187 if root ~= nil then188 root:rename("oldRootWindow")189 end190 if filename ~= "" then191 newroot = winMgr:loadWindowLayout(filename .. ".layout")192 newroot:rename("AbsoluteRootWindow")193 system:setGUISheet(newroot)194 else195 newroot = winMgr:createWindow("DefaultWindow", "AbsoluteRootWindow")196 newroot:setProperty("Alpha", "0.0")197 newroot:setSize(CEGUI.UVector2(CEGUI.UDim(1.0,0),CEGUI.UDim(1.0,0)))198 system:setGUISheet(newroot)199 end200 if root ~= nil then201 local child202 while root:getChildCount()~=0 do203 child = root:getChildAtIdx(0)204 root:removeChildWindow(child)205 newroot:addChildWindow(child)206 end207 winMgr:destroyWindow(root)208 end209 newroot:show()210 root = newroot211 end212 213 function find(table, value)214 local i=0215 while table[i] ~= nil do216 if table[i]==value then217 return i218 else219 i=i+1220 end221 end222 return nil223 end224 225 --TODO: Needed?226 function test(e)227 debug(0, "Blubb")228 end -
code/trunk/data/gui/scripts/KeyBindMenu.lua
r6549 r6746 1 1 -- KeyBindMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 6 if _REQUIREDNAME == nil then 7 KeyBindMenu = P 8 else 9 _G[_REQUIREDNAME] = P 10 end 11 12 P.filename = "KeyBindMenu" 13 P.layoutString = "KeyBindMenu.layout" 14 15 function P:init() 3 local P = createMenuSheet("KeyBindMenu") 4 5 function P.onLoad() 16 6 17 7 commandList = {} … … 68 58 69 59 --Calculate design parameters: 70 sampleWindow = winMgr:createWindow(" TaharezLook/StaticText", "orxonox/KeyBindPane/SampleWindow")60 sampleWindow = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/KeyBindPane/SampleWindow") 71 61 sampleWindow:setText("SampleText") 72 62 … … 125 115 line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, lineHeight*(k-1)))) 126 116 127 local command = winMgr:createWindow(" TaharezLook/StaticText", "orxonox/KeyBindPane/Binding" .. k .. "/Command")117 local command = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/KeyBindPane/Binding" .. k .. "/Command") 128 118 command:setText(nameList[k]) 129 119 command:setSize(CEGUI.UVector2(CEGUI.UDim(0, commandWidth), CEGUI.UDim(1, 0))) … … 132 122 offset = offset + commandWidth + spaceWidth 133 123 134 local plus = winMgr:createWindow(" TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Plus")124 local plus = winMgr:createWindow("MenuWidgets/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Plus") 135 125 plus:setSize(CEGUI.UVector2(CEGUI.UDim(0, addWidth), CEGUI.UDim(0.7, 0))) 136 126 plus:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0))) 137 127 plus:setText("add") 138 orxonox.GUIManager:subscribeEventHelper(plus, "Clicked", P. filename .. ".KeyBindPlus_clicked")128 orxonox.GUIManager:subscribeEventHelper(plus, "Clicked", P.name .. ".KeyBindPlus_clicked") 139 129 line:addChildWindow(plus) 140 130 offset = offset + addWidth + spaceWidth … … 142 132 local numButtons = orxonox.KeyBinderManager:getInstance():getCurrent():getNumberOfBindings(commandList[k]); 143 133 for i=0,(numButtons-1) do 144 local button = winMgr:createWindow(" TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Button" .. i)134 local button = winMgr:createWindow("MenuWidgets/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Button" .. i) 145 135 local name = orxonox.KeyBinderManager:getInstance():getCurrent():getBinding(commandList[k],i) 146 136 name = P.KeyNameNiceifier(name) … … 151 141 button:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0.7, 0))) 152 142 button:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0))) 153 orxonox.GUIManager:subscribeEventHelper(button, "Clicked", P. filename .. ".KeyBindButton_clicked")154 --button:subscribeScriptedEvent("EventClicked", P. filename .. ".KeyBindButton_clicked")143 orxonox.GUIManager:subscribeEventHelper(button, "Clicked", P.name .. ".KeyBindButton_clicked") 144 --button:subscribeScriptedEvent("EventClicked", P.name .. ".KeyBindButton_clicked") 155 145 line:addChildWindow(button) 156 146 offset = offset + buttonWidth 157 147 158 local clear = winMgr:createWindow(" TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Clear" .. i)148 local clear = winMgr:createWindow("MenuWidgets/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Clear" .. i) 159 149 clear:setSize(CEGUI.UVector2(CEGUI.UDim(0, clearWidth), CEGUI.UDim(0.7, 0))) 160 150 clear:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0))) 161 151 clear:setText("X") 162 orxonox.GUIManager:subscribeEventHelper(clear, "Clicked", P. filename .. ".KeyBindClear_clicked")152 orxonox.GUIManager:subscribeEventHelper(clear, "Clicked", P.name .. ".KeyBindClear_clicked") 163 153 line:addChildWindow(clear) 164 154 offset = offset + clearWidth + spaceWidth … … 254 244 255 245 function P.KeyBindBackButton_clicked(e) 256 hide GUI("KeyBindMenu")246 hideMenuSheet("KeyBindMenu") 257 247 end 258 248 -
code/trunk/data/gui/scripts/MainMenu.lua
r6417 r6746 1 1 -- MainMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 MainMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "MainMenu" 12 P.layoutString = "MainMenu.layout" 3 local P = createMenuSheet("MainMenu") 13 4 14 5 -- events for MainMenu … … 18 9 19 10 function P.SingleplayerButton_clicked(e) 20 show GUI("SingleplayerMenu", true)11 showMenuSheet("SingleplayerMenu", true) 21 12 end 22 13 23 14 function P.MultiplayerButton_clicked(e) 24 show GUI("MultiplayerMenu", true)15 showMenuSheet("MultiplayerMenu", true) 25 16 end 26 17 27 18 function P.SettingsButton_clicked(e) 28 show GUI("SettingsMenu", true)19 showMenuSheet("SettingsMenu", true) 29 20 end 30 21 31 22 function P.CreditsButton_clicked(e) 32 show GUI("CreditsMenu", true)23 showMenuSheet("CreditsMenu", true) 33 24 end 34 25 -
code/trunk/data/gui/scripts/MouseControlsMenu.lua
r6417 r6746 1 1 -- MouseControlsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 MouseControlsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("MouseControlsMenu") 10 4 11 P.filename = "MouseControlsMenu" 12 P.layoutString = "MouseControlsMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 block = false 16 7 mousenormalscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MouseNormalScrollbar"),"CEGUI::Scrollbar") … … 104 95 105 96 function P.MouseControlsBackButton_clicked(e) 106 hide GUI(P.filename)97 hideMenuSheet(P.name) 107 98 end 108 99 -
code/trunk/data/gui/scripts/MultiplayerMenu.lua
r6417 r6746 1 1 -- MultiplayerMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 MultiplayerMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("MultiplayerMenu") 10 4 11 P.filename = "MultiplayerMenu" 12 P.layoutString = "MultiplayerMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 listbox = winMgr:getWindow("orxonox/MultiplayerLevelListbox") 16 7 preselect = orxonox.LevelManager:getInstance():getDefaultLevel() … … 30 21 for k,v in pairs(levelList) do 31 22 item = CEGUI.createListboxTextItem(v) 32 item:setSelectionBrushImage( "TaharezLook", "MultiListSelectionBrush")23 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 33 24 CEGUI.toListbox(listbox):addItem(item) 34 25 if v .. ".oxw" == preselect then … … 71 62 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 72 63 orxonox.execute(multiplayerMode) 73 hideAll GUIs()64 hideAllMenuSheets() 74 65 end 75 66 end 76 67 77 68 function P.MultiplayerBackButton_clicked(e) 78 hide GUI(P.filename)69 hideMenuSheet(P.name) 79 70 end 80 71 -
code/trunk/data/gui/scripts/MultiplayerOptionsMenu.lua
r6417 r6746 1 1 -- MultiplayerOptionsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 MultiplayerOptionsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "MultiplayerOptionsMenu" 12 P.layoutString = "MultiplayerOptionsMenu.layout" 3 local P = createMenuSheet("MultiplayerOptionsMenu") 13 4 14 5 function P.MultiplayerOptionsBackButton_clicked(e) 15 hide GUI(P.filename)6 hideMenuSheet(P.name) 16 7 end 17 8 -
code/trunk/data/gui/scripts/PickupInventory.lua
r6711 r6746 1 1 -- PickupInventory.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 6 if _REQUIREDNAME == nil then 7 PickupInventory = P 8 else 9 _G[_REQUIREDNAME] = P 10 end 11 12 P.filename = "PickupInventory" 13 P.layoutString = "PickupInventory.layout" 3 local P = createMenuSheet("PickupInventory") 14 4 15 5 P.carrierList = {} … … 17 7 P.detailsWindows = {} 18 8 19 function P. init()9 function P.onLoad() 20 10 carrierList = {} 21 11 end … … 23 13 function P.show() 24 14 P.window:show() -- TODO: Do this through parent... 25 P. visible = true15 P.bVisible = true 26 16 27 17 P.createInventory() … … 137 127 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 138 128 useButton:setText("use") 139 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P. filename .. ".InventoryUseButton_clicked")129 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked") 140 130 item:addChildWindow(useButton) 141 131 … … 144 134 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 145 135 dropButton:setText("drop") 146 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P. filename .. ".InventoryDropButton_clicked")136 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.name .. ".InventoryDropButton_clicked") 147 137 item:addChildWindow(dropButton) 148 138 … … 151 141 detailsButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 152 142 detailsButton:setText("details") 153 orxonox.GUIManager:subscribeEventHelper(detailsButton, "Clicked", P. filename .. ".InventoryDetailsButton_clicked")143 orxonox.GUIManager:subscribeEventHelper(detailsButton, "Clicked", P.name .. ".InventoryDetailsButton_clicked") 154 144 item:addChildWindow(detailsButton) 155 145 end … … 201 191 local window = winMgr:createWindow("TaharezLook/FrameWindow", name) 202 192 window:setSize(CEGUI.UVector2(CEGUI.UDim(0.5,0),CEGUI.UDim(0.4,0))) 203 orxonox.GUIManager:subscribeEventHelper(window, "CloseClicked", P. filename .. ".closeDetailWindow")193 orxonox.GUIManager:subscribeEventHelper(window, "CloseClicked", P.name .. ".closeDetailWindow") 204 194 205 195 local root = winMgr:getWindow("orxonox/PickupInventory/Background") … … 240 230 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, titleHeight))) 241 231 useButton:setText("use") 242 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P. filename .. ".InventoryUseButton_clicked")232 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked") 243 233 wrapper:addChildWindow(useButton) 244 234 … … 247 237 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, titleHeight))) 248 238 dropButton:setText("drop") 249 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P. filename .. ".InventoryDropButton_clicked")239 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.name .. ".InventoryDropButton_clicked") 250 240 wrapper:addChildWindow(dropButton) 251 241 -
code/trunk/data/gui/scripts/QuestGUI.lua
r6711 r6746 1 gui = require("BasicGUI") 2 local P = BasicGUI:new() --inherit everything from the gui package 3 if _REQUIREDNAME == nil then 4 QuestGUI = P 5 else 6 _G[_REQUIREDNAME] = P 7 end 1 -- QuestGUI.lua 8 2 9 P.filename = "QuestGUI" 10 P.layoutString = "QuestGUI.layout" 3 local P = createMenuSheet("QuestGUI") 11 4 12 function P :show()13 self.window:show() -- TODO: Do this through parent...14 self.visible = true5 function P.show() 6 P.window:show() -- TODO: Do this through parent... 7 P.visible = true 15 8 16 9 local questManager = orxonox.QuestManager:getInstance() … … 18 11 local questsList = winMgr:getWindow("orxonox/QuestGUI/QuestsList") 19 12 20 local window = questManager:getQuestGUI(P. filename)13 local window = questManager:getQuestGUI(P.name) 21 14 22 15 questsList:addChildWindow(window) -
code/trunk/data/gui/scripts/SettingsMenu.lua
r6417 r6746 1 1 -- SettingsMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 SettingsMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 10 11 P.filename = "SettingsMenu" 12 P.layoutString = "SettingsMenu.layout" 3 local P = createMenuSheet("SettingsMenu") 13 4 14 5 function P.SettingsGameplayButton_clicked(e) 15 show GUI("GameplayMenu", true)6 showMenuSheet("GameplayMenu", true) 16 7 end 17 8 18 9 function P.SettingsMultiplayerOptionsButton_clicked(e) 19 show GUI("MultiplayerOptionsMenu", true)10 showMenuSheet("MultiplayerOptionsMenu", true) 20 11 end 21 12 22 13 function P.SettingsControlsButton_clicked(e) 23 show GUI("ControlsMenu", true)14 showMenuSheet("ControlsMenu", true) 24 15 end 25 16 26 17 function P.SettingsGraphicsButton_clicked(e) 27 show GUI("GraphicsMenu", true)18 showMenuSheet("GraphicsMenu", true) 28 19 end 29 20 30 21 function P.SettingsAudioButton_clicked(e) 31 show GUI("AudioMenu", true)22 showMenuSheet("AudioMenu", true) 32 23 end 33 24 34 25 function P.SettingsResetSettingsButton_clicked(e) 35 26 -- reset settings 36 debug("event: reset settings")27 logMessage(0, "event: reset settings") 37 28 end 38 29 39 30 function P.SettingsBackButton_clicked(e) 40 hide GUI(P.filename)31 hideMenuSheet(P.name) 41 32 end 42 33 -
code/trunk/data/gui/scripts/SingleplayerMenu.lua
r6417 r6746 1 1 -- SingleplayerMenu.lua 2 2 3 BasicGUI = require("BasicGUI") 4 local P = BasicGUI:new() --inherit everything from the gui package 5 if _REQUIREDNAME == nil then 6 SingleplayerMenu = P 7 else 8 _G[_REQUIREDNAME] = P 9 end 3 local P = createMenuSheet("SingleplayerMenu") 10 4 11 P.filename = "SingleplayerMenu" 12 P.layoutString = "SingleplayerMenu.layout" 13 14 function P:init() 5 function P.onLoad() 15 6 listbox = winMgr:getWindow("orxonox/SingleplayerLevelListbox") 16 7 preselect = orxonox.LevelManager:getInstance():getDefaultLevel() … … 30 21 for k,v in pairs(levelList) do 31 22 item = CEGUI.createListboxTextItem(v) 32 item:setSelectionBrushImage( "TaharezLook", "MultiListSelectionBrush")23 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 33 24 CEGUI.toListbox(listbox):addItem(item) 34 25 if v .. ".oxw" == preselect then … … 43 34 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 44 35 orxonox.execute("startGame") 45 hideAll GUIs()36 hideAllMenuSheets() 46 37 end 47 38 end 48 39 49 40 function P.SingleplayerBackButton_clicked(e) 50 hide GUI(P.filename)41 hideMenuSheet(P.name) 51 42 end 52 43 -
code/trunk/data/lua/LuaStateInit.lua
r6536 r6746 1 1 -- Note: luaState is a pointer to the LuaState instance that created this lua state 2 2 3 -- Save original print function in debug4 debug = print5 6 3 -- Redirect print to the C++ print function 4 original_print = print 7 5 print = function(s) 8 6 luaState:luaPrint(s) … … 13 11 luaState:luaLog(level, message) 14 12 end 13 cout = logMessage 15 14 16 15 -- Redirect dofile in order to load with the resource manager 17 doFile = function(filename) 18 luaState:doFile(filename) 19 -- Required because the C++ function cannot return whatever might be on the stack 16 original_dofile = dofile 17 dofile = function(filename) 18 if not luaState:doFile(filename) then 19 error("Error propagation. Do not display") 20 end 21 -- Required because if the file returns a table, it cannot be passed through the C++ function 20 22 return LuaStateReturnValue -- C-injected global variable 21 23 end 22 original_dofile = dofile 23 dofile = doFile 24 doFile = dofile 24 25 25 26 -- Create includeFile function that preparses the file according 26 27 -- to a function provided to the LuaState constructor (in C++) 27 28 include = function(filename) 28 luaState:includeFile(filename) 29 -- Required because the C++ function cannot return whatever might be on the stack 29 if not luaState:includeFile(filename) then 30 error("Error propagation. Do not display") 31 end 32 -- Required because if the file returns a table, it cannot be passed through the C++ function 30 33 return LuaStateReturnValue -- C-injected global variable 31 34 end … … 34 37 -- The loaded modules are then stored with their names (where name has no .lua extension) 35 38 -- Furthermore the ".lua" extension is appended to the moduleName parameter when looking for the file 36 old_require = require 39 original_require = require 40 _REQUIREDNAME = "" 41 LuaStateReturnValue = true 37 42 require = function(moduleName) 38 43 if not luaState:fileExists(moduleName .. ".lua") then 44 logMessage(2, "Warning: Lua function require() could not find file '" .. moduleName .. ".lua' ") 39 45 return nil 40 46 end 47 41 48 if not _LOADED then 42 49 _LOADED = {} 43 50 end 51 if not _LOADED_RETURN_VALUES then 52 _LOADED_RETURN_VALUES = {} 53 end 54 44 55 if not _LOADED[moduleName] then 45 -- save old value 46 _REQUIREDNAME_OLD = _REQUIREDNAME56 -- save old value for the required name 57 local _REQUIREDNAME_OLD = _REQUIREDNAME 47 58 _REQUIREDNAME = moduleName 48 luaState:doFile(moduleName .. ".lua") 49 _LOADED[moduleName] = LuaStateReturnValue or true 59 60 if not luaState:doFile(moduleName .. ".lua") then 61 error("Error propagation. Do not display") 62 end 63 -- LuaStateReturnValue is required because if the file returns a table, 64 -- it cannot be passed through the C++ function 65 _LOADED_RETURN_VALUES[moduleName] = LuaStateReturnValue 66 _LOADED[moduleName] = true 67 50 68 -- restore old value 51 69 _REQUIREDNAME = _REQUIREDNAME_OLD 52 70 end 53 return _LOADED[moduleName] 71 local asdf = _LOADED_RETURN_VALUES[moduleName] 72 return asdf 54 73 end 74 75 76 -- Load useful tool functions (like handleDefaultArgument) 77 require("Tools") 78 79 80 -- Include command line debugger for lua 5.1 81 -- Note: It doesn't work if the IOConsole was started. Then we replace pause() with a warning 82 if _VERSION ~= "Lua 5.0" and not luaState:usingIOConsole() then 83 require("Debugger") 84 else 85 -- Fallback pause function 86 pause = function() 87 logMessage(2, [["Warning: debug() called in Lua, but Debugger is not active. 88 Do you have the IOConsole disabled and are you using Lua version 5.1?"]]) 89 end 90 end 91 92 -- General error handler that gets called whenever an error happens at runtime 93 errorHandler = function(err) 94 if type(err) == "string" then 95 -- Simply return if the error has already been handled 96 if string.find(err, "Error propagation. Do not display") ~= nil then 97 return err 98 end 99 -- Display the error message 100 logMessage(1, "Lua runtime error: "..err) 101 end 102 103 -- Start debugger if possible 104 if _LOADED and _LOADED["Debugger"] ~= nil then 105 pause() 106 else 107 -- Fallback: print stack trace 108 logMessage(3, debug.traceback("")) 109 end 110 return err -- Hello Lua debugger user! Please type 'set 2' to get to the 111 -- actual position in the stack where the error occurred 112 end 113 55 114 56 115 -- Convenience function for console commands -
code/trunk/src/libraries/core/Core.cc
r6417 r6746 78 78 79 79 SetCommandLineArgument(settingsFile, "orxonox.ini").information("THE configuration file"); 80 SetCommandLineSwitch(noIOConsole).information("Use this if you don't want to use the IOConsole (for instance for Lua debugging)"); 80 81 #ifdef ORXONOX_PLATFORM_WINDOWS 81 82 SetCommandLineArgument(limitToCPU, 1).information("Limits the program to one CPU/core (1, 2, 3, etc.). Default is the first core (faster than off)"); … … 88 89 , consoleCommandDestroyer_(CommandExecutor::destroyExternalCommands) 89 90 , bGraphicsLoaded_(false) 91 , bStartIOConsole_(true) 90 92 { 91 93 // Set the hard coded fixed paths … … 149 151 150 152 // create persistent io console 151 this->ioConsole_.reset(new IOConsole()); 153 if (CommandLineParser::getValue("noIOConsole").getBool()) 154 { 155 ModifyConfigValue(bStartIOConsole_, tset, false); 156 } 157 if (this->bStartIOConsole_) 158 this->ioConsole_.reset(new IOConsole()); 152 159 153 160 // creates the class hierarchy for all classes with factories … … 193 200 .description("If true, all random actions are different each time you start the game") 194 201 .callback(this, &Core::initRandomNumberGenerator); 202 SetConfigValue(bStartIOConsole_, true) 203 .description("Set to false if you don't want to use the IOConsole (for Lua debugging for instance)"); 195 204 } 196 205 … … 225 234 226 235 // Load the CEGUI interface 227 guiManager_.reset(new GUIManager(graphicsManager_->getRenderWindow(), 228 inputManager_->getMousePosition(), graphicsManager_->isFullScreen())); 236 guiManager_.reset(new GUIManager(inputManager_->getMousePosition())); 229 237 230 238 bGraphicsLoaded_ = true; … … 328 336 } 329 337 // Process console events and status line 330 this->ioConsole_->preUpdate(time); 338 if (this->ioConsole_ != NULL) 339 this->ioConsole_->preUpdate(time); 331 340 // Process thread commands 332 341 this->tclThreadManager_->preUpdate(time); -
code/trunk/src/libraries/core/Core.h
r6417 r6746 38 38 #include "util/ScopeGuard.h" 39 39 #include "util/Singleton.h" 40 #include " core/OrxonoxClass.h"40 #include "OrxonoxClass.h" 41 41 42 42 namespace orxonox … … 97 97 scoped_ptr<TclBind> tclBind_; 98 98 scoped_ptr<TclThreadManager> tclThreadManager_; 99 scoped_ptr<Scope<ScopeID::Root> > 99 scoped_ptr<Scope<ScopeID::Root> > rootScope_; 100 100 // graphical 101 101 scoped_ptr<GraphicsManager> graphicsManager_; //!< Interface to OGRE … … 108 108 std::string language_; //!< The language 109 109 bool bInitRandomNumberGenerator_; //!< If true, srand(time(0)) is called 110 bool bStartIOConsole_; //!< Set to false if you don't want to use the IOConsole 110 111 111 112 static Core* singletonPtr_s; -
code/trunk/src/libraries/core/GUIManager.cc
r6502 r6746 30 30 #include "GUIManager.h" 31 31 32 #include <boost/bind.hpp> 32 33 #include <memory> 33 34 extern "C" { … … 41 42 #include <CEGUISystem.h> 42 43 #include <CEGUIWindow.h> 44 #include <CEGUIWindowManager.h> 43 45 #include <ogreceguirenderer/OgreCEGUIRenderer.h> 44 46 … … 57 59 #include "ConsoleCommand.h" 58 60 #include "Core.h" 61 #include "GraphicsManager.h" 59 62 #include "LuaState.h" 60 63 #include "PathConfig.h" 61 64 #include "Resource.h" 65 #include "input/InputManager.h" 66 #include "input/InputState.h" 67 #include "input/KeyBinderManager.h" 62 68 63 69 namespace orxonox … … 108 114 @return true if success, otherwise false 109 115 */ 110 GUIManager::GUIManager(Ogre::RenderWindow* renderWindow, const std::pair<int, int>& mousePosition, bool bFullScreen) 111 : renderWindow_(renderWindow) 112 , resourceProvider_(0) 116 GUIManager::GUIManager(const std::pair<int, int>& mousePosition) 117 : resourceProvider_(NULL) 113 118 , camera_(NULL) 114 , bShowIngameGUI_(false)115 119 { 116 120 using namespace CEGUI; … … 119 123 120 124 // Note: No SceneManager specified yet 121 guiRenderer_.reset(new OgreCEGUIRenderer( renderWindow_, Ogre::RENDER_QUEUE_OVERLAY, false, 3000));125 guiRenderer_.reset(new OgreCEGUIRenderer(GraphicsManager::getInstance().getRenderWindow(), Ogre::RENDER_QUEUE_OVERLAY, false, 3000)); 122 126 resourceProvider_ = guiRenderer_->createResourceProvider(); 123 127 resourceProvider_->setDefaultResourceGroup("GUI"); … … 141 145 guiSystem_.reset(new System(guiRenderer_.get(), resourceProvider_, 0, scriptModule_.get())); 142 146 143 // Initialise the basic Lua code144 this->luaState_->doFile("InitialiseGUI.lua");145 146 147 // Align CEGUI mouse with OIS mouse 147 148 guiSystem_->injectMousePosition((float)mousePosition.first, (float)mousePosition.second); 148 149 149 // Hide the mouse cursor unless playing in full screen mode 150 if (!bFullScreen) 151 CEGUI::MouseCursor::getSingleton().hide(); 150 // Initialise the Lua framework and load the schemes 151 this->luaState_->doFile("InitialiseGUI.lua"); 152 153 // Create the root nodes 154 this->rootWindow_ = CEGUI::WindowManager::getSingleton().createWindow("MenuWidgets/StaticImage", "AbsoluteRootWindow"); 155 this->rootWindow_->setProperty("FrameEnabled", "False"); 156 this->hudRootWindow_ = CEGUI::WindowManager::getSingleton().createWindow("DefaultWindow", "HUDRootWindow"); 157 this->menuRootWindow_ = CEGUI::WindowManager::getSingleton().createWindow("DefaultWindow", "MenuRootWindow"); 158 // And connect them 159 CEGUI::System::getSingleton().setGUISheet(this->rootWindow_); 160 this->rootWindow_->addChildWindow(this->hudRootWindow_); 161 this->rootWindow_->addChildWindow(this->menuRootWindow_); 162 163 // Set up the sheet manager in the Lua framework 164 this->luaState_->doFile("SheetManager.lua"); 152 165 } 153 166 … … 173 186 { 174 187 assert(guiSystem_); 175 guiSystem_->injectTimePulse(time.getDeltaTime());188 this->protectedCall(boost::bind(&CEGUI::System::injectTimePulse, _1, time.getDeltaTime())); 176 189 } 177 190 … … 200 213 @param str 201 214 reference to string object holding the Lua code which is to be executed 202 203 This function gives total access to the GUI. You can execute ANY Lua code here.204 215 */ 205 216 void GUIManager::executeCode(const std::string& str) 206 217 { 207 218 this->luaState_->doString(str, rootFileInfo_); 219 } 220 221 /** Loads a GUI sheet by Lua script 222 @param name 223 The name of the GUI (like the script name, but without the extension) 224 */ 225 void GUIManager::loadGUI(const std::string& name) 226 { 227 this->executeCode("loadSheet(\"" + name + "\")"); 208 228 } 209 229 … … 215 235 216 236 The function executes the Lua function with the same name in case the GUIManager is ready. 217 For more details check out loadGUI_2.lua where the function presides. 218 */ 219 /*static*/ void GUIManager::showGUI(const std::string& name, bool hidePrevious, bool showCursor) 220 { 221 GUIManager::getInstance().executeCode("showGUI(\"" + name + "\", " + multi_cast<std::string>(hidePrevious) + ", " + multi_cast<std::string>(showCursor) + ")"); 237 */ 238 /*static*/ void GUIManager::showGUI(const std::string& name, bool bHidePrevious) 239 { 240 GUIManager::getInstance().executeCode("showMenuSheet(\"" + name + "\", " + multi_cast<std::string>(bHidePrevious) + ")"); 222 241 } 223 242 … … 226 245 Hack-ish. Needed for GUIOverlay. 227 246 */ 228 void GUIManager::showGUIExtra(const std::string& name, const std::string& ptr, bool hidePrevious, bool showCursor)229 { 230 this->executeCode("show GUI(\"" + name + "\", " + multi_cast<std::string>(hidePrevious) + ", " + multi_cast<std::string>(showCursor) + ", " + ptr + ")");247 void GUIManager::showGUIExtra(const std::string& name, const std::string& ptr, bool bHidePrevious) 248 { 249 this->executeCode("showMenuSheet(\"" + name + "\", " + multi_cast<std::string>(bHidePrevious) + ", " + ptr + ")"); 231 250 } 232 251 … … 239 258 /*static*/ void GUIManager::hideGUI(const std::string& name) 240 259 { 241 GUIManager::getInstance().executeCode("hideGUI(\"" + name + "\")"); 260 GUIManager::getInstance().executeCode("hideMenuSheet(\"" + name + "\")"); 261 } 262 263 const std::string& GUIManager::createInputState(const std::string& name, TriBool::Value showCursor, TriBool::Value useKeyboard, bool bBlockJoyStick) 264 { 265 InputState* state = InputManager::getInstance().createInputState(name); 266 267 /* Table that maps isFullScreen() and showCursor to mouseExclusive 268 isFullscreen / showCursor | True | False | Dontcare 269 ---------------------------------------------------- 270 true | True | True | Dontcare 271 ---------------------------------------------------- 272 false | False | True | Dontcare 273 */ 274 if (showCursor == TriBool::Dontcare) 275 state->setMouseExclusive(TriBool::Dontcare); 276 else if (GraphicsManager::getInstance().isFullScreen() || showCursor == TriBool::False) 277 state->setMouseExclusive(TriBool::True); 278 else 279 state->setMouseExclusive(TriBool::False); 280 281 if (showCursor == TriBool::True) 282 state->setMouseHandler(this); 283 else if (showCursor == TriBool::False) 284 state->setMouseHandler(&InputHandler::EMPTY); 285 286 if (useKeyboard == TriBool::True) 287 state->setKeyHandler(this); 288 else if (useKeyboard == TriBool::False) 289 state->setKeyHandler(&InputHandler::EMPTY); 290 291 if (bBlockJoyStick) 292 state->setJoyStickHandler(&InputHandler::EMPTY); 293 294 return state->getName(); 242 295 } 243 296 … … 247 300 } 248 301 249 void GUIManager::setBackground(const std::string& name) 250 { 251 this->executeCode("setBackground(\"" + name + "\")"); 302 void GUIManager::setBackgroundImage(const std::string& imageSet, const std::string imageName) 303 { 304 if (imageSet.empty() || imageName.empty()) 305 this->setBackgroundImage(""); 306 else 307 this->setBackgroundImage("set: " + imageSet + " image: " + imageName); 308 } 309 310 void GUIManager::setBackgroundImage(const std::string& image) 311 { 312 if (image.empty()) 313 this->rootWindow_->setProperty("Alpha", "0.0"); 314 else 315 this->rootWindow_->setProperty("Alpha", "1.0"); 316 this->rootWindow_->setProperty("Image", image); 252 317 } 253 318 254 319 void GUIManager::keyPressed(const KeyEvent& evt) 255 320 { 256 guiSystem_->injectKeyDown(evt.getKeyCode()); 257 guiSystem_->injectChar(evt.getText()); 258 } 321 this->protectedCall(boost::bind(&CEGUI::System::injectKeyDown, _1, evt.getKeyCode())); 322 this->protectedCall(boost::bind(&CEGUI::System::injectChar, _1, evt.getText())); 323 } 324 259 325 void GUIManager::keyReleased(const KeyEvent& evt) 260 326 { 261 guiSystem_->injectKeyUp(evt.getKeyCode());327 this->protectedCall(boost::bind(&CEGUI::System::injectKeyUp, _1, evt.getKeyCode())); 262 328 } 263 329 … … 273 339 void GUIManager::buttonPressed(MouseButtonCode::ByEnum id) 274 340 { 275 try 276 { 277 guiSystem_->injectMouseButtonDown(convertButton(id)); 278 } 279 catch (CEGUI::ScriptException& ex) 280 { 281 // We simply ignore the exception and proceed 282 COUT(1) << ex.getMessage() << std::endl; 283 } 341 this->protectedCall(boost::bind(&CEGUI::System::injectMouseButtonDown, _1, convertButton(id))); 284 342 } 285 343 … … 295 353 void GUIManager::buttonReleased(MouseButtonCode::ByEnum id) 296 354 { 297 try 298 { 299 guiSystem_->injectMouseButtonUp(convertButton(id)); 300 } 301 catch (CEGUI::ScriptException& ex) 302 { 303 // We simply ignore the exception and proceed 304 COUT(1) << ex.getMessage() << std::endl; 305 } 355 this->protectedCall(boost::bind(&CEGUI::System::injectMouseButtonUp, _1, convertButton(id))); 306 356 } 307 357 308 358 void GUIManager::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize) 309 359 { 310 guiSystem_->injectMousePosition(static_cast<float>(abs.x), static_cast<float>(abs.y)); 311 } 360 this->protectedCall(boost::bind(&CEGUI::System::injectMousePosition, _1, (float)abs.x, (float)abs.y)); 361 } 362 312 363 void GUIManager::mouseScrolled(int abs, int rel) 313 364 { 314 guiSystem_->injectMouseWheelChange(static_cast<float>(rel));365 this->protectedCall(boost::bind(&CEGUI::System::injectMouseWheelChange, _1, (float)rel)); 315 366 } 316 367 … … 349 400 } 350 401 402 /** Executes a CEGUI function normally, but catches CEGUI::ScriptException. 403 When a ScriptException occurs, the error message will be displayed and 404 the program carries on. 405 @remarks 406 The exception behaviour may pose problems if the code is not written 407 exception-safe (and you can forget about that in Lua). The program might 408 be left in an undefined state. But otherwise one script error would 409 terminate the whole program... 410 @note 411 Your life gets easier if you use boost::bind to create the object/function. 412 @param function 413 Any callable object/function that takes this->guiSystem_ as its only parameter. 414 @return 415 True if input was handled, false otherwise. A caught exception yields true. 416 */ 417 template <typename FunctionType> 418 bool GUIManager::protectedCall(FunctionType function) 419 { 420 try 421 { 422 return function(this->guiSystem_); 423 } 424 catch (CEGUI::ScriptException& ex) 425 { 426 // Display the error and proceed. See @remarks why this can be dangerous. 427 COUT(1) << ex.getMessage() << std::endl; 428 return true; 429 } 430 } 431 351 432 void GUIManager::subscribeEventHelper(CEGUI::Window* window, const std::string& event, const std::string& function) 352 433 { -
code/trunk/src/libraries/core/GUIManager.h
r6417 r6746 41 41 42 42 #include "util/OgreForwardRefs.h" 43 #include "util/TriBool.h" 43 44 #include "util/Singleton.h" 44 45 #include "input/InputHandler.h" 46 47 // Tolua includes (have to be relative to the current directory) 48 /* 49 $cfile "../util/TriBool.h" // tolua_export 50 */ 45 51 46 52 namespace orxonox // tolua_export … … 54 60 55 61 The GUIManager is a singleton and can be called anywhere when access on the GUI is needed. 56 Creation of the GUIManager is therefore not possible and the cunstructor is private.57 62 58 63 Since the GUI needs user input, the GUIManager implements the functions needed to act as a key and/or mouse handler. … … 64 69 friend class Singleton<GUIManager>; 65 70 public: 66 GUIManager( Ogre::RenderWindow* renderWindow, const std::pair<int, int>& mousePosition, bool bFullScreen);71 GUIManager(const std::pair<int, int>& mousePosition); 67 72 ~GUIManager(); 68 73 69 74 void preUpdate(const Clock& time); 70 75 71 static void showGUI(const std::string& name, bool hidePrevious=false, bool showCursor=true); 72 void showGUIExtra(const std::string& name, const std::string& ptr, bool hidePrevious=false, bool showCursor=true); 76 void loadGUI(const std::string& name); 77 static void showGUI(const std::string& name, bool bHidePrevious = false); 78 void showGUIExtra(const std::string& name, const std::string& ptr, bool bHidePrevious = false); 73 79 static void hideGUI(const std::string& name); 74 80 void keyESC(); 75 void setBackground(const std::string& name); 81 void setBackgroundImage(const std::string& imageSet, const std::string imageName); // tolua_export 82 void setBackgroundImage(const std::string& image); 83 84 //! Creates a new InputState to be used with a GUI Sheet 85 const std::string& createInputState(const std::string& name, TriBool::Value showCursor = TriBool::True, TriBool::Value useKeyboard = TriBool::True, bool bBlockJoyStick = false); // tolua_export 86 87 //! Returns the root window for all menu sheets 88 CEGUI::Window* getMenuRootWindow() { return this->menuRootWindow_; } // tolua_export 89 //! Returns the root window for all HUD sheets 90 CEGUI::Window* getHUDRootWindow() { return this->hudRootWindow_; } // tolua_export 76 91 77 92 void setCamera(Ogre::Camera* camera); 78 93 Ogre::Camera* getCamera() { return this->camera_; } 79 80 static GUIManager* getInstancePtr() { return singletonPtr_s; }81 94 82 95 inline void setPlayer(const std::string& guiname, PlayerInfo* player) … … 88 101 static void subscribeEventHelper(CEGUI::Window* window, const std::string& event, const std::string& function); //tolua_export 89 102 103 static GUIManager& getInstance() { return Singleton<GUIManager>::getInstance(); } // tolua_export 104 90 105 private: 91 106 GUIManager(const GUIManager& instance); //!< private and undefined copy c'tor (this is a singleton class) 92 107 93 108 void executeCode(const std::string& str); 109 110 template <typename FunctionType> 111 bool protectedCall(FunctionType function); 94 112 95 113 // keyHandler functions … … 102 120 void mouseMoved (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize); 103 121 void mouseScrolled (int abs, int rel); 104 105 122 scoped_ptr<CEGUI::OgreCEGUIRenderer> guiRenderer_; //!< CEGUI's interface to the Ogre Engine 106 123 scoped_ptr<LuaState> luaState_; //!< LuaState, access point to the Lua engine … … 108 125 scoped_ptr<CEGUI::System> guiSystem_; //!< CEGUI's main system 109 126 shared_ptr<ResourceInfo> rootFileInfo_; //!< Resource information about the root script 110 Ogre::RenderWindow* renderWindow_; //!< Ogre's render window to give CEGUI access to it111 127 CEGUI::ResourceProvider* resourceProvider_; //!< CEGUI's resource provider 112 128 CEGUI::Logger* ceguiLogger_; //!< CEGUI's logger to be able to log CEGUI errors in our log 113 std::map<std::string, PlayerInfo*> players_; //!< Stores the player (owner) for each gui 129 CEGUI::Window* rootWindow_; //!< Root node for all windows 130 CEGUI::Window* hudRootWindow_; //!< Root node for the HUD sheets 131 CEGUI::Window* menuRootWindow_; //!< Root node for the menu sheets (used by Lua) 132 std::map<std::string, PlayerInfo*> players_; //!< Stores the player (owner) for each GUI 114 133 Ogre::Camera* camera_; //!< Camera used to render the scene with the GUI 115 134 116 135 static GUIManager* singletonPtr_s; //!< Singleton reference to GUIManager 117 bool bShowIngameGUI_;118 136 119 137 }; // tolua_export -
code/trunk/src/libraries/core/Game.h
r6417 r6746 50 50 #include "util/ScopeGuard.h" 51 51 #include "util/Singleton.h" 52 #include " core/OrxonoxClass.h"52 #include "OrxonoxClass.h" 53 53 54 54 /** -
code/trunk/src/libraries/core/IOConsole.cc
r6422 r6746 35 35 #include "util/Clock.h" 36 36 #include "util/Math.h" 37 #include " core/Game.h"38 #include " core/input/InputBuffer.h"37 #include "Game.h" 38 #include "input/InputBuffer.h" 39 39 40 40 // ########################## -
code/trunk/src/libraries/core/IOConsole.h
r6417 r6746 37 37 #include <vector> 38 38 #include "util/Singleton.h" 39 #include " core/Shell.h"39 #include "Shell.h" 40 40 41 41 #ifdef ORXONOX_PLATFORM_UNIX -
code/trunk/src/libraries/core/LuaState.cc
r6417 r6746 37 37 38 38 #include "util/Debug.h" 39 #include "util/Exception.h" 40 #include "util/ScopeGuard.h" 41 #include "IOConsole.h" 39 42 #include "Resource.h" 40 43 #include "ToluaBindCore.h" … … 54 57 // Create new lua state and configure it 55 58 luaState_ = lua_open(); 59 Loki::ScopeGuard luaStateGuard = Loki::MakeGuard(&lua_close, luaState_); 56 60 #if LUA_VERSION_NUM == 501 57 61 luaL_openlibs(luaState_); … … 78 82 79 83 // Parse init script 80 this->doFile("LuaStateInit.lua"); 84 if (!this->doFile("LuaStateInit.lua")) 85 ThrowException(InitialisationFailed, "Running LuaStateInit.lua failed"); 86 87 luaStateGuard.Dismiss(); 81 88 } 82 89 … … 96 103 } 97 104 98 voidLuaState::includeFile(const std::string& filename)105 bool LuaState::includeFile(const std::string& filename) 99 106 { 100 107 shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename); 101 108 if (sourceInfo != NULL) 102 this->includeString(Resource::open(sourceInfo)->getAsString(), sourceInfo); 103 else 104 COUT(2) << "LuaState: Cannot include file '" << filename << "'." << std::endl; 105 } 106 107 void LuaState::includeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo) 109 return this->includeString(Resource::open(sourceInfo)->getAsString(), sourceInfo); 110 else 111 { 112 COUT(2) << "LuaState: Cannot include file '" << filename << "' (not found)." << std::endl; 113 return false; 114 } 115 } 116 117 bool LuaState::includeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo) 108 118 { 109 119 // Parse string with provided include parser (otherwise don't preparse at all) … … 114 124 luaInput = code; 115 125 116 this->doString(luaInput, sourceFileInfo); 117 } 118 119 void LuaState::doFile(const std::string& filename) 126 if (sourceFileInfo != NULL) 127 { 128 // Also fill a map with the actual source code. This is just for the include* commands 129 // where the content of sourceFileInfo->filename doesn't match 'code' 130 this->sourceCodeMap_[sourceFileInfo->filename] = code; 131 } 132 133 bool returnValue = this->doString(luaInput, sourceFileInfo); 134 135 if (sourceFileInfo != NULL) 136 { 137 // Delete source code entry 138 if (sourceFileInfo != NULL) 139 this->sourceCodeMap_.erase(sourceFileInfo->filename); 140 } 141 142 return returnValue; 143 } 144 145 bool LuaState::doFile(const std::string& filename) 120 146 { 121 147 shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename); 122 148 if (sourceInfo != NULL) 123 this->doString(Resource::open(sourceInfo)->getAsString(), sourceInfo); 124 else 125 COUT(2) << "LuaState: Cannot do file '" << filename << "'." << std::endl; 126 } 127 128 void LuaState::doString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo) 149 return this->doString(Resource::open(sourceInfo)->getAsString(), sourceInfo); 150 else 151 { 152 COUT(2) << "LuaState: Cannot do file '" << filename << "' (not found)." << std::endl; 153 return false; 154 } 155 } 156 157 bool LuaState::doString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo) 129 158 { 130 159 // Save the old source file info … … 134 163 sourceFileInfo_ = sourceFileInfo; 135 164 136 int error = 0; 165 std::string chunkname; 166 if (sourceFileInfo != NULL) 167 { 168 // Provide lua_load with the filename for debug purposes 169 // The '@' is a Lua convention to identify the chunk name as filename 170 chunkname = '@' + sourceFileInfo->filename; 171 } 172 else 173 { 174 // Use the code string to identify the chunk 175 chunkname = code; 176 } 177 178 // Push custom error handler that uses the debugger 179 lua_getglobal(this->luaState_, "errorHandler"); 180 int errorHandler = lua_gettop(luaState_); 181 if (lua_isnil(this->luaState_, -1)) 182 { 183 lua_pop(this->luaState_, 1); 184 errorHandler = 0; 185 } 186 137 187 #if LUA_VERSION_NUM != 501 138 188 LoadS ls; 139 189 ls.s = code.c_str(); 140 190 ls.size = code.size(); 141 error = lua_load(luaState_, &orxonox::LuaState::lua_Chunkreader, &ls, code.c_str());191 int error = lua_load(luaState_, &orxonox::LuaState::lua_Chunkreader, &ls, chunkname.c_str()); 142 192 #else 143 error = luaL_loadstring(luaState_, code.c_str());193 int error = luaL_loadbuffer(luaState_, code.c_str(), code.size(), chunkname.c_str()); 144 194 #endif 145 195 146 // execute the chunk 196 switch (error) 197 { 198 case LUA_ERRSYNTAX: // Syntax error 199 COUT(1) << "Lua syntax error: " << lua_tostring(luaState_, -1) << std::endl; 200 break; 201 case LUA_ERRMEM: // Memory allocation error 202 COUT(1) << "Lua memory allocation error: Consult your dentist immediately!" << std::endl; 203 break; 204 } 205 147 206 if (error == 0) 148 error = lua_pcall(luaState_, 0, 1, 0); 207 { 208 // Execute the chunk in protected mode with an error handler function (stack index) 209 error = lua_pcall(luaState_, 0, 1, errorHandler); 210 211 switch (error) 212 { 213 case LUA_ERRRUN: // Runtime error 214 if (errorHandler) 215 { 216 // Do nothing (we already display the error in the 217 // 'errorHandler' Lua function in LuaStateInit.lua) 218 } 219 else 220 { 221 std::string errorString = lua_tostring(this->luaState_, -1); 222 if (errorString.find("Error propagation") == std::string::npos) 223 COUT(1) << "Lua runtime error: " << errorString << std::endl; 224 } 225 break; 226 case LUA_ERRERR: // Error in the error handler 227 COUT(1) << "Lua error in error handler. No message available." << std::endl; 228 break; 229 case LUA_ERRMEM: // Memory allocation error 230 COUT(1) << "Lua memory allocation error: Consult your dentist immediately!" << std::endl; 231 break; 232 } 233 } 234 149 235 if (error != 0) 150 236 { 151 std::string origin; 152 if (sourceFileInfo != NULL) 153 origin = " originating from " + sourceFileInfo_->filename; 154 COUT(1) << "Error in Lua-script" << origin << ": " << lua_tostring(luaState_, -1) << std::endl; 155 // return value is nil 156 lua_pushnil(luaState_); 157 } 158 // push return value because it will get lost since the return value of this function is void 237 lua_pop(luaState_, 1); // Remove error message 238 lua_pushnil(luaState_); // Push a nil return value 239 } 240 241 if (errorHandler != 0) 242 lua_remove(luaState_, errorHandler); // Remove error handler from stack 243 244 // Set return value to a global variable because we cannot return a table in this function 245 // here. It would work for numbers, pointers and strings, but certainly not for Lua tables. 159 246 lua_setglobal(luaState_, "LuaStateReturnValue"); 160 247 161 248 // Load the old info again 162 249 sourceFileInfo_ = oldSourceFileInfo; 250 251 return (error == 0); 163 252 } 164 253 … … 180 269 else 181 270 return true; 271 } 272 273 //! Returns the content of a file 274 std::string LuaState::getSourceCode(const std::string& filename) 275 { 276 // Try the internal map first to get the actual Lua code 277 // and not just some pseudo Lua-XML code when using include* commands 278 std::map<std::string, std::string>::const_iterator it = this->sourceCodeMap_.find(filename); 279 if (it != this->sourceCodeMap_.end()) 280 return it->second; 281 shared_ptr<ResourceInfo> info = Resource::getInfo(filename); 282 if (info == NULL) 283 return ""; 284 else 285 return Resource::open(info)->getAsString(); 286 } 287 288 bool LuaState::usingIOConsole() const 289 { 290 return IOConsole::exists(); 182 291 } 183 292 -
code/trunk/src/libraries/core/LuaState.h
r6417 r6746 40 40 41 41 #include "util/ScopeGuard.h" 42 #include " core/Functor.h"42 #include "Functor.h" 43 43 #include "ToluaInterface.h" 44 44 … … 71 71 ~LuaState(); 72 72 73 voiddoFile(const std::string& filename); // tolua_export74 voiddoString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>());73 bool doFile(const std::string& filename); // tolua_export 74 bool doString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>()); 75 75 76 voidincludeFile(const std::string& filename); // tolua_export77 voidincludeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>());76 bool includeFile(const std::string& filename); // tolua_export 77 bool includeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>()); 78 78 79 79 void luaPrint(const std::string& str); // tolua_export 80 80 void luaLog(unsigned int level, const std::string& message); // tolua_export 81 81 bool fileExists(const std::string& filename); // tolua_export 82 std::string getSourceCode(const std::string& filename); // tolua_export 82 83 83 84 const std::stringstream& getOutput() const { return output_; } … … 91 92 92 93 Functor* createLuaFunctor(const std::string& code) { return new LuaFunctor(code, this); } // tolua_export 94 //! Tells about whether IOConsole was activated. The Lua debugger only works with a normal console. 95 bool usingIOConsole() const; // tolua_export 93 96 94 97 static bool addToluaInterface(int (*function)(lua_State*), const std::string& name); … … 114 117 bool bIsRunning_; 115 118 shared_ptr<ResourceInfo> sourceFileInfo_; 119 std::map<std::string, std::string> sourceCodeMap_; 116 120 std::string (*includeParseFunction_)(const std::string&); 117 121 -
code/trunk/src/libraries/core/Resource.cc
r6501 r6746 29 29 #include "Resource.h" 30 30 31 #include <boost/filesystem/path.hpp> 31 32 #include <OgreException.h> 33 #include <OgreFileSystem.h> 32 34 #include <OgreResourceGroupManager.h> 33 35 … … 89 91 ptr->group = group; 90 92 ptr->size = it->uncompressedSize; 93 if (dynamic_cast<Ogre::FileSystemArchive*>(it->archive) != NULL) 94 { 95 boost::filesystem::path base(it->archive->getName()); 96 base /= it->filename; 97 ptr->fileSystemPath = base.string(); 98 } 91 99 return ptr; 92 100 } -
code/trunk/src/libraries/core/Resource.h
r6417 r6746 57 57 //! Uncompressed size 58 58 size_t size; 59 //! Absolute file path ("" for files not on filesystem) 60 std::string fileSystemPath; 59 61 }; 60 62 -
code/trunk/src/libraries/core/Template.cc
r6417 r6746 33 33 34 34 #include "util/Debug.h" 35 #include " core/CoreIncludes.h"36 #include " core/XMLPort.h"35 #include "CoreIncludes.h" 36 #include "XMLPort.h" 37 37 38 38 namespace orxonox -
code/trunk/src/libraries/core/input/InputDevice.h
r6417 r6746 159 159 for (unsigned int iB = 0; iB < pressedButtons_.size(); ++iB) 160 160 for (unsigned int iS = 0; iS < inputStates_.size(); ++iS) 161 inputStates_[iS]->buttonEvent<ButtonEvent::THold, Traits>(161 inputStates_[iS]->buttonEvent<ButtonEvent::THold, typename Traits::ButtonTypeParam>( 162 162 this->getDeviceID(), static_cast<DeviceClass*>(this)->getButtonEventArg(pressedButtons_[iB])); 163 163 … … 196 196 // Call states 197 197 for (unsigned int i = 0; i < inputStates_.size(); ++i) 198 inputStates_[i]->buttonEvent<ButtonEvent::TPress, Traits>(this->getDeviceID(), static_cast<DeviceClass*>(this)->getButtonEventArg(button));198 inputStates_[i]->buttonEvent<ButtonEvent::TPress, typename Traits::ButtonTypeParam>(this->getDeviceID(), static_cast<DeviceClass*>(this)->getButtonEventArg(button)); 199 199 } 200 200 … … 218 218 // Call states 219 219 for (unsigned int i = 0; i < inputStates_.size(); ++i) 220 inputStates_[i]->buttonEvent<ButtonEvent::TRelease, Traits>(this->getDeviceID(), static_cast<DeviceClass*>(this)->getButtonEventArg(button));220 inputStates_[i]->buttonEvent<ButtonEvent::TRelease, typename Traits::ButtonTypeParam>(this->getDeviceID(), static_cast<DeviceClass*>(this)->getButtonEventArg(button)); 221 221 } 222 222 -
code/trunk/src/libraries/core/input/InputHandler.h
r6105 r6746 112 112 virtual ~InputHandler() { } 113 113 114 template<class T> void buttonEvent(unsigned int device, const T&button, ButtonEvent::TPress)114 template<class T> void buttonEvent(unsigned int device, T button, ButtonEvent::TPress) 115 115 { this->buttonPressed(button); } 116 template<class T> void buttonEvent(unsigned int device, const T&button, ButtonEvent::TRelease)116 template<class T> void buttonEvent(unsigned int device, T button, ButtonEvent::TRelease) 117 117 { this->buttonReleased(button); } 118 template<class T> void buttonEvent(unsigned int device, const T&button, ButtonEvent::THold)118 template<class T> void buttonEvent(unsigned int device, T button, ButtonEvent::THold) 119 119 { this->buttonHeld(button); } 120 void buttonEvent(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::TPress)121 { this->buttonPressed(device - InputDeviceEnumerator::FirstJoyStick, button); }122 void buttonEvent(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::TRelease)123 { this->buttonReleased(device - InputDeviceEnumerator::FirstJoyStick, button); }124 void buttonEvent(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::THold)125 { this->buttonHeld(device - InputDeviceEnumerator::FirstJoyStick, button); }126 120 127 121 virtual void buttonPressed (const KeyEvent& evt) { } … … 149 143 static InputHandler EMPTY; 150 144 }; 145 146 template<> inline void InputHandler::buttonEvent<JoyStickButtonCode::ByEnum>(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::TPress) 147 { this->buttonPressed(device - InputDeviceEnumerator::FirstJoyStick, button); } 148 template<> inline void InputHandler::buttonEvent<JoyStickButtonCode::ByEnum>(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::TRelease) 149 { this->buttonReleased(device - InputDeviceEnumerator::FirstJoyStick, button); } 150 template<> inline void InputHandler::buttonEvent<JoyStickButtonCode::ByEnum>(unsigned int device, JoyStickButtonCode::ByEnum button, ButtonEvent::THold) 151 { this->buttonHeld(device - InputDeviceEnumerator::FirstJoyStick, button); } 151 152 } 152 153 -
code/trunk/src/libraries/core/input/InputManager.cc
r6422 r6746 87 87 , oisInputManager_(0) 88 88 , devices_(2) 89 , mouseMode_(MouseMode::Nonexclusive)89 , exclusiveMouse_(TriBool::False) 90 90 , emptyState_(0) 91 91 , calibratorCallbackHandler_(0) … … 95 95 CCOUT(4) << "Constructing..." << std::endl; 96 96 97 // Allocate space for the function call buffer 98 this->callBuffer_.reserve(16); 99 97 100 this->setConfigValues(); 98 101 99 102 if (GraphicsManager::getInstance().isFullScreen()) 100 mouseMode_ = MouseMode::Exclusive;103 exclusiveMouse_ = TriBool::True; 101 104 this->loadDevices(); 102 105 … … 155 158 paramList.insert(std::make_pair("w32_keyboard", "DISCL_FOREGROUND")); 156 159 paramList.insert(std::make_pair("w32_mouse", "DISCL_FOREGROUND")); 157 if ( mouseMode_ == MouseMode::Exclusive || GraphicsManager::getInstance().isFullScreen())160 if (exclusiveMouse_ == TriBool::True || GraphicsManager::getInstance().isFullScreen()) 158 161 { 159 162 // Disable Windows key plus special keys (like play, stop, next, etc.) … … 168 171 paramList.insert(std::make_pair("XAutoRepeatOn", "true")); 169 172 170 if ( mouseMode_ == MouseMode::Exclusive || GraphicsManager::getInstance().isFullScreen())173 if (exclusiveMouse_ == TriBool::True || GraphicsManager::getInstance().isFullScreen()) 171 174 { 172 175 if (CommandLineParser::getValue("keyboard_no_grab").getBool()) … … 266 269 CCOUT(3) << "Destroying..." << std::endl; 267 270 271 // Leave all active InputStates (except "empty") 272 while (this->activeStates_.size() > 1) 273 this->leaveState(this->activeStates_.rbegin()->second->getName()); 274 this->activeStates_.clear(); 275 268 276 // Destroy calibrator helper handler and state 269 277 this->destroyState("calibrator"); 270 278 // Destroy KeyDetector and state 271 279 calibratorCallbackHandler_->destroy(); 272 // destroy the empty InputState280 // Destroy the empty InputState 273 281 this->destroyStateInternal(this->emptyState_); 274 282 275 // destroy all user InputStates283 // Destroy all user InputStates 276 284 while (statesByName_.size() > 0) 277 285 this->destroyStateInternal(statesByName_.rbegin()->second); … … 335 343 void InputManager::reload() 336 344 { 337 if (internalState_ & Ticking) 338 { 339 // We cannot destroy OIS right now, because reload was probably 340 // caused by a user clicking on a GUI item. The stack trace would then 341 // include an OIS method. So it would be a very bad thing to destroy it.. 342 internalState_ |= ReloadRequest; 343 } 344 else if (internalState_ & Calibrating) 345 if (internalState_ & Calibrating) 345 346 CCOUT(2) << "Warning: Cannot reload input system. Joy sticks are currently being calibrated." << std::endl; 346 347 else … … 351 352 void InputManager::reloadInternal() 352 353 { 353 CCOUT( 3) << "Reloading ..." << std::endl;354 CCOUT(4) << "Reloading ..." << std::endl; 354 355 355 356 this->destroyDevices(); … … 357 358 358 359 internalState_ &= ~Bad; 359 internalState_ &= ~ReloadRequest;360 360 CCOUT(4) << "Reloading complete." << std::endl; 361 361 } … … 370 370 if (internalState_ & Bad) 371 371 ThrowException(General, "InputManager was not correctly reloaded."); 372 373 else if (internalState_ & ReloadRequest)374 reloadInternal();375 376 // check for states to leave377 if (!stateLeaveRequests_.empty())378 {379 for (std::set<InputState*>::iterator it = stateLeaveRequests_.begin();380 it != stateLeaveRequests_.end(); ++it)381 {382 (*it)->left();383 // just to be sure that the state actually is registered384 assert(statesByName_.find((*it)->getName()) != statesByName_.end());385 386 activeStates_.erase((*it)->getPriority());387 if ((*it)->getPriority() < InputStatePriority::HighPriority)388 (*it)->setPriority(0);389 updateActiveStates();390 }391 stateLeaveRequests_.clear();392 }393 394 // check for states to enter395 if (!stateEnterRequests_.empty())396 {397 for (std::set<InputState*>::const_iterator it = stateEnterRequests_.begin();398 it != stateEnterRequests_.end(); ++it)399 {400 // just to be sure that the state actually is registered401 assert(statesByName_.find((*it)->getName()) != statesByName_.end());402 403 if ((*it)->getPriority() == 0)404 {405 // Get smallest possible priority between 1 and maxStateStackSize_s406 for (std::map<int, InputState*>::reverse_iterator rit = activeStates_.rbegin();407 rit != activeStates_.rend(); ++rit)408 {409 if (rit->first < InputStatePriority::HighPriority)410 {411 (*it)->setPriority(rit->first + 1);412 break;413 }414 }415 // In case no normal handler was on the stack416 if ((*it)->getPriority() == 0)417 (*it)->setPriority(1);418 }419 activeStates_[(*it)->getPriority()] = (*it);420 updateActiveStates();421 (*it)->entered();422 }423 stateEnterRequests_.clear();424 }425 426 // check for states to destroy427 if (!stateDestroyRequests_.empty())428 {429 for (std::set<InputState*>::iterator it = stateDestroyRequests_.begin();430 it != stateDestroyRequests_.end(); ++it)431 {432 destroyStateInternal((*it));433 }434 stateDestroyRequests_.clear();435 }436 372 437 373 // check whether a state has changed its EMPTY situation … … 448 384 updateActiveStates(); 449 385 450 // mark that we now start capturing and distributing input 451 internalState_ |= Ticking; 452 453 // Capture all the input and handle it 386 // Capture all the input and collect the function calls 387 // No event gets triggered here yet! 454 388 BOOST_FOREACH(InputDevice* device, devices_) 455 389 if (device != NULL) 456 390 device->update(time); 457 391 458 // Update the states392 // Collect function calls for the update 459 393 for (unsigned int i = 0; i < activeStatesTicked_.size(); ++i) 460 394 activeStatesTicked_[i]->update(time.getDeltaTime()); 461 395 462 internalState_ &= ~Ticking; 396 // Execute all cached function calls in order 397 // Why so complicated? The problem is that an InputHandler could trigger 398 // a reload that would destroy the OIS devices or it could even leave and 399 // then destroy its own InputState. That would of course lead to access 400 // violations. 401 // If we delay the calls, then OIS and and the InputStates are not anymore 402 // in the call stack and can therefore be edited. 403 for (size_t i = 0; i < this->callBuffer_.size(); ++i) 404 this->callBuffer_[i](); 405 406 this->callBuffer_.clear(); 463 407 } 464 408 … … 470 414 void InputManager::updateActiveStates() 471 415 { 472 assert((internalState_ & InputManager::Ticking) == 0);473 // temporary resize416 // Calculate the stack of input states 417 // and assign it to the corresponding device 474 418 for (unsigned int i = 0; i < devices_.size(); ++i) 475 419 { … … 490 434 } 491 435 492 // update tickables (every state will only appear once)493 // Using a std::set to avoid duplicates436 // See that we only update each InputState once for each device 437 // Using an std::set to avoid duplicates 494 438 std::set<InputState*> tempSet; 495 439 for (unsigned int i = 0; i < devices_.size(); ++i) … … 498 442 tempSet.insert(devices_[i]->getStateListRef()[iState]); 499 443 500 // copy the content of the std::set back to the actual vector444 // Copy the content of the std::set back to the actual vector 501 445 activeStatesTicked_.clear(); 502 446 for (std::set<InputState*>::const_iterator it = tempSet.begin();it != tempSet.end(); ++it) … … 504 448 505 449 // Check whether we have to change the mouse mode 506 MouseMode::Value requestedMode = MouseMode::Dontcare;450 TriBool::Value requestedMode = TriBool::Dontcare; 507 451 std::vector<InputState*>& mouseStates = devices_[InputDeviceEnumerator::Mouse]->getStateListRef(); 508 452 if (mouseStates.empty()) 509 requestedMode = MouseMode::Nonexclusive;510 else 511 requestedMode = mouseStates.front()->getMouse Mode();512 if (requestedMode != MouseMode::Dontcare && mouseMode_ != requestedMode)513 { 514 mouseMode_ = requestedMode;453 requestedMode = TriBool::False; 454 else 455 requestedMode = mouseStates.front()->getMouseExclusive(); 456 if (requestedMode != TriBool::Dontcare && exclusiveMouse_ != requestedMode) 457 { 458 exclusiveMouse_ = requestedMode; 515 459 if (!GraphicsManager::getInstance().isFullScreen()) 516 460 this->reloadInternal(); … … 622 566 // get pointer from the map with all stored handlers 623 567 std::map<std::string, InputState*>::const_iterator it = statesByName_.find(name); 624 if (it != statesByName_.end()) 625 { 626 // exists 627 if (activeStates_.find(it->second->getPriority()) == activeStates_.end()) 628 { 629 // not active 630 if (stateDestroyRequests_.find(it->second) == stateDestroyRequests_.end()) 568 if (it != statesByName_.end() && activeStates_.find(it->second->getPriority()) == activeStates_.end()) 569 { 570 // exists and not active 571 if (it->second->getPriority() == 0) 572 { 573 // Get smallest possible priority between 1 and maxStateStackSize_s 574 for (std::map<int, InputState*>::reverse_iterator rit = activeStates_.rbegin(); 575 rit != activeStates_.rend(); ++rit) 631 576 { 632 // not scheduled for destruction 633 // prevents a state from being added multiple times 634 stateEnterRequests_.insert(it->second); 635 return true; 577 if (rit->first < InputStatePriority::HighPriority) 578 { 579 it->second->setPriority(rit->first + 1); 580 break; 581 } 636 582 } 637 } 638 else if (this->stateLeaveRequests_.find(it->second) != this->stateLeaveRequests_.end()) 639 { 640 // State already scheduled for leaving --> cancel 641 this->stateLeaveRequests_.erase(this->stateLeaveRequests_.find(it->second)); 642 } 583 // In case no normal handler was on the stack 584 if (it->second->getPriority() == 0) 585 it->second->setPriority(1); 586 } 587 activeStates_[it->second->getPriority()] = it->second; 588 updateActiveStates(); 589 it->second->entered(); 590 591 return true; 643 592 } 644 593 return false; … … 654 603 // get pointer from the map with all stored handlers 655 604 std::map<std::string, InputState*>::const_iterator it = statesByName_.find(name); 656 if (it != statesByName_.end()) 657 { 658 // exists 659 if (activeStates_.find(it->second->getPriority()) != activeStates_.end()) 660 { 661 // active 662 stateLeaveRequests_.insert(it->second); 663 return true; 664 } 665 else if (this->stateEnterRequests_.find(it->second) != this->stateEnterRequests_.end()) 666 { 667 // State already scheduled for entering --> cancel 668 this->stateEnterRequests_.erase(this->stateEnterRequests_.find(it->second)); 669 } 605 if (it != statesByName_.end() && activeStates_.find(it->second->getPriority()) != activeStates_.end()) 606 { 607 // exists and active 608 609 it->second->left(); 610 611 activeStates_.erase(it->second->getPriority()); 612 if (it->second->getPriority() < InputStatePriority::HighPriority) 613 it->second->setPriority(0); 614 updateActiveStates(); 615 616 return true; 670 617 } 671 618 return false; … … 682 629 if (it != statesByName_.end()) 683 630 { 684 if (activeStates_.find(it->second->getPriority()) != activeStates_.end()) 685 { 686 // The state is still active. We have to postpone 687 stateLeaveRequests_.insert(it->second); 688 stateDestroyRequests_.insert(it->second); 689 } 690 else if (this->internalState_ & Ticking) 691 { 692 // cannot remove state while ticking 693 stateDestroyRequests_.insert(it->second); 694 } 695 else 696 destroyStateInternal(it->second); 631 this->leaveState(name); 632 destroyStateInternal(it->second); 697 633 698 634 return true; … … 704 640 void InputManager::destroyStateInternal(InputState* state) 705 641 { 706 assert(state && !(this->internalState_ & Ticking)); 707 std::map<int, InputState*>::iterator it = this->activeStates_.find(state->getPriority()); 708 if (it != this->activeStates_.end()) 709 { 710 this->activeStates_.erase(it); 711 updateActiveStates(); 712 } 642 assert(state && this->activeStates_.find(state->getPriority()) == this->activeStates_.end()); 713 643 statesByName_.erase(state->getName()); 714 644 state->destroy(); -
code/trunk/src/libraries/core/input/InputManager.h
r6417 r6746 36 36 #include <string> 37 37 #include <vector> 38 #include <boost/function.hpp> 38 39 39 40 #include "util/Singleton.h" 41 #include "util/TriBool.h" 40 42 #include "core/WindowEventListener.h" 41 #include "InputState.h"42 43 43 44 // tolua_begin … … 75 76 Nothing = 0x00, 76 77 Bad = 0x02, 77 Ticking = 0x04, 78 Calibrating = 0x08, 79 ReloadRequest = 0x10, 78 Calibrating = 0x04, 80 79 }; 81 80 … … 159 158 - The removal process is being postponed if InputManager::preUpdate() is currently running. 160 159 */ 161 bool destroyState(const std::string& name); 160 bool destroyState(const std::string& name); // tolua_export 162 161 163 162 //------------------------------- … … 169 168 //! Returns a pointer to the OIS InputManager. Only you if you know what you're doing! 170 169 OIS::InputManager* getOISInputManager() { return this->oisInputManager_; } 170 //! Returns the position of the cursor as std::pair of ints 171 171 std::pair<int, int> getMousePosition() const; 172 //! Tells whether the mouse is used exclusively to the game 173 bool isMouseExclusive() const { return this->exclusiveMouse_; } // tolua_export 174 175 //------------------------------- 176 // Function call caching 177 //------------------------------- 178 void pushCall(const boost::function<void ()>& function) 179 { this->callBuffer_.push_back(function); } 172 180 173 181 static InputManager& getInstance() { return Singleton<InputManager>::getInstance(); } // tolua_export … … 196 204 OIS::InputManager* oisInputManager_; //!< OIS input manager 197 205 std::vector<InputDevice*> devices_; //!< List of all input devices (keyboard, mouse, joy sticks) 198 MouseMode::Value mouseMode_;//!< Currently applied mouse mode206 TriBool::Value exclusiveMouse_; //!< Currently applied mouse mode 199 207 200 208 // some internally handled states and handlers … … 207 215 std::vector<InputState*> activeStatesTicked_; //!< Like activeStates_, but only contains the ones that currently receive events 208 216 209 std::set<InputState*> stateEnterRequests_; //!< Requests to enter a new state 210 std::set<InputState*> stateLeaveRequests_; //!< Requests to leave a running state 211 std::set<InputState*> stateDestroyRequests_; //!< Requests to destroy a state 217 std::vector<boost::function<void ()> > callBuffer_; //!< Caches all calls from InputStates to be executed afterwards (see preUpdate) 212 218 213 219 static InputManager* singletonPtr_s; //!< Pointer reference to the singleton -
code/trunk/src/libraries/core/input/InputPrereqs.h
r6417 r6746 42 42 #include <ois/OISMouse.h> 43 43 #include <ois/OISJoyStick.h> 44 #include "util/OrxEnum.h" 44 45 45 46 namespace orxonox … … 448 449 }; 449 450 } 451 452 //! Enumeration wrapper for input state priorities 453 struct InputStatePriority : OrxEnum<InputStatePriority> 454 { 455 OrxEnumConstructors(InputStatePriority); 456 457 static const int Empty = -1; 458 static const int Dynamic = 0; 459 460 static const int HighPriority = 1000; 461 static const int Console = HighPriority + 0; 462 static const int Calibrator = HighPriority + 1; 463 static const int Detector = HighPriority + 2; 464 }; 450 465 } 451 466 -
code/trunk/src/libraries/core/input/InputState.cc
r6417 r6746 37 37 , bAlwaysGetsInput_(bAlwaysGetsInput) 38 38 , bTransparent_(bTransparent) 39 , mouseMode_(MouseMode::Dontcare)39 , exclusiveMouse_(TriBool::Dontcare) 40 40 , bExpired_(true) 41 41 , handlers_(2) -
code/trunk/src/libraries/core/input/InputState.h
r5929 r6746 35 35 #include <string> 36 36 #include <vector> 37 38 #include "util/OrxEnum.h" 37 #include <boost/function.hpp> 38 #include <boost/bind.hpp> 39 40 #include "util/TriBool.h" 39 41 #include "InputHandler.h" 42 #include "InputManager.h" 40 43 #include "JoyStickQuantityListener.h" 44 45 #define INPUT_STATE_PUSH_CALL(deviceIndex, functionName, ...) \ 46 InputManager::getInstance().pushCall(boost::function<void ()>(boost::bind(&InputHandler::functionName, handlers_[deviceIndex], __VA_ARGS__))) 41 47 42 48 namespace orxonox 43 49 { 44 //! Enumeration wrapper for input state priorities45 struct InputStatePriority : OrxEnum<InputStatePriority>46 {47 OrxEnumConstructors(InputStatePriority);48 49 static const int Empty = -1;50 static const int Dynamic = 0;51 52 static const int HighPriority = 1000;53 static const int Console = HighPriority + 0;54 static const int Calibrator = HighPriority + 1;55 static const int Detector = HighPriority + 2;56 };57 58 namespace MouseMode59 {60 enum Value61 {62 Exclusive,63 Nonexclusive,64 Dontcare65 };66 }67 68 50 /** 69 51 @brief … … 73 55 that stack and only the top one gets the input events. This is done for 74 56 every device (keyboard, mouse, all joy sticks) separately to allow 75 for in tance keyboard input capturing for the console while you can still57 for instance keyboard input capturing for the console while you can still 76 58 steer a ship with the mouse. 77 59 There are two exceptions to this behaviour though: … … 83 65 the state will always receive input as long as it is activated. 84 66 - Note: If you mark an InputState with both parameters on, then it will 85 not influence on y other InputState at all.67 not influence only other InputState at all. 86 68 87 69 @par Priorities … … 95 77 @par Exclusive/Non-Exclusive mouse Mode 96 78 You can select a specific mouse mode that tells whether the application 97 should have exclusive access to it or not.79 should have exclusive access to it or not. 98 80 When in non-exclusive mode, you can move the mouse out of the window 99 81 like with any other normal window (only for windowed mode!). … … 130 112 void setHandler (InputHandler* handler); 131 113 132 void setMouse Mode(MouseMode::Value value) { mouseMode_ = value; this->bExpired_ = true; }133 MouseMode::Value getMouseMode() const { return mouseMode_; }114 void setMouseExclusive(TriBool::Value value) { exclusiveMouse_ = value; this->bExpired_ = true; } 115 TriBool::Value getMouseExclusive() const { return exclusiveMouse_; } 134 116 135 117 //! Returns the name of the state (which is unique!) … … 152 134 153 135 //! Generic function that distributes all 9 button events 154 template <typename EventType, class Traits>155 void buttonEvent(unsigned int device, const typename Traits::ButtonTypeParam button);136 template <typename EventType, class ButtonTypeParam> 137 void buttonEvent(unsigned int device, ButtonTypeParam button); 156 138 157 139 //! Event handler … … 184 166 const bool bAlwaysGetsInput_; //!< See class declaration for explanation 185 167 const bool bTransparent_; //!< See class declaration for explanation 186 MouseMode::Value mouseMode_;//!< See class declaration for explanation168 TriBool::Value exclusiveMouse_; //!< See class declaration for explanation 187 169 int priority_; //!< Current priority (might change) 188 170 bool bExpired_; //!< See hasExpired() … … 198 180 for (unsigned int i = 0; i < handlers_.size(); ++i) 199 181 if (handlers_[i] != NULL) 200 handlers_[i]->allDevicesUpdated(dt);182 INPUT_STATE_PUSH_CALL(i, allDevicesUpdated, dt); 201 183 } 202 184 … … 207 189 case InputDeviceEnumerator::Keyboard: 208 190 if (handlers_[keyboardIndex_s] != NULL) 209 handlers_[keyboardIndex_s]->keyboardUpdated(dt);191 INPUT_STATE_PUSH_CALL(keyboardIndex_s, keyboardUpdated, dt); 210 192 break; 211 193 212 194 case InputDeviceEnumerator::Mouse: 213 195 if (handlers_[mouseIndex_s] != NULL) 214 handlers_[mouseIndex_s]->mouseUpdated(dt);196 INPUT_STATE_PUSH_CALL(mouseIndex_s, mouseUpdated, dt); 215 197 break; 216 198 217 199 default: // joy sticks 218 200 if (handlers_[device] != NULL) 219 handlers_[device]->joyStickUpdated(device - firstJoyStickIndex_s, dt);201 INPUT_STATE_PUSH_CALL(device, joyStickUpdated, device - firstJoyStickIndex_s, dt); 220 202 break; 221 203 } 222 204 } 223 205 224 template <typename EventType, class Traits>225 FORCEINLINE void InputState::buttonEvent(unsigned int device, const typename Traits::ButtonTypeParam button)206 template <typename EventType, class ButtonTypeParam> 207 FORCEINLINE void InputState::buttonEvent(unsigned int device, ButtonTypeParam button) 226 208 { 227 209 assert(device < handlers_.size()); 228 210 if (handlers_[device] != NULL) 229 handlers_[device]->buttonEvent(device, button, EventType()); 211 { 212 // We have to store the function pointer to tell the compiler about its actual type because of overloading 213 void (InputHandler::*function)(unsigned int, ButtonTypeParam, EventType) = &InputHandler::buttonEvent<ButtonTypeParam>; 214 InputManager::getInstance().pushCall(boost::function<void ()>(boost::bind(function, handlers_[device], device, button, EventType()))); 215 } 230 216 } 231 217 … … 233 219 { 234 220 if (handlers_[mouseIndex_s] != NULL) 235 handlers_[mouseIndex_s]->mouseMoved(abs, rel, clippingSize);221 INPUT_STATE_PUSH_CALL(mouseIndex_s, mouseMoved, abs, rel, clippingSize); 236 222 } 237 223 … … 239 225 { 240 226 if (handlers_[mouseIndex_s] != NULL) 241 handlers_[mouseIndex_s]->mouseScrolled(abs, rel);227 INPUT_STATE_PUSH_CALL(mouseIndex_s, mouseScrolled, abs, rel); 242 228 } 243 229 … … 246 232 assert(device < handlers_.size()); 247 233 if (handlers_[device] != NULL) 248 handlers_[device]->axisMoved(device - firstJoyStickIndex_s, axis, value);234 INPUT_STATE_PUSH_CALL(device, axisMoved, device - firstJoyStickIndex_s, axis, value); 249 235 } 250 236 } -
code/trunk/src/libraries/network/TrafficControl.h
r6417 r6746 34 34 #include <list> 35 35 #include <map> 36 #include " network/ClientConnectionListener.h"36 #include "ClientConnectionListener.h" 37 37 38 38 namespace orxonox { -
code/trunk/src/libraries/util/Serialise.h
r6417 r6746 35 35 #define _Serialise_H__ 36 36 37 #include "UtilPrereqs.h" 38 37 39 #include <cstring> 38 #include " util/Math.h"39 #include " util/mbool.h"40 #include "Math.h" 41 #include "mbool.h" 40 42 41 43 namespace orxonox{ -
code/trunk/src/libraries/util/Singleton.h
r6536 r6746 49 49 public: 50 50 //! Returns a reference to the singleton instance 51 static T& getInstance()51 FORCEINLINE static T& getInstance() 52 52 { 53 53 assert(T::singletonPtr_s != NULL); … … 56 56 57 57 //! Tells whether the singleton has been created 58 static bool exists()58 FORCEINLINE static bool exists() 59 59 { 60 60 return (T::singletonPtr_s != NULL); … … 62 62 63 63 //! Update method called by ClassSingletonManager (if used) 64 void preUpdateSingleton(const Clock& time) { static_cast<T*>(T::singletonPtr_s)->preUpdate(time); }64 FORCEINLINE void preUpdateSingleton(const Clock& time) { static_cast<T*>(T::singletonPtr_s)->preUpdate(time); } 65 65 //! Empty update method for the static polymorphism 66 void preUpdate(const Clock& time) { }66 FORCEINLINE void preUpdate(const Clock& time) { } 67 67 //! Update method called by ClassSingletonManager (if used) 68 void postUpdateSingleton(const Clock& time) { static_cast<T*>(T::singletonPtr_s)->postUpdate(time); }68 FORCEINLINE void postUpdateSingleton(const Clock& time) { static_cast<T*>(T::singletonPtr_s)->postUpdate(time); } 69 69 //! Empty update method for the static polymorphism 70 void postUpdate(const Clock& time) { }70 FORCEINLINE void postUpdate(const Clock& time) { } 71 71 72 72 protected: -
code/trunk/src/modules/pickup/PickupManager.cc
r6728 r6746 152 152 PickupCarrier* PickupManager::getPawn(void) 153 153 { 154 Pawn* pawn = dynamic_cast<Pawn*>(GUIManager::getInstance Ptr()->getPlayer(PickupManager::guiName_s)->getControllableEntity());154 Pawn* pawn = dynamic_cast<Pawn*>(GUIManager::getInstance().getPlayer(PickupManager::guiName_s)->getControllableEntity()); 155 155 if(pawn == NULL) 156 156 return NULL; -
code/trunk/src/modules/questsystem/QuestGUI.cc
r6417 r6746 109 109 110 110 //! Create root window. 111 this->rootWindow_ = this->windowManager_->createWindow(" TaharezLook/ScrollablePane", "QuestGUI/Quests");111 this->rootWindow_ = this->windowManager_->createWindow("MenuWidgets/ScrollablePane", "QuestGUI/Quests"); 112 112 this->rootWindow_->setSize(CEGUI::UVector2(CEGUI::UDim(1, 0),CEGUI::UDim(1, 0))); 113 113 … … 161 161 Get a CEGUI Window to use. 162 162 Windows that are no longer used are collected with giveWindow, and are given out again with getWindow, so save some time recreating new windows everytime. 163 The retreived window is of type " TaharezLook/TabButton".164 @return 165 Returns a CEGUI Window of type " TaharezLook/TabButton".163 The retreived window is of type "MenuWidgets/TabButton". 164 @return 165 Returns a CEGUI Window of type "MenuWidgets/TabButton". 166 166 */ 167 167 CEGUI::Window* QuestGUI::getWindow(void) … … 177 177 std::ostringstream stream; 178 178 stream << "QuestGUI/Quests/EmptyWindows/" << this->windows_.size()+1; 179 return this->windowManager_->createWindow(" TaharezLook/TabButton", stream.str());179 return this->windowManager_->createWindow("MenuWidgets/TabButton", stream.str()); 180 180 } 181 181 -
code/trunk/src/modules/questsystem/QuestGUINode.cc
r6502 r6746 160 160 stream << this->window_->getName() << "/Details"; 161 161 const QuestDescription* description = this->item_->getDescription(); 162 this->details_ = this->gui_->getWindowManager()->createWindow(" TaharezLook/FrameWindow", stream.str());162 this->details_ = this->gui_->getWindowManager()->createWindow("MenuWidgets/FrameWindow", stream.str()); 163 163 this->details_->setSize(CEGUI::UVector2(CEGUI::UDim(0.7f, 0),CEGUI::UDim(0.7f, 0))); 164 164 this->details_->setPosition(CEGUI::UVector2(CEGUI::UDim(0.1f, 0),CEGUI::UDim(0.1f, 0))); … … 171 171 //! Create a ScrollablePane. 172 172 stream << "/Scrollable"; 173 CEGUI::Window* window = this->gui_->getWindowManager()->createWindow(" TaharezLook/ScrollablePane", stream.str());173 CEGUI::Window* window = this->gui_->getWindowManager()->createWindow("MenuWidgets/ScrollablePane", stream.str()); 174 174 window->setSize(CEGUI::UVector2(CEGUI::UDim(1.0, -2*QuestGUINode::BORDER_WIDTH),CEGUI::UDim(1.0, -QuestGUINode::TITLE_HEIGHT))); 175 175 window->setPosition(CEGUI::UVector2(CEGUI::UDim(0, (float)QuestGUINode::BORDER_WIDTH),CEGUI::UDim(0, (float)QuestGUINode::TITLE_HEIGHT))); … … 185 185 stream.str(""); 186 186 stream << this->details_->getName() << "/Status"; 187 CEGUI::Window* statusWindow = this->gui_->getWindowManager()->createWindow(" TaharezLook/StaticText", stream.str());187 CEGUI::Window* statusWindow = this->gui_->getWindowManager()->createWindow("MenuWidgets/StaticText", stream.str()); 188 188 window->addChildWindow(statusWindow); 189 189 std::string status; … … 214 214 stream << this->details_->getName() << "/Description"; 215 215 stream << "/Title"; 216 CEGUI::Window* descriptionWindowTitle = this->gui_->getWindowManager()->createWindow(" TaharezLook/StaticText", stream.str());216 CEGUI::Window* descriptionWindowTitle = this->gui_->getWindowManager()->createWindow("MenuWidgets/StaticText", stream.str()); 217 217 window->addChildWindow(descriptionWindowTitle); 218 218 descriptionWindowTitle->setProperty("HorzFormatting", "HorzCentred"); … … 227 227 stream.str(""); 228 228 stream << this->details_->getName() << "/Description"; 229 CEGUI::Window* descriptionWindow = this->gui_->getWindowManager()->createWindow(" TaharezLook/StaticText", stream.str());229 CEGUI::Window* descriptionWindow = this->gui_->getWindowManager()->createWindow("MenuWidgets/StaticText", stream.str()); 230 230 window->addChildWindow(descriptionWindow); 231 231 descriptionWindow->setProperty("HorzFormatting", "WordWrapLeftAligned"); … … 250 250 stream.str(""); 251 251 stream << this->details_->getName() << "/Hints/Title"; 252 CEGUI::Window* hintsTitle = this->gui_->getWindowManager()->createWindow(" TaharezLook/StaticText", stream.str());252 CEGUI::Window* hintsTitle = this->gui_->getWindowManager()->createWindow("MenuWidgets/StaticText", stream.str()); 253 253 window->addChildWindow(hintsTitle); 254 254 hintsTitle->setProperty("HorzFormatting", "HorzCentred"); -
code/trunk/src/orxonox/CameraManager.h
r5929 r6746 61 61 void useCamera(Ogre::Camera* camera); 62 62 63 static CameraManager* getInstancePtr() { return singletonPtr_s; }64 65 63 private: 66 64 CameraManager(const CameraManager&); // don't use -
code/trunk/src/orxonox/Level.cc
r6417 r6746 58 58 if (this->isInitialized()) 59 59 { 60 if (LevelManager:: getInstancePtr())60 if (LevelManager::exists()) 61 61 LevelManager::getInstance().releaseActivity(this); 62 62 … … 116 116 (*it)->setGametype(rootgametype); 117 117 118 if (LevelManager:: getInstancePtr())118 if (LevelManager::exists()) 119 119 LevelManager::getInstance().requestActivity(this); 120 120 } -
code/trunk/src/orxonox/LevelManager.h
r6417 r6746 62 62 const std::string& getAvailableLevelListItem(unsigned int index) const; //tolua_export 63 63 64 static LevelManager* getInstancePtr() { return singletonPtr_s; }65 64 static LevelManager& getInstance() { return Singleton<LevelManager>::getInstance(); } // tolua_export 66 65 -
code/trunk/src/orxonox/PlayerManager.cc
r6417 r6746 66 66 this->clients_[clientID] = player; 67 67 68 if (LevelManager:: getInstancePtr() && LevelManager::getInstance().getActiveLevel())68 if (LevelManager::exists() && LevelManager::getInstance().getActiveLevel()) 69 69 LevelManager::getInstance().getActiveLevel()->playerEntered(player); 70 70 } … … 82 82 this->clients_.erase(clientID); 83 83 84 if (LevelManager:: getInstancePtr() && LevelManager::getInstance().getActiveLevel())84 if (LevelManager::exists() && LevelManager::getInstance().getActiveLevel()) 85 85 LevelManager::getInstance().getActiveLevel()->playerLeft(player); 86 86 -
code/trunk/src/orxonox/gamestates/GSLevel.cc
r6417 r6746 69 69 { 70 70 gameInputState_ = InputManager::getInstance().createInputState("game"); 71 gameInputState_->setMouse Mode(MouseMode::Exclusive);71 gameInputState_->setMouseExclusive(TriBool::True); 72 72 gameInputState_->setHandler(KeyBinderManager::getInstance().getDefaultAsHandler()); 73 73 KeyBinderManager::getInstance().setToDefault(); 74 74 75 75 guiMouseOnlyInputState_ = InputManager::getInstance().createInputState("guiMouseOnly"); 76 guiMouseOnlyInputState_->setMouse Mode(MouseMode::Exclusive);77 guiMouseOnlyInputState_->setMouseHandler( GUIManager::getInstancePtr());76 guiMouseOnlyInputState_->setMouseExclusive(TriBool::True); 77 guiMouseOnlyInputState_->setMouseHandler(&GUIManager::getInstance()); 78 78 79 79 guiKeysOnlyInputState_ = InputManager::getInstance().createInputState("guiKeysOnly"); 80 guiKeysOnlyInputState_->setKeyHandler( GUIManager::getInstancePtr());80 guiKeysOnlyInputState_->setKeyHandler(&GUIManager::getInstance()); 81 81 } 82 82 -
code/trunk/src/orxonox/gamestates/GSMainMenu.cc
r6417 r6746 31 31 #include <OgreSceneManager.h> 32 32 33 #include "core/input/InputManager.h"34 #include "core/input/InputState.h"35 33 #include "core/input/KeyBinderManager.h" 36 34 #include "core/Game.h" … … 42 40 #include "Scene.h" 43 41 #include "sound/AmbientSound.h" 42 // HACK 43 #include "core/input/InputManager.h" 44 #include "core/input/InputState.h" 44 45 45 46 namespace orxonox … … 49 50 GSMainMenu::GSMainMenu(const GameStateInfo& info) 50 51 : GameState(info) 51 , inputState_(0)52 52 { 53 53 RegisterRootObject(GSMainMenu); 54 inputState_ = InputManager::getInstance().createInputState("mainMenu"); 55 inputState_->setMouseMode(MouseMode::Nonexclusive); 56 inputState_->setHandler(GUIManager::getInstancePtr()); 57 inputState_->setKeyHandler(KeyBinderManager::getInstance().getDefaultAsHandler()); 58 inputState_->setJoyStickHandler(&InputHandler::EMPTY); 54 55 InputManager::getInstance().createInputState("MainMenuHackery")->setKeyHandler(KeyBinderManager::getInstance().getDefaultAsHandler()); 59 56 60 57 // create an empty Scene … … 76 73 this->ambient_->destroy(); 77 74 78 InputManager::getInstance().destroyState(" mainMenu");75 InputManager::getInstance().destroyState("MainMenuHackery"); 79 76 80 77 this->scene_->getSceneManager()->destroyCamera(this->camera_); … … 85 82 { 86 83 // show main menu 87 GUIManager::getInstance().showGUI("MainMenu", true , GraphicsManager::getInstance().isFullScreen());84 GUIManager::getInstance().showGUI("MainMenu", true); 88 85 GUIManager::getInstance().setCamera(this->camera_); 89 GUIManager::getInstance().setBackground("MainMenuBackground"); 90 // GUIManager::getInstance().setBackground(""); 86 GUIManager::getInstance().setBackgroundImage("MainMenuBackground", "Background"); 91 87 GraphicsManager::getInstance().setCamera(this->camera_); 88 89 InputManager::getInstance().enterState("MainMenuHackery"); 92 90 93 91 CommandExecutor::addConsoleCommandShortcut(createConsoleCommand(createFunctor(&GSMainMenu::startStandalone), "startGame")); … … 101 99 102 100 KeyBinderManager::getInstance().setToDefault(); 103 InputManager::getInstance().enterState("mainMenu");104 101 105 102 this->setConfigValues(); … … 119 116 } 120 117 121 InputManager::getInstance().leaveState(" mainMenu");118 InputManager::getInstance().leaveState("MainMenuHackery"); 122 119 123 120 GUIManager::getInstance().setCamera(0); 124 GUIManager::getInstance().setBackground ("");121 GUIManager::getInstance().setBackgroundImage(""); 125 122 GUIManager::hideGUI("MainMenu"); 126 123 GraphicsManager::getInstance().setCamera(0); -
code/trunk/src/orxonox/gamestates/GSMainMenu.h
r6417 r6746 61 61 62 62 private: 63 InputState* inputState_;64 63 Scene* scene_; 65 64 Ogre::Camera* camera_; -
code/trunk/src/orxonox/overlays/CMakeLists.txt
r5929 r6746 1 1 ADD_SOURCE_FILES(ORXONOX_SRC_FILES 2 GUISheet.cc 2 3 OrxonoxOverlay.cc 3 4 OverlayGroup.cc
Note: See TracChangeset
for help on using the changeset viewer.