[Orxonox-commit 4306] r8977 - in code/branches/presentation2011: . data/gui/layouts data/gui/scripts data/levels src/orxonox src/orxonox/worldentities/pawns

smerkli at orxonox.net smerkli at orxonox.net
Wed Dec 14 14:12:13 CET 2011


Author: smerkli
Date: 2011-12-14 14:12:11 +0100 (Wed, 14 Dec 2011)
New Revision: 8977

Added:
   code/branches/presentation2011/data/gui/layouts/SingleplayerConfigMenu.layout
   code/branches/presentation2011/data/gui/scripts/SingleplayerConfigMenu.lua
Modified:
   code/branches/presentation2011/
   code/branches/presentation2011/data/gui/layouts/CreditsMenu.layout
   code/branches/presentation2011/data/gui/layouts/MiscConfigMenu.layout
   code/branches/presentation2011/data/gui/layouts/SingleplayerMenu.layout
   code/branches/presentation2011/data/gui/scripts/CreditsMenu.lua
   code/branches/presentation2011/data/gui/scripts/InGameMenu.lua
   code/branches/presentation2011/data/gui/scripts/MiscConfigMenu.lua
   code/branches/presentation2011/data/gui/scripts/SingleplayerMenu.lua
   code/branches/presentation2011/data/levels/FPSTest.oxw
   code/branches/presentation2011/data/levels/asteroids.oxw
   code/branches/presentation2011/data/levels/docking.oxw
   code/branches/presentation2011/data/levels/dynamicMatch.oxw
   code/branches/presentation2011/data/levels/earth.oxw
   code/branches/presentation2011/data/levels/emptyLevel.oxw
   code/branches/presentation2011/data/levels/events.oxw
   code/branches/presentation2011/data/levels/lastManStanding.oxw
   code/branches/presentation2011/data/levels/lastTeamStanding.oxw
   code/branches/presentation2011/data/levels/myTestLevel.oxw
   code/branches/presentation2011/data/levels/notifications.oxw
   code/branches/presentation2011/data/levels/pickups.oxw
   code/branches/presentation2011/data/levels/pirateAttack.oxw
   code/branches/presentation2011/data/levels/planets.oxw
   code/branches/presentation2011/data/levels/pong.oxw
   code/branches/presentation2011/data/levels/portals.oxw
   code/branches/presentation2011/data/levels/presentation.oxw
   code/branches/presentation2011/data/levels/presentation09.oxw
   code/branches/presentation2011/data/levels/presentation09b.oxw
   code/branches/presentation2011/data/levels/presentationDM.oxw
   code/branches/presentation2011/data/levels/presentationFS10.oxw
   code/branches/presentation2011/data/levels/presentationFS102.oxw
   code/branches/presentation2011/data/levels/presentationFS10Ed.oxw
   code/branches/presentation2011/data/levels/presentationFS11.oxw
   code/branches/presentation2011/data/levels/presentationHS09.oxw
   code/branches/presentation2011/data/levels/presentationHS09b.oxw
   code/branches/presentation2011/data/levels/princessAeryn.oxw
   code/branches/presentation2011/data/levels/quests.oxw
   code/branches/presentation2011/data/levels/screenshot.oxw
   code/branches/presentation2011/data/levels/shieldTest.oxw
   code/branches/presentation2011/data/levels/sound.oxw
   code/branches/presentation2011/data/levels/spaceRace.oxw
   code/branches/presentation2011/data/levels/teamBaseMatch.oxw
   code/branches/presentation2011/data/levels/teamDeathMatch.oxw
   code/branches/presentation2011/data/levels/testStars.oxw
   code/branches/presentation2011/data/levels/testSwallow.oxw
   code/branches/presentation2011/data/levels/tetris.oxw
   code/branches/presentation2011/data/levels/theTimeMachine.oxw
   code/branches/presentation2011/data/levels/tutorial.oxw
   code/branches/presentation2011/data/levels/underAttack.oxw
   code/branches/presentation2011/data/levels/waypoints.oxw
   code/branches/presentation2011/src/orxonox/Level.cc
   code/branches/presentation2011/src/orxonox/Level.h
   code/branches/presentation2011/src/orxonox/LevelInfo.cc
   code/branches/presentation2011/src/orxonox/LevelInfo.h
   code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.cc
   code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.h
Log:
Merged menue


Property changes on: code/branches/presentation2011
___________________________________________________________________
Modified: svn:mergeinfo
   - /code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/fps:6591-7072
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/ipv6:7293-7458
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation3:6913-7162
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound3:5941-6102
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/steering:5949-6091,8140-8595
/code/branches/tetris:8100-8563
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890
   + /code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/fps:6591-7072
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/ipv6:7293-7458
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/menue:8884-8976
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation3:6913-7162
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound3:5941-6102
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/steering:5949-6091,8140-8595
/code/branches/tetris:8100-8563
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890

Modified: code/branches/presentation2011/data/gui/layouts/CreditsMenu.layout
===================================================================
--- code/branches/presentation2011/data/gui/layouts/CreditsMenu.layout	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/layouts/CreditsMenu.layout	2011-12-14 13:12:11 UTC (rev 8977)
@@ -6,7 +6,7 @@
         <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
         <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
         <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsWindow" >
-            <Property Name="Text" Value="Keybindings" />
+            <Property Name="Text" Value="Credits" />
             <Property Name="Alpha" Value="0.8" />
             <Property Name="InheritsAlpha" Value="False" />
             <Property Name="HorzFormatting" Value="HorzCentred" />
@@ -14,7 +14,6 @@
             <Property Name="VertFormatting" Value="TopAligned" />
             <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.2125,0},{0.85,0},{0.6375,0}}" />
             <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsMenuWrapper" >
-                <Property Name="TextColours" Value="FF4444FF" />
                 <Property Name="InheritsAlpha" Value="False" />
                 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
                 <Property Name="HorzFormatting" Value="HorzCentred" />
@@ -26,7 +25,7 @@
                     <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="UnifiedAreaRect" Value="{{0,0},{0,0},{0.997,0},{0.997,0}}" />
                     <Property Name="VertOverlapSize" Value="0.01" />
                     <Property Name="HorzScrollPosition" Value="0" />
                     <Property Name="VertScrollPosition" Value="0" />
@@ -37,16 +36,15 @@
                         <Property Name="HorzFormatting" Value="HorzCentred" />
                         <Property Name="VertFormatting" Value="TopAligned" />
                         <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
-                        <Property Name="Text">wird sowieso nicht gelesen
-Orxonox version 0.0.3
-
-Programming Language:  C++ - lua - tcl
-Environment:  OpenAL - Ogre - OIS - CEGUI - enet - ODE
-Licence:  GNU General Public Licence - Creative Commons
-
-das ist mein text höhö
-
-http://www.orxonox.net
+                        <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
+    
+    Credits:
                       </Property>
                     </Window>
                 </Window>
@@ -60,8 +58,3 @@
         </Window>
     </Window>
 </GUILayout>
-
-
-
-
-

Modified: code/branches/presentation2011/data/gui/layouts/MiscConfigMenu.layout
===================================================================
--- code/branches/presentation2011/data/gui/layouts/MiscConfigMenu.layout	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/layouts/MiscConfigMenu.layout	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <GUILayout >
-    <Window Type="DefaultWindow" Name="orxonox/MiscConfigMenu/Background" >
+    <Window Type="MenuWidgets/StaticImage" Name="orxonox/MiscConfigMenu/Background" >
+        <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="MenuWidgets/StaticText" Name="orxonox/MicsConfigMenu/ConfigWindow" >
             <Property Name="Text" Value="Miscellaneous" />
             <Property Name="Alpha" Value="0.8" />
@@ -33,11 +35,17 @@
                 </Window>
             </Window>
         </Window>
-        <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/MiscConfigBackButton" >
-            <Property Name="Text" Value="Back" />
+        <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/CancelButton" >
+            <Property Name="Text" Value="Cancel" />
             <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="MiscConfigMenu.MiscConfigBackButton_clicked"/>
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.725,0},{0.4,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="MiscConfigMenu.MiscConfigCancelButton_clicked"/>
         </Window>
+        <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/OKButton" >
+            <Property Name="Text" Value="OK" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.6,0},{0.725,0},{0.75,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="MiscConfigMenu.MiscConfigOKButton_clicked"/>
+        </Window>
     </Window>
 </GUILayout>

Copied: code/branches/presentation2011/data/gui/layouts/SingleplayerConfigMenu.layout (from rev 8976, code/branches/menue/data/gui/layouts/SingleplayerConfigMenu.layout)
===================================================================
--- code/branches/presentation2011/data/gui/layouts/SingleplayerConfigMenu.layout	                        (rev 0)
+++ code/branches/presentation2011/data/gui/layouts/SingleplayerConfigMenu.layout	2011-12-14 13:12:11 UTC (rev 8977)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="MenuWidgets/StaticImage" Name="orxonox/SingleplayerConfigMenu/Background" >
+        <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="MenuWidgets/StaticText" Name="orxonox/SingleplayerConfigMenu/ConfigWindow" >
+            <Property Name="Text" Value="Config" />
+            <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="MenuWidgets/StaticText" Name="orxonox/SingleplayerConfigMenu/Wrapper" >
+                <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="MenuWidgets/ScrollablePane" Name="orxonox/SingleplayerConfigMenu/MiscConfigPane" >
+                    <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="MenuWidgets/Button" Name="orxonox/SingleplayerConfigMenu/CancelButton" >
+            <Property Name="Text" Value="Cancel" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.725,0},{0.4,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="SingleplayerConfigMenu.SingleplayerConfigCancelButton_clicked"/>
+        </Window>
+        <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerConfigMenu/OKButton" >
+            <Property Name="Text" Value="OK" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.6,0},{0.725,0},{0.75,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="SingleplayerConfigMenu.SingleplayerConfigOKButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>

Modified: code/branches/presentation2011/data/gui/layouts/SingleplayerMenu.layout
===================================================================
--- code/branches/presentation2011/data/gui/layouts/SingleplayerMenu.layout	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/layouts/SingleplayerMenu.layout	2011-12-14 13:12:11 UTC (rev 8977)
@@ -14,28 +14,43 @@
             <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.7,0}}" />
-            <Window Type="MenuWidgets/Listbox" Name="orxonox/SingleplayerLevelListbox" >
+            <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.15,0},{0.8,0},{0.7,0}}" />
+            <Window Type="MenuWidgets/TabControl" Name="orxonox/SingleplayerTabControl" >
+                <Property Name="TabHeight" Value="{0,26.4388}" />
                 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
-                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.85,0}}" />
+                <Property Name="TabPanePosition" Value="Top" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.95,0},{0.925,0}}" />
             </Window>
-            <Window Type="MenuWidgets/Checkbox" Name="orxonox/SingleplayerShowAllCheckbox" >
-                <Property Name="Text" Value="show all" />
+            <Window Type="MenuWidgets/StaticImage" Name="orxonox/SingleplayerLevelImage" >
+                <Property Name="AlwaysOnTop" Value="True" />
                 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
-                <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.87,0},{0.8,0},{.97,0}}" />
-                <Event Name="CheckStateChanged" Function="SingleplayerMenu.SingleplayerShowAll_clicked"/>
+                <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.25,0},{0.9,0},{0.675,0}}" />
             </Window>
+            <Window Type="MenuWidgets/StaticText" Name="orxonox/SingleplayerLevelDescription" >
+                <Property Name="AlwaysOnTop" Value="True" />
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="VertScrollbar" Value="True" />
+                <Property Name="HorzScrollbar" Value="True" />
+                <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.725,0},{0.9,0},{0.875,0}}" />
+            </Window>
         </Window>
         <Window Type="MenuWidgets/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.725,0},{0.4875,0},{0.775,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.725,0},{0.4,0},{0.775,0}}" />
             <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/>
         </Window>
+        <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerConfigButton" >
+            <Property Name="Text" Value="Configure" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.425,0},{0.725,0},{0.575,0},{0.775,0}}" />
+            <Property Name="Disabled" Value="True" />
+            <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerConfigButton_clicked"/>
+        </Window>
         <Window Type="MenuWidgets/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.725,0},{0.7125,0},{0.775,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.6,0},{0.725,0},{0.75,0},{0.775,0}}" />
             <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerBackButton_clicked"/>
         </Window>
     </Window>

Modified: code/branches/presentation2011/data/gui/scripts/CreditsMenu.lua
===================================================================
--- code/branches/presentation2011/data/gui/scripts/CreditsMenu.lua	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/scripts/CreditsMenu.lua	2011-12-14 13:12:11 UTC (rev 8977)
@@ -13,18 +13,9 @@
 
 function P.onShow()
     local description = winMgr:getWindow("orxonox/CreditsText")
-    description:setProperty("HorzFormatting", "WordWrapLeftAligned")
-    description:setProperty("VertFormatting", "TopAligned")
-    description:setText("                                   Orxonox version 0.0.3 \n \
-      Programming Language:  C++ - lua - tcl  \
-      Environment:  OpenAL - Ogre - OIS - CEGUI - enet - ODE  \
-      Licence:  GNU General Public Licence - Creative Commons \n  \
-      http://www.orxonox.net \n \
-      Credits:")
 
-    description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(1.0, 0)))
     height = getStaticTextWindowHeight(description)
-    description:setHeight(CEGUI.UDim(0, height))
+    description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(0.0, height)))
 end
 
 function P.CreditsBackButton_clicked(e)

Modified: code/branches/presentation2011/data/gui/scripts/InGameMenu.lua
===================================================================
--- code/branches/presentation2011/data/gui/scripts/InGameMenu.lua	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/scripts/InGameMenu.lua	2011-12-14 13:12:11 UTC (rev 8977)
@@ -42,12 +42,11 @@
 
 -- events for ingamemenu
 function P.button_quit_clicked(e)
-    openDecisionPopup( "Do you really want to quit the game?", InGameMenu.callback )
+    openDecisionPopup( "Do you really want to quit the game?", InGameMenu.exitCallback )
 end
 
 function P.button_mainmenu_clicked(e)
-    orxonox.execute("startMainMenu")
-    hideMenuSheet("InGameMenu")
+    openDecisionPopup( "Do you really want to return to the main menu?", InGameMenu.mainMenuCallback )
 end
 
 function P.button_settings_clicked(e)
@@ -58,9 +57,18 @@
     hideMenuSheet("InGameMenu")
 end
 
-function P.callback(doExit)
+function P.mainMenuCallback(doExit)
     if doExit then
+        orxonox.execute("startMainMenu")
         hideMenuSheet("InGameMenu")
+    else
+        P.onShow()
+    end
+end
+
+function P.exitCallback(doExit)
+    if doExit then
+        hideMenuSheet("InGameMenu")
         orxonox.execute("exit")
     else
         P.onShow()

Modified: code/branches/presentation2011/data/gui/scripts/MiscConfigMenu.lua
===================================================================
--- code/branches/presentation2011/data/gui/scripts/MiscConfigMenu.lua	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/scripts/MiscConfigMenu.lua	2011-12-14 13:12:11 UTC (rev 8977)
@@ -10,7 +10,7 @@
 
 P.lineHeight = 0
 P.commandWidth = 0
-P.configWidth = 0
+P.editboxWidth = 0
 P.resetWidth = 0
 P.spaceWidth = 0
 
@@ -74,30 +74,37 @@
         end
     end
 
-    P.sampleWindow:setText("configure")
-    size = getMinTextSize(P.sampleWindow)
-    P.configWidth = size[2]+20
-
     P.sampleWindow:setText("reset")
     size = getMinTextSize(P.sampleWindow)
     P.resetWidth = size[2]+20
 
-    P.spaceWidth = math.floor(1/8*P.configWidth)
+    P.spaceWidth = 10
+    
+    local pane = tolua.cast(winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane"), "CEGUI::ScrollablePane")
+    size = pane:getViewableArea()
+    P.editboxWidth = size:getWidth() - P.commandWidth - P.resetWidth - 5*P.spaceWidth
 
     P.createLines()
 
     P:setButton(1, 1, {
-            ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigBackButton"),
-            ["callback"]  = P.MiscConfigBackButton_clicked
+            ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/CancelButton"),
+            ["callback"]  = P.MiscConfigCancelButton_clicked
     })
+    
+    P:setButton(1, 2, {
+            ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/OKButton"),
+            ["callback"]  = P.MiscConfigOKButton_clicked
+    })
 end
 
 function P.createLine(k)
     local offset = 0
+    -- content window for the entire line
     local line = winMgr:createWindow("DefaultWindow", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k)
     line:setHeight(CEGUI.UDim(0, P.lineHeight))
     line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, P.lineHeight*(k-1))))
 
+    -- config name
     local command = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Command")
     command:setText(P.nameList[k])
     command:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.commandWidth), CEGUI.UDim(1, 0)))
@@ -105,31 +112,24 @@
     line:addChildWindow(command)
     offset = offset + P.commandWidth + P.spaceWidth
 
+    -- config value (editable)
     local configvalue = winMgr:createWindow("MenuWidgets/Editbox", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue")
     configvalue:setProperty("ReadOnly", "set:False")
     local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[k])
     configvalue:setText(value)
-    P.sampleWindow:setText(value)
-    local size = getMinTextSize(P.sampleWindow)
-    local configvalueWidth = 2*size[2]
-    configvalue:setSize(CEGUI.UVector2(CEGUI.UDim(0, configvalueWidth), CEGUI.UDim(0.9, 0)))
+    configvalue:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.editboxWidth), CEGUI.UDim(0.9, 0)))
     configvalue:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0)))
+    -- enable the reset button if the value changed
+    orxonox.GUIManager:subscribeEventHelper(configvalue, "TextAccepted", P.name .. ".MiscConfigEditbox_textAccepted")
     line:addChildWindow(configvalue)
-    offset = offset + configvalueWidth + P.spaceWidth
+    offset = offset + P.editboxWidth + P.spaceWidth
 
-    local config = winMgr:createWindow("MenuWidgets/Button", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Config")
-    config:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.configWidth), CEGUI.UDim(0.9, 0)))
-    config:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0)))
-    config:setText("configure")
-    orxonox.GUIManager:subscribeEventHelper(config, "Clicked", P.name .. ".MiscConfigConfigure_clicked")
-    line:addChildWindow(config)
-    offset = offset + P.configWidth + P.spaceWidth
-
+    -- reset button (only available when value changed)
     local reset = winMgr:createWindow("MenuWidgets/Button", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset")
     reset:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.resetWidth), CEGUI.UDim(0.9, 0)))
     reset:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0)))
     reset:setText("reset")
-    orxonox.GUIManager:subscribeEventHelper(reset, "Clicked", P.name .. ".MiscConfigReset_clicked")
+    orxonox.GUIManager:subscribeEventHelper(reset, "Clicked", P.name .. ".MiscConfigResetButton_clicked")
     line:addChildWindow(reset)
     reset:setEnabled(false)
     offset = offset + P.resetWidth + P.spaceWidth
@@ -152,32 +152,46 @@
     pane:setVerticalStepSize(getScrollingStepSize(window))
 end
 
-function P.MiscConfigReset_clicked(e)
+function P.MiscConfigOKButton_clicked(e)
+    for k,v in pairs(P.commandList) do
+        -- save the changes
+        local editbox = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue")
+        orxonox.CommandExecutor:execute("config " .. P.commandList[k] .. " " .. editbox:getText())
+        local resetButton = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset")
+        resetButton:setEnabled(false)
+    end
+    
+    hideMenuSheet("MiscConfigMenu")
+end
+
+function P.MiscConfigCancelButton_clicked(e)
+    hideMenuSheet("MiscConfigMenu")
+end
+
+function P.MiscConfigEditbox_textAccepted(e)
     local we = CEGUI.toWindowEventArgs(e)
     local name = we.window:getName()
 
     local match = string.gmatch(name, "%d+")
     local commandNr = tonumber(match())
 
-    -- TODO: Implement reset.
+    local resetButton = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Reset")
+    resetButton:setEnabled(true)
 end
 
-function P.MiscConfigConfigure_clicked(e)
+function P.MiscConfigResetButton_clicked(e)
     local we = CEGUI.toWindowEventArgs(e)
     local name = we.window:getName()
 
     local match = string.gmatch(name, "%d+")
     local commandNr = tonumber(match())
 
-    local window = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Configvalue")
-
-    orxonox.CommandExecutor:execute("config " .. P.commandList[commandNr] .. " " .. window:getText())
+    -- reload the old value
+    local editbox = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Configvalue")
     local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[commandNr])
-    window:setText(value)
+    editbox:setText(value)
+    
+    we.window:setEnabled(false)
 end
 
-function P.MiscConfigBackButton_clicked(e)
-    hideMenuSheet("MiscConfigMenu")
-end
-
 return P

Copied: code/branches/presentation2011/data/gui/scripts/SingleplayerConfigMenu.lua (from rev 8976, code/branches/menue/data/gui/scripts/SingleplayerConfigMenu.lua)
===================================================================
--- code/branches/presentation2011/data/gui/scripts/SingleplayerConfigMenu.lua	                        (rev 0)
+++ code/branches/presentation2011/data/gui/scripts/SingleplayerConfigMenu.lua	2011-12-14 13:12:11 UTC (rev 8977)
@@ -0,0 +1,198 @@
+-- SingleplayerMenu.lua
+
+local P = createMenuSheet("SingleplayerConfigMenu")
+
+P.commandList = {}
+P.nameList = {}
+P.linesList = {}
+
+P.sampleWindow = nil
+
+P.lineHeight = 0
+P.commandWidth = 0
+P.editboxWidth = 0
+P.resetWidth = 0
+P.spaceWidth = 0
+
+function P.onLoad()
+    P.sampleWindow = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/SingleplayerConfigMenu/MiscConfigPane/SampleWindow")
+    P.sampleWindow:setText("SampleText")
+
+    P:setButton(1, 1, {
+            ["button"] = winMgr:getWindow("orxonox/SingleplayerConfigMenu/CancelButton"),
+            ["callback"]  = P.SingleplayerConfigCancelButton_clicked
+    })
+    
+    P:setButton(1, 2, {
+            ["button"] = winMgr:getWindow("orxonox/SingleplayerConfigMenu/OKButton"),
+            ["callback"]  = P.SingleplayerConfigOKButton_clicked
+    })
+end
+
+function P.loadConfig(level)
+    P.commandList = {}
+    table.insert(P.commandList, "Gametype initialStartCountdown_")
+    table.insert(P.commandList, "Gametype bAutoStart_")
+    table.insert(P.commandList, "Gametype numberOfBots_")
+    table.insert(P.commandList, "Dynamicmatch gameTime_")
+    table.insert(P.commandList, "Dynamicmatch friendlyfire")
+    table.insert(P.commandList, "Dynamicmatch tutorial")
+    table.insert(P.commandList, "LastManStanding lives")
+    table.insert(P.commandList, "LastManStanding respawnDelay")
+    table.insert(P.commandList, "LastManStanding bNoPunishment")
+    table.insert(P.commandList, "LastManStanding bHardPunishment")
+    table.insert(P.commandList, "LastTeamStanding lives")
+    table.insert(P.commandList, "LastTeamStanding respawnDelay")
+    table.insert(P.commandList, "LastTeamStanding bNoPunishment")
+    table.insert(P.commandList, "LastTeamStanding bHardPunishment")
+    table.insert(P.commandList, "TeamDeathmatch teams_")
+    table.insert(P.commandList, "UnderAttack gameTime_")
+
+    P.nameList = {}
+    table.insert(P.nameList, "Start countdown")
+    table.insert(P.nameList, "Autostart")
+    table.insert(P.nameList, "Number of Bots")
+    table.insert(P.nameList, "Dynamicmatch: game time")
+    table.insert(P.nameList, "Dynamicmatch: friendly fire")
+    table.insert(P.nameList, "Dynamicmatch: tutorial")
+    table.insert(P.nameList, "LastManStanding: lives")
+    table.insert(P.nameList, "LastManStanding: respawn delay")
+    table.insert(P.nameList, "LastManStanding: no punishment")
+    table.insert(P.nameList, "LastManStanding: hard punishment")
+    table.insert(P.nameList, "LastTeamStanding: lives")
+    table.insert(P.nameList, "LastTeamStanding: respawn delay")
+    table.insert(P.nameList, "LastTeamStanding: no punishment")
+    table.insert(P.nameList, "LastTeamStanding: hard punishment")
+    table.insert(P.nameList, "TeamDeathmatch: Number of teams")
+    table.insert(P.nameList, "UnderAttack: game time")
+
+    P.linesList = {}
+    
+    --Calculate design parameters:
+    local size = getMinTextSize(P.sampleWindow)
+    P.lineHeight = size[1]
+
+    P.commandWidth = 0
+    for k,v in pairs(P.commandList) do
+        P.sampleWindow:setText(P.nameList[k])
+        size = getMinTextSize(P.sampleWindow)
+        if size[2] > P.commandWidth then
+            P.commandWidth = size[2]
+        end
+    end
+
+    P.sampleWindow:setText("reset")
+    size = getMinTextSize(P.sampleWindow)
+    P.resetWidth = size[2]+20
+
+    P.spaceWidth = 10
+    
+    local pane = tolua.cast(winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane"), "CEGUI::ScrollablePane")
+    size = pane:getViewableArea()
+    P.editboxWidth = size:getWidth() - P.commandWidth - P.resetWidth - 5*P.spaceWidth
+
+    P.createLines()
+end
+
+function P.createLine(k)
+    local offset = 0
+    -- destroy config line, if it already exists (otherwise would cause an error)
+    if winMgr:isWindowPresent("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k) then
+        winMgr:destroyWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k)
+    end
+    -- content window for the entire line
+    local line = winMgr:createWindow("DefaultWindow", "orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k)
+    line:setHeight(CEGUI.UDim(0, P.lineHeight))
+    line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, P.lineHeight*(k-1))))
+
+    -- config name
+    local command = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Command")
+    command:setText(P.nameList[k])
+    command:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.commandWidth), CEGUI.UDim(1, 0)))
+    command:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0, 0)))
+    line:addChildWindow(command)
+    offset = offset + P.commandWidth + P.spaceWidth
+
+    -- config value (editable)
+    local configvalue = winMgr:createWindow("MenuWidgets/Editbox", "orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue")
+    configvalue:setProperty("ReadOnly", "set:False")
+    local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[k])
+    configvalue:setText(value)
+    configvalue:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.editboxWidth), CEGUI.UDim(0.9, 0)))
+    configvalue:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0)))
+    -- enable the reset button if the value changed
+    orxonox.GUIManager:subscribeEventHelper(configvalue, "TextAccepted", P.name .. ".SingleplayerConfigEditbox_textAccepted")
+    line:addChildWindow(configvalue)
+    offset = offset + P.editboxWidth + P.spaceWidth
+
+    -- reset button (only available when value changed)
+    local reset = winMgr:createWindow("MenuWidgets/Button", "orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset")
+    reset:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.resetWidth), CEGUI.UDim(0.9, 0)))
+    reset:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0)))
+    reset:setText("reset")
+    orxonox.GUIManager:subscribeEventHelper(reset, "Clicked", P.name .. ".SingleplayerConfigResetButton_clicked")
+    line:addChildWindow(reset)
+    reset:setEnabled(false)
+    offset = offset + P.resetWidth + P.spaceWidth
+
+    line:setWidth(CEGUI.UDim(0, offset))
+
+    return line
+end
+
+function P.createLines()
+    local window = winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane")
+
+    for k,v in pairs(P.commandList) do
+        local line = P.createLine(k)
+        table.insert(P.linesList, line)
+        window:addChildWindow(line)
+    end
+
+    local pane = tolua.cast(window, "CEGUI::ScrollablePane")
+    pane:setVerticalStepSize(getScrollingStepSize(window))
+end
+
+function P.SingleplayerConfigOKButton_clicked(e)
+    for k,v in pairs(P.commandList) do
+        -- save the changes
+        local editbox = winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue")
+        orxonox.CommandExecutor:execute("config " .. P.commandList[k] .. " " .. editbox:getText())
+        local resetButton = winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset")
+        resetButton:setEnabled(false)
+    end
+    
+    hideMenuSheet("SingleplayerConfigMenu")
+end
+
+function P.SingleplayerConfigCancelButton_clicked(e)
+    hideMenuSheet("SingleplayerConfigMenu")
+end
+
+function P.SingleplayerConfigEditbox_textAccepted(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+
+    local match = string.gmatch(name, "%d+")
+    local commandNr = tonumber(match())
+
+    local resetButton = winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Reset")
+    resetButton:setEnabled(true)
+end
+
+function P.SingleplayerConfigResetButton_clicked(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+
+    local match = string.gmatch(name, "%d+")
+    local commandNr = tonumber(match())
+
+    -- reload the old value
+    local editbox = winMgr:getWindow("orxonox/SingleplayerConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Configvalue")
+    local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[commandNr])
+    editbox:setText(value)
+    
+    we.window:setEnabled(false)
+end
+
+return P

Modified: code/branches/presentation2011/data/gui/scripts/SingleplayerMenu.lua
===================================================================
--- code/branches/presentation2011/data/gui/scripts/SingleplayerMenu.lua	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/gui/scripts/SingleplayerMenu.lua	2011-12-14 13:12:11 UTC (rev 8977)
@@ -3,94 +3,160 @@
 local P = createMenuSheet("SingleplayerMenu")
 
 P.levelList = {}
-P.itemList = {}
-P.showAll = false
+P.activeTabIndexes = {}
+P.scrollbarWidth = 13
 
 function P.onLoad()
-    local window = winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox")
-    local button = tolua.cast(window,"CEGUI::Checkbox")
-    button:setSelected(false)
     P.createLevelList()
-
-    --buttons are arranged in a 1x2 matrix
+    
+    -- create tabs with desired tab as argument (nil for all)
+    P.createFilterTab("Gametypes", "gametype")
+    P.createFilterTab("Missions", "mission")
+    P.createFilterTab("Minigames", "minigame")
+    P.createFilterTab("Showcases", "showcase")
+    P.createFilterTab("Presentations", "presentation")
+    P.createFilterTab("Tests", "test")
+    P.createFilterTab("Show All", nil)
+    
+    -- update description and screenshot boxes
+    P.SingleplayerSelectionChanged()
+    
+    --buttons are arranged in a 1x3 matrix
     P:setButton(1, 1, {
             ["button"] = winMgr:getWindow("orxonox/SingleplayerStartButton"),
             ["callback"]  = P.SingleplayerStartButton_clicked
     })
 
     P:setButton(1, 2, {
+            ["button"] = winMgr:getWindow("orxonox/SingleplayerConfigButton"),
+            ["callback"]  = P.SingleplayerConfigButton_clicked
+    })
+
+    P:setButton(1, 3, {
             ["button"] = winMgr:getWindow("orxonox/SingleplayerBackButton"),
             ["callback"]  = P.SingleplayerBackButton_clicked
     })
 end
 
-function P.onShow()
-    if P.showAll ~= orxonox.GUIManager:inDevMode() then
-        local window = winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox")
-        local button = tolua.cast(window,"CEGUI::Checkbox")
-        P.showAll = not P.showAll
-        button:setSelected(P.showAll)
-        P.createLevelList()
-    end
-end
-
 function P.createLevelList()
     P.levelList = {}
-    P.itemList = {}
-    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox"))
-    listbox:resetList()
-    orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true)
-    local preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
     local size = orxonox.LevelManager:getInstance():getNumberOfLevels()
     local index = 0
     local level = nil
     while index < size do
         level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
         if level ~= nil then
-            if P.showAll or not level:hasTag("test") then
-                table.insert(P.levelList, level)
+            local levelXMLFilename = level:getXMLFilename()
+            -- create an imageset for each screenshot
+            local imageName = level:getScreenshot()
+            if imageName ~= "" then
+                CEGUI.ImagesetManager:getSingleton():createImagesetFromImageFile(levelXMLFilename..imageName, imageName)
+            else
+                CEGUI.ImagesetManager:getSingleton():createImagesetFromImageFile(levelXMLFilename..imageName, "noscreenshot.png")
             end
+            table.insert(P.levelList, level)
         end
         index = index + 1
     end
+end
 
+function P.createFilterTab(name, tag)
+    -- create unique tab window name
+    local tabName = "orxonox/SingleplayerLevelTab"
+    if tag ~= nil then
+        tabName = tabName..tag
+    end
+    -- create new tab window with desired name
+    local listbox = CEGUI.toListbox(winMgr:createWindow("MenuWidgets/Listbox", tabName))
+    listbox:setText(name)
+    listbox:setProperty("UnifiedMaxSize", "{{1,0},{1,0}}")
+    listbox:setProperty("UnifiedAreaRect", "{{0.05,0},{0.1,0},{0.5,0},{0.675,0}}")
+    -- fill listbox with items
+    listbox:resetList()
+    orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true)
+    local preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
+    local tabIndexes = {}
     for k,v in pairs(P.levelList) do
-        local item = CEGUI.createListboxTextItem(v:getName())
-        item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush")
-        listbox:addItem(item)
-        if v:getXMLFilename() == preselect then
-            listbox:setItemSelectState(item, true)
+        -- only add level if it has desired tag
+        if tag == nil or v:hasTag(tag) then
+            local item = CEGUI.createListboxTextItem(v:getName())
+            item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush")
+            listbox:addItem(item)
+            table.insert(tabIndexes, k)
+            if v:getXMLFilename() == preselect then
+                listbox:setItemSelectState(item, true)
+            end
+            orxonox.GUIManager:setTooltipTextHelper(item, v:getDescription())
         end
-        P.itemList[k] = listbox:getListboxItemFromIndex(k-1)
-        orxonox.GUIManager:setTooltipTextHelper(P.itemList[k], v:getDescription())
     end
+    table.insert(P.activeTabIndexes, tabIndexes)
+    -- listen to selection changes
+    orxonox.GUIManager:subscribeEventHelper(listbox, "ItemSelectionChanged", P.name..".SingleplayerSelectionChanged")
+    local tabControl = winMgr:getWindow("orxonox/SingleplayerTabControl")
+    orxonox.GUIManager:subscribeEventHelper(tabControl, "TabSelectionChanged", P.name..".SingleplayerSelectionChanged")
+    if listbox:getItemCount() > 0 then
+        tabControl:addChildWindow(tabName)
+    end
 end
 
-function P.SingleplayerStartButton_clicked(e)
-    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox"))
+function P.SingleplayerGetSelectedLevel()
+    -- choose the active listbox
+    local tabControl = CEGUI.toTabControl(winMgr:getWindow("orxonox/SingleplayerTabControl"))
+    local listbox = CEGUI.toListbox(tabControl:getTabContentsAtIndex(tabControl:getSelectedTabIndex()))
     local choice = listbox:getFirstSelectedItem()
     if choice ~= nil then
-        local index = listbox:getItemIndex(choice)
-        local level = P.levelList[index+1]
-        if level ~= nil then
-            orxonox.execute("startGame " .. level:getXMLFilename())
-            hideAllMenuSheets()
+        -- get the right tab and the right index
+        local tabIndexes = P.activeTabIndexes[tabControl:getSelectedTabIndex()+1]
+        local index = tabIndexes[listbox:getItemIndex(choice)+1]
+        return P.levelList[index]
+    else
+        return nil
+    end
+end
+
+function P.SingleplayerSelectionChanged(e)
+    local levelImage = winMgr:getWindow("orxonox/SingleplayerLevelImage")
+    local levelDescription = winMgr:getWindow("orxonox/SingleplayerLevelDescription")
+    local configButton = winMgr:getWindow("orxonox/SingleplayerConfigButton")
+    local level = P.SingleplayerGetSelectedLevel()
+    if level ~= nil then
+        local levelXMLFilename = level:getXMLFilename()
+        local imageName = level:getScreenshot()
+        -- set the screenshot and the description for the selected level
+        levelImage:setProperty("Image", "set:"..levelXMLFilename..imageName.." image:full_image")
+        levelDescription:setText(level:getDescription())
+        -- only enable config button for "gametype" levels
+        if level:hasTag("gametype") then
+            configButton:setProperty("Disabled", "False")
+        else
+            configButton:setProperty("Disabled", "True")
         end
+    else
+        -- also take care of "no level selected"
+        levelImage:setProperty("Image", nil)
+        levelDescription:setText("")
+        configButton:setProperty("Disabled", "True")
     end
 end
 
-function P.SingleplayerShowAll_clicked(e)
-    local checkbox = tolua.cast(winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox"), "CEGUI::Checkbox")
-    local show = checkbox:isSelected()
-    if show ~= P.showAll then
-        P.showAll = show
-        P.createLevelList()
-   end
+function P.SingleplayerStartButton_clicked(e)
+    local level = P.SingleplayerGetSelectedLevel()
+    if level ~= nil then
+        orxonox.execute("startGame " .. level:getXMLFilename())
+        hideAllMenuSheets()
+    end
 end
 
+function P.SingleplayerConfigButton_clicked(e)
+    local level = P.SingleplayerGetSelectedLevel()
+    if level ~= nil then
+        local configMenu = showMenuSheet("SingleplayerConfigMenu")
+        configMenu:loadConfig(level)
+    end
+end
+
 function P.SingleplayerBackButton_clicked(e)
     hideMenuSheet(P.name)
 end
 
 return P
-

Modified: code/branches/presentation2011/data/levels/FPSTest.oxw
===================================================================
--- code/branches/presentation2011/data/levels/FPSTest.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/FPSTest.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "FPS testlevel"
  description = "Level to test First Person Shooter"
  tags = "test"
+ screenshot = "fpstestlevel.png"
 />
 
 <?lua
@@ -13,10 +14,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "fps"
- description  = "tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/asteroids.oxw
===================================================================
--- code/branches/presentation2011/data/levels/asteroids.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/asteroids.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,3 +1,10 @@
+<LevelInfo
+ name = "Asteroids Race"
+ description = "Reach the checkpoints and avoid asteroids."
+ tags = "gametype"
+ screenshot = "asteroids.png"
+/>
+
 <?lua
   include("HUDTemplates3.oxo")
   include("stats.oxo")
@@ -6,9 +13,7 @@
 ?>
 
 <Level
- name         = "Asteroids Race"
- description  = "testmap for gametype asteroid race"
- gametype     =  Asteroids
+ gametype = "Asteroids"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/docking.oxw
===================================================================
--- code/branches/presentation2011/data/levels/docking.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/docking.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Transporter"
  description = "Level with a Transporter. Demonstrates the docking system."
- tags = ""
+ tags = "showcase"
+ screenshot = "transporter.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Transporter"
- description  = "Docking example level"
->
+<Level>
   <templates>
     <Template link="lodtemplate_default" />
   </templates>

Modified: code/branches/presentation2011/data/levels/dynamicMatch.oxw
===================================================================
--- code/branches/presentation2011/data/levels/dynamicMatch.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/dynamicMatch.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,3 +1,10 @@
+<LevelInfo
+ name = "Dynamic Match"
+ description = "Dynamicmatch: Take care of what you're shooting at."
+ tags = "gametype"
+ screenshot = "dynamicMatch.png"
+/>
+
 <?lua
   include("HUDTemplates3.oxo")
   include("stats.oxo")
@@ -8,9 +15,7 @@
 ?>
 
 <Level
- name         = "Dynamic Match"
- description  = "In progress -level for dynamicmatch"
- gametype     = "Dynamicmatch"
+ gametype = "Dynamicmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/earth.oxw
===================================================================
--- code/branches/presentation2011/data/levels/earth.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/earth.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Earth Demonstration"
  description = "1:100 Scale Model of Earth with Gravity"
  tags = "showcase"
+ screenshot = "earthdemonstration.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/spaceshipHXY.oxt")
 ?>
 
-<Level
- name         = "Planet Earth"
- description  = "1:100 Scale Model of Earth with Gravity"
->
+<Level>
   <templates>
     <Template link="lodtemplate_default" />
   </templates>

Modified: code/branches/presentation2011/data/levels/emptyLevel.oxw
===================================================================
--- code/branches/presentation2011/data/levels/emptyLevel.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/emptyLevel.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Empty level"
  description = "A level with absolutely nothing in it."
  tags = "test"
+ screenshot = "emptylevel.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   include("templates/spaceshipPirate.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/events.oxw
===================================================================
--- code/branches/presentation2011/data/levels/events.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/events.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
   name = "Events showcase"
   description = "Level to test and showcase events."
-  tags = "test, showcase" 
+  tags = "test, showcase"
+  screenshot = "eventsshowcase.png"
 />
 
 <?lua
@@ -12,10 +13,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Event testing"
- description  = "A simple level to test the event-system (with comments)"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/lastManStanding.oxw
===================================================================
--- code/branches/presentation2011/data/levels/lastManStanding.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/lastManStanding.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Last Man Standing"
  description = "Be the sole survivor."
- tags = ""
+ tags = "gametype"
+ screenshot = "lastmanstanding.png"
 />
 
 <?lua
@@ -15,9 +16,7 @@
 ?>
 
 <Level
- name         = "Last Man Standing"
- description  = "testmap for gametype last man standing"
- gametype     =  "LastManStanding"
+ gametype = "LastManStanding"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/lastTeamStanding.oxw
===================================================================
--- code/branches/presentation2011/data/levels/lastTeamStanding.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/lastTeamStanding.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Last Team Standing"
  description = "Survive as a team."
- tags = "singleplayer"
+ tags = "gametype"
+ screenshot = "lastteamstanding.png"
 />
 <?lua
   include("stats.oxo")
@@ -14,9 +15,7 @@
 ?>
 
 <Level
- name         = "Last Team Standing"
- description  = "testmap for gametype last team standing"
- gametype     =  "LastTeamStanding"
+ gametype = "LastTeamStanding"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/myTestLevel.oxw
===================================================================
--- code/branches/presentation2011/data/levels/myTestLevel.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/myTestLevel.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "MyTestLevel"
  description = "A level to test the Class SpaceBoundaries."
  tags = "test"
+ screenshot = "mytestlevel.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   include("templates/spaceshipPirate.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/notifications.oxw
===================================================================
--- code/branches/presentation2011/data/levels/notifications.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/notifications.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Notifications showcase"
  description = "Level to test and showcase notifications."
  tags = "test, showcase"
+ screenshot = "notificationsshowcase.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Presentation"
- description  = "A simple testlevel"
->
+<Level>
     <templates>
         <Template link=lodtemplate_default />
     </templates>

Modified: code/branches/presentation2011/data/levels/pickups.oxw
===================================================================
--- code/branches/presentation2011/data/levels/pickups.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/pickups.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Pickups showcase"
  description = "Level to test and showcase pickups."
  tags = "test, showcase"
+ screenshot = "pickupsshowcase.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/pirateAttack.oxw
===================================================================
--- code/branches/presentation2011/data/levels/pirateAttack.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/pirateAttack.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Pirate Attack"
  description = "Dani's Testlevel"
  tags = "test"
+ screenshot = "pirateattack.png"
 />
 
 <?lua
@@ -25,9 +26,7 @@
 ?>
     
 <Level
-name="Dani's Testlevel"
-description="Erste Versuche mit den Quests"
-gametype=TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
 
   <templates>

Modified: code/branches/presentation2011/data/levels/planets.oxw
===================================================================
--- code/branches/presentation2011/data/levels/planets.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/planets.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Planet Demonstration"
  description = "Demonstration of Planets"
  tags = "showcase"
+ screenshot = "planetdemonstration.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/spaceshipHXY.oxt")
 ?>
 
-<Level
- name         = "Planet"
- description  = "Demonstration of Planets"
->
+<Level>
   <templates>
     <Template link="lodtemplate_default" />
   </templates>

Modified: code/branches/presentation2011/data/levels/pong.oxw
===================================================================
--- code/branches/presentation2011/data/levels/pong.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/pong.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Pong"
  description = "Pong in space!"
- tags = ""
+ tags = "minigame"
+ screenshot = "pong.png"
 />
 
 <?lua
@@ -48,9 +49,7 @@
 
 
 <Level
- name         = "Presentation"
- description  = "A simple testlevel"
- gametype     = Pong
+ gametype = "Pong"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/portals.oxw
===================================================================
--- code/branches/presentation2011/data/levels/portals.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/portals.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,7 +2,8 @@
 <LevelInfo
  name = "Portals"
  description = "Level for testing portals"
- tags = "tutorial"
+ tags = "test"
+ screenshot = "portals.png"
 />
 
 <?lua
@@ -13,10 +14,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Presentation"
- description  = "A simple testlevel"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentation.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentation.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentation.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation"
  description = "Presentation Level"
  tags = "presentation"
+ screenshot = "presentation.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentation09.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentation09.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentation09.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation X 3rd"
  description = "3rd Presentation level for Orxonox Convention X"
  tags = "presentation"
+ screenshot = "presentationx3rd.png"
 />
 
 <?lua
@@ -12,11 +13,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Presentation09"
- description  = "presentation level for Orxonox Convention X"
-
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentation09b.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentation09b.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentation09b.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation X2"
  description = "2nd Presentation level for Orxonox Convention X"
  tags = "presentation"
+ screenshot = "presentationx2.png"
 />
 
 <?lua
@@ -15,9 +16,7 @@
 ?>
 
 <Level
- name         = "Presentation09"
- description  = "presentation level for Orxonox Convention X"
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/presentationDM.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationDM.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationDM.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation DM"
  description = "Presentation Level"
  tags = "presentation"
+ screenshot = "presentationdm.png"
 />
 
 <?lua
@@ -13,9 +14,7 @@
 ?>
 
 <Level
- name         = "Presentation"
- description  = "A simple testlevel"
- gametype     = Deathmatch
+ gametype = "Deathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/presentationFS10.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationFS10.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationFS10.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation XI"
  description = "1st Presentation level for Orxonox Convention XI"
  tags = "presentation"
+ screenshot = "presentationxi.png"
 />
 
 <?lua
@@ -18,9 +19,7 @@
 ?>
 
 <Level
- name         = "Sample"
- description  = "Just a few tests"
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/presentationFS102.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationFS102.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationFS102.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation XI FPS 1st"
  description = "2nd Presentation level for Orxonox Convention XI, FPS"
  tags = "presentation"
+ screenshot = "presentationxifps1st.png"
 />
 
 <?lua
@@ -13,10 +14,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "fps"
- description  = "tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentationFS10Ed.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationFS10Ed.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationFS10Ed.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation XI FPS 2nd"
  description = "3rd Presentation level for Orxonox Convention XI, FPS"
  tags = "presentation"
+ screenshot = "presentationxifps2nd.png"
 />
 
 <?lua
@@ -13,10 +14,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "fps"
- description  = "tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentationFS11.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationFS11.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationFS11.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Presentation FS11"
  description = "Presentation level spring semester '11"
- tags = "test"
+ tags = "presentation"
+ screenshot = "presentationfs11.png"
 />
 
 <?lua
@@ -20,10 +21,7 @@
 include("templates/pickupRepresentationTemplates.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/presentationHS09.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationHS09.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationHS09.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation X 1st"
  description = "1st Presentation level for Orxonox Convention X"
  tags = "presentation"
+ screenshot = "presentationx1st.png"
 />
 
 <?lua
@@ -15,9 +16,7 @@
 ?>
 
 <Level
- name         = "Presentation09"
- description  = "presentation level for Orxonox Convention X"
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
  hasPhysics = true
 >
   <templates>

Modified: code/branches/presentation2011/data/levels/presentationHS09b.oxw
===================================================================
--- code/branches/presentation2011/data/levels/presentationHS09b.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/presentationHS09b.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Presentation X 2nd"
  description = "2nd Presentation level for Orxonox Convention X"
  tags = "presentation"
+ screenshot = "presentationx2nd.png"
 />
 
 <?lua
@@ -21,9 +22,7 @@
 ?>
 
 <Level
- name         = "Sample"
- description  = "Just a few tests"
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/princessAeryn.oxw
===================================================================
--- code/branches/presentation2011/data/levels/princessAeryn.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/princessAeryn.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "The Tale of Princess Aeryn"
  description = "The Tale of the elusive but beautiful Princess Aeryn"
- tags = ""
+ tags = "mission"
+ screenshot = "thetaleofprincessaeryn.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   dofile("includes/CuboidSpaceStation.lua")
 ?>
 
-<Level
- name     = "The Tale of Princess Aeryn"
- description  = "The Tale of Princess Aeryn"
->
+<Level>
 
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/quests.oxw
===================================================================
--- code/branches/presentation2011/data/levels/quests.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/quests.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Quests showcase"
  description = "Level to test and showcase quests."
  tags = "test, showcase"
+ screenshot = "questsshowcase.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Questsystem"
- description  = "Just a few tests"
->
+<Level>
     <templates>
         <Template link=lodtemplate_default />
     </templates>

Modified: code/branches/presentation2011/data/levels/screenshot.oxw
===================================================================
--- code/branches/presentation2011/data/levels/screenshot.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/screenshot.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Screenshot"
  description = "Level to make awesome screenshots in."
- tags = "test"
+ tags = "test, showcase"
+ screenshot = "screenshot.png"
 />
 
 <?lua
@@ -14,9 +15,7 @@
 ?>
 
 <Level
- name         = "Waypoints"
- description  = "Testing waypoings for AI controlled spaceships."
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/shieldTest.oxw
===================================================================
--- code/branches/presentation2011/data/levels/shieldTest.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/shieldTest.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Shield Testlevel"
  description = "A simple Level with one shielded drone to shoot at"
  tags = "test"
+ screenshot = "shieldtestlevel.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "shieldTL"
- description  = "LEVEL-DESCRIPTION"
->
+<Level>
 
 <templates>
   <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/sound.oxw
===================================================================
--- code/branches/presentation2011/data/levels/sound.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/sound.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Sound showcase"
  description = "Level to test and showcase sound."
- tags = "test"
+ tags = "test, showcase"
+ screenshot = "soundshowcase.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   include("templates/spaceshipPirate.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/spaceRace.oxw
===================================================================
--- code/branches/presentation2011/data/levels/spaceRace.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/spaceRace.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Space Race"
- description = "Test level for the gametype Space Race."
- tags = "test"
+ description = "Have a furious Race in Space: Reach the checkpoints as fast as possible."
+ tags = "gametype"
+ screenshot = "spacerace.png"
 />
 
 <?lua
@@ -16,9 +17,7 @@
 ?>
 
 <Level
- name         = "Space Race"
- description  = "Test level for the gametype Space Race."
- gametype     = SpaceRace
+ gametype = "SpaceRace"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/teamBaseMatch.oxw
===================================================================
--- code/branches/presentation2011/data/levels/teamBaseMatch.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/teamBaseMatch.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Teambase Match"
- description = "Fight for the bases."
- tags = ""
+ description = "Fight for the bases. Capture bases by shooting at them and defend them against attackers."
+ tags = "gametype"
+ screenshot = "teambasematch.png"
 />
 
 <?lua
@@ -14,9 +15,7 @@
 ?>
 
 <Level
- name         = "Presentation"
- description  = "A simple testlevel"
- gametype     = TeamBaseMatch
+ gametype = "TeamBaseMatch"
 >
 
   <templates>

Modified: code/branches/presentation2011/data/levels/teamDeathMatch.oxw
===================================================================
--- code/branches/presentation2011/data/levels/teamDeathMatch.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/teamDeathMatch.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Team Deathmatch"
  description = "Fight against each other in teams."
- tags = ""
+ tags = "gametype"
+ screenshot = "teamdeathmatch.png"
 />
 
 <?lua
@@ -14,9 +15,7 @@
 ?>
 
 <Level
- name         = "Waypoints"
- description  = "Testing waypoings for AI controlled spaceships."
- gametype     = TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/testStars.oxw
===================================================================
--- code/branches/presentation2011/data/levels/testStars.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/testStars.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Stars Testlevel"
  description = "Level to test stars"
  tags = "test"
+ screenshot = "starstestlevel.png"
 />
 
 <?lua
@@ -15,10 +16,7 @@
   include("templates/spaceshipPirate.oxt")
 ?>
 
-<Level
- name         = "Sample"
- description  = "Just a few tests"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/testSwallow.oxw
===================================================================
--- code/branches/presentation2011/data/levels/testSwallow.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/testSwallow.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Swallow Testlevel"
  description = "Level to test the swallow spaceship."
  tags = "test"
+ screenshot = "swallowtestlevel.png"
 />
 
 <?lua
@@ -12,12 +13,8 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Presentation_swallow"
- description  = "presentation level for Orxonox Convention X"
+<Level>
 
->
-
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/tetris.oxw
===================================================================
--- code/branches/presentation2011/data/levels/tetris.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/tetris.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "Tetris"
  description = "Tetris in space!"
- tags = ""
+ tags = "minigame"
+ screenshot = "tetris.png"
 />
 
 <?lua
@@ -29,9 +30,7 @@
 </Template>
 
 <Level
- name         = "Presentation"
- description  = "A simple testlevel"
- gametype     = "Tetris"
+ gametype = "Tetris"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/theTimeMachine.oxw
===================================================================
--- code/branches/presentation2011/data/levels/theTimeMachine.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/theTimeMachine.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,7 +1,8 @@
 <LevelInfo
  name = "The Time Machine"
  description = "A simple level. The only goal is to defeat as much enemies as you can."
- tags = "singleplayer"
+ tags = "gametype"
+ screenshot = "thetimemachine.png"
 />
 
 <?lua 
@@ -60,9 +61,7 @@
 <!--*****************************************************************************************************************************************************************************************-->
 
 <Level
-    name="The Time Machine"
-    description="A simple level. The only goal is to defeat as much enemies as you can."
-    gametype=TeamDeathmatch
+ gametype = "TeamDeathmatch"
 >
     <templates>
         <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/tutorial.oxw
===================================================================
--- code/branches/presentation2011/data/levels/tutorial.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/tutorial.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Coding Tutorial"
  description = "Level for the coding tutorial."
  tags = "tutorial"
+ screenshot = "codingtutorial.png"
 />
 
 <?lua
@@ -11,10 +12,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Presentation"
- description  = "A simple testlevel"
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/data/levels/underAttack.oxw
===================================================================
--- code/branches/presentation2011/data/levels/underAttack.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/underAttack.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -1,3 +1,10 @@
+<LevelInfo
+ name = "Under Attack"
+ description = "Fight the transporter."
+ tags = "gametype"
+ screenshot = "underattack.png"
+/>
+
 <?lua
   include("HUDTemplates3.oxo")
   include("stats.oxo")
@@ -7,9 +14,7 @@
 ?>
 
 <Level
- name         = "UnderAttack testing"
- description  = "A simple testlevel"
- gametype     = UnderAttack
+ gametype = "UnderAttack"
 >
   <templates>
     <Template link=lodtemplate_default />

Modified: code/branches/presentation2011/data/levels/waypoints.oxw
===================================================================
--- code/branches/presentation2011/data/levels/waypoints.oxw	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/data/levels/waypoints.oxw	2011-12-14 13:12:11 UTC (rev 8977)
@@ -2,6 +2,7 @@
  name = "Waypoints Testlevel"
  description = "Testing waypoings for AI controlled spaceships."
  tags = "test"
+ screenshot = "waypointstestlevel.png"
 />
 
 <?lua
@@ -13,10 +14,7 @@
   include("templates/lodInformation.oxt")
 ?>
 
-<Level
- name         = "Waypoints"
- description  = "Testing waypoings for AI controlled spaceships."
->
+<Level>
   <templates>
     <Template link=lodtemplate_default />
   </templates>

Modified: code/branches/presentation2011/src/orxonox/Level.cc
===================================================================
--- code/branches/presentation2011/src/orxonox/Level.cc	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/Level.cc	2011-12-14 13:12:11 UTC (rev 8977)
@@ -70,7 +70,6 @@
     {
         SUPER(Level, XMLPort, xmlelement, mode);
 
-        XMLPortParam(Level, "description", setDescription, getDescription, xmlelement, mode);
         XMLPortParam(Level, "gametype", setGametypeString, getGametypeString, xmlelement, mode).defaultValues("Gametype");
 
         XMLPortObject(Level, MeshLodInformation, "lodinformation", addLodInfo, getLodInfo, xmlelement, mode);
@@ -81,7 +80,6 @@
     {
         registerVariable(this->xmlfilename_,            VariableDirection::ToClient, new NetworkCallback<Level>(this, &Level::networkcallback_applyXMLFile));
         registerVariable(this->name_,                   VariableDirection::ToClient, new NetworkCallback<Level>(this, &Level::changedName));
-        registerVariable(this->description_,            VariableDirection::ToClient);
         registerVariable(this->networkTemplateNames_,   VariableDirection::ToClient, new NetworkCallback<Level>(this, &Level::networkCallbackTemplatesChanged));
     }
 

Modified: code/branches/presentation2011/src/orxonox/Level.h
===================================================================
--- code/branches/presentation2011/src/orxonox/Level.h	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/Level.h	2011-12-14 13:12:11 UTC (rev 8977)
@@ -48,11 +48,6 @@
 
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
-            inline void setDescription(const std::string& description)
-                { this->description_ = description; }
-            inline const std::string& getDescription() const
-                { return this->description_; }
-
             void playerEntered(PlayerInfo* player);
             void playerLeft(PlayerInfo* player);
 
@@ -75,7 +70,6 @@
 
             void networkcallback_applyXMLFile();
 
-            std::string                    description_;
             std::string                    gametype_;
             std::string                    xmlfilename_;
             XMLFile*                       xmlfile_;

Modified: code/branches/presentation2011/src/orxonox/LevelInfo.cc
===================================================================
--- code/branches/presentation2011/src/orxonox/LevelInfo.cc	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/LevelInfo.cc	2011-12-14 13:12:11 UTC (rev 8977)
@@ -86,11 +86,12 @@
         if(!LevelInfoItem::initialized_s)
         {
             LevelInfoItem::possibleTags_s.insert("test");
-            LevelInfoItem::possibleTags_s.insert("singleplayer");
-            LevelInfoItem::possibleTags_s.insert("multiplayer");
             LevelInfoItem::possibleTags_s.insert("showcase");
             LevelInfoItem::possibleTags_s.insert("tutorial");
             LevelInfoItem::possibleTags_s.insert("presentation");
+            LevelInfoItem::possibleTags_s.insert("mission");
+            LevelInfoItem::possibleTags_s.insert("gametype");
+            LevelInfoItem::possibleTags_s.insert("minigame");
         }
     }
 
@@ -188,6 +189,7 @@
         SUPER(LevelInfo, XMLPort, xmlelement, mode);
 
         XMLPortParam(LevelInfo, "description", setDescription, getDescription, xmlelement, mode);
+        XMLPortParam(LevelInfo, "screenshot", setScreenshot, getScreenshot, xmlelement, mode);
         XMLPortParam(LevelInfo, "tags", setTags, getTags, xmlelement, mode);
     }
 
@@ -202,6 +204,7 @@
     {
         LevelInfoItem* info = new LevelInfoItem(this->BaseObject::getName(), this->getXMLFilename());
         info->setDescription(this->getDescription());
+        info->setScreenshot(this->getScreenshot());
         info->setTags(this->getTags());
         return info;
     }

Modified: code/branches/presentation2011/src/orxonox/LevelInfo.h
===================================================================
--- code/branches/presentation2011/src/orxonox/LevelInfo.h	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/LevelInfo.h	2011-12-14 13:12:11 UTC (rev 8977)
@@ -76,6 +76,17 @@
             @return Returns the name of the Level.
             */
             inline const std::string& getName(void) const { return this->name_; } // tolua_export
+        
+            /**
+            @brief Set the screenshot of the Level.
+            @param screenshot The screenshot to be set.
+            */
+            inline void setScreenshot(const std::string& screenshot) { this->screenshot_ = std::string(screenshot); }
+            /**
+            @brief Get the screenshot of the Level.
+            @return Returns the screenshot of the Level.
+            */
+            inline const std::string& getScreenshot() const { return this->screenshot_; } // tolua_export
 
             /**
             @brief Set the description of the Level.
@@ -137,6 +148,7 @@
 
             std::string name_; //!< The name of the Level.
             std::string description_; //!< The description of the Level.
+            std::string screenshot_; //!< The screenshot of the Level.
             std::set<std::string> tags_; //!< The set of tags the Level is tagged with.
             std::string tagsString_; //!< The comma-seperated string of all the tags the Level is tagged with.
     }; // tolua_export
@@ -147,6 +159,7 @@
         The following parameters can be specified:
         - @b name The name of the level.
         - @b description The description of the level.
+        - @b screenshot The screenshot of the level.
         - @b tags A comma-seperated string of tags. Allowed tags are: <em>test</em>, <em>singleplayer</em>, <em>multiplayer</em>, <em>showcase</em>, <em>tutorial</em>, <em>presentation</em>.
 
         An example would be:
@@ -154,6 +167,7 @@
         <LevelInfo
             name = "Levelname"lhs->compare(rhs) < 0
             description = "This is just some awesome level."
+            screenshot = "Screenshot.png"
             tags = "test, awesome"
         />
         @endcode
@@ -171,6 +185,17 @@
             virtual ~LevelInfo();
 
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Creates a LevelInfo object through XML.
+        
+            /**
+            @brief Set the screenshot of the Level.
+            @param screenshot The screenshot to be set.
+            */
+            inline void setScreenshot(const std::string& screenshot) { this->LevelInfoItem::setScreenshot(screenshot); }
+            /**
+            @brief Get the screenshot of the Level.
+            @return Returns the screenshot of the Level.
+            */
+            inline const std::string& getScreenshot() const { return this->LevelInfoItem::getScreenshot(); }
 
             /**
             @brief Set the description of the Level.

Modified: code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.cc
===================================================================
--- code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.cc	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.cc	2011-12-14 13:12:11 UTC (rev 8977)
@@ -269,7 +269,7 @@
     {
     }
 
-    void FpsPlayer::boost() //acctually jump
+    void FpsPlayer::boost(bool bBoost) //acctually jump
     {
         if (this->isFloor_)
         {

Modified: code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.h
===================================================================
--- code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.h	2011-12-14 12:50:57 UTC (rev 8976)
+++ code/branches/presentation2011/src/orxonox/worldentities/pawns/FpsPlayer.h	2011-12-14 13:12:11 UTC (rev 8977)
@@ -64,7 +64,7 @@
             inline const std::string& getMeshSource() const
                 { return this->meshSrc_; }
 
-            void boost(); //acctually jump
+            void boost(bool bBoost); //acctually jump
 
             virtual void fire();
 




More information about the Orxonox-commit mailing list