Index: code/branches/pickup2/data/DataInstallScript.cmake
===================================================================
--- code/branches/pickup2/data/DataInstallScript.cmake	(revision 5942)
+++ code/branches/pickup2/data/DataInstallScript.cmake	(revision 6412)
@@ -29,9 +29,9 @@
 
 # Write some comment
-FILE(APPEND @DATA_INSTALL_DIRECTORY@/resources.oxr "\n\n\n <!-- ---------------------------------------- -->")
-FILE(APPEND @DATA_INSTALL_DIRECTORY@/resources.oxr     "\n <!-- Content from the external data directory -->")
-FILE(APPEND @DATA_INSTALL_DIRECTORY@/resources.oxr     "\n <!-- ---------------------------------------- -->\n\n")
+FILE(APPEND @DATA_INSTALL_DIRECTORY@/DefaultResources.oxr "\n\n\n <!-- ---------------------------------------- -->")
+FILE(APPEND @DATA_INSTALL_DIRECTORY@/DefaultResources.oxr     "\n <!-- Content from the external data directory -->")
+FILE(APPEND @DATA_INSTALL_DIRECTORY@/DefaultResources.oxr     "\n <!-- ---------------------------------------- -->\n\n")
 
 # Append the external file
 FILE(READ   @EXTERNAL_DATA_DIRECTORY@/resources.oxr _external_file)
-FILE(APPEND @DATA_INSTALL_DIRECTORY@/resources.oxr ${_external_file})
+FILE(APPEND @DATA_INSTALL_DIRECTORY@/DefaultResources.oxr ${_external_file})
Index: code/branches/pickup2/data/DefaultResources.oxr
===================================================================
--- code/branches/pickup2/data/DefaultResources.oxr	(revision 6412)
+++ code/branches/pickup2/data/DefaultResources.oxr	(revision 6412)
@@ -0,0 +1,14 @@
+<ResourceCollection resourceGroup = "General" >
+    <ResourceLocation path = "levels" />
+    <ResourceLocation path = "lua" />
+    <ResourceLocation path = "overlays" />
+    <ResourceLocation path = "particle" />
+    <ResourceLocation path = "tcl" />
+</ResourceCollection>
+
+<ResourceCollection resourceGroup = "GUI" >
+    <ResourceLocation path = "gui/configs" />
+    <ResourceLocation path = "gui/layouts" />
+    <ResourceLocation path = "gui/schemes" />
+    <ResourceLocation path = "gui/scripts" />
+</ResourceCollection>
Index: code/branches/pickup2/data/defaultConfig/keybindings.ini
===================================================================
--- code/branches/pickup2/data/defaultConfig/keybindings.ini	(revision 5942)
+++ code/branches/pickup2/data/defaultConfig/keybindings.ini	(revision 6412)
@@ -23,5 +23,5 @@
 KeyEnd=boost
 KeyEquals=
-KeyEscape="exit"
+KeyEscape="keyESC"
 KeyF="scale -1 moveUpDown"
 KeyF1="OverlayGroup toggleVisibility Debug"
@@ -122,7 +122,7 @@
 KeyStop=
 KeySystemRequest=
-KeyT=
-KeyTab="cycleNavigationFocus"
-KeyU=
+KeyT="onpress fire 2"
+KeyTab="NewHumanController changeMode"
+KeyU=""
 KeyUP="scale 1 moveFrontBack"
 KeyUnassigned="openConsole"
@@ -147,18 +147,16 @@
 
 [MouseButtons]
-MouseButton3=
-MouseButton4=
-MouseButton5=
-MouseButton6=
-MouseButton7=
-MouseLeft="fire 0"
-MouseMiddle=
-MouseRight="fire 1"
-MouseWheel1Down=
-MouseWheel1Up=
-MouseWheel2Down=
-MouseWheel2Up=
+Button3=
+Button4=
+Button5=
+Button6=
+Button7=
 Left="fire 0"
-Right="fire 1"
+Middle=
+Right= fire 1 | unfire
+Wheel1Down="NewHumanController decelerate"
+Wheel1Up="NewHumanController accelerate"
+Wheel2Down=
+Wheel2Up=
 
 [MouseAxes]
Index: code/branches/pickup2/data/gui/layouts/AudioMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/AudioMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/AudioMenu.layout	(revision 6412)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/AudioBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/AudioWindow" >
+            <Property Name="Text" Value="Audio" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2875,0},{0.8,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/MasterVolume" >
+                <Property Name="Text" Value="Master volume               " />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.15,0},{0.5625,0},{0.3525,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/MasterScrollbar" >
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.6,0},{0.71,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="AudioMenu.AudioMasterScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="AudioMenu.AudioMasterScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="AudioMenu.AudioMasterScrollbar_changed" />
+                </Window>
+                <Window Type="TaharezLook/Checkbox" Name="orxonox/MasterCheckbox" >
+                    <Property Name="Text" Value="Mute" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.775,0},{0.45,0},{0.96,0},{0.9,0}}" />
+                    <Event Name="CheckStateChanged" Function="AudioMenu.AudioMuteMasterCheckbox_clicked"/>
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/MusicVolume" >
+                <Property Name="Text" Value="Music volume               " />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.4335,0},{0.5625,0},{0.636,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/MusicScrollbar" >
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.6,0},{0.71,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="AudioMenu.AudioMusicScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="AudioMenu.AudioMusicScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="AudioMenu.AudioMusicScrollbar_changed" />
+                </Window>
+                <Window Type="TaharezLook/Checkbox" Name="orxonox/MusicCheckbox" >
+                    <Property Name="Text" Value="Mute" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.775,0},{0.45,0},{0.96,0},{0.9,0}}" />
+                    <Event Name="CheckStateChanged" Function="AudioMenu.AudioMuteMusicCheckbox_clicked"/>
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/EffectsVolume" >
+                <Property Name="Text" Value="Effects volume               " />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.041666,0},{0.717,0},{0.5625,0},{0.9195,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/EffectsScrollbar" >
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.6,0},{0.71,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="AudioMenu.AudioEffectsScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="AudioMenu.AudioEffectsScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="AudioMenu.AudioEffectsScrollbar_changed" />
+                </Window>
+                <Window Type="TaharezLook/Checkbox" Name="orxonox/EffectsCheckbox" >
+                    <Property Name="Text" Value="Mute" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.775,0},{0.45,0},{0.96,0},{0.9,0}}" />
+                    <Event Name="CheckStateChanged" Function="AudioMenu.AudioMuteEffectsCheckbox_clicked"/>
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/AudioTheme" >
+                <Property Name="Text" Value="Theme" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.604166,0},{0.15,0},{0.958333,0},{0.636,0}}" />
+                <Window Type="TaharezLook/Listbox" Name="orxonox/AudioThemeListbox" >
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.225,0},{0.95,0},{0.92,0}}" />
+                    <Event Name="ItemSelectionChanged" Function="AudioMenu.AudioThemeListbox_changed" />
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/AudioInfo" >
+                <Property Name="Text" >Theme changes might take
+up to a minute.</Property>
+                <Property Name="TextColours" Value="FF4444FF" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.604166,0},{0.717,0},{0.958333,0},{0.9195,0}}" />
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/AudioBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="AudioMenu.AudioBackButton_clicked" />
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/ControlsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/ControlsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/ControlsMenu.layout	(revision 6412)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/ControlsBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/ControlsWindow" >
+            <Property Name="Text" Value="Controls" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/Button" Name="orxonox/MouseControlsButton" >
+                <Property Name="Text" Value="Mouse controls" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.318181,0},{0.7,0},{0.5,0}}" />
+                <Event Name="Clicked" Function="ControlsMenu.ControlsMouseControlsButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/KeybindingsButton" >
+                <Property Name="Text" Value="Keybindings" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.590909,0},{0.7,0},{0.772727,0}}" />
+                <Event Name="Clicked" Function="ControlsMenu.ControlsKeyboardControlsButton_clicked"/>
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/ControlsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="ControlsMenu.ControlsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/CreditsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/CreditsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/CreditsMenu.layout	(revision 6412)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/CreditsBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/CreditsWindow" >
+            <Property Name="Text" Value="Credits" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/CreditsText" >
+                <Property Name="Text">Orxonox version 0.0.3
+
+Programming Language:  C++ - lua - tcl
+Environment:  OpenAL - Ogre - OIS - CEGUI - enet - ODE
+Licence:  GNU General Public Licence - Creative Commons
+
+http://www.orxonox.net</Property>
+                <Property Name="TextColours" Value="FF4444FF" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.95,0},{0.9,0}}" />
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/CreditsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="CreditsMenu.CreditsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/DecisionPopup.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/DecisionPopup.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/DecisionPopup.layout	(revision 6412)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="DefaultWindow" Name="orxonox/DecisionPopup_RootWindow" >
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Window Type="TaharezLook/StaticImage" Name="orxonox/DecisionPopup_Background" >
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+            <Property Name="Alpha" Value="0.6" />
+            <Window Type="TaharezLook/Button" Name="orxonox/DecisionPopup_button_yes" >
+                <Property Name="Font" Value="BlueHighway-12" />
+                <Property Name="Text" Value="Yes" />
+                <Property Name="Alpha" Value="0.7" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.5625,0},{0.4875,0},{0.6125,0}}" />
+                <Event Name="Clicked" Function="DecisionPopup.button_yes"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/DecisionPopup_button_no" >
+                <Property Name="Font" Value="BlueHighway-12" />
+                <Property Name="Text" Value="No" />
+                <Property Name="Alpha" Value="0.8" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.5625,0},{0.7125,0},{0.6125,0}}" />
+                <Event Name="Clicked" Function="DecisionPopup.button_no"/>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/DecisionPopup_text" >
+                <Property Name="Text" Value="Template text" />
+                <Property Name="HorzFormatting" Value="WordWrapCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.4375,0},{0.75,0},{0.5375,0}}" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="Alpha" Value="0.8" />
+            </Window>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/GameplayMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/GameplayMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/GameplayMenu.layout	(revision 6412)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/GameplayBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/GameplayWindow" >
+            <Property Name="Text" Value="Gameplay" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/Difficulty" >
+                <Property Name="Text" Value="Difficulty" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.475,0},{0.9,0}}" />
+                <Window Type="TaharezLook/RadioButton" Name="orxonox/DifficultyEasyButton" >
+                    <Property Name="Text" Value="Easy" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.325,0},{0.325,0},{0.675,0},{0.45,0}}" />
+                    <Event Name="SelectStateChanged" Function="GameplayMenu.GameplayDifficultyEasyButton_clicked"/>
+                </Window>
+                <Window Type="TaharezLook/RadioButton" Name="orxonox/DifficultyNormalButton" >
+                    <Property Name="Text" Value="Normal" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.325,0},{0.525,0},{0.675,0},{0.65,0}}" />
+                    <Event Name="SelectStateChanged" Function="GameplayMenu.GameplayDifficultyNormalButton_clicked"/>
+                </Window>
+                <Window Type="TaharezLook/RadioButton" Name="orxonox/DifficultyHardButton" >
+                    <Property Name="Text" Value="Hard" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.325,0},{0.725,0},{0.675,0},{0.85,0}}" />
+                    <Event Name="SelectStateChanged" Function="GameplayMenu.GameplayDifficultyHardButton_clicked"/>
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/Theme" >
+                <Property Name="Text" Value="Theme" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.525,0},{0.2,0},{0.95,0},{0.9,0}}" />
+                <Window Type="TaharezLook/Combobox" Name="orxonox/ThemeCombobox" >
+                    <Property Name="AlwaysOnTop" Value="True" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.21,0},{0.95,0},{0.9,0}}" />
+                    <Property Name="MaxEditTextLength" Value="1073741823" />
+                    <Property Name="ReadOnly" Value="True" />
+                    <Event Name="ListSelectionAccepted" Function="GameplayMenu.GameplayThemeCombobox_changed" />
+                </Window>
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/GameplayBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="GameplayMenu.GameplayBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/GraphicsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/GraphicsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/GraphicsMenu.layout	(revision 6412)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/GraphicsBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/GraphicsWindow" >
+            <Property Name="Text" Value="Graphics" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/Resolution" >
+                <Property Name="Text" Value="Resolution" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.475,0},{0.92,0}}" />
+                <Window Type="TaharezLook/Listbox" Name="orxonox/ResolutionListbox" >
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.95,0}}" />
+                    <Event Name="ItemSelectionChanged" Function="GraphicsMenu.GraphicsResolutionListbox_changed"/>
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/Brightness" >
+                <Property Name="Text" Value="Brightness" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.525,0},{0.15,0},{0.95,0},{0.35,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/BrightnessScrollbar" >
+                    <Property Name="Disabled" Value="true" />
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.6,0},{0.95,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="GraphicsMenu.GraphicsBrightnessScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="GraphicsMenu.GraphicsBrightnessScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="GraphicsMenu.GraphicsBrightnessScrollbar_changed" />
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/Checkbox" Name="orxonox/FullscreenCheckbox" >
+                <Property Name="Text" Value="Fullscreen" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.4,0},{0.85,0},{0.475,0}}" />
+                <Event Name="CheckStateChanged" Function="GraphicsMenu.GraphicsFullscreenCheckbox_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/GraphicsInfo" >
+                <Property Name="Text" >
+Changes in graphics
+settings require
+a game restart.</Property>
+                <Property Name="TextColours" Value="FF4444FF" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.525,0},{0.525,0},{0.95,0},{0.92,0}}" />
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/GraphicsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="GraphicsMenu.GraphicsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/InGameMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/InGameMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/InGameMenu.layout	(revision 6412)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="DefaultWindow" Name="orxonox/InGameMenu_RootWindow" >
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_ReturnButton" >
+            <Property Name="Font" Value="BlueHighway-12" />
+            <Property Name="Text" Value="Return to Game" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.3625,0},{0.6,0},{0.4125,0}}" />
+            <Property Name="Alpha" Value="0.7" />
+            <Event Name="Clicked" Function="InGameMenu.button_return_clicked"/>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_MainMenuButton" >
+            <Property Name="Font" Value="BlueHighway-12" />
+            <Property Name="Text" Value="Main Menu" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4625,0},{0.6,0},{0.5125,0}}" />
+            <Property Name="Alpha" Value="0.7" />
+            <Event Name="Clicked" Function="InGameMenu.button_mainmenu_clicked"/>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_SettingsButton" >
+            <Property Name="Font" Value="BlueHighway-12" />
+            <Property Name="Text" Value="Settings" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5625,0},{0.6,0},{0.6125,0}}" />
+            <Property Name="Alpha" Value="0.7" />
+            <Event Name="Clicked" Function="InGameMenu.button_settings_clicked"/>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/InGameMenu_QuitButton" >
+            <Property Name="Font" Value="BlueHighway-12" />
+            <Property Name="Text" Value="Quit" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Property Name="Alpha" Value="0.7" />
+            <Event Name="Clicked" Function="InGameMenu.button_quit_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/InfoPopup.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/InfoPopup.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/InfoPopup.layout	(revision 6412)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="DefaultWindow" Name="orxonox/InfoPopup_RootWindow" >
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Window Type="TaharezLook/StaticImage" Name="orxonox/InfoPopup_Background" >
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+            <Property Name="Alpha" Value="0.7" />
+            <Window Type="TaharezLook/Button" Name="orxonox/InfoPopup_close" >
+                <Property Name="Font" Value="BlueHighway-12" />
+                <Property Name="Text" Value="Close" />
+                <Property Name="Alpha" Value="0.7" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5,0},{0.6,0},{0.55,0}}" />
+                <Event Name="Clicked" Function="InfoPopup.close"/>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/InfoPopup_text" >
+                <Property Name="Text" Value="Template text" />
+                <Property Name="TextColours" Value="FF4444FF" />
+                <Property Name="HorzFormatting" Value="WordWrapCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.375,0},{0.75,0},{0.475,0}}" />
+                <Property Name="InheritsAlpha" Value="False" />
+               <Property Name="Alpha" Value="0.8" />
+            </Window>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/KeyBindMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/KeyBindMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/KeyBindMenu.layout	(revision 6412)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="DefaultWindow" Name="orxonox/KeyBindMenu/Background" >
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/KeyBindWindow" >
+            <Property Name="Text" Value="Keybindings" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.2125,0},{0.85,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/KeyBindWrapper" >
+                <Property Name="TextColours" Value="FF4444FF" />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" />
+                <Window Type="TaharezLook/ScrollablePane" Name="orxonox/KeyBindPane" >
+                    <Property Name="ContentArea" Value="l:0 t:0 r:0 b:0" />
+                    <Property Name="HorzStepSize" Value="0.005" />
+                    <Property Name="VertStepSize" Value="0.005" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="HorzOverlapSize" Value="0.01" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.005,0},{0.01,0},{0.995,0},{0.99,0}}" />
+                    <Property Name="VertOverlapSize" Value="0.01" />
+                    <Property Name="HorzScrollPosition" Value="0" />
+                    <Property Name="VertScrollPosition" Value="0" />
+                </Window>
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/KeyBindBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="KeyBindMenu.KeyBindBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/MainMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/MainMenu.layout	(revision 5942)
+++ code/branches/pickup2/data/gui/layouts/MainMenu.layout	(revision 6412)
@@ -1,52 +1,46 @@
-<?xml version="1.0" ?>
-<GUILayout>
-    <Window Type="TaharezLook/StaticImage" Name="orxonox/Background">
-    <Property Name="UnifiedSize" Value="{{1.0,0},{1.0,0}}"/>
-    <Property Name="Image" Value="set:MainMenuBackground image:Background"/>
-    <Property Name="FrameEnabled" Value="set:true"/>
-    <Property Name="BackgroundEnabled" Value="set:false"/>
- 
-        <Window Type="TaharezLook/Button" Name="orxonox/StandaloneButton">
-            <Property Name="UnifiedPosition" Value="{{0.11,0},{0.3,0}}"/>
-            <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/>
-            <Property Name="Text" Value="Standalone"/>
-            <Property Name="Disabled" Value="true"/>
-            <Event Name="Clicked" Function="MainMenu.button_standalone_clicked"/>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/MainMenuBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1.02125,0},{1.02167,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/Button" Name="orxonox/QuickGameTestButton" >
+            <Property Name="Text" Value="Quickstart" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.2875,0},{0.6,0},{0.3375,0}}" />
+            <Event Name="Clicked" Function="MainMenu.QuickGameTestButton_clicked"/>
         </Window>
-        
-        <Window Type="TaharezLook/Listbox" Name="orxonox/LevelListbox">
-            <Property Name="UnifiedPosition" Value="{{0.4,0},{0.3,0}}"/>
+        <Window Type="TaharezLook/Button" Name="orxonox/SingleplayerButton" >
+            <Property Name="Text" Value="Singleplayer" />
             <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
-            <Property Name="UnifiedSize" Value="{{0.35,0},{0.33,0}}" />
-            <Property Name="Tooltip" Value="Available Levels." />
-            <Event Name="ItemSelectionChanged" Function="MainMenu.listbox_level_selectionchanged" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.3625,0},{0.6,0},{0.4125,0}}" />
+            <Event Name="Clicked" Function="MainMenu.SingleplayerButton_clicked"/>
         </Window>
-        
-        <Window Type="TaharezLook/Button" Name="orxonox/DedicatedButton">
-            <Property Name="UnifiedPosition" Value="{{0.11,0},{0.376,0}}"/>
-            <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/>
-            <Property Name="Text" Value="Dedicated"/>
-            <Event Name="Clicked" Function="MainMenu.button_dedicated_clicked"/>
+        <Window Type="TaharezLook/Button" Name="orxonox/MultiplayerButton" >
+            <Property Name="Text" Value="Multiplayer" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4375,0},{0.6,0},{0.4875,0}}" />
+            <Event Name="Clicked" Function="MainMenu.MultiplayerButton_clicked"/>
         </Window>
-        
-        <Window Type="TaharezLook/Button" Name="orxonox/ServerButton">
-            <Property Name="UnifiedPosition" Value="{{0.11,0},{0.452,0}}"/>
-            <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/>
-            <Property Name="Text" Value="Server"/>
-            <Event Name="Clicked" Function="MainMenu.button_server_clicked"/>
+        <Window Type="TaharezLook/Button" Name="orxonox/SettingsButton" >
+            <Property Name="Text" Value="Settings" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5125,0},{0.6,0},{0.5625,0}}" />
+            <Event Name="Clicked" Function="MainMenu.SettingsButton_clicked"/>
         </Window>
-        
-        <Window Type="TaharezLook/Button" Name="orxonox/ClientButton">
-            <Property Name="UnifiedPosition" Value="{{0.11,0},{0.528,0}}"/>
-            <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/>
-            <Property Name="Text" Value="Client"/>
-            <Event Name="Clicked" Function="MainMenu.button_client_clicked"/>
+        <Window Type="TaharezLook/Button" Name="orxonox/CreditsButton" >
+            <Property Name="Text" Value="Credits" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5875,0},{0.6,0},{0.6375,0}}" />
+            <Event Name="Clicked" Function="MainMenu.CreditsButton_clicked"/>
         </Window>
-        
-        <Window Type="TaharezLook/Button" Name="orxonox/QuitButton">
-            <Property Name="UnifiedPosition" Value="{{0.11,0},{0.604,0}}"/>
-            <Property Name="UnifiedSize" Value="{{0.15,0},{0.05,0}}"/>
-            <Property Name="Text" Value="Quit"/>
-            <Event Name="Clicked" Function="MainMenu.button_quit_clicked"/>
+        <Window Type="TaharezLook/Button" Name="orxonox/ExitButton" >
+            <Property Name="Text" Value="Exit" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="MainMenu.ExitButton_clicked"/>
         </Window>
     </Window>
Index: code/branches/pickup2/data/gui/layouts/MainMenuBackground.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/MainMenuBackground.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/MainMenuBackground.layout	(revision 6412)
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<GUILayout>
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/Background">
+    <Property Name="UnifiedSize" Value="{{1.0,0},{1.0,0}}"/>
+    <Property Name="Image" Value="set:MainMenuBackground image:Background"/>
+    <Property Name="FrameEnabled" Value="set:true"/>
+    <Property Name="BackgroundEnabled" Value="set:false"/>
+    <Property Name="InheritsAlpha" Value="False" />
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/MouseControlsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/MouseControlsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/MouseControlsMenu.layout	(revision 6412)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/MouseControlsBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/MouseControlsWindow" >
+            <Property Name="Text" Value="Mouse controls" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/StaticText" Name="orxonox/MouseNormalSensitivity" >
+                <Property Name="Text" Value="Sensitivity (normal mode)                                      " />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.95,0},{0.45,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/MouseNormalScrollbar" >
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.6,0},{0.565,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="MouseControlsMenu.MouseControlsMouseNormalScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="MouseControlsMenu.MouseControlsMouseNormalScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="MouseControlsMenu.MouseControlsMouseNormalScrollbar_changed" />
+                </Window>
+                <Window Type="TaharezLook/RadioButton" Name="orxonox/MouseNormalButton" >
+                    <Property Name="Text" Value="Normal mouse input" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.61,0},{0.5,0},{0.975,0},{0.85,0}}" />
+                    <Event Name="SelectStateChanged" Function="MouseControlsMenu.MouseNormalButton_clicked" />
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/StaticText" Name="orxonox/MouseDeriveSensitivity" >
+                <Property Name="Text" Value="Sensitivity (derive mode)                                      " />
+                <Property Name="InheritsAlpha" Value="False" />
+                <Property Name="HorzFormatting" Value="HorzCentred" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertFormatting" Value="TopAligned" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.55,0},{0.95,0},{0.8,0}}" />
+                <Window Type="TaharezLook/HorizontalScrollbar" Name="orxonox/MouseDeriveScrollbar" >
+                    <Property Name="PageSize" Value="0" />
+                    <Property Name="StepSize" Value="1" />
+                    <Property Name="OverlapSize" Value="0" />
+                    <Property Name="DocumentSize" Value="1" />
+                    <Property Name="ScrollPosition" Value="0" />
+                    <Property Name="StepSize" Value="0.1" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.6,0},{0.565,0},{0.8,0}}" />
+                    <Event Name="ThumbTrackStarted" Function="MouseControlsMenu.MouseControlsMouseDeriveScrollbar_started" />
+                    <Event Name="ThumbTrackEnded" Function="MouseControlsMenu.MouseControlsMouseDeriveScrollbar_ended" />
+                    <Event Name="ScrollPosChanged" Function="MouseControlsMenu.MouseControlsMouseDeriveScrollbar_changed" />
+                </Window>
+                <Window Type="TaharezLook/RadioButton" Name="orxonox/MouseDeriveButton" >
+                    <Property Name="Text" Value="Derive mouse input" />
+                    <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                    <Property Name="UnifiedAreaRect" Value="{{0.61,0},{0.5,0},{0.975,0},{0.85,0}}" />
+                    <Event Name="SelectStateChanged" Function="MouseControlsMenu.MouseDeriveButton_clicked" />
+                </Window>
+            </Window>
+            <Window Type="TaharezLook/Checkbox" Name="orxonox/MouseInvertCheckbox" >
+                <Property Name="Text" Value="Invert mouse" />
+                <Property Name="Disabled" Value="true" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.39,0},{0.85,0},{0.61,0},{0.95,0}}" />
+                <Event Name="CheckStateChanged" Function="MouseControlsMenu.MouseInvertCheckbox_clicked" />
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/MouseControlsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="MouseControlsMenu.MouseControlsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/MultiplayerMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/MultiplayerMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/MultiplayerMenu.layout	(revision 6412)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/MultiplayerBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/MultiplayerWindow" >
+            <Property Name="Text" Value="Multiplayer" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/Listbox" Name="orxonox/MultiplayerLevelListbox" >
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.8,0}}" />
+            </Window>
+            <Window Type="TaharezLook/RadioButton" Name="orxonox/MultiplayerJoinButton" >
+                <Property Name="Text" Value="Join" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.85,0},{0.3,0},{0.95,0}}" />
+                <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerJoinButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/RadioButton" Name="orxonox/MultiplayerHostButton" >
+                <Property Name="Text" Value="Host" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.85,0},{0.6,0},{0.95,0}}" />
+                <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerHostButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/RadioButton" Name="orxonox/MultiplayerDedicatedButton" >
+                <Property Name="Text" Value="Dedicated" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.7,0},{0.85,0},{0.9,0},{0.95,0}}" />
+                <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerDedicatedButton_clicked"/>
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/MultiplayerStartButton" >
+            <Property Name="Text" Value="Start" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.6625,0},{0.4875,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="MultiplayerMenu.MultiplayerStartButton_clicked"/>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/MultiplayerBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.6625,0},{0.7125,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="MultiplayerMenu.MultiplayerBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/MultiplayerOptionsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/MultiplayerOptionsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/MultiplayerOptionsMenu.layout	(revision 6412)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/MultiplayerOptionsBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/MultiplayerOptionsWindow" >
+            <Property Name="Text" Value="Multiplayer options" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/MultiplayerOptionsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.625,0},{0.6,0},{0.675,0}}" />
+            <Event Name="Clicked" Function="MultiplayerOptionsMenu.MultiplayerOptionsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/PickupInventory.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/PickupInventory.layout	(revision 5942)
+++ code/branches/pickup2/data/gui/layouts/PickupInventory.layout	(revision 6412)
@@ -15,5 +15,5 @@
             <Property Name="TabPanePosition" Value="Bottom" />
             <Property Name="UnifiedAreaRect" Value="{{0,10},{0,30},{1,-10},{1,-10}}" />
-            
+
             <Window Type="TaharezLook/ScrollablePane" Name="orxonox/Inventory/TabControl/TabEquipment">
                 <Property Name="Text" Value="Equipment" />
Index: code/branches/pickup2/data/gui/layouts/QuestGUI.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/QuestGUI.layout	(revision 5942)
+++ code/branches/pickup2/data/gui/layouts/QuestGUI.layout	(revision 6412)
@@ -6,4 +6,5 @@
     <Property Name="FrameEnabled" Value="set:true"/>
     <Property Name="BackgroundEnabled" Value="set:false"/>
+    <Property Name="InheritsAlpha" Value="False" />
 
         <Window Type="TaharezLook/Titlebar" Name="orxonox/QuestGUI/Title">
Index: code/branches/pickup2/data/gui/layouts/SettingsMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/SettingsMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/SettingsMenu.layout	(revision 6412)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/SettingsBackground" >
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/SettingsWindow" >
+            <Property Name="Text" Value="Settings" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.3625,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/Button" Name="orxonox/GameplayButton" >
+                <Property Name="Text" Value="Gameplay" />
+                <Property Name="Disabled" Value="True" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.181818,0},{0.45,0},{0.363636,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsGameplayButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/MultiplayerOptionsButton" >
+                <Property Name="Text" Value="Multiplayer options" />
+                <Property Name="Disabled" Value="True" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.454545,0},{0.45,0},{0.636363,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsMultiplayerOptionsButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/ControlsButton" >
+                <Property Name="Text" Value="Controls" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.727272,0},{0.45,0},{0.909090,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsControlsButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/GraphicsButton" >
+                <Property Name="Text" Value="Graphics" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.181818,0},{0.95,0},{0.363636,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsGraphicsButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/AudioButton" >
+                <Property Name="Text" Value="Audio" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.454545,0},{0.95,0},{0.636363,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsAudioButton_clicked"/>
+            </Window>
+            <Window Type="TaharezLook/Button" Name="orxonox/ResetSettingsButton" >
+                <Property Name="Text" Value="Reset settings" />
+                <Property Name="Disabled" Value="True" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.727272,0},{0.95,0},{0.909090,0}}" />
+                <Event Name="Clicked" Function="SettingsMenu.SettingsResetSettingsButton_clicked"/>
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/SettingsBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="SettingsMenu.SettingsBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/layouts/SingleplayerMenu.layout
===================================================================
--- code/branches/pickup2/data/gui/layouts/SingleplayerMenu.layout	(revision 6412)
+++ code/branches/pickup2/data/gui/layouts/SingleplayerMenu.layout	(revision 6412)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="TaharezLook/StaticImage" Name="orxonox/SingleplayerBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="TaharezLook/StaticText" Name="orxonox/SingleplayerWindow" >
+            <Property Name="Text" Value="Singleplayer" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.6375,0}}" />
+            <Window Type="TaharezLook/Listbox" Name="orxonox/SingleplayerLevelListbox" >
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" />
+            </Window>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/SingleplayerStartButton" >
+            <Property Name="Text" Value="Start" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.6625,0},{0.4875,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/>
+        </Window>
+        <Window Type="TaharezLook/Button" Name="orxonox/SingleplayerBackButton" >
+            <Property Name="Text" Value="Back" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.6625,0},{0.7125,0},{0.7125,0}}" />
+            <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerBackButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>
Index: code/branches/pickup2/data/gui/schemes/OrxonoxGUIScheme.scheme
===================================================================
--- code/branches/pickup2/data/gui/schemes/OrxonoxGUIScheme.scheme	(revision 5942)
+++ code/branches/pickup2/data/gui/schemes/OrxonoxGUIScheme.scheme	(revision 6412)
@@ -1,4 +1,4 @@
 <?xml version="1.0" ?>
 <GUIScheme Name="OrxonoxGUI">
-    <Imageset Name="MainMenuBackground" Filename="MainMenuBackground.imageset" ResourceGroup="General"/>
+    <Imageset Name="MainMenuBackground" Filename="MainMenuBackground.imageset"/>
 </GUIScheme>
Index: code/branches/pickup2/data/gui/schemes/TaharezLookWidgetAliases.scheme
===================================================================
--- code/branches/pickup2/data/gui/schemes/TaharezLookWidgetAliases.scheme	(revision 5942)
+++ code/branches/pickup2/data/gui/schemes/TaharezLookWidgetAliases.scheme	(revision 6412)
@@ -26,5 +26,5 @@
 	<WindowAlias Alias="Taharez StaticText" Target="TaharezLook/StaticText" />
 	<WindowAlias Alias="Taharez Tab Button" Target="TaharezLook/TabButton" />
-	<WindowAlias Alias="Taharez Tab Pane" Target="TaharezLook/TabPane" />
+	<WindowAlias Alias="Taharez Tab Pane" Target="TaharezLook/TabContentPane" />
 	<WindowAlias Alias="Taharez Tab Control" Target="TaharezLook/TabControl" />
 	<WindowAlias Alias="Taharez Titlebar" Target="TaharezLook/Titlebar" />
Index: code/branches/pickup2/data/gui/scripts/AudioMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/AudioMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/AudioMenu.lua	(revision 6412)
@@ -0,0 +1,184 @@
+-- AudioMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    AudioMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "AudioMenu"
+P.layoutString = "AudioMenu.layout"
+
+function P:init()
+    soundMgr = orxonox.SoundManager:getInstance()
+    block = false
+    masterscrollbar_active = false
+    musicscrollbar_active = false
+    effectsscrollbar_active = false
+    mastervolume = soundMgr:getVolume(orxonox.SoundType.All)
+    musicvolume = soundMgr:getVolume(orxonox.SoundType.Music)
+    effectsvolume = soundMgr:getVolume(orxonox.SoundType.Effects)
+    mastermute = soundMgr:getMute(orxonox.SoundType.All)
+    musicmute = soundMgr:getMute(orxonox.SoundType.Music)
+    effectsmute = soundMgr:getMute(orxonox.SoundType.Effects)
+    masterscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MasterScrollbar"),"CEGUI::Scrollbar")
+    musicscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MusicScrollbar"),"CEGUI::Scrollbar")
+    effectsscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/EffectsScrollbar"),"CEGUI::Scrollbar")
+    mastermutewindow = tolua.cast(winMgr:getWindow("orxonox/MasterCheckbox"),"CEGUI::Checkbox")
+    musicmutewindow = tolua.cast(winMgr:getWindow("orxonox/MusicCheckbox"),"CEGUI::Checkbox")
+    effectsmutewindow = tolua.cast(winMgr:getWindow("orxonox/EffectsCheckbox"),"CEGUI::Checkbox")
+    masterscrollbarwindow:setScrollPosition(mastervolume)
+    musicscrollbarwindow:setScrollPosition(musicvolume)
+    effectsscrollbarwindow:setScrollPosition(effectsvolume)
+    mastermutewindow:setSelected(mastermute)
+    musicmutewindow:setSelected(musicmute)
+    effectsmutewindow:setSelected(effectsmute)
+    choice = "Default"
+    listboxwindow = winMgr:getWindow("orxonox/AudioThemeListbox")
+    local themeList = {}
+    table.insert(themeList, "Default")
+    table.insert(themeList, "Drum n' Bass")
+    for k,v in pairs(themeList) do
+        item = CEGUI.createListboxTextItem(v)
+        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
+        CEGUI.toListbox(listboxwindow):addItem(item)
+    end
+    if orxonox.getConfig("MoodManager", "mood_") == "dnb" then
+        listboxwindow:setItemSelectState(1,true)
+    else
+        listboxwindow:setItemSelectState(0,true)
+    end
+end
+
+function P.AudioMasterScrollbar_changed(e)
+    if mastermute then
+        block = true
+        mastermutewindow:setSelected(false)
+        block = false
+        mastermute = false
+    end
+    if masterscrollbar_active == false then
+        mastervolume = masterscrollbarwindow:getScrollPosition()
+        orxonox.config("SoundManager", "soundVolume_", mastervolume)
+    end
+end
+
+function P.AudioMasterScrollbar_started(e)
+    masterscrollbar_active = true
+end
+
+function P.AudioMasterScrollbar_ended(e)
+    mastervolume = masterscrollbarwindow:getScrollPosition()
+    orxonox.config("SoundManager", "soundVolume_", mastervolume)
+    masterscrollbar_active = false
+end
+
+function P.AudioMusicScrollbar_changed(e)
+    if musicmute then
+        block = true
+        musicmutewindow:setSelected(false)
+        block = false
+        musicmute = false
+    end
+    if musicscrollbar_active == false then
+        musicvolume = musicscrollbarwindow:getScrollPosition()
+        orxonox.config("SoundManager", "ambientVolume_", musicvolume)
+    end
+end
+
+function P.AudioMusicScrollbar_started(e)
+    musicscrollbar_active = true
+end
+
+function P.AudioMusicScrollbar_ended(e)
+    musicmutewindow:setSelected(false)
+    musicvolume = musicscrollbarwindow:getScrollPosition()
+    orxonox.config("SoundManager", "ambientVolume_", musicvolume)
+    musicscrollbar_active = false
+end
+
+function P.AudioEffectsScrollbar_changed(e)
+    if effectsmute then
+        block = true
+        effectsmutewindow:setSelected(false)
+        block = false
+        effectsmute = false
+    end
+    if effectsscrollbar_active == false then
+        effectsvolume = effectsscrollbarwindow:getScrollPosition()
+        orxonox.config("SoundManager", "effectsVolume_", effectsvolume)
+    end
+end
+
+function P.AudioEffectsScrollbar_started(e)
+    effectsscrollbar_active = true
+end
+
+function P.AudioEffectsScrollbar_ended(e)
+    effectsmutewindow:setSelected(false)
+    effectsvolume = effectsscrollbarwindow:getScrollPosition()
+    orxonox.config("SoundManager", "effectsVolume_", effectsvolume)
+    effectsscrollbar_active = false
+end
+
+function P.AudioMuteMasterCheckbox_clicked(e)
+    if block == false then
+        if mastermute then
+            masterscrollbarwindow:setScrollPosition(mastervolume)
+            mastermute = false
+        else
+            temp = masterscrollbarwindow:getScrollPosition()
+            masterscrollbarwindow:setScrollPosition(0)
+            mastervolume = temp
+            mastermute = true
+        end
+    end
+    soundMgr:toggleMute(orxonox.SoundType.All)
+end
+
+function P.AudioMuteMusicCheckbox_clicked(e)
+    if block == false then
+        if musicmute then
+            musicscrollbarwindow:setScrollPosition(musicvolume)
+            musicmute = false
+        else
+            temp = musicscrollbarwindow:getScrollPosition()
+            musicscrollbarwindow:setScrollPosition(0)
+            musicvolume = temp
+            musicmute = true
+        end
+    end
+    soundMgr:toggleMute(orxonox.SoundType.Music)
+end
+
+function P.AudioMuteEffectsCheckbox_clicked(e)
+    if block == false then
+        if effectsmute then
+            effectsscrollbarwindow:setScrollPosition(effectsvolume)
+            effectsmute = false
+        else
+            temp = effectsscrollbarwindow:getScrollPosition()
+            effectsscrollbarwindow:setScrollPosition(0)
+            effectsvolume = temp
+            effectsmute = true
+        end
+    end
+    soundMgr:toggleMute(orxonox.SoundType.Effects)
+end
+
+function P.AudioThemeListbox_changed(e)
+    if listboxwindow:isItemSelected(1) then
+        orxonox.config("MoodManager", "mood_", "dnb")
+    else
+        orxonox.config("MoodManager", "mood_", "default")
+    end
+end
+
+function P.AudioBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/ControlsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/ControlsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/ControlsMenu.lua	(revision 6412)
@@ -0,0 +1,27 @@
+-- ControlsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    ControlsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "ControlsMenu"
+P.layoutString = "ControlsMenu.layout"
+
+function P.ControlsMouseControlsButton_clicked(e)
+    showGUI("MouseControlsMenu", true)
+end
+
+function P.ControlsKeyboardControlsButton_clicked(e)
+    showGUI("KeyBindMenu", true)
+end
+
+function P.ControlsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/CreditsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/CreditsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/CreditsMenu.lua	(revision 6412)
@@ -0,0 +1,19 @@
+-- CreditsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    CreditsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "CreditsMenu"
+P.layoutString = "CreditsMenu.layout"
+
+function P.CreditsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/DecisionPopup.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/DecisionPopup.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/DecisionPopup.lua	(revision 6412)
@@ -0,0 +1,41 @@
+-- DecisionPopup.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    DecisionPopup = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "DecisionPopup"
+P.layoutString = "DecisionPopup.layout"
+
+function P:init()
+end
+
+function P.setCallback(functionPtr)
+    P.functionPtr = functionPtr
+end
+
+function P.setText( text )
+    winMgr:getWindow("orxonox/DecisionPopup_text"):setText( text )
+end
+
+-- events for ingamemenu
+function P.button_yes(e)
+    if P.functionPtr ~= nil then
+        P.functionPtr(true)
+    end
+    hideGUI("DecisionPopup")
+end
+
+function P.button_no(e)
+    if P.functionPtr ~= nil then
+        P.functionPtr(false)
+    end
+    hideGUI("DecisionPopup")
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/GUITools.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/GUITools.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/GUITools.lua	(revision 6412)
@@ -0,0 +1,31 @@
+function openDecisionPopup( text, callbackPtr )
+    showGUI("DecisionPopup", false, true)
+    DecisionPopup.setCallback(callbackPtr)
+    DecisionPopup.setText(text)
+end
+
+function openInfoPopup(text, functionPtr, closeButton, arguments)
+    showGUI("InfoPopup", false, true)
+    InfoPopup.execute(functionPtr, arguments)
+    InfoPopup.setText(text)
+    InfoPopup.setCloseButton(closeButton)
+end
+
+function getMinTextSize(window)
+    local size = {}
+
+    local lookAndFeel = CEGUI.WidgetLookManager:getSingleton():getWidgetLook(window:getLookNFeel())
+    local height = window:getFont():getLineSpacing() + window:getUnclippedPixelRect():getHeight() - lookAndFeel:getNamedArea("WithFrameTextRenderArea"):getArea():getPixelRect(window):getHeight()
+    local width =  window:getFont():getTextExtent(window:getText()) + window:getUnclippedPixelRect():getWidth() - lookAndFeel:getNamedArea("WithFrameTextRenderArea"):getArea():getPixelRect(window):getWidth()
+
+    table.insert(size, height)
+    table.insert(size, width)
+    return size
+end
+
+function getScrollingStepSize(window)
+    local height = window:getUnclippedPixelRect():getHeight()
+    local maxHeight = CEGUI.System:getSingleton():getGUISheet():getUnclippedPixelRect():getHeight()
+    local ratio = height/maxHeight
+    return 0.008*ratio/0.3204
+end
Index: code/branches/pickup2/data/gui/scripts/GameplayMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/GameplayMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/GameplayMenu.lua	(revision 6412)
@@ -0,0 +1,52 @@
+-- GameplayMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    GameplayMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "GameplayMenu"
+P.layoutString = "GameplayMenu.layout"
+
+function P:init()
+    dropdown = winMgr:getWindow("orxonox/ThemeCombobox")
+    local themeList = {}
+    table.insert(themeList, "Theme 1")
+    table.insert(themeList, "Theme 2")
+    table.insert(themeList, "Theme 3")
+    for k,v in pairs(themeList) do
+        item = CEGUI.createListboxTextItem(v)
+        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
+        CEGUI.toCombobox(dropdown):addItem(item)
+    end
+end
+
+function P.GameplayThemeCombobox_changed(e)
+    -- theme
+    debug("event: theme")
+end
+
+function P.GameplayDifficultyEasyButton_clicked(e)
+    -- difficulty easy
+    debug("event: easy")
+end
+
+function P.GameplayDifficultyNormalButton_clicked(e)
+    -- difficulty normal
+    debug("event: normal")
+end
+
+function P.GameplayDifficultyHardButton_clicked(e)
+    -- difficulty hard
+    debug("event: hard")
+end
+
+function P.GameplayBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/GraphicsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/GraphicsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/GraphicsMenu.lua	(revision 6412)
@@ -0,0 +1,207 @@
+-- GraphicsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    GraphicsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "GraphicsMenu"
+P.layoutString = "GraphicsMenu.layout"
+
+function P:init()
+    block = true
+    file = orxonox.PathConfig:getConfigPathString() .. orxonox.getConfig("GraphicsManager", "ogreConfigFile_")
+    search_mode = 0
+    f = io.open(file, "r")
+    firstline = f:read("*line")
+    rendersystem = string.sub(firstline, 15)
+    for line in f:lines() do
+        if search_mode == 0 then
+            if string.find(line, rendersystem) ~= nil then
+                search_mode = 1
+            end
+        end
+        if search_mode == 1 then
+            if string.sub(line, 1, 11) == "Full Screen" then
+                if string.sub(line, 13) == "Yes" then
+                    fullscreen = true
+                else
+                    fullscreen = false
+                end
+            end
+            if string.sub(line, 1, 10) == "Video Mode" then
+                if string.match(line, "@") == "@" then
+                    resolution = string.sub(line, 12, string.find(line, "@")-2)
+                else
+                    resolution = string.sub(line, 12)
+                end
+                break
+            end
+        end
+    end
+    f:close()
+    local fullscreenwindow = tolua.cast(winMgr:getWindow("orxonox/FullscreenCheckbox"),"CEGUI::Checkbox")
+    fullscreenwindow:setSelected(fullscreen)
+    listboxwindow = winMgr:getWindow("orxonox/ResolutionListbox")
+    local resolutionList = {}
+    table.insert(resolutionList, "640 x 480")
+    table.insert(resolutionList, "720 x 480")
+    table.insert(resolutionList, "720 x 576")
+    table.insert(resolutionList, "800 x 480")
+    table.insert(resolutionList, "800 x 600")
+    table.insert(resolutionList, "1024 x 480")
+    table.insert(resolutionList, "1024 x 600")
+    table.insert(resolutionList, "1024 x 768")
+    table.insert(resolutionList, "1152 x 864")
+    table.insert(resolutionList, "1280 x 720")
+    table.insert(resolutionList, "1280 x 768")
+    table.insert(resolutionList, "1440 x 900")
+    for k,v in pairs(resolutionList) do
+        item = CEGUI.createListboxTextItem(v)
+        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
+        CEGUI.toListbox(listboxwindow):addItem(item)
+    end
+    if resolution == "640 x 480" then
+        listboxwindow:setItemSelectState(0,true)
+    elseif resolution == "720 x 480" then
+        listboxwindow:setItemSelectState(1,true)
+    elseif resolution == "720 x 576" then
+        listboxwindow:setItemSelectState(2,true)
+    elseif resolution == "800 x 480" then
+        listboxwindow:setItemSelectState(3,true)
+    elseif resolution == "800 x 600" then
+        listboxwindow:setItemSelectState(4,true)
+    elseif resolution == "1024 x 480" then
+        listboxwindow:setItemSelectState(5,true)
+    elseif resolution == "1024 x 600" then
+        listboxwindow:setItemSelectState(6,true)
+    elseif resolution == "1024 x 768" then
+        listboxwindow:setItemSelectState(7,true)
+    elseif resolution == "1152 x 864" then
+        listboxwindow:setItemSelectState(8,true)
+    elseif resolution == "1280 x 720" then
+        listboxwindow:setItemSelectState(9,true)
+    elseif resolution == "1280 x 768" then
+        listboxwindow:setItemSelectState(10,true)
+    elseif resolution == "1440 x 900" then
+        listboxwindow:setItemSelectState(11,true)
+    end
+    scrollbar_active = false
+    block = false
+end
+
+function P.GraphicsResolutionListbox_changed(e)
+    if listboxwindow:isItemSelected(0) then
+        resolution = "640 x 480"
+    elseif listboxwindow:isItemSelected(1) then
+        resolution = "720 x 480"
+    elseif listboxwindow:isItemSelected(2) then
+        resolution = "720 x 576"
+    elseif listboxwindow:isItemSelected(3) then
+        resolution = "800 x 480"
+    elseif listboxwindow:isItemSelected(4) then
+        resolution = "800 x 600"
+    elseif listboxwindow:isItemSelected(5) then
+        resolution = "1024 x 480"
+    elseif listboxwindow:isItemSelected(6) then
+        resolution = "1024 x 600"
+    elseif listboxwindow:isItemSelected(7) then
+        resolution = "1024 x 768"
+    elseif listboxwindow:isItemSelected(8) then
+        resolution = "1152 x 864"
+    elseif listboxwindow:isItemSelected(9) then
+        resolution = "1280 x 720"
+    elseif listboxwindow:isItemSelected(10) then
+        resolution = "1280 x 768"
+    elseif listboxwindow:isItemSelected(11) then
+        resolution = "1440 x 900"
+    end
+    search_mode = 0
+    f = io.open(file, "r")
+    firstline = f:read("*line")
+    text = firstline .. "\n"
+    rendersystem = string.sub(firstline, 15)
+    for line in f:lines() do
+        if search_mode == 0 then
+            if string.find(line, rendersystem) ~= nil then
+                search_mode = 1
+            end
+        end
+        if search_mode == 1 then
+            if string.sub(line, 1, 10) == "Video Mode" then
+                if string.match(line, "@") == "@" then
+                    line = "Video Mode=" .. resolution .. string.sub(line, string.find(line, "@")-1)
+                else
+                    line = "Video Mode=" .. resolution
+                end
+                search_mode = 2
+            end
+        end
+        text = text .. line .. "\n"
+    end
+    f:close()
+    f = io.open(file, "w")
+    f:write(text)
+    f:close()
+end
+
+function P.GraphicsBrightnessScrollbar_changed(e)
+    if scrollbar_active == false then
+        -- brightness
+        debug("event: brightness")
+    end
+end
+
+function P.GraphicsBrightnessScrollbar_started(e)
+    scrollbar_active = true
+end
+
+function P.GraphicsBrightnessScrollbar_ended(e)
+    -- brightness
+    debug("event: brightness")
+    scrollbar_active = false
+end
+
+function P.GraphicsFullscreenCheckbox_clicked(e)
+    if block == false then
+        search_mode = 0
+        f = io.open(file, "r")
+        firstline = f:read("*line")
+        text = firstline .. "\n"
+        rendersystem = string.sub(firstline, 15)
+        for line in f:lines() do
+            if search_mode == 0 then
+                if string.find(line, rendersystem) ~= nil then
+                    search_mode = 1
+                end
+            end
+            if search_mode == 1 then
+                if string.sub(line, 1, 11) == "Full Screen" then
+                    if fullscreen == true then
+                        line = "Full Screen=No"
+                        fullscreen = false
+                    else
+                        line = "Full Screen=Yes"
+                        fullscreen = true
+                    end
+                    search_mode = 2
+                end
+            end
+            text = text .. line .. "\n"
+        end
+        f:close()
+        f = io.open(file, "w")
+        f:write(text)
+        f:close()
+    end
+end
+
+function P.GraphicsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/InGameMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/InGameMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/InGameMenu.lua	(revision 6412)
@@ -0,0 +1,46 @@
+-- InGameMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    InGameMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "InGameMenu"
+P.layoutString = "InGameMenu.layout"
+
+function P:init()
+end
+
+
+-- events for ingamemenu
+function P.button_quit_clicked(e)
+    openDecisionPopup( "Do you really want to quit the game?", InGameMenu.callback )
+end
+
+function P.button_mainmenu_clicked(e)
+    orxonox.Game:getInstance():popState()
+    orxonox.Game:getInstance():popState()
+    orxonox.Game:getInstance():requestState("mainmenu")
+    hideGUI("InGameMenu")
+end
+
+function P.button_settings_clicked(e)
+    showGUI("SettingsMenu", true)
+end
+
+function P.button_return_clicked(e)
+    hideGUI("InGameMenu")
+end
+
+function P.callback(doExit)
+    if doExit then
+        hideGUI("InGameMenu")
+        orxonox.execute("exit")
+    end
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/InfoPopup.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/InfoPopup.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/InfoPopup.lua	(revision 6412)
@@ -0,0 +1,47 @@
+-- InfoPopup.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+
+if _REQUIREDNAME == nil then
+    InfoPopup = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "InfoPopup"
+P.layoutString = "InfoPopup.layout"
+
+function P:init()
+end
+
+function P.execute(functionPtr, arguments)
+    if functionPtr ~= nil then
+        if arguments ~= nil then
+            functionPtr(arguments)
+        else
+            functionPtr()
+        end
+    end
+end
+
+function P.setText( text )
+    winMgr:getWindow("orxonox/InfoPopup_text"):setText( text )
+end
+
+function P.setCloseButton(closeButton)
+    close = winMgr:getWindow("orxonox/InfoPopup_close")
+    close:setVisible(closeButton)
+    if(not closeButton) then
+        close:deactivate();
+    else
+        close:activate();
+    end
+end
+
+-- events for ingamemenu
+function P.close(e)
+    hideGUI("InfoPopup")
+end
+
+return P
Index: code/branches/pickup2/data/gui/scripts/InitialiseGUI.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/InitialiseGUI.lua	(revision 5942)
+++ code/branches/pickup2/data/gui/scripts/InitialiseGUI.lua	(revision 6412)
@@ -14,4 +14,13 @@
 
 loadedGUIs = {}
+cursorVisibility = {}
+activeSheets = {}
+nrOfActiveSheets = 0
+root = nil
+bShowsCursor = false
+bHidePrevious = {}
+
+-- Require all tools
+require("GUITools")
 
 -- loads the GUI with the specified filename
@@ -22,4 +31,7 @@
     if loadedGui == nil then
         loadedGuiNS = require(filename)
+        if loadedGuiNS == nil then
+            return
+        end
         loadedGui = loadedGuiNS:load()
         loadedGUIs[filename] = loadedGui
@@ -27,5 +39,4 @@
         if table.getn(loadedGUIs) == 1 then
             current = loadedGUIs[1]
-            showing = false
         end
         -- hide new GUI as we do not want to show it accidentially
@@ -35,6 +46,6 @@
 end
 
-function showGUI(filename, ptr)
-    gui = showGUI(filename)
+function showGUI(filename, hidePrevious, bCursorVisible, ptr)
+    gui = showGUI(filename, hidePrevious, bCursorVisible)
     gui.overlay = ptr
 end
@@ -42,43 +53,175 @@
 -- shows the specified and loads it if not loaded already
 -- be sure to set the global variable "filename" before calling this function
-function showGUI(filename)
-    if current == nil or current.filename ~= filename then
-        current = loadedGUIs[filename]
-        if current == nil then
-            current = loadGUI(filename)
-        end
-        system:setGUISheet(current.window)
-    end
-    current:show()
-    showing = true
-    return current
-end
-
-function toggleGUI()
-    if showing == true then
-        current:hide()
+function showGUI(filename, hidePrevious, bCursorVisible)
+    if bCursorVisible == nil then
+        if nrOfActiveSheets > 0 then
+            bCursorVisible = cursorVisibility[activeSheets[nrOfActiveSheets]]
+        else
+            bCursorVisible = true
+        end
+    end
+
+    if root == nil then
+        setBackground("")
+    end
+
+    local currentGUI = loadedGUIs[filename]
+    if(currentGUI == nil) then
+        currentGUI = loadGUI(filename)
+    end
+
+    if(root:isChild(currentGUI.window)) then
+        root:removeChildWindow(currentGUI.window)
+    end
+    root:addChildWindow(currentGUI.window)
+
+    if bCursorVisible then
+        showCursor()
+    else
+        hideCursor()
+    end
+
+    if find( activeSheets, filename ) ~= nil then
+        table.remove( activeSheets, find( activeSheets, filename ) )
+        nrOfActiveSheets = nrOfActiveSheets - 1
+    else
+        if nrOfActiveSheets == 0 then
+            orxonox.InputManager:getInstance():enterState("guiMouseOnly")
+            orxonox.HumanController:pauseControl()
+        end
+    end
+    nrOfActiveSheets = nrOfActiveSheets + 1
+    table.insert(activeSheets, filename)
+    activeSheets[nrOfActiveSheets] = filename
+    bHidePrevious[filename]=hidePrevious
+    cursorVisibility[filename] = bCursorVisible
+
+    if hidePrevious == true then
+        for i=1,nrOfActiveSheets-1 do
+            loadedGUIs[ activeSheets[i] ]:hide()
+        end
+    end
+    currentGUI:show()
+    return currentGUI
+end
+
+function hideCursor()
+    if bShowsCursor==true then
+        bShowsCursor=false
         cursor:hide()
-        showing = false
-    else
-        current:show()
+    end
+end
+
+function showCursor()
+    if bShowsCursor==false then
+        bShowsCursor=true
         cursor:show()
-        showing = true
-    end
-    return showing
-end
-
-function hideCursor()
-    cursor:hide()
-end
-
-function showCursor()
-    cursor:show()
+    end
 end
 
 function hideGUI(filename)
-    current = loadedGUIs[filename]
-    if current ~= nil then
-        current:hide()
-        showing = false
-    end
-end
+    local currentGUI = loadedGUIs[filename]
+    if currentGUI == nil then
+        return
+    end
+    currentGUI:hide()
+    if bHidePrevious[filename] == true then
+        local i = nrOfActiveSheets-1
+        while i>0 do
+            loadedGUIs[ activeSheets[i] ]:show()
+            if bHidePrevious[filename]==true then
+                break
+            else
+                i=i-1
+            end
+        end
+    end
+    root:removeChildWindow(currentGUI.window)
+    local i=1
+    while activeSheets[i] do
+        if activeSheets[i+1] == nil then
+            if activeSheets[i-1] ~= nil then
+                if cursorVisibility[ activeSheets[i-1] ] == true then
+                    showCursor()
+                else
+                    hideCursor()
+                end
+            else
+                hideCursor()
+            end
+        end
+        if activeSheets[i] == filename then
+            table.remove( activeSheets, i )
+            nrOfActiveSheets = nrOfActiveSheets-1
+        else
+            i = i+1
+        end
+    end
+    cursorVisibility[filename] = nil -- remove the cursor visibility of the current gui from the table
+    bHidePrevious[filename] = nil
+    if nrOfActiveSheets == 0 then
+        orxonox.InputManager:getInstance():leaveState("guiMouseOnly")
+        orxonox.HumanController:resumeControl()
+        hideCursor()
+    end
+end
+
+function hideAllGUIs()
+    while nrOfActiveSheets ~= 0 do
+        hideGUI(activeSheets[nrOfActiveSheets])
+    end
+end
+
+function keyESC()
+    if nrOfActiveSheets == 1 and activeSheets[1] == "MainMenu" then
+        orxonox.execute("exit")
+    elseif nrOfActiveSheets > 0 then
+        orxonox.execute("hideGUI "..activeSheets[nrOfActiveSheets])
+    else
+        showGUI("InGameMenu")
+    end
+end
+
+function setBackground(filename)
+    local newroot
+    if root ~= nil then
+        root:rename("oldRootWindow")
+    end
+    if filename ~= "" then
+        newroot = winMgr:loadWindowLayout(filename .. ".layout")
+        newroot:rename("AbsoluteRootWindow")
+        system:setGUISheet(newroot)
+    else
+        newroot = winMgr:createWindow("DefaultWindow", "AbsoluteRootWindow")
+        newroot:setProperty("Alpha", "0.0")
+        newroot:setSize(CEGUI.UVector2(CEGUI.UDim(1.0,0),CEGUI.UDim(1.0,0)))
+        system:setGUISheet(newroot)
+    end
+    if root ~= nil then
+        local child
+        while root:getChildCount()~=0 do
+            child = root:getChildAtIdx(0)
+            root:removeChildWindow(child)
+            newroot:addChildWindow(child)
+        end
+        winMgr:destroyWindow(root)
+    end
+    newroot:show()
+    root = newroot
+end
+
+function find(table, value)
+    local i=0
+    while table[i] ~= nil do
+        if table[i]==value then
+            return i
+        else
+            i=i+1
+        end
+    end
+    return nil
+end
+
+function test(e)
+    debug(0, "Blubb")
+end
Index: code/branches/pickup2/data/gui/scripts/KeyBindMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/KeyBindMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/KeyBindMenu.lua	(revision 6412)
@@ -0,0 +1,257 @@
+-- KeyBindMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+
+if _REQUIREDNAME == nil then
+    KeyBindMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "KeyBindMenu"
+P.layoutString = "KeyBindMenu.layout"
+
+function P:init()
+
+    commandList = {}
+    table.insert(commandList, "fire 0")
+    table.insert(commandList, "fire 1 | unfire")
+    table.insert(commandList, "onpress fire 2")
+    table.insert(commandList, "scale 1 moveFrontBack")
+    table.insert(commandList, "scale -1 moveFrontBack")
+    table.insert(commandList, "boost")
+    table.insert(commandList, "scale 1 moveRightLeft")
+    table.insert(commandList, "scale -1 moveRightLeft")
+    table.insert(commandList, "scale 1 moveUpDown")
+    table.insert(commandList, "scale -1 moveUpDown")
+    table.insert(commandList, "scale -1 rotateRoll")
+    table.insert(commandList, "scale 1 rotateRoll")
+    table.insert(commandList, "scale 1 rotateYaw")
+    table.insert(commandList, "scale -1 rotateYaw")
+    table.insert(commandList, "scale 1 rotatePitch")
+    table.insert(commandList, "scale -1 rotatePitch")
+    table.insert(commandList, "NewHumanController changeMode")
+    table.insert(commandList, "switchCamera")
+    table.insert(commandList, "openConsole")
+    table.insert(commandList, "OverlayGroup toggleVisibility Debug")
+    table.insert(commandList, "OverlayGroup toggleVisibility Stats")
+    table.insert(commandList, "mouseLook")
+    table.insert(commandList, "pause")
+
+    nameList = {}
+    table.insert(nameList, "Primary Fire")
+    table.insert(nameList, "Secondary Fire")
+    table.insert(nameList, "Fire Rocket")
+    table.insert(nameList, "Accelerate")
+    table.insert(nameList, "Break")
+    table.insert(nameList, "Boost")
+    table.insert(nameList, "Move Right")
+    table.insert(nameList, "Move Left")
+    table.insert(nameList, "Move Up")
+    table.insert(nameList, "Move Down")
+    table.insert(nameList, "Roll Right")
+    table.insert(nameList, "Roll Left")
+    table.insert(nameList, "Yaw Left")
+    table.insert(nameList, "Yaw Right")
+    table.insert(nameList, "Pitch Up")
+    table.insert(nameList, "Pitch Down")
+    table.insert(nameList, "Switch Input Mode")
+    table.insert(nameList, "Switch Camera")
+    table.insert(nameList, "Open Console")
+    table.insert(nameList, "Show Debug")
+    table.insert(nameList, "Show Stats")
+    table.insert(nameList, "Look Around")
+    table.insert(nameList, "Pause")
+
+    linesList = {}
+
+    --Calculate design parameters:
+    sampleWindow = winMgr:createWindow("TaharezLook/StaticText", "orxonox/KeyBindPane/SampleWindow")
+    sampleWindow:setText("SampleText")
+
+    local size = getMinTextSize(sampleWindow)
+    lineHeight = size[1]
+
+    commandWidth = 0
+    for k,v in pairs(commandList) do
+        sampleWindow:setText(nameList[k])
+        size = getMinTextSize(sampleWindow)
+        if size[2] > commandWidth then
+            commandWidth = size[2]
+        end
+    end
+
+    sampleWindow:setText("add")
+    size = getMinTextSize(sampleWindow)
+    addWidth = size[2]
+
+    sampleWindow:setText("X")
+    size = getMinTextSize(sampleWindow)
+    clearWidth = size[2]
+
+    spaceWidth = math.floor(1/14*commandWidth)
+
+    buttonWidth = 145
+
+    P.createLines()
+
+    local funct = luaState:createLuaFunctor("KeyBindMenu.callback()")
+    orxonox.KeyBinderManager:getInstance():registerKeybindCallback(funct)
+end
+
+function P.KeyNameNiceifier(key)
+    local name = string.sub(key, string.find(key, '%.(.*)')+1)
+    local group = string.sub(key, string.find(key, '(.*)%.'))
+    group = string.sub(group,1,string.len(group)-1)
+    if( group == "Keys") then
+        return "Key " .. string.sub(name, string.find(name, 'Key(.*)')+3)
+    elseif( group == "MouseButtons") then
+        return "Mouse " .. name
+    elseif( string.find(group, "JoyStickButtons") ~= nil ) then
+        return "Joystick " .. name
+    elseif( string.find(group, "JoyStickAxes") ~= nil ) then
+        return "Joystick Axis" .. string.sub(name, 5, 6) .. string.sub(name, string.find(name, 'Axis%d%d(.*)')+6)
+    elseif( group == "MouseAxes" ) then
+        return "Mouse " .. string.sub(name, string.find(name, '.(.*)')+1) .. " " .. string.sub(name, 1, 1) .. "-Axis"
+    end
+    return key
+end
+
+function P.createLine(k)
+    local offset = 0
+    local line = winMgr:createWindow("DefaultWindow", "orxonox/KeyBindPane/Binding" .. k)
+    line:setHeight(CEGUI.UDim(0, lineHeight))
+    line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, lineHeight*(k-1))))
+
+    local command = winMgr:createWindow("TaharezLook/StaticText", "orxonox/KeyBindPane/Binding" .. k .. "/Command")
+    command:setText(nameList[k])
+    command:setSize(CEGUI.UVector2(CEGUI.UDim(0, commandWidth), CEGUI.UDim(1, 0)))
+    command:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0, 0)))
+    line:addChildWindow(command)
+    offset = offset + commandWidth + spaceWidth
+
+    local plus = winMgr:createWindow("TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Plus")
+    plus:setSize(CEGUI.UVector2(CEGUI.UDim(0, addWidth), CEGUI.UDim(0.7, 0)))
+    plus:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0)))
+    plus:setText("add")
+    orxonox.GUIManager:subscribeEventHelper(plus, "Clicked", P.filename .. ".KeyBindPlus_clicked")
+    line:addChildWindow(plus)
+    offset = offset + addWidth + spaceWidth
+
+    local numButtons = orxonox.KeyBinderManager:getInstance():getCurrent():getNumberOfBindings(commandList[k]);
+    for i=0,(numButtons-1) do
+        local button = winMgr:createWindow("TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Button" .. i)
+        local name = orxonox.KeyBinderManager:getInstance():getCurrent():getBinding(commandList[k],i)
+        name = P.KeyNameNiceifier(name)
+        button:setText(name)
+        sampleWindow:setText(name)
+        local size = getMinTextSize(sampleWindow)
+        local buttonWidth = size[2]
+        button:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0.7, 0)))
+        button:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0)))
+        orxonox.GUIManager:subscribeEventHelper(button, "Clicked", P.filename .. ".KeyBindButton_clicked")
+        --button:subscribeScriptedEvent("EventClicked", P.filename .. ".KeyBindButton_clicked")
+        line:addChildWindow(button)
+        offset = offset + buttonWidth
+
+        local clear = winMgr:createWindow("TaharezLook/TabButton", "orxonox/KeyBindPane/Binding" .. k .. "/Clear" .. i)
+        clear:setSize(CEGUI.UVector2(CEGUI.UDim(0, clearWidth), CEGUI.UDim(0.7, 0)))
+        clear:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.15, 0)))
+        clear:setText("X")
+        orxonox.GUIManager:subscribeEventHelper(clear, "Clicked", P.filename .. ".KeyBindClear_clicked")
+        line:addChildWindow(clear)
+        offset = offset + clearWidth + spaceWidth
+    end
+
+    line:setWidth(CEGUI.UDim(0, offset+clearWidth))
+
+    return line
+end
+
+function P.createLines()
+    local window = winMgr:getWindow("orxonox/KeyBindPane")
+
+    for k,v in pairs(commandList) do
+        local line = P.createLine(k)
+        table.insert(linesList, line)
+        window:addChildWindow(line)
+    end
+
+    pane = tolua.cast(window, "CEGUI::ScrollablePane")
+    pane:setVerticalStepSize(getScrollingStepSize(window))
+end
+
+function P.KeyBindButton_clicked(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+
+    local match = string.gmatch(name, "%d+")
+    local commandNr = tonumber(match())
+    local buttonNr = tonumber(match())
+
+    local arguments = {}
+    arguments[1] = commandNr
+    arguments[2] = buttonNr
+    openInfoPopup("Press any button/key or move a mouse/joystick axis.", KeyBindMenu.keybind, false, arguments)
+end
+
+function P.KeyBindPlus_clicked(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+
+    local match = string.gmatch(name, "%d+")
+    local commandNr = tonumber(match())
+
+    local arguments = {}
+    arguments[1] = commandNr
+    openInfoPopup("Press any button/key or move a mouse/joystick axis.", KeyBindMenu.keybind, false, arguments)
+end
+
+function P.KeyBindClear_clicked(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+
+    local match = string.gmatch(name, "%d+")
+    local commandNr = tonumber(match())
+    local buttonNr = tonumber(match())
+
+    orxonox.KeyBinderManager:getInstance():unbind(orxonox.KeyBinderManager:getInstance():getCurrent():getBinding(commandList[commandNr], buttonNr))
+
+    P.callback()
+end
+
+function P.keybind(arguments)
+    local commandNr = arguments[1]
+    local buttonNr = arguments[2]
+    if buttonNr ~= nil then
+        orxonox.KeyBinderManager:getInstance():unbind(orxonox.KeyBinderManager:getInstance():getCurrent():getBinding(commandList[commandNr], buttonNr))
+    end
+
+    orxonox.KeyBinderManager:getInstance():keybind(commandList[commandNr])
+end
+
+function P.callback()
+    local pane = tolua.cast(winMgr:getWindow("orxonox/KeyBindPane"), "CEGUI::ScrollablePane")
+    local position = pane:getVerticalScrollPosition()
+    while table.getn(linesList) ~= 0 do
+        if linesList[1] ~= nil then
+            winMgr:destroyWindow(linesList[1]:getName())
+        end
+        table.remove(linesList, 1)
+    end
+
+    linesList = {}
+
+    P.createLines()
+    if(InfoPopup ~= nil) then
+        InfoPopup.close()
+    end
+    pane:setVerticalScrollPosition( position )
+end
+
+function P.KeyBindBackButton_clicked(e)
+    hideGUI("KeyBindMenu")
+end
+
+return P
Index: code/branches/pickup2/data/gui/scripts/MainMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/MainMenu.lua	(revision 5942)
+++ code/branches/pickup2/data/gui/scripts/MainMenu.lua	(revision 6412)
@@ -12,79 +12,27 @@
 P.layoutString = "MainMenu.layout"
 
-function P:init()
-    listbox = winMgr:getWindow("orxonox/LevelListbox")
-    preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
-    orxonox.LevelManager:getInstance():compileAvailableLevelList()
-    local levelList = {}
-    local index = 0
-    local level = ""
-    while true do
-      level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
-      if level == "" then
-        break
-      end
-      table.insert(levelList, level)
-      index = index + 1
-    end
-    table.sort(levelList)
-    for k,v in pairs(levelList) do
-        item = CEGUI.createListboxTextItem(v)        
-        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
-        CEGUI.toListbox(listbox):addItem(item)
-        if v .. ".oxw" == preselect then
-            listbox:setItemSelectState(item, true)
-        end
-    end
+-- events for MainMenu
+function P.QuickGameTestButton_clicked(e)
+    orxonox.execute("startGame")
 end
 
-
--- events for mainmenu
-function P.button_quit_clicked(e)
-    hideGUI()
-    orxonox.CommandExecutor:execute("exit")
+function P.SingleplayerButton_clicked(e)
+    showGUI("SingleplayerMenu", true)
 end
 
-function P.button_standalone_clicked(e)
-    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
-    if choice then
-        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
-        orxonox.CommandExecutor:execute("startGame")
-        toggleGUI()
-    end
+function P.MultiplayerButton_clicked(e)
+    showGUI("MultiplayerMenu", true)
 end
 
-function P.button_server_clicked(e)
-    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
-    if choice then
-        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
-        orxonox.CommandExecutor:execute("startServer")
-        toggleGUI()
-    end
+function P.SettingsButton_clicked(e)
+    showGUI("SettingsMenu", true)
 end
 
-function P.button_dedicated_clicked(e)
-    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
-    if choice then
-        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
-        orxonox.CommandExecutor:execute("startDedicated")
-        toggleGUI()
-    end
+function P.CreditsButton_clicked(e)
+    showGUI("CreditsMenu", true)
 end
 
-function P.button_client_clicked(e)
-    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
-    if choice then
-        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
-        orxonox.CommandExecutor:execute("startClient")
-        toggleGUI()
-    end
-end
-
-function P.listbox_level_selectionchanged(e)
-    if winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() then
-        winMgr:getWindow("orxonox/StandaloneButton"):enable()
-    else
-        winMgr:getWindow("orxonox/StandaloneButton"):disable()
-    end
+function P.ExitButton_clicked(e)
+    orxonox.execute("exit")
 end
 
Index: code/branches/pickup2/data/gui/scripts/MouseControlsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/MouseControlsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/MouseControlsMenu.lua	(revision 6412)
@@ -0,0 +1,110 @@
+-- MouseControlsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    MouseControlsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "MouseControlsMenu"
+P.layoutString = "MouseControlsMenu.layout"
+
+function P:init()
+    block = false
+    mousenormalscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MouseNormalScrollbar"),"CEGUI::Scrollbar")
+    mousederivescrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MouseDeriveScrollbar"),"CEGUI::Scrollbar")
+    normalwindow = tolua.cast(winMgr:getWindow("orxonox/MouseNormalButton"),"CEGUI::RadioButton")
+    derivewindow = tolua.cast(winMgr:getWindow("orxonox/MouseDeriveButton"),"CEGUI::RadioButton")
+    invertwindow = tolua.cast(winMgr:getWindow("orxonox/MouseInvertCheckbox"),"CEGUI::Checkbox")
+    mousenormalscrollbar_active = false
+    mousederivescrollbar_active = false
+    derive_active = orxonox.getConfig("KeyBinder","bDeriveMouseInput_")
+    invert_active = false
+    mousenormalsensitivity = orxonox.getConfig("KeyBinder","mouseSensitivity_")
+    mousederivesensitivity = orxonox.getConfig("KeyBinder","mouseSensitivityDerived_")
+    mousenormalscrollbarwindow:setScrollPosition((math.log(14*mousenormalsensitivity-6))/(6*math.log(2)))
+    mousederivescrollbarwindow:setScrollPosition((math.log(14*mousederivesensitivity-6))/(6*math.log(2)))
+    if derive_active == "true" then
+        normal_active = false
+        derive_active = true
+        derivewindow:setSelected(derive_active)
+    else
+        normal_active = true
+        derive_active = false
+        normalwindow:setSelected(normal_active)
+    end
+    if invert_active == "true" then
+        invert_active = true
+    else
+        invert_active = false
+    end
+end
+
+function P.MouseControlsMouseNormalScrollbar_changed(e)
+    if mousenormalscrollbar_active == false then
+        scrollposition = mousenormalscrollbarwindow:getScrollPosition()
+        mousenormalsensitivity = (math.pow(64,scrollposition)+6)/14
+        orxonox.config("KeyBinder", "mouseSensitivity_", mousenormalsensitivity)
+    end
+end
+
+function P.MouseControlsMouseNormalScrollbar_started(e)
+    mousenormalscrollbar_active = true
+end
+
+function P.MouseControlsMouseNormalScrollbar_ended(e)
+    scrollposition = mousenormalscrollbarwindow:getScrollPosition()
+    mousenormalsensitivity = (math.pow(64,scrollposition)+6)/14
+    orxonox.config("KeyBinder", "mouseSensitivity_", mousenormalsensitivity)
+    mousenormalscrollbar_active = false
+end
+
+function P.MouseControlsMouseDeriveScrollbar_changed(e)
+    if mousederivescrollbar_active == false then
+        scrollposition = mousederivescrollbarwindow:getScrollPosition()
+        mousederivesensitivity = (math.pow(64,scrollposition)+6)/14
+        orxonox.config("KeyBinder", "mouseSensitivityDerived_", mousederivesensitivity)
+    end
+end
+
+function P.MouseControlsMouseDeriveScrollbar_started(e)
+    mousederivescrollbar_active = true
+end
+
+function P.MouseControlsMouseDeriveScrollbar_ended(e)
+    scrollposition = mousederivescrollbarwindow:getScrollPosition()
+    mousederivesensitivity = (math.pow(64,scrollposition)+6)/14
+    orxonox.config("KeyBinder", "mouseSensitivityDerived_", mousederivesensitivity)
+    mousederivescrollbar_active = false
+end
+
+function P.MouseNormalButton_clicked(e)
+    if block == false then
+        block = true
+        derivewindow:setSelected(false)
+        block = false
+        orxonox.config("KeyBinder", "bDeriveMouseInput_", 0)
+    end
+end
+
+function P.MouseDeriveButton_clicked(e)
+    if block == false then
+        block = true
+        normalwindow:setSelected(false)
+        block = false
+        orxonox.config("KeyBinder", "bDeriveMouseInput_", 1)
+    end
+end
+
+function P.MouseInvertCheckbox_clicked(e)
+    -- invert mouse
+end
+
+function P.MouseControlsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/MultiplayerMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/MultiplayerMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/MultiplayerMenu.lua	(revision 6412)
@@ -0,0 +1,82 @@
+-- MultiplayerMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    MultiplayerMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "MultiplayerMenu"
+P.layoutString = "MultiplayerMenu.layout"
+
+function P:init()
+    listbox = winMgr:getWindow("orxonox/MultiplayerLevelListbox")
+    preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
+    orxonox.LevelManager:getInstance():compileAvailableLevelList()
+    local levelList = {}
+    local index = 0
+    local level = ""
+    while true do
+        level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
+        if level == "" then
+            break
+        end
+        table.insert(levelList, level)
+        index = index + 1
+    end
+    table.sort(levelList)
+    for k,v in pairs(levelList) do
+        item = CEGUI.createListboxTextItem(v)
+        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
+        CEGUI.toListbox(listbox):addItem(item)
+        if v .. ".oxw" == preselect then
+            listbox:setItemSelectState(item, true)
+        end
+    end
+    local multiplayerMode = "startClient"
+    if multiplayerMode == "startClient" then
+        window = winMgr:getWindow("orxonox/MultiplayerJoinButton")
+        button = tolua.cast(window,"CEGUI::RadioButton")
+        button:setSelected(true)
+    end
+    if multiplayerMode == "startServer" then
+        window = winMgr:getWindow("orxonox/MultiplayerHostButton")
+        button = tolua.cast(window,"CEGUI::RadioButton")
+        button:setSelected(true)
+    end
+    if multiplayerMode == "startDedicated" then
+        window = winMgr:getWindow("orxonox/MultiplayerDedicatedButton")
+        button = tolua.cast(window,"CEGUI::RadioButton")
+        button:setSelected(true)
+    end
+end
+
+function P.MultiplayerJoinButton_clicked(e)
+    multiplayerMode = "startClient"
+end
+
+function P.MultiplayerHostButton_clicked(e)
+    multiplayerMode = "startServer"
+end
+
+function P.MultiplayerDedicatedButton_clicked(e)
+    multiplayerMode = "startDedicated"
+end
+
+function P.MultiplayerStartButton_clicked(e)
+    local choice = winMgr:getWindow("orxonox/MultiplayerLevelListbox"):getFirstSelectedItem()
+    if choice then
+        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
+        orxonox.execute(multiplayerMode)
+        hideAllGUIs()
+    end
+end
+
+function P.MultiplayerBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/MultiplayerOptionsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/MultiplayerOptionsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/MultiplayerOptionsMenu.lua	(revision 6412)
@@ -0,0 +1,18 @@
+-- MultiplayerOptionsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    MultiplayerOptionsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "MultiplayerOptionsMenu"
+P.layoutString = "MultiplayerOptionsMenu.layout"
+
+function P.MultiplayerOptionsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
Index: code/branches/pickup2/data/gui/scripts/PickupInventory.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/PickupInventory.lua	(revision 5942)
+++ code/branches/pickup2/data/gui/scripts/PickupInventory.lua	(revision 6412)
@@ -20,5 +20,5 @@
     local equipCount = orxonox.PickupInventory:getEquipmentCount()
     local usableCount = orxonox.PickupInventory:getUsableCount()
-    
+
     if equipCount ~= self.lastEquipmentCount_ or usableCount ~= self.lastUsableCount_ then
         self:updateTabs()
@@ -39,9 +39,9 @@
     local t = name:sub(25, 27)
     local i = name:sub(29)
-    
+
     if t == "equ" then
-        
+
     end
-    
+
     if t == "use" then
         if self.currentUsableID_ >= 0 then
@@ -60,5 +60,5 @@
     orxonox.PickupInventory:getSingleton():clearInventory(winMgr, eqWin, usWin)
     orxonox.PickupInventory:getSingleton():updateTabs(winMgr, eqWin, usWin)
-    
+
     self.currentUsableID_ = orxonox.PickupInventory:getCurrentUsableIndex()
     self.lastEquipmentCount_ = orxonox.PickupInventory:getEquipmentCount()
Index: code/branches/pickup2/data/gui/scripts/QuestGUI.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/QuestGUI.lua	(revision 5942)
+++ code/branches/pickup2/data/gui/scripts/QuestGUI.lua	(revision 6412)
@@ -15,5 +15,5 @@
 
     local questManager = orxonox.QuestManager:getInstance()
-      
+
     local questsList = winMgr:getWindow("orxonox/QuestGUI/QuestsList")
 
Index: code/branches/pickup2/data/gui/scripts/SettingsMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/SettingsMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/SettingsMenu.lua	(revision 6412)
@@ -0,0 +1,44 @@
+-- SettingsMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    SettingsMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "SettingsMenu"
+P.layoutString = "SettingsMenu.layout"
+
+function P.SettingsGameplayButton_clicked(e)
+    showGUI("GameplayMenu", true)
+end
+
+function P.SettingsMultiplayerOptionsButton_clicked(e)
+    showGUI("MultiplayerOptionsMenu", true)
+end
+
+function P.SettingsControlsButton_clicked(e)
+    showGUI("ControlsMenu", true)
+end
+
+function P.SettingsGraphicsButton_clicked(e)
+    showGUI("GraphicsMenu", true)
+end
+
+function P.SettingsAudioButton_clicked(e)
+    showGUI("AudioMenu", true)
+end
+
+function P.SettingsResetSettingsButton_clicked(e)
+    -- reset settings
+    debug("event: reset settings")
+end
+
+function P.SettingsBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/gui/scripts/SingleplayerMenu.lua
===================================================================
--- code/branches/pickup2/data/gui/scripts/SingleplayerMenu.lua	(revision 6412)
+++ code/branches/pickup2/data/gui/scripts/SingleplayerMenu.lua	(revision 6412)
@@ -0,0 +1,54 @@
+-- SingleplayerMenu.lua
+
+BasicGUI = require("BasicGUI")
+local P = BasicGUI:new() --inherit everything from the gui package
+if _REQUIREDNAME == nil then
+    SingleplayerMenu = P
+else
+    _G[_REQUIREDNAME] = P
+end
+
+P.filename = "SingleplayerMenu"
+P.layoutString = "SingleplayerMenu.layout"
+
+function P:init()
+    listbox = winMgr:getWindow("orxonox/SingleplayerLevelListbox")
+    preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
+    orxonox.LevelManager:getInstance():compileAvailableLevelList()
+    local levelList = {}
+    local index = 0
+    local level = ""
+    while true do
+      level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
+      if level == "" then
+        break
+      end
+      table.insert(levelList, level)
+      index = index + 1
+    end
+    table.sort(levelList)
+    for k,v in pairs(levelList) do
+        item = CEGUI.createListboxTextItem(v)
+        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
+        CEGUI.toListbox(listbox):addItem(item)
+        if v .. ".oxw" == preselect then
+            listbox:setItemSelectState(item, true)
+        end
+    end
+end
+
+function P.SingleplayerStartButton_clicked(e)
+    choice = winMgr:getWindow("orxonox/SingleplayerLevelListbox"):getFirstSelectedItem()
+    if choice then
+        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
+        orxonox.execute("startGame")
+        hideAllGUIs()
+    end
+end
+
+function P.SingleplayerBackButton_clicked(e)
+    hideGUI(P.filename)
+end
+
+return P
+
Index: code/branches/pickup2/data/levels/empty_level.oxw
===================================================================
--- code/branches/pickup2/data/levels/empty_level.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/empty_level.oxw	(revision 6412)
@@ -17,6 +17,21 @@
     skybox       = "Orxonox/Starbox"
   >
+
+<!--Rocket position="-10, 3.5,800" velocity="0,0,-100">
+      <attached>
+        <Model pitch=180 position="0,0,0" scale=1.5 mesh="rocket_test.mesh" >
+	  <attached>
+           <ParticleEmitter pitch=0 roll=0 position="0,5,0" source="Orxonox/laser" lifetime=2.0 loop=1 startdelay=3.0/>
+           <ParticleEmitter pitch=-90 roll=0 position="0,-5,0" source="Orxonox/particlecanon" lifetime=2.0 loop=1 startdelay=3.0/>
+           <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/rocketfire" lifetime=2.0 loop=1 startdelay=3.0 />
+	   <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/smoke" lifetime=2.0 loop=1 startdelay=3.0 />
+          </attached>
+	  </Model>
+	</attached>
+    </Rocket-->
+
+
     <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
-    <SpawnPoint position="0,0,100" spawnclass=SpaceShip pawndesign=spaceshippirate />
+    <SpawnPoint position="0,0,100" spawnclass=SpaceShip pawndesign=spaceshipassff />
   </Scene>
 </Level>
Index: code/branches/pickup2/data/levels/events.oxw
===================================================================
--- code/branches/pickup2/data/levels/events.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/events.oxw	(revision 6412)
@@ -45,5 +45,5 @@
       works with all amounts of objects from zero to infinity. In the examples I used two objects each.
     -->
-      
+
 
     <!-- red -->
Index: code/branches/pickup2/data/levels/gametype_asteroids.oxw
===================================================================
--- code/branches/pickup2/data/levels/gametype_asteroids.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/gametype_asteroids.oxw	(revision 6412)
@@ -28,9 +28,9 @@
 ?>
 
-    <MovableEntity 
-     position="<?lua print(math.random()* 15000 - 1000) ?>,<?lua print(math.random() * 12000 - 4000) ?>,<?lua print(math.random() * 12000 - 4000) ?>"        collisionType=dynamic 
+    <MovableEntity
+     position="<?lua print(math.random()* 15000 - 1000) ?>,<?lua print(math.random() * 12000 - 4000) ?>,<?lua print(math.random() * 12000 - 4000) ?>"        collisionType=dynamic
      linearDamping=0.8
      angularDamping=0
-     scale=<?lua print(j * 150)?> 
+     scale=<?lua print(j * 150)?>
      collisiondamage=1
      enablecollisiondamage=true>
Index: code/branches/pickup2/data/levels/includes/weaponsettings3.oxi
===================================================================
--- code/branches/pickup2/data/levels/includes/weaponsettings3.oxi	(revision 5942)
+++ code/branches/pickup2/data/levels/includes/weaponsettings3.oxi	(revision 6412)
@@ -2,9 +2,10 @@
       <WeaponSlot position="-15.0,-1.5,0" />
       <WeaponSlot position=" 15.0,-1.5,0" />
-      <WeaponSlot position="  0.0, 0.0,0" />
+      <WeaponSlot position="    0,   0,0" />
     </weaponslots>
     <weaponsets>
       <WeaponSet firemode=0 />
       <WeaponSet firemode=1 />
+      <WeaponSet firemode=2 />
     </weaponsets>
     <weapons>
@@ -13,4 +14,5 @@
           <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
           <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+          <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
         </links>
         <Weapon>
@@ -36,4 +38,7 @@
           <LightningGun mode=1 muzzleoffset="0,0,0" />
         </Weapon>
+        <Weapon>
+          <RocketFire mode=2 muzzleoffset="0,0,0" />
+        </Weapon>
       </WeaponPack>
       <WeaponPack>
@@ -41,7 +46,7 @@
           <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
         </links>
-        <Weapon>
-          <!-- EnergyDrink mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" / -->
-        </Weapon>
+        <!--Weapon>
+          <EnergyDrink mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
+        </Weapon-->
       </WeaponPack>
     </weapons>
Index: code/branches/pickup2/data/levels/includes/weaponsettings_HXY.oxi
===================================================================
--- code/branches/pickup2/data/levels/includes/weaponsettings_HXY.oxi	(revision 6412)
+++ code/branches/pickup2/data/levels/includes/weaponsettings_HXY.oxi	(revision 6412)
@@ -0,0 +1,26 @@
+    <weaponslots>
+      <WeaponSlot position=" 6,-2,2" />
+      <WeaponSlot position="-6,-2,2" />
+    </weaponslots>
+    <weaponsets>
+      <WeaponSet firemode=0 />
+      <WeaponSet firemode=1 />
+    </weaponsets>
+    <weapons>
+      <WeaponPack>
+        <links>
+          <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+          <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+        </links>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.1 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.1 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+      </WeaponPack>
+    </weapons>
Index: code/branches/pickup2/data/levels/includes/weaponsettings_Transporter.oxi
===================================================================
--- code/branches/pickup2/data/levels/includes/weaponsettings_Transporter.oxi	(revision 6412)
+++ code/branches/pickup2/data/levels/includes/weaponsettings_Transporter.oxi	(revision 6412)
@@ -0,0 +1,26 @@
+    <weaponslots>
+      <WeaponSlot position=" 55,-10,20" />
+      <WeaponSlot position="-55,-10,20" />
+    </weaponslots>
+    <weaponsets>
+      <WeaponSet firemode=0 />
+      <WeaponSet firemode=1 />
+    </weaponsets>
+    <weapons>
+      <WeaponPack>
+        <links>
+          <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+          <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+        </links>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.1 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.1 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+      </WeaponPack>
+    </weapons>
Index: code/branches/pickup2/data/levels/includes/weaponsettings_ghost.oxi
===================================================================
--- code/branches/pickup2/data/levels/includes/weaponsettings_ghost.oxi	(revision 6412)
+++ code/branches/pickup2/data/levels/includes/weaponsettings_ghost.oxi	(revision 6412)
@@ -0,0 +1,26 @@
+    <weaponslots>
+      <WeaponSlot position=" 1.3,4.66,-20" />
+      <WeaponSlot position="-1.3,4.66,-20" />
+    </weaponslots>
+    <weaponsets>
+      <WeaponSet firemode=0 />
+      <WeaponSet firemode=1 />
+    </weaponsets>
+    <weapons>
+      <WeaponPack>
+        <links>
+          <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+          <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+        </links>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.125 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.125 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" />
+        </Weapon>
+      </WeaponPack>
+    </weapons>
Index: code/branches/pickup2/data/levels/old/physicstest.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/physicstest.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/physicstest.oxw	(revision 6412)
@@ -12,8 +12,8 @@
 
 <?lua
-for i = 1, 226, 1 
+for i = 1, 226, 1
 do ?>
   <Model position="<?lua print(math.random() * 40000 - 20000)?>, <?lua print(math.random() * 40000 - 20000) ?>, <?lua print(math.random() * 40000 - 20000) ?>" scale="<?lua print(math.random() * 250 + 20) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" rotationAxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationRate="<?lua print(math.random() * 30 + 15) ?>" />
-<?lua 
+<?lua
 end
 ?>
Index: code/branches/pickup2/data/levels/old/physicstest2.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/physicstest2.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/physicstest2.oxw	(revision 6412)
@@ -21,6 +21,6 @@
     <SpawnPoint position="0, 300, -300" pitch=-90 spawnclass=SpaceShip pawndesign=spaceshipassff /-->
 
-	<!-- axes in ogre's origin of coordinate system for phsics engine testing purposes-->
-	<StaticEntity
+    <!-- axes in ogre's origin of coordinate system for phsics engine testing purposes-->
+    <StaticEntity
      position        = "0,0,0"
      name            = "banana"
@@ -35,19 +35,19 @@
         <PlaneCollisionShape name="thePlane" planeNormal="0,1,0" planeOffset=0 />
       </collisionShapes>
-	</StaticEntity>
-
-	<!-- red sphere for phsics engine testing purposes-->
-	<!--StaticEntity position="40,0,0">
-		<attached>
-			<Model position="0,0,0" scale=1 mesh="sphere.mesh" />
-		</attached>
-	</StaticEntity-->
-
-	<!-- yellow cube for phsics engine testing purposes-->
-	<!--StaticEntity position="80,0,0">
+    </StaticEntity>
+
+    <!-- red sphere for phsics engine testing purposes-->
+    <!--StaticEntity position="40,0,0">
+      <attached>
+        <Model position="0,0,0" scale=1 mesh="sphere.mesh" />
+      </attached>
+    </StaticEntity-->
+
+    <!-- yellow cube for phsics engine testing purposes-->
+    <!--StaticEntity position="80,0,0">
       <attached>
         <Model position="0,0,0" scale=1 mesh="cube.mesh" />
       </attached>
-	</StaticEntity-->
+    </StaticEntity-->
 
     <MovableEntity
Index: code/branches/pickup2/data/levels/old/presentation_physics.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/presentation_physics.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/presentation_physics.oxw	(revision 6412)
@@ -30,7 +30,7 @@
         <PlaneCollisionShape planeNormal="0,1,0" planeOffset=0 />
       </collisionShapes>
-	</StaticEntity>
+    </StaticEntity>
 
-	<MovableEntity
+    <MovableEntity
      position        = "0,250,500"
      rotationaxis    = "1, 1, 1"
@@ -64,5 +64,5 @@
         <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
       </collisionShapes>
-	</MovableEntity>
+    </MovableEntity>
 
     <?lua
Index: code/branches/pickup2/data/levels/old/princessaeryn.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/princessaeryn.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/princessaeryn.oxw	(revision 6412)
@@ -6,11 +6,11 @@
 
 <?lua
-	dofile("includes/CuboidSpaceStation.lua")
+    dofile("includes/CuboidSpaceStation.lua")
 ?>
 
 <NotificationQueue
-	name  = "notification"
-	position = "1.0, 1.0"
-	targets = "questsystem"
+ name  = "notification"
+ position = "1.0, 1.0"
+ targets = "questsystem"
 />
 
Index: code/branches/pickup2/data/levels/old/questsystem.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/questsystem.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/questsystem.oxw	(revision 6412)
@@ -6,7 +6,7 @@
 
 <NotificationQueue
-	name  = "notification"
-	position = "1.0, 1.0"
-	targets = "all"
+ name  = "notification"
+ position = "1.0, 1.0"
+ targets = "all"
 />
 
@@ -29,17 +29,17 @@
         </GlobalQuest>
 
-				<ParticleSpawner position="0,0,100" source="Orxonox/BigExplosion1part3" lifetime=2.0 loop=0 autostart=0>
-				  <events>
-				    <spawn>
-				      <EventTrigger delay=1>
-				        <events>
-				          <trigger>
-				            <SpawnPoint position="0,0,100" spawnclass=SpaceShip pawndesign=spaceshipassff />
-				          </trigger>
-				        </events>
-				      </EventTrigger>
-				    </spawn>
-				  </events>
-				</ParticleSpawner>
+        <ParticleSpawner position="0,0,100" source="Orxonox/BigExplosion1part3" lifetime=2.0 loop=0 autostart=0>
+            <events>
+                <spawn>
+                    <EventTrigger delay=1>
+                        <events>
+                            <trigger>
+                                <SpawnPoint position="0,0,100" spawnclass=SpaceShip pawndesign=spaceshipassff />
+                            </trigger>
+                        </events>
+                    </EventTrigger>
+                </spawn>
+            </events>
+        </ParticleSpawner>
 
         <QuestEffectBeacon position="0,0,100" times=-1>
Index: code/branches/pickup2/data/levels/old/sample4.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/sample4.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/sample4.oxw	(revision 6412)
@@ -23,8 +23,8 @@
         <Model position="0,0,0" scale=10 mesh="satellite.mesh" />
         <MovableEntity position="-4,0,0" velocity="0,0,0" rotationaxis="0,0,1" rotationrate=50>
-	  <attached>
+          <attached>
             <Model position="4,0,0" scale=10 mesh="satellitedish.mesh"/>
           </attached>
-	</MovableEntity>
+        </MovableEntity>
         <ParticleEmitter pitch=-135 roll=30 position="-14, 3.5,-2.5" source="Orxonox/thruster3" lifetime=2.0 loop=1 startdelay=3.0 />
         <ParticleEmitter pitch=135 roll=30 position="-14, 3.5,-9" source="Orxonox/thruster3" lifetime=2.0 loop=1 startdelay=3.0 />
Index: code/branches/pickup2/data/levels/old/spaceshiptemplates_physics.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/spaceshiptemplates_physics.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/spaceshiptemplates_physics.oxw	(revision 6412)
@@ -10,5 +10,5 @@
    auxilaryThrust    = 30;
    rotationThrust    = 10;
-   
+
    collisionType     = "dynamic"
    mass              = 100
Index: code/branches/pickup2/data/levels/old/tutorial_hs08.oxw
===================================================================
--- code/branches/pickup2/data/levels/old/tutorial_hs08.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/old/tutorial_hs08.oxw	(revision 6412)
@@ -19,8 +19,8 @@
 <!-- Embedded lua code (creates random asteroids) -->
 <?lua
-for i = 1, 226, 1 
+for i = 1, 226, 1
 do ?>
   <Model position="<?lua print(math.random() * 40000 - 20000)?>, <?lua print(math.random() * 40000 - 20000) ?>, <?lua print(math.random() * 40000 - 20000) ?>" scale="<?lua print(math.random() * 250 + 20) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" rotationAxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationRate="<?lua print(math.random() * 30 + 15) ?>" />
-<?lua 
+<?lua
 end
 ?>
Index: code/branches/pickup2/data/levels/presentation.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentation.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/presentation.oxw	(revision 6412)
@@ -20,30 +20,30 @@
 
 
-	<!-- axes in ogre's origin of coordinate system for phsics engine testing purposes-->
-	<!--StaticEntity position="0,0,0">
-		<attached>
-			<Model position="0,0,0" scale=1 mesh="axes.mesh" />
-		</attached>
-	</StaticEntity -->
+    <!-- axes in ogre's origin of coordinate system for phsics engine testing purposes-->
+    <!--StaticEntity position="0,0,0">
+      <attached>
+        <Model position="0,0,0" scale=1 mesh="axes.mesh" />
+      </attached>
+    </StaticEntity -->
 
-	<!-- red sphere for phsics engine testing purposes-->
-	<!--StaticEntity position="40,0,0">
-		<attached>
-			<Model position="0,0,0" scale=1 mesh="sphere.mesh" />
-		</attached>
-	</StaticEntity-->
+    <!-- red sphere for phsics engine testing purposes-->
+    <!--StaticEntity position="40,0,0">
+      <attached>
+        <Model position="0,0,0" scale=1 mesh="sphere.mesh" />
+      </attached>
+    </StaticEntity-->
 
-	<!-- yellow cube for phsics engine testing purposes-->
-	<!--StaticEntity position="80,0,0">
-		<attached>
-			<Model position="0,0,0" scale=1 mesh="cube.mesh" />
-		</attached>
-	</StaticEntity-->
+    <!-- yellow cube for phsics engine testing purposes-->
+    <!--StaticEntity position="80,0,0">
+      <attached>
+        <Model position="0,0,0" scale=1 mesh="cube.mesh" />
+      </attached>
+    </StaticEntity-->
 
-	<!-- Carrier with guns not implemented yet -->
-	<MovableEntity position="-2000,-1000,-2000" pitch="-90" roll="90">
+    <!-- Carrier with guns not implemented yet -->
+    <MovableEntity position="-2000,-1000,-2000" pitch="-90" roll="90">
       <attached>
         <Model position="0,0,0" scale=10 mesh="Carrier.mesh" />
-		<Model position="0,30,20" scale=10 mesh="pirate.mesh" roll="180" />
+        <Model position="0,30,20" scale=10 mesh="pirate.mesh" roll="180" />
         <Model position="-80,-30,20" scale=10 mesh="pirate.mesh" roll="180" />
       </attached>
@@ -54,8 +54,8 @@
         <Model position="0,0,0" scale=10 mesh="satellite.mesh" />
         <MovableEntity position="-4,0,0" velocity="0,0,0" rotationaxis="0,0,1" rotationrate=50>
-	  <attached>
+          <attached>
             <Model position="4,0,0" scale=10 mesh="satellitedish.mesh"/>
           </attached>
-	</MovableEntity>
+        </MovableEntity>
         <ParticleEmitter pitch=-135 roll=30 position="-14, 3.5,-2.5" source="Orxonox/thruster3" lifetime=2.0 loop=1 startdelay=3.0 />
         <ParticleEmitter pitch=135 roll=30 position="-14, 3.5,-9" source="Orxonox/thruster3" lifetime=2.0 loop=1 startdelay=3.0 />
Index: code/branches/pickup2/data/levels/presentation09.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentation09.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/presentation09.oxw	(revision 6412)
@@ -24,5 +24,5 @@
 max = 20
 for i = 1, max, 1
-do 
+do
     x = math.sin(i/max*6)*40000
     y = math.cos(i/max*6)*40000
@@ -30,10 +30,10 @@
     ?>
 <?lua
-for k = 1, 25, 1 
+for k = 1, 25, 1
 do
 j = math.random()
 ?>
-    
-    <MovableEntity position="<?lua print(x + math.random() * 10000-2500) ?>,<?lua print(y + math.random() * 5000-2500) ?>,<?lua print(z + math.random() * 1000-500) ?>" <?lua if i == 5 then ?> collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> <?lua end ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>"> 
+
+    <MovableEntity position="<?lua print(x + math.random() * 10000-2500) ?>,<?lua print(y + math.random() * 5000-2500) ?>,<?lua print(z + math.random() * 1000-500) ?>" <?lua if i == 5 then ?> collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> <?lua end ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>">
       <attached>
         <Model position="0,0,0" scale=<?lua print(j * 10) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
@@ -43,10 +43,10 @@
       </collisionShapes> <?lua end ?>
     </MovableEntity>
-<?lua 
+<?lua
 end
 ?>
 <?lua end ?>
     <Planet position="0,0,0" scale=10000 pitch=-90 mesh="iceplanet.mesh" atmosphere="atmosphere1" rotationaxis="1,1,0" rotationrate="1" atmospheresize=224.0f imagesize=1024.0f />
-    
+
   </Scene>
 </Level>
Index: code/branches/pickup2/data/levels/presentation09b.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentation09b.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/presentation09b.oxw	(revision 6412)
@@ -86,5 +86,5 @@
       </controller>
     </SpaceShip>
-    
+
     <PickupSpawner item="JumpItem" triggerDistance="20" respawnTime="10000" position="-3800, 2500, 1500">
         <attached>
@@ -93,5 +93,5 @@
         </attached>
     </PickupSpawner>
-    
+
     <PickupSpawner item="HealthUsableItem" triggerDistance="20" respawnTime="10000" position="-4150,2750,1550">
         <attached>
@@ -100,5 +100,5 @@
         </attached>
     </PickupSpawner>
-    
+
     <PickupSpawner item="HealthImmediateItem" triggerDistance="20" respawnTime="3" position="2300, 4300, 2400">
         <attached>
@@ -121,5 +121,5 @@
 
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do
 ?>
@@ -136,10 +136,10 @@
       </controller>
     </SpaceShip>
-<?lua 
-end
-?>
-
-<?lua
-for i = 1, 12, 1 
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 12, 1
 do
 ?>
@@ -156,5 +156,5 @@
       </controller>
     </SpaceShip>
-<?lua 
+<?lua
 end
 ?>
@@ -173,5 +173,5 @@
 
 <?lua
-for i = 1, 12, 1 
+for i = 1, 12, 1
 do
 ?>
@@ -190,5 +190,5 @@
       </controller>
     </SpaceShip>
-<?lua 
+<?lua
 end
 ?>
@@ -320,5 +320,5 @@
 
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do
 ?>
@@ -335,10 +335,10 @@
       </controller>
     </SpaceShip>
-<?lua 
-end
-?>
-
-<?lua
-for i = 1, 200, 1 
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 200, 1
 do
 x = math.random() * 100  + (i-70) * 100
@@ -347,11 +347,11 @@
 s = math.random() * 60 + 30
 ?>
-    
-    <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>"> 
+
+    <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
       <attached>
         <Model position="0,0,0" scale=<?lua print(s) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
       </attached>
     </MovableEntity>
-<?lua 
+<?lua
 end
 ?>
@@ -363,5 +363,5 @@
     return table.getn(elements)
 end
-for i = 1, 150, 1 
+for i = 1, 150, 1
 do
 x = math.random() * 750 - 4500
@@ -370,14 +370,14 @@
 e = math.floor(math.random()*elements.length()+1)
 ?>
-    
-    <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>"> 
+
+    <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
       <attached>
         <Model position="0,0,0" scale="<?lua print(sizes[e]) ?>" mesh="<?lua print( elements[e]) ?>" />
       </attached>
     </MovableEntity>
-<?lua 
-end
-?>
-    
+<?lua
+end
+?>
+
   </Scene>
 </Level>
Index: code/branches/pickup2/data/levels/presentationHS09.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentationHS09.oxw	(revision 6412)
+++ code/branches/pickup2/data/levels/presentationHS09.oxw	(revision 6412)
@@ -0,0 +1,410 @@
+<?lua
+  include("hudtemplates3.oxo")
+  include("stats.oxo")
+  include("templates/spaceship_assff.oxt")
+  include("templates/spaceship_H2.oxt")
+  include("templates/spaceship_pirate.oxt")
+?>
+
+<Level
+ name         = "Presentation09"
+ description  = "presentation level for Orxonox Convention X"
+ gametype     = TeamDeathmatch
+ hasPhysics = true
+>
+  <Scene
+   ambientlight = "0.6, 0.4, 0.4"
+   skybox       = "Orxonox/skypanoramagen2"
+  >
+    <Light type=directional position="0,0,0" direction="0.683, 0.289, 0.670" diffuse="0.8, 0.5, 0.5, 1.0" specular="0.8, 0.4, 0.4, 1.0" />
+
+    <Template name="JumpItem" baseclass="Jump">
+        <Jump velocity="0,0,-1000" jumpsAvailable="4" guiImage="jumpturbinepickup.jpg" guiText="Jump" />
+    </Template>
+    <Template name="HealthImmediateItem" baseclass="HealthImmediate">
+        <HealthImmediate recoveredHealth="100" guiImage="decal.jpg" guiText="Health" />
+    </Template>
+    <Template name="HealthUsableItem" baseclass="HealthUsable">
+        <HealthImmediate recoveredHealth="80" guiImage="goldwrenchpickup.jpg" guiText="Health" />
+    </Template>
+
+    <SpawnPoint position="-3800, 2500, 1500" direction="-0.683, -0.289, -0.670"  spawnclass=SpaceShip pawndesign=spaceshipassff />
+
+
+
+    <SpaceShip position="-3900,3000,1000">
+      <templates>
+        <Template link=spaceshipHtwo/>
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=100 team=0>
+          <waypoints>
+            <StaticEntity position="-3850,2800,1450" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+
+    <SpaceShip position="-4100,2600,1600">
+      <templates>
+        <Template link=spaceshipHtwo/>
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=100 team=0>
+          <waypoints>
+            <StaticEntity position="-3850,2800,1450" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+
+    <SpaceShip position="-4000,2500,1500">
+      <templates>
+        <Template link=spaceshipHtwo/>
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=100 team=0>
+          <waypoints>
+            <StaticEntity position="-3850,2800,1450" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+
+    <SpaceShip position="-4100,2700,1500">
+      <templates>
+        <Template link=spaceshipHtwo/>
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=100 team=0 />
+      </controller>
+    </SpaceShip>
+
+    <SpaceShip position="-4150,2750,1550">
+      <templates>
+        <Template link=spaceshipHtwo/>
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=100 team=0 />
+      </controller>
+    </SpaceShip>
+
+    <Billboard material="Test/Fog" position="-3800, 2500, 1500" alpha="0.1" color="1, 1, 1, 0.1" scale="0.5" />
+
+    <PickupSpawner item="JumpItem" triggerDistance="20" respawnTime="10000" position="-3800, 2500, 1500">
+        <attached>
+            <!--<Model mesh="jumpthrust.mesh" scale="1.0" />
+            <Billboard material="Examples/Flare" colour="0.5, 1.0, 0.3" scale="0.5" />-->
+        </attached>
+    </PickupSpawner>
+
+    <PickupSpawner item="HealthUsableItem" triggerDistance="20" respawnTime="10000" position="-4150,2750,1550">
+        <attached>
+            <Model mesh="gwrench.mesh" scale="1.0" />
+            <Billboard material="Examples/Flare" colour="0.3, 0.8, 1.0" scale="0.5" />
+        </attached>
+    </PickupSpawner>
+
+    <PickupSpawner item="HealthImmediateItem" triggerDistance="20" respawnTime="3" position="2300, 4300, 2400">
+        <attached>
+            <Model mesh="gwrench.mesh" scale="1.0" />
+            <Billboard material="Examples/Flare" colour="0.9, 1.0, 0.1" scale="0.5" />
+        </attached>
+    </PickupSpawner>
+
+    <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
+    <EventDispatcher>
+      <targets>
+        <EventTarget target=pirates />
+      </targets>
+      <events>
+        <activity>
+          <DistanceTrigger position="-2500, 2400, 1500" distance=250 target="SpaceShip" stayactive=true />
+        </activity>
+      </events>
+    </EventDispatcher>
+
+<?lua
+for i = 1, 10, 1
+do
+?>
+    <SpaceShip position="<?lua print(5000 + math.random() * 4000 - 2000) ?>,<?lua print(0 + math.random() * 2000 - 1000) ?>,<?lua print(math.random() * 2000 - 1000) ?>">
+      <templates>
+        <Template link=spaceshippirate />
+      </templates>
+      <controller>
+        <WaypointPatrolController name=pirates alertnessradius=1000 team=1 active=false>
+          <waypoints>
+            <StaticEntity position="3100, 2000, 1500" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 12, 1
+do
+?>
+    <SpaceShip position="<?lua print(2800 + math.random() * 2000 - 1000) ?>,<?lua print(2500+ math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>" >
+      <templates>
+        <Template link=spaceshipassff />
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=1000 team=0>
+          <waypoints>
+            <StaticEntity position="<?lua print(2800 + math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>,<?lua print(1500 + math.random() * 1000 - 500) ?>" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+
+    <Billboard position="2300, 4400, 2500" material="Examples/Flare" />
+    <EventDispatcher>
+      <targets>
+        <EventTarget target=attacker />
+      </targets>
+      <events>
+        <activity>
+          <DistanceTrigger position="2300, 4400, 2500" distance=50 target="SpaceShip" stayactive=true />
+        </activity>
+      </events>
+    </EventDispatcher>
+
+<?lua
+for i = 1, 12, 1
+do
+?>
+    <SpaceShip position="<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(4800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>" >
+      <templates>
+        <Template link=spaceshipassff />
+      </templates>
+      <controller>
+        <WaypointPatrolController name=attacker alertnessradius=<?lua print(math.random() * 2000) ?> team=0 active=false>
+          <waypoints>
+            <StaticEntity position="<?lua print(2800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(1500 + math.random() * 500 - 250) ?>" />
+            <StaticEntity position="<?lua print(5000 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>" />
+            <StaticEntity position="<?lua print(7500 + math.random() * 500 - 250) ?>,<?lua print(-2500 + math.random() * 500 - 250) ?>,<?lua print(-1500 + math.random() * 500 - 250) ?>" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+
+    <StaticEntity position="2800, 2500, 2500">
+        <attached>
+            <CheckPoint />
+            <Model position="400, 0, 0" scale="40" mesh="DuBall2.mesh"/>
+            <Model position="-400, 0, 0" scale="40" mesh="DuBall1.mesh"/>
+        </attached>
+    </StaticEntity>
+<!--
+    <Destroyer position="6500, -2000, -1000" collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=500>
+        <attached>
+            <CheckPoint />
+            <Model position="0,0,0" scale="5" mesh="Carrier.mesh"/>
+            <Backlight
+                mainstate=activity
+                active=false
+                scale=0.4
+                name=bltest
+                position=" 7.6, 0, 6"
+                colour="0.2, 0.65, 1.0, 1.0"
+                width=15
+                length=1500
+                lifetime=2
+                elements=50
+                trailmaterial="Trail/backlighttrail"
+                turnontime=1
+                turnofftime=1
+                material="Flares/ThrusterFlare1"
+            />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="70,0,-25"      halfExtents="150, 50, 25" />
+            <BoxCollisionShape position="95,75,-16"     halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="95,-75,-16"    halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="77,47,30"      halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,-47,30"     halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,0,50"       halfExtents="110, 45, 6" />
+            <BoxCollisionShape position="167,0,70"      halfExtents="17, 20, 20" />
+        </collisionShapes>
+    </Destroyer>
+-->
+    <Destroyer
+        position          = "6500,-2000,-1000"
+        collisionType     = dynamic
+        mass              = 100000
+        angularDamping    = 0.9999999
+        health            = 1000
+        maxhealth         = 1000
+        initialhealth     = 1000
+    >
+        <controller>
+          <WaypointPatrolController team=1 />
+        </controller>
+        <attached>
+            <Model mesh="Carrier.mesh" scale="5" />
+            <Backlight
+                mainstate=activity
+                active=false
+                scale=0.4
+                name=bltest
+                position=" 7.6, 0, 6"
+                colour="0.2, 0.65, 1.0, 1.0"
+                width=15
+                length=1500
+                lifetime=2
+                elements=50
+                trailmaterial="Trail/backlighttrail"
+                turnontime=1
+                turnofftime=1
+                material="Flares/ThrusterFlare1"
+            />
+            <?lua for i=0,8,1 do ?>
+                <BlinkingBillboard
+                    position="<?lua print(200-270/8*i)?> ,15,2"
+                    material="Examples/Flare"
+                    colour="1.0, 0.5, 0.3"
+                    phase=<?lua print(-360/8*i)?>
+                    amplitude=0.1
+                    frequency=0.5
+                    quadratic=1
+                />
+
+                <BlinkingBillboard
+                    position="<?lua print(200-270/8*i)?>,-15,2"
+                    material="Examples/Flare"
+                    colour="1.0, 0.5, 0.3"
+                    phase=<?lua print(-360/8*i)?>
+                    amplitude=0.1
+                    frequency=0.5
+                    quadratic=1
+                />
+            <?lua end ?>
+
+            <Backlight
+                scale=1
+                position=" 169, 75, -15"
+                colour="1, 0.85, 0.5, 0.5"
+                width=40
+                length=1000
+                lifetime=5
+                elements=15
+                trailmaterial="Trail/backlighttrail"
+                material="Examples/Flare"
+            />
+            <Backlight
+                scale=1
+                position=" 169, -75, -15"
+                colour="1, 0.85, 0.5, 0.5"
+                width=40
+                length=1000
+                lifetime=5
+                elements=15
+                trailmaterial="Trail/backlighttrail"
+                material="Examples/Flare" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="70,0,-25"      halfExtents="150, 50, 25" />
+            <BoxCollisionShape position="95,75,-16"     halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="95,-75,-16"    halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="77,47,30"      halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,-47,30"     halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,0,50"       halfExtents="110, 45, 6" />
+            <BoxCollisionShape position="167,0,70"      halfExtents="17, 20, 20" />
+        </collisionShapes>
+    </Destroyer>
+
+<?lua
+for i = 1, 10, 1
+do
+?>
+    <SpaceShip position="<?lua print(6200 + math.random() * 2000 - 1000) ?>,<?lua print(-1500 + math.random() * 1000 - 500) ?>,<?lua print(-700 + math.random() * 1000 - 500) ?>" >
+      <templates>
+        <Template link=spaceshippirate />
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=1000 team=1>
+          <waypoints>
+            <StaticEntity position="<?lua print(6000 + math.random() * 1000 - 500) ?>,<?lua print(-2000 + math.random() * 1000 - 500) ?>,<?lua print(-1000 + math.random() * 1000 - 500) ?>" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+
+<?lua
+elements = {"asteroid_ice.mesh", "asteroid_UV.mesh", "ast1.mesh", "ast2.mesh", "ast3.mesh", "ast4.mesh", "ast5.mesh", "ast6.mesh"}
+elements.length = function()
+    return table.getn(elements)
+end
+for i = 1, 100, 1
+do
+x = math.random() * 100  + (i) * 100
+y = math.random() * 3000 - 1500
+z = math.random() * 3000 - 1500 + (i-100) * 10
+s = math.random() * 60 + 30
+e = math.floor(math.random()*elements.length()+1)
+?>
+
+    <MovableEntity mass=90000 position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 100 - 15) ?>">
+      <attached>
+        <Model position="0,0,0" scale=<?lua print(s) ?> mesh="<?lua print(elements[e])?>" />
+      </attached>
+    </MovableEntity>
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 100, 1
+do
+x = math.random() * 200 + i*200
+y = math.random() * 3000 - 1500
+z = math.random() * 3000 - 1500 + (i-100) * 10
+s = math.random() * 60 + 30
+?>
+  <ParticleSpawner position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" source="Orxonox/Steam" lifetime=3.0 loop=1 />
+<!-- <Billboard material="Test/Fog" position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>"  color="1, 1, 1, 0.01" scale="20" />
+-->
+<?lua
+end
+?>
+
+<?lua
+elements = {"BodyDebris1.mesh", "CockpitDebris.mesh", "LightningGun.mesh", "WingDebris1.mesh", "WingDebris2.mesh", "satellitedish.mesh", "Thruster.mesh"}
+sizes = {4, 4, 4, 4, 4, 10, 20}
+elements.length = function()
+    return table.getn(elements)
+end
+for i = 1, 150, 1
+do
+x = math.random() * 750 - 4500
+y = math.random() * 1000 + 2000
+z = math.random() * 500 + 1000
+e = math.floor(math.random()*elements.length()+1)
+?>
+
+    <MovableEntity mass=90000 position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30- 15) ?>">
+      <attached>
+        <Model position="0,0,0" scale="<?lua print(sizes[e]) ?>" mesh="<?lua print( elements[e]) ?>" />
+      </attached>
+    </MovableEntity>
+<?lua
+end
+?>
+<!--
+    <Planet position="1000,0,0" mass=900000 scale=1000 pitch=-90 mesh="iceplanet.mesh" atmosphere="atmosphere1" rotationaxis="1,1,0" rotationrate="1" atmospheresize=224.0f imagesize=1024.0f />
+-->
+</Scene>
+</Level>
Index: code/branches/pickup2/data/levels/presentationHS09b.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentationHS09b.oxw	(revision 6412)
+++ code/branches/pickup2/data/levels/presentationHS09b.oxw	(revision 6412)
@@ -0,0 +1,270 @@
+<?lua
+  include("stats.oxo")
+  include("hudtemplates3.oxo")
+?>
+
+<?lua
+  include("templates/spaceship_assff.oxt")
+  include("templates/spaceship_pirate.oxt")
+  include("templates/spaceship_ghost.oxt")
+  include("templates/spaceship_HXY.oxt")
+  include("templates/spaceship_Transporter.oxt")
+  include("templates/spaceship_HXY_SL.oxt")
+  include("templates/spaceship_Transporter_SL.oxt")
+?>
+
+<Level
+ name         = "Sample"
+ description  = "Just a few tests"
+ gametype     = TeamDeathmatch
+>
+  <Scene
+    ambientlight = "0.8, 0.8, 0.8"
+    skybox       = "Orxonox/Starbox"
+  >
+
+
+<AmbientSound ambientSource="Mars.ogg" looping="true" playOnLoad="true" />
+
+   <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
+<?lua
+   for i = 1, 50, 1
+   do
+   x = math.random() * 2000  + 4000
+   y = math.random() * 4000 - 2000
+   z = math.random() * 2000 - 1000
+   s = math.random() * 100
+   ?>
+
+    <MovableEntity collisiontype=dynamic mass=<?lua print(s*10)?> position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.01 angularDamping=0 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 100 - 15) ?>">
+      <attached>
+        <Model position="0,0,0" scale=<?lua print(s) ?> mesh="asteroid_UV.mesh" />
+      </attached>
+      <collisionShapes>
+        <SphereCollisionShape radius="<?lua print(s*0.9) ?>" />
+      </collisionShapes>
+    </MovableEntity>
+     <ParticleSpawner position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" source="Orxonox/Steam" lifetime=3.0 loop=1 />
+<?lua
+end
+?>
+
+<?lua
+elements = {"BodyDebris1.mesh", "CockpitDebris.mesh", "LightningGun.mesh", "WingDebris1.mesh", "WingDebris2.mesh", "satellitedish.mesh", "Thruster.mesh"}
+sizes = {4, 4, 4, 4, 4, 10, 20}
+elements.length = function()
+    return table.getn(elements)
+end
+for i = 1, 100, 1
+do
+x = math.random() * 750 - 4500
+y = math.random() * 1000 + 2000
+z = math.random() * 500 + 1000
+e = math.floor(math.random()*elements.length()+1)
+?>
+
+    <MovableEntity mass=90000 position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30- 15) ?>">
+      <attached>
+        <Model position="0,0,0" scale="<?lua print(sizes[e]) ?>" mesh="<?lua print( elements[e]) ?>" />
+      </attached>
+    </MovableEntity>
+<?lua
+end
+?>
+<?lua
+for i = 1,12, 1
+do
+?>
+    <SpaceShip position="<?lua print(math.random()*500 + 4500) ?>,<?lua print(-(math.random()*500 -250)) ?>,<?lua print(i*50 - 150) ?>" >
+      <templates>
+        <Template link=spaceshipHXYSL />
+      </templates>
+      <controller>
+        <WaypointPatrolController alertnessradius=4000 team=0 active=true>
+          <waypoints>
+            <StaticEntity position="5000,<?lua print(math.random()*50)?> ,<?lua print(i*50 -150) ?>" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+<SpaceShip position="5000,100,100" >
+      <templates>
+        <Template link=spaceshipTransporterSL />
+      </templates>
+      <controller>
+        <WaypointPatrolController name=pirate  target=pirate alertnessradius=1000 team=0 active=false>
+          <waypoints>
+            <StaticEntity position="5000,100,1100" />
+          </waypoints>
+        </WaypointPatrolController>
+      </controller>
+</SpaceShip>
+    <Destroyer
+        position          = "-5000,100 ,100"
+        collisionType     = dynamic
+        mass              = 100000
+        angularDamping    = 0.9999999
+        health            = 1000
+        maxhealth         = 1000
+        initialhealth     = 1000
+    >
+        <controller>
+          <WaypointPatrolController team=1 />
+        </controller>
+        <attached>
+            <Model mesh="Carrier.mesh" scale="5" />
+            <Backlight
+                mainstate=activity
+                active=false
+                scale=0.4
+                name=bltest
+                position=" 7.6, 0, 6"
+                colour="0.2, 0.65, 1.0, 1.0"
+                width=15
+                length=1500
+                lifetime=2
+                elements=50
+                trailmaterial="Trail/backlighttrail"
+                turnontime=1
+                turnofftime=1
+                material="Flares/ThrusterFlare1"
+            />
+            <?lua for i=0,8,1 do ?>
+                <BlinkingBillboard
+                    position="<?lua print(200-270/8*i)?> ,15,2"
+                    material="Examples/Flare"
+                    colour="1.0, 0.5, 0.3"
+                    phase=<?lua print(-360/8*i)?>
+                    amplitude=0.1
+                    frequency=0.5
+                    quadratic=1
+                />
+
+                <BlinkingBillboard
+                    position="<?lua print(200-270/8*i)?>,-15,2"
+                    material="Examples/Flare"
+                    colour="1.0, 0.5, 0.3"
+                    phase=<?lua print(-360/8*i)?>
+                    amplitude=0.1
+                    frequency=0.5
+                    quadratic=1
+                />
+            <?lua end ?>
+
+            <Backlight
+                scale=1
+                position=" 169, 75, -15"
+                colour="1, 0.85, 0.5, 0.5"
+                width=40
+                length=1000
+                lifetime=5
+                elements=15
+                trailmaterial="Trail/backlighttrail"
+                material="Examples/Flare"
+            />
+            <Backlight
+                scale=1
+                position=" 169, -75, -15"
+                colour="1, 0.85, 0.5, 0.5"
+                width=40
+                length=1000
+                lifetime=5
+                elements=15
+                trailmaterial="Trail/backlighttrail"
+                material="Examples/Flare" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="70,0,-25"      halfExtents="150, 50, 25" />
+            <BoxCollisionShape position="95,75,-16"     halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="95,-75,-16"    halfExtents="70, 10, 12" />
+            <BoxCollisionShape position="77,47,30"      halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,-47,30"     halfExtents="110, 2, 30" />
+            <BoxCollisionShape position="77,0,50"       halfExtents="110, 45, 6" />
+            <BoxCollisionShape position="167,0,70"      halfExtents="17, 20, 20" />
+        </collisionShapes>
+    </Destroyer>
+
+   <?lua
+   for i = 1, 50, 1
+   do
+   x = -(math.random() * 2000  + 4000)
+   y = math.random() * 4000 - 2000
+   z = math.random() * 2000 - 1000
+   s = math.random() * 100
+   ?>
+
+    <MovableEntity collisiontype=dynamic mass=<?lua print(s*10)?> position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.01 angularDamping=0 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 100 - 15) ?>">
+      <attached>
+        <Model position="0,0,0" scale=<?lua print(s) ?> mesh="asteroid_ice.mesh" />
+      </attached>
+      <collisionShapes>
+        <SphereCollisionShape radius="<?lua print(s*0.9)?>" />
+      </collisionShapes>
+    </MovableEntity>
+    <ParticleSpawner position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" source="Orxonox/Steam" lifetime=3.0 loop=1 />
+<?lua
+end
+?>
+<!--<EventDispatcher>
+      <targets>
+        <EventTarget target=attack />
+        <EventTarget target=wait />
+      </targets>
+      <events>
+        <activity>
+          <DistanceTrigger position="0, 0, 4500" distance=100 target="SpaceShip" stayactive=true />
+        </activity>
+      </events>
+</EventDispatcher>
+
+<EventDispatcher>
+      <targets>
+        <EventTarget target=wait />
+      </targets>
+      <events>
+        <activity>
+          <DistanceTrigger position="0, 0, 4500" distance=100 target="SpaceShip" stayactive=false />
+        </activity>
+      </events>
+</EventDispatcher>-->
+
+<?lua
+for i = 1,25, 1
+do
+?>
+<SpaceShip position="<?lua print(-(math.random()*500 + 4500)) ?>,<?lua print(-(math.random()*500 -250)) ?>,<?lua print(i*50 - 150) ?>" >
+      <templates>
+        <Template link=spaceshipghost />
+      </templates>
+      <controller>
+
+          <WaypointPatrolController name=attack alertnessradius=15000 team=1 active=false>
+          <events>
+           <activity>
+             <DistanceTrigger position="-5000, 100, 100" distance=2000 target="Camera" stayactive=true />
+           </activity>
+          </events>
+          </WaypointPatrolController>
+
+      </controller>
+    </SpaceShip>
+<?lua
+end
+?>
+
+
+
+    <AmbientSound ambientSource="Earth.ogg" looping="true" playOnLoad="false">
+      <events>
+        <activity>
+          <DistanceTrigger position="2000,0,0" distance=500 target="Camera" />
+        </activity>
+      </events>
+    </AmbientSound>
+
+    <SpawnPoint position="5000,0,2000" spawnclass=SpaceShip pawndesign=spaceshipassff  team=0/>
+  </Scene>
+</Level>
Index: code/branches/pickup2/data/levels/presentation_dm.oxw
===================================================================
--- code/branches/pickup2/data/levels/presentation_dm.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/presentation_dm.oxw	(revision 6412)
@@ -18,8 +18,8 @@
 
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
     <SpawnPoint position="<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-<?lua 
+<?lua
 end
 ?>
@@ -35,10 +35,10 @@
 
 <?lua
-for i = 1, 100, 1 
+for i = 1, 100, 1
 do
 j = math.random()
 ?>
-    
-    <MovableEntity position="<?lua print(math.random() * 5000-2000) ?>,<?lua print(math.random() * 5000-2000) ?>,<?lua print(math.random() * 5000 - 2000) ?>" collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>"> 
+
+    <MovableEntity position="<?lua print(math.random() * 5000-2000) ?>,<?lua print(math.random() * 5000-2000) ?>,<?lua print(math.random() * 5000 - 2000) ?>" collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>">
       <attached>
         <Model position="0,0,0" scale=<?lua print(j * 10) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
@@ -48,5 +48,5 @@
       </collisionShapes>
     </MovableEntity>
-<?lua 
+<?lua
 end
 ?>
Index: code/branches/pickup2/data/levels/princessaeryn.oxw
===================================================================
--- code/branches/pickup2/data/levels/princessaeryn.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/princessaeryn.oxw	(revision 6412)
@@ -6,5 +6,5 @@
 
 <?lua
-	dofile("includes/CuboidSpaceStation.lua")
+    dofile("includes/CuboidSpaceStation.lua")
 ?>
 
Index: code/branches/pickup2/data/levels/questsystem2.oxw
===================================================================
--- code/branches/pickup2/data/levels/questsystem2.oxw	(revision 6412)
+++ code/branches/pickup2/data/levels/questsystem2.oxw	(revision 6412)
@@ -0,0 +1,243 @@
+<?lua
+  include("hudtemplates3.oxo")
+  include("stats.oxo")
+  include("templates/spaceship_assff.oxt")
+?>
+
+<NotificationQueue
+ name     = "notification"
+ position = "0.55, 0.05"
+ font     = "VeraMono"
+ textsize = 0.020
+ length   = 3
+ width    = 50
+/>
+
+<Level
+ name         = "QuestSystem2"
+ description  = "Test level for Questsystem-Features"
+
+>
+  <Scene
+   ambientlight = "0.5, 0.5, 0.5"
+   skybox       = "Orxonox/skypanoramagen1"
+  >
+    <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
+
+        <GlobalQuest id="b80c2c60-e62c-4637-80f8-5aa18dc93b34">
+            <QuestDescription title="The Main QUest" description="This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! This is the main quest hooray. Solve it! " failMessage="You fail. Looser." completeMessage="You Win." />
+            <hints>
+                <QuestHint id="022a859d-08dd-4eac-a085-c28c29c06d48">
+                    <QuestDescription title="The super Hint." description="Be proud of yourself." />
+                </QuestHint>
+                <QuestHint id="aa19e785-f110-4f3a-abc4-b5e76556e71">
+                    <QuestDescription title="The super Hint.2" description="Be proud of yourself.2" />
+                </QuestHint>
+                <QuestHint id="93d0bdcb-9ce1-4f96-bc69-8d04e659fb31">
+                    <QuestDescription title="The super Hint.3" description="Be proud of yourself.3" />
+                </QuestHint>
+            </hints>
+            <subquests>
+                <GlobalQuest id="e17f5245-f95b-44a8-b6cf-402274435ed4">
+                    <QuestDescription title="The Main QUest2" description="This is the main quest hooray. Solve it!" failMessage="You fail. Looser." completeMessage="You Win." />
+                    <subquests>
+                        <GlobalQuest id="cff6c1ae-fae7-4e55-8af0-56c939911679">
+                            <QuestDescription title="The Main QUest2.1" description="This is the main quest hooray. Solve it!" failMessage="You fail. Looser." completeMessage="You Win." />
+                        </GlobalQuest>
+                        <GlobalQuest id="c04016a3-1e43-4797-885f-75ababa22e07">
+                            <QuestDescription title="The Main QUest2.2" description="This is the main quest hooray. Solve it!" failMessage="You fail. Looser." completeMessage="You Win." />
+                        </GlobalQuest>
+                    </subquests>
+                </GlobalQuest>
+                <GlobalQuest id="71becf91-1456-4763-a2c9-5d575fbcf087">
+                    <QuestDescription title="The Main QUest3" description="This is the main quest hooray. Solve it!" failMessage="You fail. Looser." completeMessage="You Win." />
+                </GlobalQuest>
+                <GlobalQuest id="ca3198a2-ea9d-48d0-b07a-e30f9aa8e241">
+                    <QuestDescription title="The Main QUest4" description="This is the main quest hooray. Solve it!" failMessage="You fail. Looser." completeMessage="You Win." />
+                </GlobalQuest>
+            </subquests>
+        </GlobalQuest>
+        <GlobalQuest id="d7b9526e-b369-43ca-a377-163007cd0577">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="41f729ed-892d-499a-a977-fd3ade3232c2">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="efc6af59-2a49-4220-8486-dce649350d85">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="c0bb8864-78a4-4984-b33e-19ca703cf022">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="7b1d7fce-b5f2-45e8-9e42-7fda78410892">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="ae4287e4-7a65-4fc2-912b-aebd033fcfb7">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="9312ee34-650b-494b-bf12-12394f94d248">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="d0b610db-aa09-4590-a7a8-1fad9be72bd9">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="3106c2d5-3f90-42fb-a164-bde993b13e20">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="a7a82d75-ebc5-487a-8f20-33fa79bc911d">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="32b2da07-882f-4e8b-8c32-ea548c11d91d">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="8945258e-56ea-45d3-b873-e237e2709866">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="9108702d-f3cd-400f-9c13-b2743886dddb">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="03a4bf9f-57ba-4676-97c8-6197086eff16">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="89311e30-2938-4bcb-ba93-23ca3037cdda">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="5ca628bb-cb62-4c54-9e0e-18139a8c5f02">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="e73aed96-02ca-452a-bdd0-61a3a549cf61">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="694cf67f-3579-41cf-ba52-11d4b311327c">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+        <GlobalQuest id="540ab003-ea02-4556-b95a-053ce191ea7f">
+            <QuestDescription title="Mup" description="" />
+        </GlobalQuest>
+
+<SpawnPoint position="0,0,100" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
+
+        <QuestEffectBeacon position="0,0,100" times=-1>
+            <effects>
+                <AddQuest questId="b80c2c60-e62c-4637-80f8-5aa18dc93b34" />
+                <AddQuest questId="e17f5245-f95b-44a8-b6cf-402274435ed4" />
+                <AddQuest questId="cff6c1ae-fae7-4e55-8af0-56c939911679" />
+                <AddQuest questId="c04016a3-1e43-4797-885f-75ababa22e07" />
+                <AddQuest questId="71becf91-1456-4763-a2c9-5d575fbcf087" />
+                <AddQuest questId="ca3198a2-ea9d-48d0-b07a-e30f9aa8e241" />
+                <AddQuest questId="d7b9526e-b369-43ca-a377-163007cd0577" />
+                <AddQuest questId="41f729ed-892d-499a-a977-fd3ade3232c2" />
+                <AddQuest questId="efc6af59-2a49-4220-8486-dce649350d85" />
+                <AddQuest questId="c0bb8864-78a4-4984-b33e-19ca703cf022" />
+                <AddQuest questId="7b1d7fce-b5f2-45e8-9e42-7fda78410892" />
+                <AddQuest questId="ae4287e4-7a65-4fc2-912b-aebd033fcfb7" />
+                <AddQuest questId="9312ee34-650b-494b-bf12-12394f94d248" />
+                <AddQuest questId="d0b610db-aa09-4590-a7a8-1fad9be72bd9" />
+                <AddQuest questId="3106c2d5-3f90-42fb-a164-bde993b13e20" />
+                <AddQuest questId="a7a82d75-ebc5-487a-8f20-33fa79bc911d" />
+                <AddQuest questId="32b2da07-882f-4e8b-8c32-ea548c11d91d" />
+                <AddQuest questId="8945258e-56ea-45d3-b873-e237e2709866" />
+                <AddQuest questId="9108702d-f3cd-400f-9c13-b2743886dddb" />
+                <AddQuest questId="03a4bf9f-57ba-4676-97c8-6197086eff16" />
+                <AddQuest questId="89311e30-2938-4bcb-ba93-23ca3037cdda" />
+                <AddQuest questId="5ca628bb-cb62-4c54-9e0e-18139a8c5f02" />
+                <AddQuest questId="e73aed96-02ca-452a-bdd0-61a3a549cf61" />
+                <AddQuest questId="694cf67f-3579-41cf-ba52-11d4b311327c" />
+                <AddQuest questId="540ab003-ea02-4556-b95a-053ce191ea7f" />
+            </effects>
+            <events>
+                <execute>
+                    <EventListener event=qebdt1 />
+                </execute>
+            </events>
+            <attached>
+                <Billboard position="0,0,0" colour="1.0,1.0,1.0" material="Examples/Flare" />
+                <DistanceTrigger name=qebdt1 position="0,0,0" distance=10 target="ControllableEntity" />
+            </attached>
+        </QuestEffectBeacon>
+
+        <QuestEffectBeacon position="-100,0,0" times=-1>
+            <effects>
+                <FailQuest questId="b80c2c60-e62c-4637-80f8-5aa18dc93b34" />
+            </effects>
+            <events>
+                <execute>
+                    <EventListener event=qebdt2 />
+                </execute>
+            </events>
+            <attached>
+                <Billboard position="0,0,0" colour="1.0,0,0" material="Examples/Flare" />
+                <DistanceTrigger name=qebdt2 position="0,0,0" distance=10 target="ControllableEntity" />
+            </attached>
+        </QuestEffectBeacon>
+
+        <QuestEffectBeacon position="100,0,0" times=-1>
+            <effects>
+                <CompleteQuest questId="b80c2c60-e62c-4637-80f8-5aa18dc93b34" />
+            </effects>
+            <events>
+                <execute>
+                    <EventListener event=qebdt3 />
+                </execute>
+            </events>
+            <attached>
+                <Billboard position="0,0,0" colour="0,1.0,0" material="Examples/Flare" />
+                <DistanceTrigger name=qebdt3 position="0,0,0" distance=10 target="ControllableEntity" />
+            </attached>
+        </QuestEffectBeacon>
+
+        <QuestEffectBeacon position="0,100,0" times=-1>
+            <effects>
+                <AddQuestHint hintId="022a859d-08dd-4eac-a085-c28c29c06d48" />
+                <AddQuestHint hintId="aa19e785-f110-4f3a-abc4-b5e76556e71" />
+                <AddQuestHint hintId="93d0bdcb-9ce1-4f96-bc69-8d04e659fb31" />
+            </effects>
+            <events>
+                <execute>
+                    <EventListener event=qebdt4 />
+                </execute>
+            </events>
+            <attached>
+                <Billboard position="0,0,0" colour="0,0,1.0" material="Examples/Flare" />
+                <DistanceTrigger name=qebdt4 position="0,0,0" distance=10 target="ControllableEntity" />
+            </attached>
+        </QuestEffectBeacon>
+
+        <ParticleEmitter name=firecenter position="0,0,0" source="Orxonox/fire3" active=false>
+            <events>
+                <activity>
+                    <QuestListener questId="b80c2c60-e62c-4637-80f8-5aa18dc93b34" mode="complete" />
+                </activity>
+            </events>
+        </ParticleEmitter>
+
+<?lua
+max = 20
+for i = 1, max, 1
+do
+    x = math.sin(i/max*6)*40000
+    y = math.cos(i/max*6)*40000
+    z = i*100
+    ?>
+<?lua
+for k = 1, 25, 1
+do
+j = math.random()
+?>
+
+    <MovableEntity position="<?lua print(x + math.random() * 10000-2500) ?>,<?lua print(y + math.random() * 5000-2500) ?>,<?lua print(z + math.random() * 1000-500) ?>" <?lua if i == 5 then ?> collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> <?lua end ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>">
+      <attached>
+        <Model position="0,0,0" scale=<?lua print(j * 10) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
+      </attached>
+      <?lua if i == 5 then ?><collisionShapes>
+        <SphereCollisionShape radius="<?lua print(j * 70) ?>" />
+      </collisionShapes> <?lua end ?>
+    </MovableEntity>
+<?lua
+end
+?>
+<?lua end ?>
+    <Planet position="0,0,0" scale=10000 pitch=-90 mesh="iceplanet.mesh" atmosphere="atmosphere1" rotationaxis="1,1,0" rotationrate="1" atmospheresize=224.0f imagesize=1024.0f />
+
+  </Scene>
+</Level>
Index: code/branches/pickup2/data/levels/sound.oxw
===================================================================
--- code/branches/pickup2/data/levels/sound.oxw	(revision 6412)
+++ code/branches/pickup2/data/levels/sound.oxw	(revision 6412)
@@ -0,0 +1,48 @@
+<?lua
+  include("stats.oxo")
+  include("hudtemplates3.oxo")
+?>
+
+<?lua
+  include("templates/spaceship_assff.oxt")
+  include("templates/spaceship_pirate.oxt")
+?>
+
+<Level
+ name         = "Sample"
+ description  = "Just a few tests"
+>
+  <Scene
+    ambientlight = "0.8, 0.8, 0.8"
+    skybox       = "Orxonox/Starbox"
+  >
+
+  <AmbientSound ambientSource="Earth.ogg" looping="true" playOnLoad="true" />
+  <AmbientSound ambientSource="Mars.ogg" looping="true">
+    <events>
+        <activity>
+            <DistanceTrigger position="400,0,0" distance=200 target="Camera">
+                <attached>
+                    <ParticleSpawner position="0,0,0" source="Orxonox/fire3" lifetime=0 loop=0 autostart=1 />
+                </attached>
+            </DistanceTrigger>
+        </activity>
+    </events>
+  </AmbientSound>
+  <AmbientSound ambientSource="Jupiter.ogg" looping="true">
+    <events>
+        <activity>
+            <DistanceTrigger position="400,150,0" distance=200 target="Camera">
+                <attached>
+                    <ParticleSpawner position="0,0,0" source="Orxonox/fire3" lifetime=0 loop=0 autostart=1 />
+                </attached>
+            </DistanceTrigger>
+        </activity>
+    </events>
+  </AmbientSound>
+
+
+  <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
+  <SpawnPoint position="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
+  </Scene>
+</Level>
Index: code/branches/pickup2/data/levels/teambasematchlevel.oxw
===================================================================
--- code/branches/pickup2/data/levels/teambasematchlevel.oxw	(revision 5942)
+++ code/branches/pickup2/data/levels/teambasematchlevel.oxw	(revision 6412)
@@ -41,10 +41,10 @@
         <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
         <ParticleSpawner position="<?lua print(math.random() * 400 - 200) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" startdelay=<?lua print(math.random()) ?> source="Orxonox/BigExplosion1part1" lifetime=2.0 loop=0 autostart=0>
           <events><spawn><EventListener event="base 1" /></spawn></events>
         </ParticleSpawner>
-<?lua 
+<?lua
 end
 ?>
@@ -78,10 +78,10 @@
         <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
         <ParticleSpawner position="<?lua print(math.random() * 400 - 200) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" startdelay=<?lua print(math.random()) ?> source="Orxonox/BigExplosion1part1" lifetime=2.0 loop=0 autostart=0>
           <events><spawn><EventListener event="base 2" /></spawn></events>
         </ParticleSpawner>
-<?lua 
+<?lua
 end
 ?>
@@ -115,10 +115,10 @@
         <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
         <ParticleSpawner position="<?lua print(math.random() * 400 - 200) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" startdelay=<?lua print(math.random()) ?> source="Orxonox/BigExplosion1part1" lifetime=2.0 loop=0 autostart=0>
           <events><spawn><EventListener event="base 3" /></spawn></events>
         </ParticleSpawner>
-<?lua 
+<?lua
 end
 ?>
@@ -151,10 +151,10 @@
         <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
         <ParticleSpawner position="<?lua print(math.random() * 400 - 200) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" startdelay=<?lua print(math.random()) ?> source="Orxonox/BigExplosion1part1" lifetime=2.0 loop=0 autostart=0>
           <events><spawn><EventListener event="base 4" /></spawn></events>
         </ParticleSpawner>
-<?lua 
+<?lua
 end
 ?>
@@ -188,10 +188,10 @@
         <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
 <?lua
-for i = 1, 10, 1 
+for i = 1, 10, 1
 do ?>
         <ParticleSpawner position="<?lua print(math.random() * 400 - 200) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" startdelay=<?lua print(math.random()) ?> source="Orxonox/BigExplosion1part1" lifetime=2.0 loop=0 autostart=0>
           <events><spawn><EventListener event="base 5" /></spawn></events>
         </ParticleSpawner>
-<?lua 
+<?lua
 end
 ?>
Index: code/branches/pickup2/data/levels/templates/spaceship_HXY.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_HXY.oxt	(revision 6412)
+++ code/branches/pickup2/data/levels/templates/spaceship_HXY.oxt	(revision 6412)
@@ -0,0 +1,94 @@
+<Template name=spaceshipHXY>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipHXYcameras
+   engine                 = spaceshipHXYengine
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 100
+   maxhealth         = 200
+   initialhealth     = 100
+
+   primaryThrust     = 100;
+   auxilaryThrust    = 30;
+   rotationThrust    = 25;
+
+   collisionType     = "dynamic"
+   mass              = 100
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+    <attached>
+      <Model position="0,0,0" yaw=180 pitch=-90 roll=0 scale=4 mesh="HXY.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+
+<?lua
+  include("includes/weaponsettings_HXY.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipHXYcameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,8, 60" drag=true mouselook=true />
+      <CameraPosition position="0,16, 120" drag=true mouselook=true />
+      <CameraPosition position="0,24,180" drag=true mouselook=true />
+      <CameraPosition position="0,60,10" pitch="-80" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipHXYengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 6
+
+   speedfront     = 150
+   speedback      =  50
+   speedleftright =  50
+   speedupdown    =  50
+
+   defEngineSndNormal = "sounds/Engine_low.ogg"
+   defEngineSndBoost = "sounds/Engine_high.ogg"
+
+   accelerationfront     = 500
+   accelerationbrake     = 500
+   accelerationback      =  125
+   accelerationleftright =  125
+   accelerationupdown    =  125
+  >
+    <EffectContainer condition="idle">
+      <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 2, 0, 20" colour="1, 0.7, 0.1, 1.0" width=10 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-2, 0, 20" colour="1, 0.7, 0.1, 1.0" width=10 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 2, 0, 20" colour="1, 0.7, 0.1, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-2, 0, 20" colour="1, 0.7, 0.1, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.3 position=" 2, 0, 20" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.3 position="-2, 0, 20" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position=" 2, 0, 20" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position="-2, 0, 20" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+  </MultiStateEngine>
+</Template>
Index: code/branches/pickup2/data/levels/templates/spaceship_HXY_SL.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_HXY_SL.oxt	(revision 6412)
+++ code/branches/pickup2/data/levels/templates/spaceship_HXY_SL.oxt	(revision 6412)
@@ -0,0 +1,90 @@
+<Template name=spaceshipHXYSL>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipHXYcameras
+   engine                 = spaceshipHXYengine
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 100
+   maxhealth         = 200
+   initialhealth     = 100
+
+   primaryThrust     = 100;
+   auxilaryThrust    = 30;
+   rotationThrust    = 25;
+
+   collisionType     = "dynamic"
+   mass              = 100
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+    <attached>
+      <Model position="0,0,0" yaw=180 pitch=-90 roll=0 scale=4 mesh="HXY.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+
+<?lua
+  include("includes/weaponsettings_HXY.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipHXYcameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,8, 60" drag=true mouselook=true />
+      <CameraPosition position="0,16, 120" drag=true mouselook=true />
+      <CameraPosition position="0,24,180" drag=true mouselook=true />
+      <CameraPosition position="0,60,10" pitch="-80" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipHXYengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 6
+
+   speedfront     = 150
+   speedback      =  50
+   speedleftright =  50
+   speedupdown    =  50
+
+   accelerationfront     = 500
+   accelerationbrake     = 500
+   accelerationback      =  125
+   accelerationleftright =  125
+   accelerationupdown    =  125
+  >
+    <EffectContainer condition="idle">
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 2, 0, 20" colour="1, 0.7, 0.1, 1.0" width=10 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-2, 0, 20" colour="1, 0.7, 0.1, 1.0" width=10 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 2, 0, 20" colour="1, 0.7, 0.1, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-2, 0, 20" colour="1, 0.7, 0.1, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.3 position=" 2, 0, 20" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.3 position="-2, 0, 20" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position=" 2, 0, 20" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position="-2, 0, 20" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+  </MultiStateEngine>
+</Template>
Index: code/branches/pickup2/data/levels/templates/spaceship_Transporter.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_Transporter.oxt	(revision 6412)
+++ code/branches/pickup2/data/levels/templates/spaceship_Transporter.oxt	(revision 6412)
@@ -0,0 +1,94 @@
+<Template name=spaceshipTransporter>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipTransportercameras
+   engine                 = spaceshipTransporterengine
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 1000
+   maxhealth         = 1500
+   initialhealth     = 1000
+
+   primaryThrust     = 50;
+   auxilaryThrust    = 10;
+   rotationThrust    = 15;
+
+   collisionType     = "dynamic"
+   mass              = 1000
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+    <attached>
+      <Model position="0,0,0" yaw=0 pitch=0 roll=0 scale=10 mesh="Transporter.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+
+<?lua
+  include("includes/weaponsettings_Transporter.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipTransportercameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,90,350" drag=true mouselook=true />
+      <CameraPosition position="0,150, 400" drag=true mouselook=true />
+      <CameraPosition position="0,200,550" drag=true mouselook=true />
+      <CameraPosition position="0,120,200" pitch="-80" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipTransporterengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 2
+
+   speedfront     = 50
+   speedback      =  10
+   speedleftright =  10
+   speedupdown    =  10
+
+   defEngineSndNormal = "sounds/Engine_low.ogg"
+   defEngineSndBoost = "sounds/Engine_high.ogg"
+
+   accelerationfront     = 20
+   accelerationbrake     = 20
+   accelerationback      = 10
+   accelerationleftright =  10
+   accelerationupdown    =  10
+  >
+    <EffectContainer condition="idle">
+      <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=2 name=bltest position=" 22, -10, 87" colour="1, 0.7, 0.1, 1.0" width=10 length=3000 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=2 name=bltest position="-22, -10, 87" colour="1, 0.7, 0.1, 1.0" width=10 length=3000 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=3 name=bltest position=" 22, -10, 87" colour="1, 0.7, 0.1, 0.7" width=25 length=2000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=3 name=bltest position="-22, -10, 87" colour="1, 0.7, 0.1, 0.7" width=25 length=2000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=2 position=" 22, -10, 87" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=2 position="-22, -10, 87" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=1 position="22, -10, 87" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=1 position="-22, -10, 87" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+  </MultiStateEngine>
+</Template>
Index: code/branches/pickup2/data/levels/templates/spaceship_Transporter_SL.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_Transporter_SL.oxt	(revision 6412)
+++ code/branches/pickup2/data/levels/templates/spaceship_Transporter_SL.oxt	(revision 6412)
@@ -0,0 +1,91 @@
+<Template name=spaceshipTransporterSL>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipTransportercameras
+   engine                 = spaceshipTransporterengine
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 1000
+   maxhealth         = 1500
+   initialhealth     = 1000
+
+   primaryThrust     = 50;
+   auxilaryThrust    = 10;
+   rotationThrust    = 15;
+
+   collisionType     = "dynamic"
+   mass              = 1000
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+    <attached>
+      <Model position="0,0,0" yaw=0 pitch=0 roll=0 scale=10 mesh="Transporter.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+
+<?lua
+  include("includes/weaponsettings_Transporter.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipTransportercameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,90,350" drag=true mouselook=true />
+      <CameraPosition position="0,150, 400" drag=true mouselook=true />
+      <CameraPosition position="0,200,550" drag=true mouselook=true />
+      <CameraPosition position="0,120,200" pitch="-80" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipTransporterengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 2
+
+   speedfront     = 50
+   speedback      =  10
+   speedleftright =  10
+   speedupdown    =  10
+
+
+   accelerationfront     = 20
+   accelerationbrake     = 20
+   accelerationback      = 10
+   accelerationleftright =  10
+   accelerationupdown    =  10
+  >
+    <EffectContainer condition="idle">
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=2 name=bltest position=" 22, -10, 87" colour="1, 0.7, 0.1, 1.0" width=10 length=3000 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=2 name=bltest position="-22, -10, 87" colour="1, 0.7, 0.1, 1.0" width=10 length=3000 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=3 name=bltest position=" 22, -10, 87" colour="1, 0.7, 0.1, 0.7" width=25 length=2000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=3 name=bltest position="-22, -10, 87" colour="1, 0.7, 0.1, 0.7" width=25 length=2000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=2 position=" 22, -10, 87" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=2 position="-22, -10, 87" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=1 position="22, -10, 87" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=1 position="-22, -10, 87" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+  </MultiStateEngine>
+</Template>
Index: code/branches/pickup2/data/levels/templates/spaceship_assff.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_assff.oxt	(revision 5942)
+++ code/branches/pickup2/data/levels/templates/spaceship_assff.oxt	(revision 6412)
@@ -64,4 +64,7 @@
    speedupdown    =  50
 
+   defEngineSndNormal = "sounds/Engine_low.ogg"
+   defEngineSndBoost = "sounds/Engine_high.ogg"
+
    accelerationfront     = 500
    accelerationbrake     = 500
@@ -70,5 +73,8 @@
    accelerationupdown    =  125
   >
-    <active>
+    <EffectContainer condition="idle">
+      <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" loop=1 active=false/>
+    </EffectContainer>
+    <EffectContainer condition="not idle">
       <FadingBillboard mainstate=activity active=false scale=0.1 position="0, 0, 9" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
 <!--
@@ -76,19 +82,22 @@
       <Light mainstate=visibility position="-8, 0, 8" diffuse="0.3, 0.6, 1.0" specular="0.3, 0.6, 1.0" attenuation="600, 1.0, 0.007, 0.0002" type=point />
 -->
-    </active>
-    <forward>
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
       <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
       <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
-    </forward>
-    <boost>
+    </EffectContainer>
+    <EffectContainer condition="boost">
       <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
       <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
-    </boost>
-    <brake>
+    </EffectContainer>
+    <EffectContainer condition="brake">
       <FadingBillboard mainstate=activity active=false scale=0.3 position=" 8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
       <FadingBillboard mainstate=activity active=false scale=0.3 position="-8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
       <FadingBillboard mainstate=activity active=false scale=0.15 position=" 8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
       <FadingBillboard mainstate=activity active=false scale=0.15 position="-8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
-    </brake>
+    </EffectContainer>
   </MultiStateEngine>
 </Template>
Index: code/branches/pickup2/data/levels/templates/spaceship_ghost.oxt
===================================================================
--- code/branches/pickup2/data/levels/templates/spaceship_ghost.oxt	(revision 6412)
+++ code/branches/pickup2/data/levels/templates/spaceship_ghost.oxt	(revision 6412)
@@ -0,0 +1,84 @@
+<Template name=spaceshipghost>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipghostcameras
+   engine                 = spaceshipghostengine
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 100
+   maxhealth         = 200
+   initialhealth     = 100
+
+   primaryThrust     = 600;
+   auxilaryThrust    = 30;
+   rotationThrust    = 25;
+
+   collisionType     = "dynamic"
+   mass              = 100
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+
+    <attached>
+      <Model position="0,0,0" scale=2 yaw=90 pitch=-90 roll=0 mesh="ghost.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+<?lua
+  include("includes/weaponsettings_ghost.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipghostcameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,20,80" drag=true mouselook=true />
+      <CameraPosition position="0,40,160" drag=true mouselook=true />
+      <CameraPosition position="0,50,200" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipghostengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 2
+
+   speedfront     = 600
+   speedback      =  50
+   speedleftright =  50
+   speedupdown    =  50
+
+   accelerationfront     = 700
+   accelerationbrake     = 300
+   accelerationback      =  100
+   accelerationleftright =  100
+   accelerationupdown    =  100
+  >
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 3, 6" colour="0.0, 0.0, 0.0, 0.5" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 3, 6" colour="0.0, 0.0, 0.0, 0.5" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 3, 6" colour="0.0, 0.0, 0.0, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 3, 6" colour="0.0, 0.0, 0.0, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+      <Backlight mainstate=activity active=false scale=0.4 position="7.6, 3, 6" colour="1, 1, 1, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <Backlight mainstate=activity active=false scale=0.4 position="-7.6, 3, 6" colour="1, 1, 1, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.3 position=" 8, 0, 6" colour="0.2, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.3 position="-8, 0, 6" colour="0.2, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+</MultiStateEngine>
+</Template>
+
Index: code/branches/pickup2/data/levels/test_ghost.oxw
===================================================================
--- code/branches/pickup2/data/levels/test_ghost.oxw	(revision 6412)
+++ code/branches/pickup2/data/levels/test_ghost.oxw	(revision 6412)
@@ -0,0 +1,52 @@
+<?lua
+  include("hudtemplates3.oxo")
+  include("stats.oxo")
+  include("templates/spaceship_ghost.oxt")
+  include("templates/spaceship_pirate.oxt")
+?>
+
+<Level
+ name         = "Presentation09"
+ description  = "presentation level for Orxonox Convention X"
+
+>
+  <Scene
+   ambientlight = "0.5, 0.5, 0.5"
+   skybox       = "Orxonox/skypanoramagen1"
+  >
+    <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
+
+
+<SpawnPoint position="<?lua print(math.sin(1.5) *40000) ?>,<?lua print(math.cos(1.5) *40000) ?>,<?lua print(500) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipghost />
+
+
+<?lua
+max = 20
+for i = 1, max, 1
+do
+    x = math.sin(i/max*6)*40000
+    y = math.cos(i/max*6)*40000
+    z = i*100
+    ?>
+<?lua
+for k = 1, 25, 1
+do
+j = math.random()
+?>
+
+    <MovableEntity position="<?lua print(x + math.random() * 10000-2500) ?>,<?lua print(y + math.random() * 5000-2500) ?>,<?lua print(z + math.random() * 1000-500) ?>" <?lua if i == 5 then ?> collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=<?lua print(j * 50) ?> <?lua end ?> scale=<?lua print(j * 5) ?> rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 + 5) ?>">
+      <attached>
+        <Model position="0,0,0" scale=<?lua print(j * 10) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
+      </attached>
+      <?lua if i == 5 then ?><collisionShapes>
+        <SphereCollisionShape radius="<?lua print(j * 70) ?>" />
+      </collisionShapes> <?lua end ?>
+    </MovableEntity>
+<?lua
+end
+?>
+<?lua end ?>
+    <Planet position="0,0,0" scale=10000 pitch=-90 mesh="iceplanet.mesh" atmosphere="atmosphere1" rotationaxis="1,1,0" rotationrate="1" atmospheresize=224.0f imagesize=1024.0f />
+
+  </Scene>
+</Level>
Index: code/branches/pickup2/data/lua/LuaStateInit.lua
===================================================================
--- code/branches/pickup2/data/lua/LuaStateInit.lua	(revision 5942)
+++ code/branches/pickup2/data/lua/LuaStateInit.lua	(revision 6412)
@@ -15,14 +15,8 @@
 
 -- Redirect dofile in order to load with the resource manager
--- Note: The function does not behave exactly like LuaState::doFile because the
---       default argument here for the group is not "General" but
---       "NoResourceGroupProvided". This resolves to the resource group used to
---       do the current file.
-doFile = function(filename, resourceGroup)
-  local bSearchOtherPaths = (resourceGroup == nil) or false
-  resourceGroup = resourceGroup or "NoResourceGroupProvided"
-  luaState:doFile(filename, resourceGroup, bSearchOtherPaths)
+doFile = function(filename)
+  luaState:doFile(filename)
   -- Required because the C++ function cannot return whatever might be on the stack
-  return LuaStateReturnValue
+  return LuaStateReturnValue -- C-injected global variable
 end
 original_dofile = dofile
@@ -31,24 +25,16 @@
 -- Create includeFile function that preparses the file according
 -- to a function provided to the LuaState constructor (in C++)
--- Note: See the same notes as for doFile
-include = function(filename, resourceGroup)
-  local bSearchOtherPaths = (resourceGroup == nil) or false
-  resourceGroup = resourceGroup or "NoResourceGroupProvided"
-  luaState:includeFile(filename, resourceGroup, bSearchOtherPaths)
+include = function(filename)
+  luaState:includeFile(filename)
   -- Required because the C++ function cannot return whatever might be on the stack
-  return LuaStateReturnValue
+  return LuaStateReturnValue -- C-injected global variable
 end
 
 -- Replace require function with almost similar behaviour
--- The difference is that you need to provide a resource group
--- Default value there is the current one (if present) or else "General"
--- But the loaded modules are then stored with only with the name (where name has no .lua extension)
--- CAUTION: That also means that you need to take care of conflicting filenames among groups
--- Furthermore the moduleName parameters is appended with the .lua extension when looking for the file
+-- The loaded modules are then stored with their names (where name has no .lua extension)
+-- Furthermore the ".lua" extension is appended to the moduleName parameter when looking for the file
 old_require = require
-require = function(moduleName, resourceGroup)
-  local bSearchOtherPaths = (resourceGroup == nil) or false
-  resourceGroup = resourceGroup or "NoResourceGroupProvided"
-  if not luaState:fileExists(moduleName .. ".lua", resourceGroup, bSearchOtherPaths) then
+require = function(moduleName)
+  if not luaState:fileExists(moduleName .. ".lua") then
     return nil
   end
@@ -60,5 +46,5 @@
     _REQUIREDNAME_OLD = _REQUIREDNAME
     _REQUIREDNAME = moduleName
-    luaState:doFile(moduleName .. ".lua", resourceGroup, bSearchOtherPaths)
+    luaState:doFile(moduleName .. ".lua")
     _LOADED[moduleName] = LuaStateReturnValue or true
     -- restore old value
@@ -67,2 +53,7 @@
   return _LOADED[moduleName]
 end
+
+-- Convenience function for console commands
+orxonox.execute = function(command)
+  orxonox.CommandExecutor:execute(command)
+end
Index: code/branches/pickup2/data/overlays/OrxonoxLoading.overlay
===================================================================
--- code/branches/pickup2/data/overlays/OrxonoxLoading.overlay	(revision 5942)
+++ code/branches/pickup2/data/overlays/OrxonoxLoading.overlay	(revision 6412)
@@ -11,3 +11,3 @@
       material Orxonox/LoadingScreenSample
    }
-} 
+}
Index: code/branches/pickup2/data/overlays/debug.oxo
===================================================================
--- code/branches/pickup2/data/overlays/debug.oxo	(revision 5942)
+++ code/branches/pickup2/data/overlays/debug.oxo	(revision 6412)
@@ -35,5 +35,5 @@
    textsize = 0.03
   />
-  
+
 </OverlayGroup>
 
Index: code/branches/pickup2/data/overlays/hudtemplates3.oxo
===================================================================
--- code/branches/pickup2/data/overlays/hudtemplates3.oxo	(revision 5942)
+++ code/branches/pickup2/data/overlays/hudtemplates3.oxo	(revision 6412)
@@ -99,4 +99,5 @@
       name = "QuestGUI"
       guiname = "QuestGUI"
+      visible = "false"
     />
 
Index: code/branches/pickup2/data/overlays/stats.oxo
===================================================================
--- code/branches/pickup2/data/overlays/stats.oxo	(revision 5942)
+++ code/branches/pickup2/data/overlays/stats.oxo	(revision 6412)
@@ -6,5 +6,5 @@
        name      = "Title"
        position  = "0.79, 0.19"
-       pickpoint = "1, 1"	
+       pickpoint = "1, 1"
        font      = "Monofur"
        caption   = "Scoreboard"
@@ -12,5 +12,5 @@
        textsize  = 0.04
       /-->
-      
+
       <OverlayText
        name      = "descr1"
@@ -25,5 +25,5 @@
        name      = "descr2"
        position  = "0.6, 0.20"
-       pickpoint = "0, 1"	
+       pickpoint = "0, 1"
        font      = "Monofur"
        caption   = "score"
@@ -34,5 +34,5 @@
        name      = "descr3"
        position  = "0.8, 0.20"
-       pickpoint = "0, 1"	
+       pickpoint = "0, 1"
        font      = "Monofur"
        caption   = "deaths"
@@ -40,5 +40,5 @@
        textsize  = 0.04
       />
-      
+
       <!--Stats
        name     = "Statistics"
Index: code/branches/pickup2/data/particle/Steam.particle
===================================================================
--- code/branches/pickup2/data/particle/Steam.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/Steam.particle	(revision 6412)
@@ -0,0 +1,44 @@
+
+particle_system Orxonox/Steam
+{
+	quota 1
+	material	PE/smoke
+	particle_width	2000
+	particle_height	2000
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	0
+		colour	1 1 1 0.1
+		colour_range_start	1 1 1 0.1
+		colour_range_end	1 1 1 0.02
+		direction	0 1 0
+		emission_rate	1
+		position	0 0 0
+		velocity	0
+		velocity_min	0
+		velocity_max	0
+		time_to_live	200
+		time_to_live_min	200
+		time_to_live_max	300
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+}
+
Index: code/branches/pickup2/data/particle/bigexplosion.particle
===================================================================
--- code/branches/pickup2/data/particle/bigexplosion.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/bigexplosion.particle	(revision 6412)
@@ -0,0 +1,72 @@
+particle_system Orxonox/bigexplosion
+{
+	quota	3000
+	material	PE/explosion
+	particle_width	100
+	particle_height	100
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	vertex
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	180
+		colour	0 0 0 0
+		colour_range_start	0 0 0 0
+		colour_range_end	0 0 0 0
+		direction	0 1 0
+		emission_rate	2000
+		position	0 0 0
+		velocity	300
+		velocity_min	300
+		velocity_max	300
+		time_to_live	1.4
+		time_to_live_min	1.4
+		time_to_live_max	1.8
+		duration	0.3
+		duration_min	0.3
+		duration_max	0.3
+		repeat_delay	5
+		repeat_delay_min	5
+		repeat_delay_max	5
+	}
+
+	affector Scaler
+	{
+		rate	20
+	}
+
+	affector Rotator
+	{
+		rotation_speed_range_start	0
+		rotation_speed_range_end	-7.2
+		rotation_range_start	0
+		rotation_range_end	360
+	}
+
+	affector ColourInterpolator
+	{
+		colour0	0.5 0.5 0.5 0
+		time0	0
+		colour1	0.4 0.4 0.4 0
+		time1	0.1
+		colour2	0.2 0.2 0.2 0
+		time2	0.3
+		colour3	0 0 0 0
+		time3	1.4
+		colour4	0.5 0.5 0.5 0
+		time4	1
+		colour5	0.5 0.5 0.5 0
+		time5	1.5
+	}
+}
+
Index: code/branches/pickup2/data/particle/explosion4.particle
===================================================================
--- code/branches/pickup2/data/particle/explosion4.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/explosion4.particle	(revision 6412)
@@ -0,0 +1,71 @@
+particle_system Orxonox/explosion4
+{
+	quota	1000
+	material	PE/explosion3
+	particle_width	10
+	particle_height	10
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	vertex
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	180
+		colour	0 0 0 0
+		colour_range_start	0 0 0 0
+		colour_range_end	0 0 0 0
+		direction	0 1 0
+		emission_rate	2000
+		position	0 0 0
+		velocity	15
+		velocity_min	15
+		velocity_max	15
+		time_to_live	1
+		time_to_live_min	1
+		time_to_live_max	1.4
+		duration	0.05
+		duration_min	0.05
+		duration_max	0.05
+		repeat_delay	5
+		repeat_delay_min	5
+		repeat_delay_max	5
+	}
+
+	affector Scaler
+	{
+		rate	20
+	}
+
+	affector Rotator
+	{
+		rotation_speed_range_start	0
+		rotation_speed_range_end	-7.2
+		rotation_range_start	0
+		rotation_range_end	360
+	}
+
+	affector ColourInterpolator
+	{
+		colour0	0.5 0.5 0.5 0
+		time0	0
+		colour1	0.4 0.4 0.4 0
+		time1	0.2
+		colour2	0.2 0.2 0.2 0
+		time2	0.5
+		colour3	0 0 0 0
+		time3	1
+		colour4	0.5 0.5 0.5 0
+		time4	1
+		colour5	0.5 0.5 0.5 0
+		time5	1
+	}
+}
Index: code/branches/pickup2/data/particle/laser.particle
===================================================================
--- code/branches/pickup2/data/particle/laser.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/laser.particle	(revision 6412)
@@ -0,0 +1,47 @@
+particle_system Orxonox/laser
+{
+	quota	200
+	material	PE/point_lensflare
+	particle_width	7.08
+	particle_height	7.08
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	180
+		colour	0 1 0.275862 1
+		colour_range_start	0 1 0.275862 1
+		colour_range_end	0 1 0.275862 1
+		direction	0 1 0
+		emission_rate	80
+		position	0 0 0
+		velocity	11
+		velocity_min	11
+		velocity_max	11
+		time_to_live	0.7
+		time_to_live_min	0.7
+		time_to_live_max	1
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	1.6
+		repeat_delay_min	1.6
+		repeat_delay_max	1.6
+	}
+
+	affector Scaler
+	{
+		rate	-8.8
+	}
+}
Index: code/branches/pickup2/data/particle/load.particle
===================================================================
--- code/branches/pickup2/data/particle/load.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/load.particle	(revision 6412)
@@ -0,0 +1,141 @@
+particle_system Orxonox/load
+{
+	quota	50
+	material	PE/ringflare
+	particle_width	1
+	particle_height	1.3
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	5
+		colour	1 1 1 1
+		colour_range_start	1 1 1 1
+		colour_range_end	1 1 1 1
+		direction	0 1 0
+		emission_rate	4
+		position	0 -5 0
+		velocity	5
+		velocity_min	5
+		velocity_max	5
+		time_to_live	1
+		time_to_live_min	1
+		time_to_live_max	1
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+
+	emitter Point
+	{
+		angle	5
+		colour	1 1 1 1
+		colour_range_start	1 1 1 1
+		colour_range_end	1 1 1 1
+		direction	1 0 0
+		emission_rate	3
+		position	-5 0 0
+		velocity	5
+		velocity_min	5
+		velocity_max	5
+		time_to_live	1
+		time_to_live_min	1
+		time_to_live_max	1
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+
+	emitter Point
+	{
+		angle	5
+		colour	1 1 1 1
+		colour_range_start	1 1 1 1
+		colour_range_end	1 1 1 1
+		direction	-1 0 0
+		emission_rate	3
+		position	5 0 0
+		velocity	5
+		velocity_min	5
+		velocity_max	5
+		time_to_live	1
+		time_to_live_min	1
+		time_to_live_max	1
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+
+	emitter Point
+	{
+		angle	5
+		colour	1 1 1 1
+		colour_range_start	1 1 1 1
+		colour_range_end	1 1 1 1
+		direction	0 -1 0
+		emission_rate	4
+		position	0 5 0
+		velocity	5
+		velocity_min	5
+		velocity_max	5
+		time_to_live	1
+		time_to_live_min	1
+		time_to_live_max	1
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+
+	affector Scaler
+	{
+		rate	14.4
+	}
+
+	affector ColourInterpolator
+	{
+		colour0	1 1 0.5 0
+		time0	1
+		colour1	0.5 0.5 0.5 0
+		time1	1
+		colour2	0.5 0.5 0.5 0
+		time2	1
+		colour3	0.5 0.5 0.5 0
+		time3	1
+		colour4	0.5 0.5 0.5 0
+		time4	1
+		colour5	0.5 0.5 0.5 0
+		time5	1
+	}
+
+	affector DirectionRandomiser
+	{
+		randomness	15
+		scope	0.8
+		keep_velocity	false
+	}
+
+	
+}
Index: code/branches/pickup2/data/particle/particlecanon.particle
===================================================================
--- code/branches/pickup2/data/particle/particlecanon.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/particlecanon.particle	(revision 6412)
@@ -0,0 +1,43 @@
+particle_system Orxonox/particlecanon
+{
+	quota	1000
+	material	PE/point_lensflare
+	particle_width	6
+	particle_height	6
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Point
+	{
+		angle	1
+		colour	0.965517 0.544828 0 1
+		colour_range_start	0.965517 0.544828 0 1
+		colour_range_end	0.965517 0.544828 0 1
+		direction	0 1 0
+		emission_rate	1220
+		position	0 0 0
+		velocity	300
+		velocity_min	300
+		velocity_max	300
+		time_to_live	0.05
+		time_to_live_min	0.05
+		time_to_live_max	0.05
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+	}
+
+}
Index: code/branches/pickup2/data/particle/rocketfire.particle
===================================================================
--- code/branches/pickup2/data/particle/rocketfire.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/rocketfire.particle	(revision 6412)
@@ -0,0 +1,50 @@
+particle_system Orxonox/rocketfire
+{
+	quota	300
+	material	PE/explosion
+	particle_width	15
+	particle_height	5
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Ellipsoid
+	{
+		angle	2
+		colour	1 0.682759 1 1
+		colour_range_start	1 0.682759 1 1
+		colour_range_end	1 0.682759 1 1
+		direction	0 0 1
+		emission_rate	1200
+		position	0 0 3
+		velocity	10
+		velocity_min	10
+		velocity_max	48
+		time_to_live	0.1
+		time_to_live_min	0.1
+		time_to_live_max	0.2
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+		width	1.5
+		height	1.5
+		depth	10
+	}
+
+	affector Scaler
+	{
+		rate	-20
+	}
+}
Index: code/branches/pickup2/data/particle/smoke.particle
===================================================================
--- code/branches/pickup2/data/particle/smoke.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/smoke.particle	(revision 6412)
@@ -0,0 +1,45 @@
+particle_system Orxonox/smoke
+{
+	quota	300
+	material	PE/explosion
+	particle_width	6.94
+	particle_height	7.93
+	cull_each	false
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	point
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Ellipsoid
+	{
+		angle	13
+		colour	0.156897 0.326207 1 1
+		colour_range_start	0.156897 0.326207 1 1
+		colour_range_end	0.156897 0.326207 1 1
+		direction	0 1 0
+		emission_rate	65
+		position	0 0 0
+		velocity	25
+		velocity_min	25
+		velocity_max	25
+		time_to_live	2.2
+		time_to_live_min	2.2
+		time_to_live_max	2.2
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+		width	3
+		height	3
+		depth	0
+	}
+}
Index: code/branches/pickup2/data/particle/tes3.particle
===================================================================
--- code/branches/pickup2/data/particle/tes3.particle	(revision 6412)
+++ code/branches/pickup2/data/particle/tes3.particle	(revision 6412)
@@ -0,0 +1,59 @@
+particle_system Orxonox/tes3
+{
+	quota	500
+	material	PE/lensflare
+	particle_width	10
+	particle_height	10
+	cull_each	true
+	renderer	billboard
+	sorted	false
+	local_space	false
+	iteration_interval	0
+	nonvisible_update_timeout	0
+	billboard_type	perpendicular_self
+	billboard_origin	center
+	billboard_rotation_type	texcoord
+	common_up_vector	0 1 0
+	point_rendering	false
+	accurate_facing	false
+
+	emitter Cylinder
+	{
+		angle	180
+		colour	1 1 1 1
+		colour_range_start	1 1 1 1
+		colour_range_end	1 1 1 1
+		direction	0 -1 0
+		emission_rate	100
+		position	0 100 0
+		velocity	26
+		velocity_min	26
+		velocity_max	26
+		time_to_live	9.6
+		time_to_live_min	9.6
+		time_to_live_max	9.6
+		duration	0
+		duration_min	0
+		duration_max	0
+		repeat_delay	0
+		repeat_delay_min	0
+		repeat_delay_max	0
+		width	200
+		height	200
+		depth	1
+	}
+
+	affector DeflectorPlane
+	{
+		plane_point	0 0 0
+		plane_normal	0 1 0
+		bounce	2
+	}
+
+	affector DirectionRandomiser
+	{
+		randomness	7
+		scope	1
+		keep_velocity	true
+	}
+}
Index: code/branches/pickup2/data/resources.oxr
===================================================================
--- code/branches/pickup2/data/resources.oxr	(revision 5942)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<ResourceCollection resourceGroup = "General" >
-    <ResourceLocation path = "levels" />
-    <ResourceLocation path = "lua" />
-    <ResourceLocation path = "overlays" />
-    <ResourceLocation path = "particle" />
-    <ResourceLocation path = "tcl" />
-</ResourceCollection>
-
-<ResourceCollection resourceGroup = "GUI" >
-    <ResourceLocation path = "gui/configs" />
-    <ResourceLocation path = "gui/layouts" />
-    <ResourceLocation path = "gui/schemes" />
-    <ResourceLocation path = "gui/scripts" />
-</ResourceCollection>
