[Orxonox-commit 237] r2896 - in trunk: . bin cmake src/core src/core/input src/cpptcl src/network src/network/packet src/network/synchronisable src/orxonox src/orxonox/gamestates src/orxonox/gui src/orxonox/objects src/orxonox/objects/collisionshapes src/orxonox/objects/controllers src/orxonox/objects/gametypes src/orxonox/objects/infos src/orxonox/objects/items src/orxonox/objects/pickup src/orxonox/objects/quest src/orxonox/objects/weaponSystem src/orxonox/objects/weaponSystem/projectiles src/orxonox/objects/worldentities src/orxonox/objects/worldentities/pawns src/orxonox/objects/worldentities/triggers src/orxonox/overlays src/orxonox/overlays/console src/orxonox/overlays/debug src/orxonox/overlays/hud src/orxonox/tools src/tolua src/util

landauf at orxonox.net landauf at orxonox.net
Mon Apr 6 01:59:02 CEST 2009


Author: landauf
Date: 2009-04-06 01:59:00 +0200 (Mon, 06 Apr 2009)
New Revision: 2896

Added:
   trunk/src/core/Game.cc
   trunk/src/core/Game.h
   trunk/src/core/GameMode.cc
   trunk/src/core/GameMode.h
   trunk/src/orxonox/GraphicsManager.cc
   trunk/src/orxonox/GraphicsManager.h
   trunk/src/orxonox/gamestates/GSMainMenu.cc
   trunk/src/orxonox/gamestates/GSMainMenu.h
   trunk/src/orxonox/tools/TimeFactorListener.cc
   trunk/src/orxonox/tools/TimeFactorListener.h
Removed:
   trunk/src/core/RootGameState.cc
   trunk/src/core/RootGameState.h
   trunk/src/orxonox/GraphicsEngine.cc
   trunk/src/orxonox/GraphicsEngine.h
   trunk/src/orxonox/gamestates/GSGUI.cc
   trunk/src/orxonox/gamestates/GSGUI.h
Modified:
   trunk/
   trunk/bin/client1.bat.in
   trunk/bin/client1.in
   trunk/bin/client2.bat.in
   trunk/bin/client2.in
   trunk/bin/dedicated.bat.in
   trunk/bin/dedicated.in
   trunk/bin/run.bat.in
   trunk/bin/server.bat.in
   trunk/bin/server.in
   trunk/bin/standalone.bat.in
   trunk/bin/standalone.in
   trunk/cmake/BuildConfig.cmake
   trunk/cmake/BuildConfigGCC.cmake
   trunk/cmake/FindDirectX.cmake
   trunk/cmake/LibraryConfigTardis.cmake
   trunk/src/core/CMakeLists.txt
   trunk/src/core/Clock.h
   trunk/src/core/ConfigFileManager.cc
   trunk/src/core/Core.cc
   trunk/src/core/Core.h
   trunk/src/core/CorePrereqs.h
   trunk/src/core/GameState.cc
   trunk/src/core/GameState.h
   trunk/src/core/Iterator.h
   trunk/src/core/LuaBind.cc
   trunk/src/core/LuaBind.h
   trunk/src/core/ObjectListBase.h
   trunk/src/core/TclThreadManager.cc
   trunk/src/core/TclThreadManager.h
   trunk/src/core/Template.cc
   trunk/src/core/Template.h
   trunk/src/core/XMLFile.h
   trunk/src/core/XMLIncludes.h
   trunk/src/core/XMLPort.h
   trunk/src/core/input/CalibratorCallback.h
   trunk/src/core/input/ExtendedInputState.cc
   trunk/src/core/input/ExtendedInputState.h
   trunk/src/core/input/InputBuffer.cc
   trunk/src/core/input/InputBuffer.h
   trunk/src/core/input/InputInterfaces.h
   trunk/src/core/input/InputManager.cc
   trunk/src/core/input/InputManager.h
   trunk/src/core/input/InputState.h
   trunk/src/core/input/KeyBinder.cc
   trunk/src/core/input/KeyBinder.h
   trunk/src/core/input/SimpleInputState.h
   trunk/src/cpptcl/cpptcl.cc
   trunk/src/cpptcl/cpptcl.h
   trunk/src/network/ChatListener.cc
   trunk/src/network/Client.cc
   trunk/src/network/Client.h
   trunk/src/network/ClientConnectionListener.cc
   trunk/src/network/ConnectionManager.cc
   trunk/src/network/Server.cc
   trunk/src/network/Server.h
   trunk/src/network/TrafficControl.cc
   trunk/src/network/packet/Gamestate.cc
   trunk/src/network/packet/Gamestate.h
   trunk/src/network/synchronisable/NetworkCallback.h
   trunk/src/network/synchronisable/Synchronisable.cc
   trunk/src/network/synchronisable/Synchronisable.h
   trunk/src/network/synchronisable/SynchronisableVariable.cc
   trunk/src/network/synchronisable/SynchronisableVariable.h
   trunk/src/orxonox/CMakeLists.txt
   trunk/src/orxonox/CameraManager.cc
   trunk/src/orxonox/CameraManager.h
   trunk/src/orxonox/Main.cc
   trunk/src/orxonox/OrxonoxPrereqs.h
   trunk/src/orxonox/PlayerManager.cc
   trunk/src/orxonox/gamestates/CMakeLists.txt
   trunk/src/orxonox/gamestates/GSClient.cc
   trunk/src/orxonox/gamestates/GSClient.h
   trunk/src/orxonox/gamestates/GSDedicated.cc
   trunk/src/orxonox/gamestates/GSDedicated.h
   trunk/src/orxonox/gamestates/GSGraphics.cc
   trunk/src/orxonox/gamestates/GSGraphics.h
   trunk/src/orxonox/gamestates/GSIOConsole.cc
   trunk/src/orxonox/gamestates/GSIOConsole.h
   trunk/src/orxonox/gamestates/GSLevel.cc
   trunk/src/orxonox/gamestates/GSLevel.h
   trunk/src/orxonox/gamestates/GSRoot.cc
   trunk/src/orxonox/gamestates/GSRoot.h
   trunk/src/orxonox/gamestates/GSServer.cc
   trunk/src/orxonox/gamestates/GSServer.h
   trunk/src/orxonox/gamestates/GSStandalone.cc
   trunk/src/orxonox/gamestates/GSStandalone.h
   trunk/src/orxonox/gui/GUIManager.cc
   trunk/src/orxonox/gui/GUIManager.h
   trunk/src/orxonox/objects/EventTarget.cc
   trunk/src/orxonox/objects/Level.cc
   trunk/src/orxonox/objects/Level.h
   trunk/src/orxonox/objects/Radar.cc
   trunk/src/orxonox/objects/Scene.cc
   trunk/src/orxonox/objects/collisionshapes/
   trunk/src/orxonox/objects/controllers/AIController.cc
   trunk/src/orxonox/objects/gametypes/Gametype.cc
   trunk/src/orxonox/objects/infos/Bot.cc
   trunk/src/orxonox/objects/infos/HumanPlayer.cc
   trunk/src/orxonox/objects/items/MultiStateEngine.cc
   trunk/src/orxonox/objects/pickup/PickupSpawner.cc
   trunk/src/orxonox/objects/pickup/Usable.h
   trunk/src/orxonox/objects/quest/AddQuest.cc
   trunk/src/orxonox/objects/quest/AddQuest.h
   trunk/src/orxonox/objects/quest/AddQuestHint.cc
   trunk/src/orxonox/objects/quest/AddQuestHint.h
   trunk/src/orxonox/objects/quest/AddReward.cc
   trunk/src/orxonox/objects/quest/AddReward.h
   trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc
   trunk/src/orxonox/objects/quest/ChangeQuestStatus.h
   trunk/src/orxonox/objects/quest/CompleteQuest.cc
   trunk/src/orxonox/objects/quest/CompleteQuest.h
   trunk/src/orxonox/objects/quest/FailQuest.cc
   trunk/src/orxonox/objects/quest/FailQuest.h
   trunk/src/orxonox/objects/quest/GlobalQuest.cc
   trunk/src/orxonox/objects/quest/GlobalQuest.h
   trunk/src/orxonox/objects/quest/LocalQuest.cc
   trunk/src/orxonox/objects/quest/LocalQuest.h
   trunk/src/orxonox/objects/quest/Quest.cc
   trunk/src/orxonox/objects/quest/Quest.h
   trunk/src/orxonox/objects/quest/QuestDescription.cc
   trunk/src/orxonox/objects/quest/QuestDescription.h
   trunk/src/orxonox/objects/quest/QuestEffect.cc
   trunk/src/orxonox/objects/quest/QuestEffect.h
   trunk/src/orxonox/objects/quest/QuestHint.cc
   trunk/src/orxonox/objects/quest/QuestHint.h
   trunk/src/orxonox/objects/quest/QuestItem.cc
   trunk/src/orxonox/objects/quest/QuestItem.h
   trunk/src/orxonox/objects/quest/QuestManager.cc
   trunk/src/orxonox/objects/quest/QuestManager.h
   trunk/src/orxonox/objects/quest/Rewardable.cc
   trunk/src/orxonox/objects/quest/Rewardable.h
   trunk/src/orxonox/objects/weaponSystem/WeaponSystem.cc
   trunk/src/orxonox/objects/weaponSystem/WeaponSystem.h
   trunk/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc
   trunk/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc
   trunk/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc
   trunk/src/orxonox/objects/worldentities/Backlight.cc
   trunk/src/orxonox/objects/worldentities/Backlight.h
   trunk/src/orxonox/objects/worldentities/Billboard.cc
   trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
   trunk/src/orxonox/objects/worldentities/Camera.cc
   trunk/src/orxonox/objects/worldentities/Camera.h
   trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
   trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
   trunk/src/orxonox/objects/worldentities/Light.cc
   trunk/src/orxonox/objects/worldentities/MobileEntity.cc
   trunk/src/orxonox/objects/worldentities/MobileEntity.h
   trunk/src/orxonox/objects/worldentities/Model.cc
   trunk/src/orxonox/objects/worldentities/MovableEntity.cc
   trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
   trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc
   trunk/src/orxonox/objects/worldentities/ParticleSpawner.h
   trunk/src/orxonox/objects/worldentities/Planet.cc
   trunk/src/orxonox/objects/worldentities/PongBall.cc
   trunk/src/orxonox/objects/worldentities/StaticEntity.cc
   trunk/src/orxonox/objects/worldentities/StaticEntity.h
   trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
   trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
   trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
   trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
   trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
   trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
   trunk/src/orxonox/overlays/OrxonoxOverlay.cc
   trunk/src/orxonox/overlays/OrxonoxOverlay.h
   trunk/src/orxonox/overlays/console/InGameConsole.cc
   trunk/src/orxonox/overlays/console/InGameConsole.h
   trunk/src/orxonox/overlays/debug/DebugFPSText.cc
   trunk/src/orxonox/overlays/debug/DebugRTRText.cc
   trunk/src/orxonox/overlays/hud/HUDRadar.cc
   trunk/src/orxonox/tools/BillboardSet.cc
   trunk/src/orxonox/tools/CMakeLists.txt
   trunk/src/orxonox/tools/Mesh.cc
   trunk/src/orxonox/tools/ParticleInterface.cc
   trunk/src/orxonox/tools/ParticleInterface.h
   trunk/src/orxonox/tools/Shader.cc
   trunk/src/orxonox/tools/Timer.h
   trunk/src/orxonox/tools/WindowEventListener.h
   trunk/src/tolua/all-5.0.lua
   trunk/src/tolua/all-5.1.lua
   trunk/src/util/
   trunk/src/util/Exception.cc
   trunk/src/util/Exception.h
   trunk/src/util/SignalHandler.cc
   trunk/src/util/SignalHandler.h
Log:
Merged gui branch back to trunk.

I did 2 small changes in IngameManager.cc on line 777 and 888 (yes, really), because const_reverse_iterator strangely doesn't work on MinGW.


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem:1875-2277,2279-2401
/branches/buildsystem2:2507-2659
/branches/buildsystem3:2663-2709
/branches/ceguilua:1803-1809
/branches/core3:1573-1740
/branches/gcc43:1581
/branches/gui:1636-1724
/branches/input:1630-1637
/branches/lodfinal:2373-2412
/branches/miniprojects:2755-2825
/branches/network:2357
/branches/network64:2211-2356
/branches/objecthierarchy:1912-2086,2101,2111-2170
/branches/objecthierarchy2:2172-2480
/branches/overlay:2118-2386
/branches/physics:1913-2056,2108-2440
/branches/physics_merge:2437-2458
/branches/pickups:1927-2087,2128
/branches/pickups2:2108-2498
/branches/presentation:2370-2653,2655-2661
/branches/questsystem:1895-2089
/branches/questsystem2:2108-2260
/branches/script_trigger:1296-1954,1956
/branches/weapon:1926-2095
/branches/weapon2:2108-2489
/branches/weaponsystem:2743-2891
   + /branches/buildsystem:1875-2277,2279-2401
/branches/buildsystem2:2507-2659
/branches/buildsystem3:2663-2709
/branches/ceguilua:1803-1809
/branches/core3:1573-1740
/branches/gcc43:1581
/branches/gui:1636-1724,2796-2895
/branches/input:1630-1637
/branches/lodfinal:2373-2412
/branches/miniprojects:2755-2825
/branches/network:2357
/branches/network64:2211-2356
/branches/objecthierarchy:1912-2086,2101,2111-2170
/branches/objecthierarchy2:2172-2480
/branches/overlay:2118-2386
/branches/physics:1913-2056,2108-2440
/branches/physics_merge:2437-2458
/branches/pickups:1927-2087,2128
/branches/pickups2:2108-2498
/branches/presentation:2370-2653,2655-2661
/branches/questsystem:1895-2089
/branches/questsystem2:2108-2260
/branches/script_trigger:1296-1954,1956
/branches/weapon:1926-2095
/branches/weapon2:2108-2489
/branches/weaponsystem:2743-2891

Modified: trunk/bin/client1.bat.in
===================================================================
--- trunk/bin/client1.bat.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/client1.bat.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 title @PROJECT_NAME@
 path @ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS@;%path%
- at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --state client --directory client1
+ at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --client --writingPathSuffix client1
 pause


Property changes on: trunk/bin/client1.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/client1.bat.in:2755-2825
/branches/weaponsystem/bin/client1.bat.in:2743-2891
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/client1.bat.in:2796-2895
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/client1.bat.in:2755-2825
/branches/weaponsystem/bin/client1.bat.in:2743-2891

Modified: trunk/bin/client1.in
===================================================================
--- trunk/bin/client1.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/client1.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # convenience script for starting orxonox on Linux
 
-exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --state client --directory client1 $@
+exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --client --writingPathSuffix client1 $@

Modified: trunk/bin/client2.bat.in
===================================================================
--- trunk/bin/client2.bat.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/client2.bat.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 title @PROJECT_NAME@
 path @ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS@;%path%
- at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --state client --directory client2
+ at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --client --writingPathSuffix client2
 pause


Property changes on: trunk/bin/client2.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/client2.bat.in:2755-2825
/branches/weaponsystem/bin/client2.bat.in:2743-2891
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/client2.bat.in:2796-2895
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/client2.bat.in:2755-2825
/branches/weaponsystem/bin/client2.bat.in:2743-2891

Modified: trunk/bin/client2.in
===================================================================
--- trunk/bin/client2.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/client2.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # convenience script for starting orxonox on Linux
 
-exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --state client --directory client2 $@
+exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --client --writingPathSuffix client2 $@

Modified: trunk/bin/dedicated.bat.in
===================================================================
--- trunk/bin/dedicated.bat.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/dedicated.bat.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 title @PROJECT_NAME@
 path @ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS@;%path%
- at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --state dedicated --directory dedicated
+ at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --dedicated --writingPathSuffix dedicated
 pause


Property changes on: trunk/bin/dedicated.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/dedicated.bat.in:2755-2825
/branches/weaponsystem/bin/dedicated.bat.in:2743-2891
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/dedicated.bat.in:2796-2895
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/dedicated.bat.in:2755-2825
/branches/weaponsystem/bin/dedicated.bat.in:2743-2891

Modified: trunk/bin/dedicated.in
===================================================================
--- trunk/bin/dedicated.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/dedicated.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # convenience script for starting orxonox on Linux
 
-exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --state dedicated --directory dedicated $@
+exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --dedicated --writingPathSuffix dedicated $@


Property changes on: trunk/bin/run.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/run.bat.in:2755-2825
/branches/weaponsystem/bin/run.bat.in:2743-2891
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/gui/bin/run.bat.in:2796-2895
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/run.bat.in:2755-2825
/branches/weaponsystem/bin/run.bat.in:2743-2891

Modified: trunk/bin/server.bat.in
===================================================================
--- trunk/bin/server.bat.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/server.bat.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 title @PROJECT_NAME@
 path @ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS@;%path%
- at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --state server --directory server
+ at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --server --writingPathSuffix server
 pause


Property changes on: trunk/bin/server.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/server.bat.in:2755-2825
/branches/weaponsystem/bin/server.bat.in:2743-2891
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/gui/bin/server.bat.in:2796-2895
/branches/input/bin/orxonox.bat:1630-1637
/branches/miniprojects/bin/server.bat.in:2755-2825
/branches/weaponsystem/bin/server.bat.in:2743-2891

Modified: trunk/bin/server.in
===================================================================
--- trunk/bin/server.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/server.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # convenience script for starting orxonox on Linux
 
-exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --state server --directory server $@
+exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --server --writingPathSuffix server $@

Modified: trunk/bin/standalone.bat.in
===================================================================
--- trunk/bin/standalone.bat.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/standalone.bat.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 title @PROJECT_NAME@
 path @ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS@;%path%
- at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --state standalone --directory standalone
+ at CURRENT_RUNTIME_DIR_WINDOWS@\@ORXONOX_EXECUTABLE_NAME@ --standalone --writingPathSuffix standalone
 pause


Property changes on: trunk/bin/standalone.bat.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/input/bin/orxonox.bat:1630-1637
   + /branches/buildsystem/bin/mingw/orxonox.bat:2279-2401
/branches/ceguilua/bin/orxonox.bat:1803-1809
/branches/core3/bin/orxonox.bat:1573-1740
/branches/gcc43/bin/orxonox.bat:1581
/branches/gui/bin/orxonox.bat:1636-1724
/branches/gui/bin/standalone.bat.in:2796-2895
/branches/input/bin/orxonox.bat:1630-1637

Modified: trunk/bin/standalone.in
===================================================================
--- trunk/bin/standalone.in	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/bin/standalone.in	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # convenience script for starting orxonox on Linux
 
-exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --state standalone --directory standalone $@
+exec @CURRENT_RUNTIME_DIR@/@ORXONOX_EXECUTABLE_NAME@ --standalone --writingPathSuffix standalone $@

Modified: trunk/cmake/BuildConfig.cmake
===================================================================
--- trunk/cmake/BuildConfig.cmake	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/cmake/BuildConfig.cmake	2009-04-05 23:59:00 UTC (rev 2896)
@@ -89,7 +89,7 @@
 
 ################ Compiler Config ################
 
-OPTION(EXTRA_COMPILER_WARNINGS "Enable some extra warnings (heavily pollutes the output)")
+OPTION(EXTRA_COMPILER_WARNINGS "Enable some extra warnings (heavily pollutes the output)" FALSE)
 
 INCLUDE(FlagUtilities)
 

Modified: trunk/cmake/BuildConfigGCC.cmake
===================================================================
--- trunk/cmake/BuildConfigGCC.cmake	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/cmake/BuildConfigGCC.cmake	2009-04-05 23:59:00 UTC (rev 2896)
@@ -62,6 +62,10 @@
 # because of boost::filesystem (which creates about a hundred per include)
 ADD_COMPILER_FLAGS("-Wno-sign-compare" GCC_NO_SYSTEM_HEADER_SUPPORT CACHE)
 
+# For newer GCC (4.3 and above), don't display hundreds of annoying deprecated
+# messages. Other versions don't seem to show any such warnings at all.
+ADD_COMPILER_FLAGS("-Wno-deprecated" CXX)
+
 # Increase warning level if requested
 IF(EXTRA_COMPILER_WARNINGS)
   ADD_COMPILER_FLAGS("-Wall -Wextra -Wno-unused-parameter" CACHE)


Property changes on: trunk/cmake/FindDirectX.cmake
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/cmake/FindDirectX.cmake:1875-2401
/branches/buildsystem2/cmake/FindDirectX.cmake:2507-2659
/branches/buildsystem3/cmake/FindDirectX.cmake:2663-2709
/branches/ceguilua/cmake/FindDirectX.cmake:1803-1809
/branches/core3/cmake/FindDirectX.cmake:1573-1740
/branches/gcc43/cmake/FindDirectX.cmake:1581
/branches/gui/cmake/FindDirectX.cmake:1636-1724
/branches/input/cmake/FindDirectX.cmake:1630-1637
/branches/lodfinal/cmake/FindDirectX.cmake:2373-2412
/branches/miniprojects/cmake/FindDirectX.cmake:2755-2825
/branches/network/cmake/FindDirectX.cmake:2357
/branches/network64/cmake/FindDirectX.cmake:2211-2356
/branches/objecthierarchy/cmake/FindDirectX.cmake:1912-2086,2101,2111-2170
/branches/objecthierarchy2/cmake/FindDirectX.cmake:2172-2480
/branches/overlay/cmake/FindDirectX.cmake:2118-2386
/branches/physics/cmake/FindDirectX.cmake:1913-2056,2108-2440
/branches/physics_merge/cmake/FindDirectX.cmake:2437-2458
/branches/pickups/cmake/FindDirectX.cmake:1927-2087,2128
/branches/pickups2/cmake/FindDirectX.cmake:2108-2498
/branches/presentation/cmake/FindDirectX.cmake:2370-2653,2655-2661
/branches/questsystem/cmake/FindDirectX.cmake:1895-2089
/branches/questsystem2/cmake/FindDirectX.cmake:2108-2260
/branches/script_trigger/cmake/FindDirectX.cmake:1296-1954,1956
/branches/weapon/cmake/FindDirectX.cmake:1926-2095
/branches/weapon2/cmake/FindDirectX.cmake:2108-2489
/branches/weaponsystem/cmake/FindDirectX.cmake:2743-2891
   + /branches/buildsystem/cmake/FindDirectX.cmake:1875-2401
/branches/buildsystem2/cmake/FindDirectX.cmake:2507-2659
/branches/buildsystem3/cmake/FindDirectX.cmake:2663-2709
/branches/ceguilua/cmake/FindDirectX.cmake:1803-1809
/branches/core3/cmake/FindDirectX.cmake:1573-1740
/branches/gcc43/cmake/FindDirectX.cmake:1581
/branches/gui/cmake/FindDirectX.cmake:1636-1724,2796-2895
/branches/input/cmake/FindDirectX.cmake:1630-1637
/branches/lodfinal/cmake/FindDirectX.cmake:2373-2412
/branches/miniprojects/cmake/FindDirectX.cmake:2755-2825
/branches/network/cmake/FindDirectX.cmake:2357
/branches/network64/cmake/FindDirectX.cmake:2211-2356
/branches/objecthierarchy/cmake/FindDirectX.cmake:1912-2086,2101,2111-2170
/branches/objecthierarchy2/cmake/FindDirectX.cmake:2172-2480
/branches/overlay/cmake/FindDirectX.cmake:2118-2386
/branches/physics/cmake/FindDirectX.cmake:1913-2056,2108-2440
/branches/physics_merge/cmake/FindDirectX.cmake:2437-2458
/branches/pickups/cmake/FindDirectX.cmake:1927-2087,2128
/branches/pickups2/cmake/FindDirectX.cmake:2108-2498
/branches/presentation/cmake/FindDirectX.cmake:2370-2653,2655-2661
/branches/questsystem/cmake/FindDirectX.cmake:1895-2089
/branches/questsystem2/cmake/FindDirectX.cmake:2108-2260
/branches/script_trigger/cmake/FindDirectX.cmake:1296-1954,1956
/branches/weapon/cmake/FindDirectX.cmake:1926-2095
/branches/weapon2/cmake/FindDirectX.cmake:2108-2489
/branches/weaponsystem/cmake/FindDirectX.cmake:2743-2891


Property changes on: trunk/cmake/LibraryConfigTardis.cmake
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/cmake/CheckTardis.cmake:1875-2277,2279-2401
/branches/ceguilua/cmake/CheckTardis.cmake:1803-1809
/branches/core3/cmake/CheckTardis.cmake:1573-1740
/branches/gcc43/cmake/CheckTardis.cmake:1581
/branches/gui/cmake/CheckTardis.cmake:1636-1724
/branches/input/cmake/CheckTardis.cmake:1630-1637
/branches/miniprojects/cmake/LibraryConfigTardis.cmake:2755-2825
/branches/objecthierarchy/cmake/CheckTardis.cmake:1912-2086,2101,2111-2170
/branches/pickups/cmake/CheckTardis.cmake:1927-2087
/branches/questsystem/cmake/CheckTardis.cmake:1895-2089
/branches/questsystem2/cmake/CheckTardis.cmake:2108-2260
/branches/script_trigger/cmake/CheckTardis.cmake:1296-1954,1956
/branches/weapon/cmake/CheckTardis.cmake:1926-2095
/branches/weaponsystem/cmake/LibraryConfigTardis.cmake:2743-2891
   + /branches/buildsystem/cmake/CheckTardis.cmake:1875-2277,2279-2401
/branches/ceguilua/cmake/CheckTardis.cmake:1803-1809
/branches/core3/cmake/CheckTardis.cmake:1573-1740
/branches/gcc43/cmake/CheckTardis.cmake:1581
/branches/gui/cmake/CheckTardis.cmake:1636-1724
/branches/gui/cmake/LibraryConfigTardis.cmake:2796-2895
/branches/input/cmake/CheckTardis.cmake:1630-1637
/branches/miniprojects/cmake/LibraryConfigTardis.cmake:2755-2825
/branches/objecthierarchy/cmake/CheckTardis.cmake:1912-2086,2101,2111-2170
/branches/pickups/cmake/CheckTardis.cmake:1927-2087
/branches/questsystem/cmake/CheckTardis.cmake:1895-2089
/branches/questsystem2/cmake/CheckTardis.cmake:2108-2260
/branches/script_trigger/cmake/CheckTardis.cmake:1296-1954,1956
/branches/weapon/cmake/CheckTardis.cmake:1926-2095
/branches/weaponsystem/cmake/LibraryConfigTardis.cmake:2743-2891

Modified: trunk/src/core/CMakeLists.txt
===================================================================
--- trunk/src/core/CMakeLists.txt	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/CMakeLists.txt	2009-04-05 23:59:00 UTC (rev 2896)
@@ -23,12 +23,13 @@
   ConfigValueContainer.cc
   Core.cc
   Event.cc
+  Game.cc
+  GameMode.cc
   GameState.cc
   Language.cc
   LuaBind.cc
   ObjectListBase.cc
   OrxonoxClass.cc
-  RootGameState.cc
 
   # command
   ArgumentCompletionFunctions.cc

Modified: trunk/src/core/Clock.h
===================================================================
--- trunk/src/core/Clock.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/Clock.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -44,12 +44,12 @@
 {
     class _CoreExport Clock
     {
-        friend class RootGameState;
-
     public:
         Clock();
         ~Clock();
 
+        void capture();
+
         unsigned long long getMicroseconds()   const { return tickTime_; }
         unsigned long long getMilliseconds()   const { return tickTime_ / 1000; }
         int                getSeconds()        const { return tickTime_ / 1000000; }
@@ -62,7 +62,6 @@
 
     private:
         Clock(const Clock& instance);
-        void capture();
 
         Ogre::Timer*       timer_;
         unsigned long long storedTime_;

Modified: trunk/src/core/ConfigFileManager.cc
===================================================================
--- trunk/src/core/ConfigFileManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/ConfigFileManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -189,7 +189,7 @@
 
         this->bUpdated_ = true;
 
-        return this->entries_.insert(this->entries_.end(), (ConfigFileEntry*)(new ConfigFileEntryValue(name, fallback, bString)));
+        return this->entries_.insert(this->entries_.end(), static_cast<ConfigFileEntry*>(new ConfigFileEntryValue(name, fallback, bString)));
     }
 
     std::list<ConfigFileEntry*>::iterator ConfigFileSection::getEntryIterator(const std::string& name, unsigned int index, const std::string& fallback, bool bString)
@@ -206,9 +206,9 @@
         this->bUpdated_ = true;
 
         if (index == 0)
-            return this->entries_.insert(this->entries_.end(), (ConfigFileEntry*)(new ConfigFileEntryVectorValue(name, index, fallback, bString)));
+            return this->entries_.insert(this->entries_.end(), static_cast<ConfigFileEntry*>(new ConfigFileEntryVectorValue(name, index, fallback, bString)));
         else
-            return this->entries_.insert(++this->getEntryIterator(name, index - 1, "", bString), (ConfigFileEntry*)(new ConfigFileEntryVectorValue(name, index, fallback, bString)));
+            return this->entries_.insert(++this->getEntryIterator(name, index - 1, "", bString), static_cast<ConfigFileEntry*>(new ConfigFileEntryVectorValue(name, index, fallback, bString)));
     }
 
 

Modified: trunk/src/core/Core.cc
===================================================================
--- trunk/src/core/Core.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/Core.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -21,8 +21,9 @@
  *
  *   Author:
  *      Fabian 'x3n' Landau
+ *      Reto Grieder
  *   Co-authors:
- *      Reto Grieder
+ *      ...
  *
  */
 
@@ -40,6 +41,9 @@
 #include <boost/filesystem.hpp>
 
 #ifdef ORXONOX_PLATFORM_WINDOWS
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
 #  include <windows.h>
 #elif defined(ORXONOX_PLATFORM_APPLE)
 #  include <sys/param.h>
@@ -50,12 +54,22 @@
 #endif
 
 #include "SpecialConfig.h"
+#include "util/Debug.h"
 #include "util/Exception.h"
+#include "util/SignalHandler.h"
+#include "Clock.h"
+#include "CommandExecutor.h"
+#include "CommandLine.h"
+#include "ConfigFileManager.h"
+#include "ConfigValueIncludes.h"
+#include "CoreIncludes.h"
+#include "Factory.h"
+#include "Identifier.h"
 #include "Language.h"
-#include "CoreIncludes.h"
-#include "ConfigValueIncludes.h"
 #include "LuaBind.h"
-#include "CommandLine.h"
+#include "Shell.h"
+#include "TclBind.h"
+#include "TclThreadManager.h"
 
 namespace orxonox
 {
@@ -66,41 +80,91 @@
     static boost::filesystem::path configPath_g;                //!< Path to the config file folder
     static boost::filesystem::path logPath_g;                   //!< Path to the log file folder
 
-    bool Core::bShowsGraphics_s = false;
-    bool Core::bHasServer_s     = false;
-    bool Core::bIsClient_s      = false;
-    bool Core::bIsStandalone_s  = false;
-    bool Core::bIsMaster_s      = false;
-
-    bool Core::isDevBuild_s     = false;
     Core* Core::singletonRef_s  = 0;
 
     SetCommandLineArgument(mediaPath, "").information("PATH");
-    SetCommandLineArgument(directory, "").information("DIR");
+    SetCommandLineArgument(writingPathSuffix, "").information("DIR");
+    SetCommandLineArgument(settingsFile, "orxonox.ini");
+    SetCommandLineArgument(limitToCPU, 0).information("0: off | #cpu");
 
-    /**
-        @brief Constructor: Registers the object and sets the config-values.
-        @param A reference to a global variable, used to avoid an infinite recursion in getSoftDebugLevel()
-    */
     Core::Core()
     {
         RegisterRootObject(Core);
 
         assert(Core::singletonRef_s == 0);
         Core::singletonRef_s = this;
+    }
 
-        this->bInitializeRandomNumberGenerator_ = false;
-        this->setConfigValues();
+    void Core::initialise(int argc, char** argv)
+    {
+        // Parse command line arguments fist
+        try
+        {
+            CommandLine::parseAll(argc, argv);
+        }
+        catch (ArgumentException& ex)
+        {
+            COUT(1) << ex.what() << std::endl;
+            COUT(0) << "Usage:" << std::endl << "orxonox " << CommandLine::getUsageInformation() << std::endl;
+        }
 
+        // limit the main thread to the first core so that QueryPerformanceCounter doesn't jump
+        // do this after ogre has initialised. Somehow Ogre changes the settings again (not through
+        // the timer though).
+        int limitToCPU = CommandLine::getValue("limitToCPU");
+        if (limitToCPU > 0)
+            setThreadAffinity((unsigned int)limitToCPU);
+
+        // Determine and set the location of the executable
+        setExecutablePath();
+
+        // Determine whether we have an installed or a binary dir run
+        // The latter occurs when simply running from the build directory
+        checkDevBuild();
+
+        // Make sure the directories we write in exist or else make them
+        createDirectories();
+
+        // create a signal handler (only active for linux)
+        // This call is placed as soon as possible, but after the directories are set
+        this->signalHandler_ = new SignalHandler();
+        this->signalHandler_->doCatch(executablePath_g.string(), Core::getLogPathString() + "orxonox_crash.log");
+
         // Set the correct log path. Before this call, /tmp (Unix) or %TEMP% was used
         OutputHandler::getOutStream().setLogPath(Core::getLogPathString());
 
+        // Manage ini files and set the default settings file (usually orxonox.ini)
+        this->configFileManager_ = new ConfigFileManager();
+        this->configFileManager_->setFilename(ConfigFileType::Settings,
+            CommandLine::getValue("settingsFile").getString());
+
+        this->languageInstance_ = new Language();
+
+        // Do this soon after the ConfigFileManager has been created to open up the
+        // possibility to configure everything below here
+        this->setConfigValues();
+
         // Possible media path override by the command line
         if (!CommandLine::getArgument("mediaPath")->hasDefaultValue())
         {
             //std::string mediaPath = CommandLine::getValue("mediaPath");
             Core::tsetMediaPath(CommandLine::getValue("mediaPath"));
         }
+
+        // Create the lua interface
+        this->luaBind_ = new LuaBind();
+
+        // initialise Tcl
+        this->tclBind_ = new TclBind(Core::getMediaPathString());
+        this->tclThreadManager_ = new TclThreadManager(tclBind_->getTclInterpreter());
+
+        // create a shell
+        this->shell_ = new Shell();
+
+        // creates the class hierarchy for all classes with factories
+        Factory::createClassHierarchy();
+        
+        this->loaded_ = true;
     }
 
     /**
@@ -108,6 +172,21 @@
     */
     Core::~Core()
     {
+        this->loaded_ = false;
+
+        delete this->shell_;
+        delete this->tclThreadManager_;
+        delete this->tclBind_;
+        delete this->luaBind_;
+        delete this->languageInstance_;
+        delete this->configFileManager_;
+        delete this->signalHandler_;
+
+        // Destroy command line arguments
+        CommandLine::destroyAllArguments();
+        // Also delete external console command that don't belong to an Identifier
+        CommandExecutor::destroyExternalCommands();
+
         assert(Core::singletonRef_s);
         Core::singletonRef_s = 0;
     }
@@ -291,32 +370,57 @@
         }
     }
 
+
     /**
-    @brief
-        Performs the rather lower level operations just after
-        int main() has been called.
-    @remarks
-        This gets called AFTER pre-main stuff like AddFactory,
-        SetConsoleCommand, etc.
+    @note
+        The code of this function has been copied and adjusted from OGRE, an open source graphics engine.
+            (Object-oriented Graphics Rendering Engine)
+        For the latest info, see http://www.ogre3d.org/
+
+        Copyright (c) 2000-2008 Torus Knot Software Ltd
+
+        OGRE is licensed under the LGPL. For more info, see OGRE license.
     */
-    /*static*/ void Core::postMainInitialisation()
+    void Core::setThreadAffinity(int limitToCPU)
     {
-        // set location of the executable
-        Core::setExecutablePath();
+        if (limitToCPU <= 0)
+            return;
 
-        // Determine whether we have an installed or a binary dir run
-        // The latter occurs when simply running from the build directory
-        Core::checkDevBuild();
+#ifdef ORXONOX_PLATFORM_WINDOWS
+        unsigned int coreNr = limitToCPU - 1;
+        // Get the current process core mask
+        DWORD procMask;
+        DWORD sysMask;
+#  if _MSC_VER >= 1400 && defined (_M_X64)
+        GetProcessAffinityMask(GetCurrentProcess(), (PDWORD_PTR)&procMask, (PDWORD_PTR)&sysMask);
+#  else
+        GetProcessAffinityMask(GetCurrentProcess(), &procMask, &sysMask);
+#  endif
 
-        // Make sure the directories we write in exist or else make them
-        Core::createDirectories();
+        // If procMask is 0, consider there is only one core available
+        // (using 0 as procMask will cause an infinite loop below)
+        if (procMask == 0)
+            procMask = 1;
+
+        // if the core specified with coreNr is not available, take the lowest one
+        if (!(procMask & (1 << coreNr)))
+            coreNr = 0;
+
+        // Find the lowest core that this process uses and coreNr suggests
+        DWORD threadMask = 1;
+        while ((threadMask & procMask) == 0 || (threadMask < (1u << coreNr)))
+            threadMask <<= 1;
+
+        // Set affinity to the first core
+        SetThreadAffinityMask(GetCurrentThread(), threadMask);
+#endif
     }
 
     /**
     @brief
         Compares the executable path with the working directory
     */
-    /*static*/ void Core::setExecutablePath()
+    void Core::setExecutablePath()
     {
 #ifdef ORXONOX_PLATFORM_WINDOWS
         // get executable module
@@ -368,12 +472,12 @@
         If found it means that this is not an installed run, hence we
         don't write the logs and config files to ~/.orxonox
     */
-    /*static*/ void Core::checkDevBuild()
+    void Core::checkDevBuild()
     {
         if (boost::filesystem::exists(executablePath_g / "orxonox_dev_build.keep_me"))
         {
             COUT(1) << "Running from the build tree." << std::endl;
-            Core::isDevBuild_s = true;
+            Core::isDevBuild_ = true;
             mediaPath_g  = ORXONOX_MEDIA_DEV_PATH;
             configPath_g = ORXONOX_CONFIG_DEV_PATH;
             logPath_g    = ORXONOX_LOG_DEV_PATH;
@@ -384,7 +488,7 @@
             // Also set the root path
             boost::filesystem::path relativeExecutablePath(ORXONOX_RUNTIME_INSTALL_PATH);
             rootPath_g = executablePath_g;
-            while (!boost::filesystem::equivalent(rootPath_g / relativeExecutablePath, executablePath_g) || rootPath_g.empty())
+            while (!boost::filesystem::equivalent(rootPath_g / relativeExecutablePath, executablePath_g) && !rootPath_g.empty())
                 rootPath_g = rootPath_g.branch_path();
             if (rootPath_g.empty())
                 ThrowException(General, "Could not derive a root directory. Might the binary installation directory contain '..' when taken relative to the installation prefix path?");
@@ -415,9 +519,9 @@
         }
 
         // Option to put all the config and log files in a separate folder
-        if (!CommandLine::getArgument("directory")->hasDefaultValue())
+        if (!CommandLine::getArgument("writingPathSuffix")->hasDefaultValue())
         {
-            std::string directory(CommandLine::getValue("directory").getString());
+            std::string directory(CommandLine::getValue("writingPathSuffix").getString());
             configPath_g = configPath_g / directory;
             logPath_g    = logPath_g    / directory;
         }
@@ -428,7 +532,7 @@
         Checks for the log and the config directory and creates them
         if necessary. Otherwise me might have problems opening those files.
     */
-    /*static*/ void Core::createDirectories()
+    void Core::createDirectories()
     {
         std::vector<std::pair<boost::filesystem::path, std::string> > directories;
         directories.push_back(std::pair<boost::filesystem::path, std::string>
@@ -450,4 +554,9 @@
             }
         }
     }
+
+    void Core::update(const Clock& time)
+    {
+        this->tclThreadManager_->update(time);
+    }
 }

Modified: trunk/src/core/Core.h
===================================================================
--- trunk/src/core/Core.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/Core.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -21,8 +21,9 @@
  *
  *   Author:
  *      Fabian 'x3n' Landau
- *   Co-authors:
  *      Reto Grieder
+ *   Co-authors:
+ *      ...
  *
  */
 
@@ -43,8 +44,6 @@
 #include "OrxonoxClass.h"
 #include "util/OutputHandler.h"
 
-// Only allow main to access postMainInitialisation, so we need a forward declaration
-int main(int, char**);
 // boost::filesystem header has quite a large tail, use forward declaration
 namespace boost { namespace filesystem
 {
@@ -58,13 +57,15 @@
     //! The Core class is a singleton, only used to configure some config-values.
     class _CoreExport Core : public OrxonoxClass
     {
-        friend int ::main(int, char**); // sets isDevBuild_s
-
         public:
             Core();
             ~Core();
+
+            void initialise(int argc, char** argv);
             void setConfigValues();
 
+            void update(const Clock& time);
+
             static Core& getInstance() { assert(Core::singletonRef_s); return *Core::singletonRef_s; }
 
             static int   getSoftDebugLevel(OutputHandler::OutputDevice device = OutputHandler::LD_All);
@@ -72,8 +73,6 @@
             static const std::string& getLanguage();
             static void  resetLanguage();
 
-            static bool isDevBuild() { return Core::isDevBuild_s; }
-
             static void tsetMediaPath(const std::string& path)
             { assert(singletonRef_s); singletonRef_s->_tsetMediaPath(path); }
             static const boost::filesystem::path& getMediaPath();
@@ -83,20 +82,14 @@
             static std::string getConfigPathString();
             static std::string getLogPathString();
 
-            // fast access global variables.
-            static bool showsGraphics() { return bShowsGraphics_s; }
-            static bool hasServer()     { return bHasServer_s; }
-            static bool isClient()      { return bIsClient_s; }
-            static bool isStandalone()  { return bIsStandalone_s; }
-            static bool isMaster()      { return bIsMaster_s; }
-            static void setShowsGraphics(bool val) { bShowsGraphics_s = val; updateIsMaster(); }
-            static void setHasServer    (bool val) { bHasServer_s     = val; updateIsMaster(); }
-            static void setIsClient     (bool val) { bIsClient_s      = val; updateIsMaster(); }
-            static void setIsStandalone (bool val) { bIsStandalone_s  = val; updateIsMaster(); }
-            static void updateIsMaster  ()         { bIsMaster_s      = (bHasServer_s || bIsStandalone_s); }
-
         private:
             Core(const Core&);
+
+            void checkDevBuild();
+            void setExecutablePath();
+            void createDirectories();
+            void setThreadAffinity(int limitToCPU);
+
             void resetLanguageIntern();
             void initializeRandomNumberGenerator();
             void debugLevelChanged();
@@ -104,10 +97,14 @@
             void mediaPathChanged();
             void _tsetMediaPath(const std::string& path);
 
-            static void postMainInitialisation();
-            static void checkDevBuild();
-            static void setExecutablePath();
-            static void createDirectories();
+            // Singletons
+            ConfigFileManager*    configFileManager_;
+            Language*             languageInstance_;
+            LuaBind*              luaBind_;
+            Shell*                shell_;
+            SignalHandler*        signalHandler_;
+            TclBind*              tclBind_;
+            TclThreadManager*     tclThreadManager_;
 
             int softDebugLevel_;                            //!< The debug level
             int softDebugLevelConsole_;                     //!< The debug level for the console
@@ -116,15 +113,9 @@
             std::string language_;                          //!< The language
             bool bInitializeRandomNumberGenerator_;         //!< If true, srand(time(0)) is called
             std::string mediaPathString_;                   //!< Path to the data/media file folder as string
+            bool isDevBuild_;                               //!< True for builds in the build directory (not installed)
+            bool loaded_;                                   //!< Only true if constructor was interrupted
 
-            static bool bShowsGraphics_s;                   //!< global variable that tells whether to show graphics
-            static bool bHasServer_s;                       //!< global variable that tells whether this is a server
-            static bool bIsClient_s;
-            static bool bIsStandalone_s;
-            static bool bIsMaster_s;
-
-            static bool isDevBuild_s;                       //!< True for builds in the build directory (not installed)
-
             static Core* singletonRef_s;
     };
 }

Modified: trunk/src/core/CorePrereqs.h
===================================================================
--- trunk/src/core/CorePrereqs.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/CorePrereqs.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -165,10 +165,9 @@
   class XMLPortParamContainer;
 
   // game states
-  class GameStateBase;
-  template <class ParentType>
+  class Game;
   class GameState;
-  class RootGameState;
+  struct GameStateTreeNode;
 
   // input
   class BaseCommand;

Copied: trunk/src/core/Game.cc (from rev 2895, branches/gui/src/core/Game.cc)
===================================================================
--- trunk/src/core/Game.cc	                        (rev 0)
+++ trunk/src/core/Game.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,393 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+ at file
+ at brief
+    Implementation of the Game class.
+*/
+
+#include "Game.h"
+
+#include <exception>
+#include <cassert>
+
+#include "util/Debug.h"
+#include "util/Exception.h"
+#include "util/SubString.h"
+#include "Clock.h"
+#include "CommandLine.h"
+#include "ConsoleCommand.h"
+#include "Core.h"
+#include "CoreIncludes.h"
+#include "ConfigValueIncludes.h"
+#include "GameState.h"
+
+namespace orxonox
+{
+    static void stop_game()
+        { Game::getInstance().stop(); }
+    SetConsoleCommandShortcutExternAlias(stop_game, "exit");
+
+    struct _CoreExport GameStateTreeNode
+    {
+        GameState*                      state_;
+        GameStateTreeNode*              parent_;
+        std::vector<GameStateTreeNode*> children_;
+    };
+
+    std::map<std::string, GameState*> Game::allStates_s;
+    Game* Game::singletonRef_s = 0;
+
+    /**
+    @brief
+        Non-initialising constructor.
+    */
+    Game::Game(int argc, char** argv)
+    {
+        assert(singletonRef_s == 0);
+        singletonRef_s = this;
+
+        this->rootStateNode_ = 0;
+        this->activeStateNode_ = 0;
+
+        this->abort_ = false;
+
+        // reset statistics
+        this->statisticsStartTime_ = 0;
+        this->statisticsTickTimes_.clear();
+        this->periodTickTime_ = 0;
+        this->periodTime_ = 0;
+        this->avgFPS_ = 0.0f;
+        this->avgTickTime_ = 0.0f;
+
+
+        // Set up a basic clock to keep time
+        this->gameClock_ = new Clock();
+
+        this->core_ = new orxonox::Core();
+        this->core_->initialise(argc, argv);
+
+        RegisterRootObject(Game);
+        this->setConfigValues();
+    }
+
+    /**
+    @brief
+    */
+    Game::~Game()
+    {
+        // Destroy pretty much everyhting left
+        delete this->core_;
+
+        // Delete all GameStates created by the macros
+        for (std::map<std::string, GameState*>::const_iterator it = allStates_s.begin(); it != allStates_s.end(); ++it)
+            delete it->second;
+
+        delete this->gameClock_;
+
+        assert(singletonRef_s);
+        singletonRef_s = 0;
+    }
+
+    void Game::setConfigValues()
+    {
+        SetConfigValue(statisticsRefreshCycle_, 250000)
+            .description("Sets the time in microseconds interval at which average fps, etc. get updated.");
+        SetConfigValue(statisticsAvgLength_, 1000000)
+            .description("Sets the time in microseconds interval at which average fps, etc. gets calculated.");
+    }
+
+    /**
+    @brief
+        Main loop of the orxonox game.
+    @note
+        We use the Ogre::Timer to measure time since it uses the most precise
+        method an any platform (however the windows timer lacks time when under
+        heavy kernel load!).
+    */
+    void Game::run()
+    {
+        // Always start with the ROOT state
+        this->requestedStateNodes_.push_back(this->rootStateNode_);
+        this->activeStateNode_ = this->rootStateNode_;
+        this->loadState(this->rootStateNode_->state_);
+
+        // START GAME
+        this->gameClock_->capture(); // first delta time should be about 0 seconds
+        while (!this->abort_ && !this->activeStates_.empty())
+        {
+            this->gameClock_->capture();
+            uint64_t currentTime = this->gameClock_->getMicroseconds();
+
+            // STATISTICS
+            statisticsTickInfo tickInfo = {currentTime, 0};
+            statisticsTickTimes_.push_back(tickInfo);
+            this->periodTime_ += this->gameClock_->getDeltaTimeMicroseconds();
+
+            // UPDATE STATE STACK
+            while (this->requestedStateNodes_.size() > 1)
+            {
+                // Note: this->requestedStateNodes_.front() is the currently active state node
+                std::vector<GameStateTreeNode*>::iterator it = this->requestedStateNodes_.begin() + 1;
+                if (*it == this->activeStateNode_->parent_)
+                    this->unloadState(this->activeStateNode_->state_);
+                else // has to be child
+                    this->loadState((*it)->state_);
+                this->activeStateNode_ = *it;
+                this->requestedStateNodes_.erase(this->requestedStateNodes_.begin());
+            }
+
+            // UPDATE, bottom to top in the stack
+            this->core_->update(*this->gameClock_);
+            for (std::vector<GameState*>::const_iterator it = this->activeStates_.begin();
+                it != this->activeStates_.end(); ++it)
+                (*it)->update(*this->gameClock_);
+
+            // STATISTICS
+            if (this->periodTime_ > statisticsRefreshCycle_)
+            {
+                std::list<statisticsTickInfo>::iterator it = this->statisticsTickTimes_.begin();
+                assert(it != this->statisticsTickTimes_.end());
+                int64_t lastTime = currentTime - this->statisticsAvgLength_;
+                if ((int64_t)it->tickTime < lastTime)
+                {
+                    do
+                    {
+                        assert(this->periodTickTime_ > it->tickLength);
+                        this->periodTickTime_ -= it->tickLength;
+                        ++it;
+                        assert(it != this->statisticsTickTimes_.end());
+                    } while ((int64_t)it->tickTime < lastTime);
+                    this->statisticsTickTimes_.erase(this->statisticsTickTimes_.begin(), it);
+                }
+
+                uint32_t framesPerPeriod = this->statisticsTickTimes_.size();
+                this->avgFPS_ = (float)framesPerPeriod / (currentTime - this->statisticsTickTimes_.front().tickTime) * 1000000.0;
+                this->avgTickTime_ = (float)this->periodTickTime_ / framesPerPeriod / 1000.0;
+
+                this->periodTime_ -= this->statisticsRefreshCycle_;
+            }
+        }
+
+        // UNLOAD all remaining states
+        while (!this->activeStates_.empty())
+            this->unloadState(this->activeStates_.back());
+        this->activeStateNode_ = 0;
+        this->requestedStateNodes_.clear();
+    }
+
+    void Game::stop()
+    {
+        this->abort_ = true;
+    }
+
+    void Game::addTickTime(uint32_t length)
+    {
+        assert(!this->statisticsTickTimes_.empty());
+        this->statisticsTickTimes_.back().tickLength += length;
+        this->periodTickTime_+=length;
+    }
+
+
+    /***** GameState related *****/
+
+    void Game::requestState(const std::string& name)
+    {
+        GameState* state = this->getState(name);
+        if (state == NULL || this->activeStateNode_ == NULL)
+            return;
+
+        GameStateTreeNode* requestedNode = 0;
+
+        // this->requestedStateNodes_.back() is the currently active state
+        GameStateTreeNode* lastRequestedNode = this->requestedStateNodes_.back();
+
+        // Already the active node?
+        if (state == lastRequestedNode->state_)
+        {
+            COUT(2) << "Warning: Requesting the currently active state! Ignoring." << std::endl;
+            return;
+        }
+
+        // Check children first
+        for (unsigned int i = 0; i < lastRequestedNode->children_.size(); ++i)
+        {
+            if (lastRequestedNode->children_[i]->state_ == state)
+            {
+                requestedNode = lastRequestedNode->children_[i];
+                break;
+            }
+        }
+
+        // Check parent and all its grand parents
+        GameStateTreeNode* currentNode = lastRequestedNode;
+        while (requestedNode == NULL && currentNode != NULL)
+        {
+            if (currentNode->state_ == state)
+                requestedNode = currentNode;
+            currentNode = currentNode->parent_;
+        }
+
+        if (requestedNode == NULL)
+            COUT(1) << "Error: Requested GameState transition is not allowed. Ignoring." << std::endl;
+        else
+            this->requestedStateNodes_.push_back(requestedNode);
+    }
+
+    void Game::requestStates(const std::string& names)
+    {
+        SubString tokens(names, ",;", " ");
+        for (unsigned int i = 0; i < tokens.size(); ++i)
+            this->requestState(tokens[i]);
+    }
+
+    void Game::popState()
+    {
+        if (this->activeStateNode_ != NULL && this->requestedStateNodes_.back()->parent_)
+            this->requestState(this->requestedStateNodes_.back()->parent_->state_->getName());
+        else
+            COUT(2) << "Warning: Could not pop GameState. Ignoring." << std::endl;
+    }
+
+    GameState* Game::getState(const std::string& name)
+    {
+        std::map<std::string, GameState*>::const_iterator it = allStates_s.find(getLowercase(name));
+        if (it != allStates_s.end())
+            return it->second;
+        else
+        {
+            COUT(1) << "Error: Could not find GameState '" << name << "'. Ignoring." << std::endl;
+            return 0;
+        }
+    }
+
+    void Game::setStateHierarchy(const std::string& str)
+    {
+        // Split string into pieces of the form whitespacesText
+        std::vector<std::pair<std::string, unsigned> > stateStrings;
+        size_t pos = 0;
+        size_t startPos = 0;
+        while (pos < str.size())
+        {
+            unsigned indentation = 0;
+            while(pos < str.size() && str[pos] == ' ')
+                ++indentation, ++pos;
+            startPos = pos;
+            while(pos < str.size() && str[pos] != ' ')
+                ++pos;
+            stateStrings.push_back(std::pair<std::string, unsigned>(
+                str.substr(startPos, pos - startPos), indentation));
+        }
+        unsigned int currentLevel = 0;
+        GameStateTreeNode* currentNode = 0;
+        for (std::vector<std::pair<std::string, unsigned> >::const_iterator it = stateStrings.begin(); it != stateStrings.end(); ++it)
+        {
+            std::string newStateName = it->first;
+            unsigned newLevel = it->second;
+            GameState* newState = this->getState(newStateName);
+            if (!newState)
+                ThrowException(GameState, std::string("GameState with name '") + newStateName + "' not found!");
+            if (newLevel == 0)
+            {
+                // root
+                if (this->rootStateNode_ != NULL)
+                    ThrowException(GameState, "No two root GameStates are allowed!");
+                GameStateTreeNode* newNode = new GameStateTreeNode;
+                newNode->state_ = newState;
+                newNode->parent_ = 0;
+                this->rootStateNode_ = newNode;
+                currentNode = this->rootStateNode_;
+            }
+            else if (currentNode)
+            {
+                GameStateTreeNode* newNode = new GameStateTreeNode;
+                newNode->state_ = newState;
+                if (newLevel < currentLevel)
+                {
+                    // Get down the hierarchy
+                    do
+                        currentNode = currentNode->parent_;
+                    while (newLevel < --currentLevel);
+                }
+                if (newLevel == currentLevel)
+                {
+                    // same level
+                    newNode->parent_ = currentNode->parent_;
+                    newNode->parent_->children_.push_back(newNode);
+                }
+                else if (newLevel == currentLevel + 1)
+                {
+                    // child
+                    newNode->parent_ = currentNode;
+                    currentNode->children_.push_back(newNode);
+                }
+                else
+                    ThrowException(GameState, "Indentation error while parsing the hierarchy.");
+                currentNode = newNode;
+                currentLevel = newLevel;
+            }
+            else
+            {
+                ThrowException(GameState, "No root GameState specified!");
+            }
+        }
+    }
+
+    /*** Internal ***/
+
+    void Game::loadState(GameState* state)
+    {
+        if (!this->activeStates_.empty())
+            this->activeStates_.back()->activity_.topState = false;
+        state->activate();
+        state->activity_.topState = true;
+        this->activeStates_.push_back(state);
+    }
+
+    void Game::unloadState(orxonox::GameState* state)
+    {
+        state->activity_.topState = false;
+        state->deactivate();
+        this->activeStates_.pop_back();
+        if (!this->activeStates_.empty())
+            this->activeStates_.back()->activity_.topState = true;
+    }
+
+    /*static*/ bool Game::addGameState(GameState* state)
+    {
+        std::map<std::string, GameState*>::const_iterator it = allStates_s.find(getLowercase(state->getName()));
+        if (it == allStates_s.end())
+            allStates_s[getLowercase(state->getName())] = state;
+        else
+            ThrowException(GameState, "Cannot add two GameStates with the same name to 'Game'.");
+
+        // just a required dummy return value
+        return true;
+    }
+}

Copied: trunk/src/core/Game.h (from rev 2895, branches/gui/src/core/Game.h)
===================================================================
--- trunk/src/core/Game.h	                        (rev 0)
+++ trunk/src/core/Game.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,120 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+ at file
+ at brief
+    Declaration of Game Singleton.
+ */
+
+#ifndef _Game_H__
+#define _Game_H__
+
+#include "CorePrereqs.h"
+#include <cassert>
+#include <list>
+#include <map>
+#include <vector>
+#include "OrxonoxClass.h"
+
+#define AddGameState(classname, name) \
+    static bool bGameStateDummy_##classname##__LINE__ = orxonox::Game::addGameState(new classname(name))
+
+namespace orxonox
+{
+    /**
+    @brief
+        Main class responsible for running the game.
+    */
+    class _CoreExport Game : public OrxonoxClass
+    {
+    public:
+        Game(int argc, char** argv);
+        ~Game();
+        void setConfigValues();
+
+        void setStateHierarchy(const std::string& str);
+        GameState* getState(const std::string& name);
+
+        void run();
+        void stop();
+
+        void requestState(const std::string& name);
+        void requestStates(const std::string& names);
+        void popState();
+
+        const Clock& getGameClock() { return *this->gameClock_; }
+
+        float getAvgTickTime() { return this->avgTickTime_; }
+        float getAvgFPS()      { return this->avgFPS_; }
+
+        void addTickTime(uint32_t length);
+
+        static bool addGameState(GameState* state);
+        static Game& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
+
+    private:
+        struct statisticsTickInfo
+        {
+            uint64_t    tickTime;
+            uint32_t    tickLength;
+        };
+
+        Game(Game&); // don't mess with singletons
+
+        void loadState(GameState* state);
+        void unloadState(GameState* state);
+
+        std::vector<GameState*>         activeStates_;
+        GameStateTreeNode*              rootStateNode_;
+        GameStateTreeNode*              activeStateNode_;
+        std::vector<GameStateTreeNode*> requestedStateNodes_;
+
+        Core*                           core_;
+        Clock*                          gameClock_;
+
+        bool                            abort_;
+
+        // variables for time statistics
+        uint64_t                        statisticsStartTime_;
+        std::list<statisticsTickInfo>   statisticsTickTimes_;
+        uint32_t                        periodTime_;
+        uint32_t                        periodTickTime_;
+        float                           avgFPS_;
+        float                           avgTickTime_;
+
+        // config values
+        unsigned int                    statisticsRefreshCycle_;
+        unsigned int                    statisticsAvgLength_;
+
+        static std::map<std::string, GameState*> allStates_s;
+        static Game* singletonRef_s;        //!< Pointer to the Singleton
+    };
+}
+
+#endif /* _Game_H__ */

Copied: trunk/src/core/GameMode.cc (from rev 2895, branches/gui/src/core/GameMode.cc)
===================================================================
--- trunk/src/core/GameMode.cc	                        (rev 0)
+++ trunk/src/core/GameMode.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,43 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file
+    @brief Implementation of the GameMode class.
+*/
+
+#include "GameMode.h"
+
+namespace orxonox
+{
+    bool GameMode::bShowsGraphics_s = false;
+    bool GameMode::bHasServer_s     = false;
+    bool GameMode::bIsClient_s      = false;
+    bool GameMode::bIsStandalone_s  = false;
+    bool GameMode::bIsMaster_s      = false;
+}

Copied: trunk/src/core/GameMode.h (from rev 2895, branches/gui/src/core/GameMode.h)
===================================================================
--- trunk/src/core/GameMode.h	                        (rev 0)
+++ trunk/src/core/GameMode.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,68 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file
+    @brief Declaration of the GameMode class.
+*/
+
+#ifndef _GameMode_H__
+#define _GameMode_H__
+
+#include "CorePrereqs.h"
+
+namespace orxonox
+{
+    class _CoreExport GameMode
+    {
+        public:
+            static bool showsGraphics() { return bShowsGraphics_s; }
+            static bool hasServer()     { return bHasServer_s; }
+            static bool isClient()      { return bIsClient_s; }
+            static bool isStandalone()  { return bIsStandalone_s; }
+            static bool isMaster()      { return bIsMaster_s; }
+            static void setShowsGraphics(bool val) { bShowsGraphics_s = val; updateIsMaster(); }
+            static void setHasServer    (bool val) { bHasServer_s     = val; updateIsMaster(); }
+            static void setIsClient     (bool val) { bIsClient_s      = val; updateIsMaster(); }
+            static void setIsStandalone (bool val) { bIsStandalone_s  = val; updateIsMaster(); }
+            static void updateIsMaster  ()         { bIsMaster_s      = (bHasServer_s || bIsStandalone_s); }
+
+        private:
+            GameMode();
+            GameMode(const GameMode& inst);
+            ~GameMode();
+
+            static bool bShowsGraphics_s;                   //!< global variable that tells whether to show graphics
+            static bool bHasServer_s;                       //!< global variable that tells whether this is a server
+            static bool bIsClient_s;
+            static bool bIsStandalone_s;
+            static bool bIsMaster_s;
+    };
+}
+
+#endif /* _GameMode_H__ */

Modified: trunk/src/core/GameState.cc
===================================================================
--- trunk/src/core/GameState.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/GameState.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,12 +29,14 @@
 /**
 @file
 @brief
-    Implementation of GameStateBase class.
+    Implementation of GameState class.
 */
 
 #include "GameState.h"
+#include <cassert>
 #include "util/Debug.h"
 #include "util/Exception.h"
+#include "Clock.h"
 
 namespace orxonox
 {
@@ -42,23 +44,25 @@
     @brief
         Constructor only initialises variables and sets the name permanently.
     */
-    GameStateBase::GameStateBase(const std::string& name)
+    GameState::GameState(const std::string& name)
         : name_(name)
-        //, parent_(0)
-        , activeChild_(0)
-        //, bPausegetParent()(false)
+        , parent_(0)
     {
-        Operations temp = {false, false, false, false, false};
-        this->operation_ = temp;
+        this->activity_.activating   = false;
+        this->activity_.active       = false;
+        this->activity_.deactivating = false;
+        this->activity_.suspended    = false;
+        this->activity_.topState     = false;
+        this->activity_.updating     = false;
     }
 
     /**
     @brief
         Destructor only checks that we don't delete an active state.
     */
-    GameStateBase::~GameStateBase()
+    GameState::~GameState()
     {
-        OrxAssert(this->operation_.active == false, "Deleting an active GameState is a very bad idea..");
+        OrxAssert(this->activity_.active == false, "Deleting an active GameState is a very bad idea..");
     }
 
     /**
@@ -68,41 +72,21 @@
     @param state
         The state to be added.
     */
-    void GameStateBase::addChild(GameStateBase* state)
+    void GameState::addChild(GameState* state)
     {
-        if (!state)
-            return;
-        // check if the state/tree to be added has states in it that already exist in this tree.
-        for (std::map<std::string, GameStateBase*>::const_iterator it = state->allChildren_.begin();
-            it != state->allChildren_.end(); ++it)
+        assert(state != NULL);
+
+        std::map<std::string, GameState*>::const_iterator it = this->children_.find(state->getName());
+        if (it == this->children_.end())
         {
-            if (this->getState(it->second->getName()))
-            {
-                ThrowException(GameState, "Cannot add a GameState to the hierarchy twice.");
-                return;
-            }
+            this->children_[state->getName()] = state;
+            // mark us as parent
+            state->setParent(this);
         }
-        if (this->getState(state->name_))
+        else
         {
-            ThrowException(GameState, "Cannot add a GameState to the hierarchy twice.");
-            return;
+            ThrowException(GameState, "Cannot add two children with the same name");
         }
-        // Make sure we don't add a tree that already has an active state.
-        if (state->getCurrentState())
-        {
-            ThrowException(GameState, "Cannot merge a tree that is already active.");
-            return;
-        }
-
-        // merge the child's children into this tree
-        for (std::map<std::string, GameStateBase*>::const_iterator it = state->allChildren_.begin();
-            it != state->allChildren_.end(); ++it)
-            this->grandchildAdded(state, it->second);
-        // merge 'state' into this tree
-        this->grandchildAdded(state, state);
-
-        // mark us as parent
-        state->setParent(this);
     }
 
     /**
@@ -112,255 +96,42 @@
     @param state
         GameState by instance pointer
     */
-    void GameStateBase::removeChild(GameStateBase* state)
+    void GameState::removeChild(GameState* state)
     {
-        std::map<GameStateBase*, GameStateBase*>::iterator it = this->grandchildrenToChildren_.find(state);
-        if (it != this->grandchildrenToChildren_.end())
-        {
-            if (state->isInSubtree(getCurrentState()))
-            {
-                ThrowException(GameState, "Cannot remove an active game state child '"
-                    + state->getName() + "' from '" + name_ + "'.");
-                //COUT(2) << "Warning: Cannot remove an active game state child '" << state->getName()
-                //    << "' from '" << name_ << "'." << std::endl;
-            }
-            else
-            {
-                for (std::map<GameStateBase*, GameStateBase*>::const_iterator it = state->grandchildrenToChildren_.begin();
-                    it != state->grandchildrenToChildren_.end(); ++it)
-                    this->grandchildRemoved(it->first);
-                this->grandchildRemoved(state);
-            }
-        }
+        assert(state != NULL);
+
+        std::map<std::string, GameState*>::iterator it = this->children_.find(state->getName());
+        if (it != this->children_.end())
+            this->children_.erase(it);
         else
         {
             ThrowException(GameState, "Game state '" + name_ + "' doesn't have a child named '"
                 + state->getName() + "'.");
-            //COUT(2) << "Warning: Game state '" << name_ << "' doesn't have a child named '"
-            //    << state->getName() << "'. Removal skipped." << std::endl;
         }
     }
 
-    /**
-    @brief
-        Removes a child by name. This splits the tree in two parts,
-        each of them functional on its own.
-    @param state
-        GameState by name
-    */
-
-    void GameStateBase::removeChild(const std::string& name)
+    void GameState::activateInternal()
     {
-        GameStateBase* state = getState(name);
-        if (state)
-        {
-            removeChild(state);
-        }
-        else
-        {
-            ThrowException(GameState, "GameState '" + name + "' doesn't exist.");
-            //COUT(2) << "Warning: GameState '" << name << "' doesn't exist." << std::endl;
-        }
+        this->activity_.activating = true;
+        this->activate();
+        this->activity_.activating = false;
+        this->activity_.active = true;
     }
 
-    /**
-    @brief
-        Tells a state that one of its children has added a child. This is necessary
-        to fill the internal maps correctly.
-    @param child
-        The child who notices this state.
-    @param grandchild
-        The child that has been added.
-    */
-    inline void GameStateBase::grandchildAdded(GameStateBase* child, GameStateBase* grandchild)
+    void GameState::deactivateInternal()
     {
-        // fill the two maps correctly.
-        this->allChildren_[grandchild->getName()] = grandchild;
-        this->grandchildrenToChildren_[grandchild] = child;
-        if (this->getParent())
-            this->getParent()->grandchildAdded(this, grandchild);
+        this->activity_.active = false;
+        this->activity_.deactivating = true;
+        this->activate();
+        this->activity_.deactivating = false;
+        this->activity_.suspended = false;
+        this->activity_.updating = false;
     }
 
-    /**
-    @brief
-        Tells a state that one of its children has removed a child. This is necessary
-        to fill the internal maps correctly.
-    @param child
-        The child who notices this state.
-    @param grandchild
-        The child that has been removed.
-    */
-    inline void GameStateBase::grandchildRemoved(GameStateBase* grandchild)
+    void GameState::updateInternal(const Clock& time)
     {
-        // adjust the two maps correctly.
-        this->allChildren_.erase(grandchild->getName());
-        this->grandchildrenToChildren_.erase(grandchild);
-        if (this->getParent())
-            this->getParent()->grandchildRemoved(grandchild);
+        this->activity_.updating = true;
+        this->update(time);
+        this->activity_.updating = false;
     }
-
-    /**
-    @brief
-        Checks whether a specific game states exists in the hierarchy.
-    @remarks
-        Remember that the every node has a map with all its child nodes.
-    */
-    GameStateBase* GameStateBase::getState(const std::string& name)
-    {
-        if (this->getParent())
-            return this->getParent()->getState(name);
-        else
-        {
-            // The map only contains children, so check ourself first
-            if (name == this->name_)
-                return this;
-            // Search in the map. If there is no entry, we can be sure the state doesn't exist.
-            std::map<std::string, GameStateBase*>::const_iterator it = this->allChildren_.find(name);
-            return (it!= this->allChildren_.end() ? it->second : 0);
-        }
-    }
-
-    /**
-    @brief
-        Returns the root node of the tree.
-    */
-    GameStateBase* GameStateBase::getRoot()
-    {
-        if (this->getParent())
-            return this->getParent()->getRoot();
-        else
-            return this;
-    }
-
-    /**
-    @brief
-        Returns the current active state.
-    @remarks
-        Remember that the current active state is the one that does not
-        have active children itself. Many states can be active at once.
-    */
-    GameStateBase* GameStateBase::getCurrentState()
-    {
-        if (this->operation_.active)
-        {
-            if (this->activeChild_)
-                return this->activeChild_->getCurrentState();
-            else
-                return this;
-        }
-        else
-        {
-            if (this->getParent())
-                return this->getParent()->getCurrentState();
-            else
-                return 0;
-        }
-    }
-
-    /**
-    @brief
-        Determines whether 'state' is in this subtree, including this node.
-    */
-    bool GameStateBase::isInSubtree(GameStateBase* state) const
-    {
-        return (grandchildrenToChildren_.find(state) != grandchildrenToChildren_.end()
-                || state == this);
-    }
-
-    /**
-    @brief
-        Makes a state transition according to the state tree. You can choose any state
-        in the tree to do the call. The function finds the current state on its own.
-    @param state
-        The state to be entered, has to exist in the tree.
-    */
-    void GameStateBase::requestState(const std::string& name)
-    {
-        assert(getRoot());
-        getRoot()->requestState(name);
-    }
-
-    /**
-    @brief
-        Internal method that actually makes the state transition. Since it is internal,
-        the method can assume certain things to be granted (like 'this' is always active).
-    */
-    void GameStateBase::makeTransition(GameStateBase* source, GameStateBase* destination)
-    {
-        if (source == this->getParent())
-        {
-            // call is from the parent
-            this->activate();
-        }
-        else if (source == 0)
-        {
-            // call was just started by root
-            // don't do anyting yet
-        }
-        else
-        {
-            // call is from a child
-            this->activeChild_ = 0;
-        }
-
-        if (destination == this)
-            return;
-
-        // Check for 'destination' in the children map first
-        std::map<GameStateBase*, GameStateBase*>::const_iterator it
-            = this->grandchildrenToChildren_.find(destination);
-        if (it != this->grandchildrenToChildren_.end())
-        {
-            // child state. Don't use 'state', might be a grandchild!
-            this->activeChild_ = it->second;
-            it->second->makeTransition(this, destination);
-        }
-        else
-        {
-            // parent. We can be sure of this.
-            assert(this->getParent() != 0);
-
-            this->deactivate();
-            this->getParent()->makeTransition(this, destination);
-        }
-    }
-
-    /**
-    @brief
-        Activates the state. Only sets bActive_ to true and notifies the parent.
-    */
-    void GameStateBase::activate()
-    {
-        this->operation_.active = true;
-        this->operation_.entering = true;
-        this->enter();
-        this->operation_.entering = false;
-    }
-
-    /**
-        Activates the state. Only sets bActive_ to false and notifies the parent.
-    */
-    void GameStateBase::deactivate()
-    {
-        this->operation_.leaving = true;
-        this->leave();
-        this->operation_.leaving = false;
-        this->operation_.active = false;
-    }
-
-    /**
-    @brief
-        Update method that calls ticked() with enclosed bRunning_ = true
-        If there was a state transition request within ticked() then this
-        method will transition in the end.
-    @param dt Delta time
-    @note
-        This method is not virtual! You cannot override it therefore.
-    */
-    void GameStateBase::tick(const Clock& time)
-    {
-        this->operation_.running = true;
-        this->ticked(time);
-        this->operation_.running = false;
-    }
 }

Modified: trunk/src/core/GameState.h
===================================================================
--- trunk/src/core/GameState.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/GameState.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -38,10 +38,8 @@
 #include "CorePrereqs.h"
 
 #include <string>
-#include <vector>
 #include <map>
-#include <cassert>
-#include "Clock.h"
+#include "CorePrereqs.h"
 
 namespace orxonox
 {
@@ -59,103 +57,53 @@
         An example: Foo is a grandchildren of Bar and Foofoo is the Foo's parent.
         Then Bar stores Foo in map by its name. The other one then maps Foo to Foofoo.
     */
-    class _CoreExport GameStateBase
+    class _CoreExport GameState
     {
-        friend class RootGameState;
-        template <class ParentType>
-        friend class GameState;
+        friend class Game;
 
     public:
         /**
         @brief
             Gives information about what the GameState is currently doing
         */
-        struct Operations
+        struct State
         {
-            unsigned active    : 1;
-            unsigned entering  : 1;
-            unsigned leaving   : 1;
-            unsigned running   : 1;
-            unsigned suspended : 1;
+            unsigned active       : 1;
+            unsigned activating   : 1;
+            unsigned deactivating : 1;
+            unsigned updating     : 1;
+            unsigned suspended    : 1;
+            unsigned topState     : 1;
         };
 
     public:
-        virtual ~GameStateBase();
+        GameState(const std::string& name);
+        virtual ~GameState();
 
         const std::string& getName() const { return name_; }
-        const Operations getOperation() const { return this->operation_; }
-        bool isInSubtree(GameStateBase* state) const;
+        State getActivity() const    { return this->activity_; }
+        GameState* getParent() const       { return this->parent_; }
 
-        GameStateBase* getState(const std::string& name);
-        GameStateBase* getRoot();
-        //! Returns the currently active game state
-        virtual GameStateBase* getCurrentState();
+        void addChild(GameState* state);
+        void removeChild(GameState* state);
 
-        virtual void requestState(const std::string& name);
-
-        void addChild(GameStateBase* state);
-        void removeChild(GameStateBase* state);
-        void removeChild(const std::string& name);
-
     protected:
-        virtual void enter() = 0;
-        virtual void leave() = 0;
-        virtual void ticked(const Clock& time) = 0;
+        virtual void activate() = 0;
+        virtual void deactivate() = 0;
+        virtual void update(const Clock& time) = 0;
 
-        GameStateBase* getActiveChild() { return this->activeChild_; }
-
-        void tickChild(const Clock& time) { if (this->getActiveChild()) this->getActiveChild()->tick(time); }
-
-        virtual GameStateBase* getParent() const = 0;
-        virtual void setParent(GameStateBase* state) = 0;
-
     private:
-        // Making the constructor private ensures that game states
-        // are always derivates of GameState<T>. Note the friend declaration above.
-        GameStateBase(const std::string& name);
+        void setParent(GameState* state) { this->parent_ = state; }
+        void setActivity(State activity);
+        void activateInternal();
+        void deactivateInternal();
+        void updateInternal(const Clock& time);
 
-        //! Performs a transition to 'destination'
-        virtual void makeTransition(GameStateBase* source, GameStateBase* destination);
-
-        void grandchildAdded(GameStateBase* child, GameStateBase* grandchild);
-        void grandchildRemoved(GameStateBase* grandchild);
-
-        void tick(const Clock& time);
-        void activate();
-        void deactivate();
-
         const std::string                        name_;
-        Operations                               operation_;
-        GameStateBase*                           activeChild_;
-        //bool                                     bPauseParent_;
-        std::map<std::string, GameStateBase*>    allChildren_;
-        std::map<GameStateBase*, GameStateBase*> grandchildrenToChildren_;
+        State                                    activity_;
+        GameState*                               parent_;
+        std::map<std::string, GameState*>        children_;
     };
-
-
-    template <class ParentType>
-    class GameState : public GameStateBase
-    {
-    public:
-        GameState(const std::string& name)
-            : GameStateBase(name)
-            , parent_(0)
-        { }
-        virtual ~GameState() { }
-
-        ParentType* getParent() const
-            { return parent_; }
-
-    protected:
-        void setParent(GameStateBase* state)
-        {
-            assert(dynamic_cast<ParentType*>(state) != 0);
-            this->parent_ = dynamic_cast<ParentType*>(state);
-        }
-
-    private:
-        ParentType* parent_;
-    };
 }
 
 #endif /* _GameState_H__ */

Modified: trunk/src/core/Iterator.h
===================================================================
--- trunk/src/core/Iterator.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/Iterator.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -180,7 +180,7 @@
                 if (this->list_)
                     this->list_->unregisterIterator(this);
 
-                this->element_ = (other.element_) ? (ObjectListBaseElement*)other.element_ : 0;
+                this->element_ = (other.element_) ? static_cast<ObjectListBaseElement*>(other.element_) : 0;
                 this->list_ = ClassIdentifier<O>::getIdentifier()->getObjects();
                 this->list_->registerIterator(this);
 


Property changes on: trunk/src/core/LuaBind.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/core/LuaBind.cc:1875-2277,2279-2401
/branches/buildsystem/src/core/Script.cc:1875-2239
/branches/buildsystem2/src/core/LuaBind.cc:2507-2659
/branches/buildsystem3/src/core/LuaBind.cc:2663-2709
/branches/ceguilua/src/core/LuaBind.cc:1803-1809
/branches/core3/src/core/LuaBind.cc:1573-1740
/branches/gcc43/src/core/LuaBind.cc:1581
/branches/gui/src/core/LuaBind.cc:1636-1724
/branches/input/src/core/LuaBind.cc:1630-1637
/branches/lodfinal/src/core/LuaBind.cc:2373-2412
/branches/miniprojects/src/core/LuaBind.cc:2755-2825
/branches/network/src/core/LuaBind.cc:2357
/branches/network64/src/core/LuaBind.cc:2211-2356
/branches/objecthierarchy/src/core/LuaBind.cc:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/LuaBind.cc:2172-2480
/branches/overlay/src/core/LuaBind.cc:2118-2386
/branches/physics/src/core/LuaBind.cc:1913-2056,2108-2440
/branches/physics_merge/src/core/LuaBind.cc:2437-2458
/branches/pickups/src/core/LuaBind.cc:1927-2087,2128
/branches/pickups2/src/core/LuaBind.cc:2108-2498
/branches/presentation/src/core/LuaBind.cc:2370-2653,2655-2661
/branches/questsystem/src/core/LuaBind.cc:1895-2089
/branches/questsystem2/src/core/LuaBind.cc:2108-2260
/branches/script_trigger/src/core/LuaBind.cc:1296-1954,1956
/branches/weapon/src/core/LuaBind.cc:1926-2095
/branches/weapon2/src/core/LuaBind.cc:2108-2489
/branches/weaponsystem/src/core/LuaBind.cc:2743-2891
   + /branches/buildsystem/src/core/LuaBind.cc:1875-2277,2279-2401
/branches/buildsystem/src/core/Script.cc:1875-2239
/branches/buildsystem2/src/core/LuaBind.cc:2507-2659
/branches/buildsystem3/src/core/LuaBind.cc:2663-2709
/branches/ceguilua/src/core/LuaBind.cc:1803-1809
/branches/core3/src/core/LuaBind.cc:1573-1740
/branches/gcc43/src/core/LuaBind.cc:1581
/branches/gui/src/core/LuaBind.cc:1636-1724,2796-2895
/branches/input/src/core/LuaBind.cc:1630-1637
/branches/lodfinal/src/core/LuaBind.cc:2373-2412
/branches/miniprojects/src/core/LuaBind.cc:2755-2825
/branches/network/src/core/LuaBind.cc:2357
/branches/network64/src/core/LuaBind.cc:2211-2356
/branches/objecthierarchy/src/core/LuaBind.cc:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/LuaBind.cc:2172-2480
/branches/overlay/src/core/LuaBind.cc:2118-2386
/branches/physics/src/core/LuaBind.cc:1913-2056,2108-2440
/branches/physics_merge/src/core/LuaBind.cc:2437-2458
/branches/pickups/src/core/LuaBind.cc:1927-2087,2128
/branches/pickups2/src/core/LuaBind.cc:2108-2498
/branches/presentation/src/core/LuaBind.cc:2370-2653,2655-2661
/branches/questsystem/src/core/LuaBind.cc:1895-2089
/branches/questsystem2/src/core/LuaBind.cc:2108-2260
/branches/script_trigger/src/core/LuaBind.cc:1296-1954,1956
/branches/weapon/src/core/LuaBind.cc:1926-2095
/branches/weapon2/src/core/LuaBind.cc:2108-2489
/branches/weaponsystem/src/core/LuaBind.cc:2743-2891


Property changes on: trunk/src/core/LuaBind.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/core/LuaBind.h:1875-2277,2279-2401
/branches/buildsystem/src/core/Script.h:1875-2234
/branches/buildsystem2/src/core/LuaBind.h:2507-2659
/branches/buildsystem3/src/core/LuaBind.h:2663-2709
/branches/ceguilua/src/core/LuaBind.h:1803-1809
/branches/core3/src/core/LuaBind.h:1573-1740
/branches/gcc43/src/core/LuaBind.h:1581
/branches/gui/src/core/LuaBind.h:1636-1724
/branches/input/src/core/LuaBind.h:1630-1637
/branches/lodfinal/src/core/LuaBind.h:2373-2412
/branches/miniprojects/src/core/LuaBind.h:2755-2825
/branches/network/src/core/LuaBind.h:2357
/branches/network64/src/core/LuaBind.h:2211-2356
/branches/objecthierarchy/src/core/LuaBind.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/LuaBind.h:2172-2480
/branches/overlay/src/core/LuaBind.h:2118-2386
/branches/physics/src/core/LuaBind.h:1913-2056,2108-2440
/branches/physics_merge/src/core/LuaBind.h:2437-2458
/branches/pickups/src/core/LuaBind.h:1927-2087,2128
/branches/pickups2/src/core/LuaBind.h:2108-2498
/branches/presentation/src/core/LuaBind.h:2370-2653,2655-2661
/branches/questsystem/src/core/LuaBind.h:1895-2089
/branches/questsystem2/src/core/LuaBind.h:2108-2260
/branches/script_trigger/src/core/LuaBind.h:1296-1954,1956
/branches/weapon/src/core/LuaBind.h:1926-2095
/branches/weapon2/src/core/LuaBind.h:2108-2489
/branches/weaponsystem/src/core/LuaBind.h:2743-2891
   + /branches/buildsystem/src/core/LuaBind.h:1875-2277,2279-2401
/branches/buildsystem/src/core/Script.h:1875-2234
/branches/buildsystem2/src/core/LuaBind.h:2507-2659
/branches/buildsystem3/src/core/LuaBind.h:2663-2709
/branches/ceguilua/src/core/LuaBind.h:1803-1809
/branches/core3/src/core/LuaBind.h:1573-1740
/branches/gcc43/src/core/LuaBind.h:1581
/branches/gui/src/core/LuaBind.h:1636-1724,2796-2895
/branches/input/src/core/LuaBind.h:1630-1637
/branches/lodfinal/src/core/LuaBind.h:2373-2412
/branches/miniprojects/src/core/LuaBind.h:2755-2825
/branches/network/src/core/LuaBind.h:2357
/branches/network64/src/core/LuaBind.h:2211-2356
/branches/objecthierarchy/src/core/LuaBind.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/LuaBind.h:2172-2480
/branches/overlay/src/core/LuaBind.h:2118-2386
/branches/physics/src/core/LuaBind.h:1913-2056,2108-2440
/branches/physics_merge/src/core/LuaBind.h:2437-2458
/branches/pickups/src/core/LuaBind.h:1927-2087,2128
/branches/pickups2/src/core/LuaBind.h:2108-2498
/branches/presentation/src/core/LuaBind.h:2370-2653,2655-2661
/branches/questsystem/src/core/LuaBind.h:1895-2089
/branches/questsystem2/src/core/LuaBind.h:2108-2260
/branches/script_trigger/src/core/LuaBind.h:1296-1954,1956
/branches/weapon/src/core/LuaBind.h:1926-2095
/branches/weapon2/src/core/LuaBind.h:2108-2489
/branches/weaponsystem/src/core/LuaBind.h:2743-2891

Modified: trunk/src/core/ObjectListBase.h
===================================================================
--- trunk/src/core/ObjectListBase.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/ObjectListBase.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -70,7 +70,7 @@
     class ObjectListElement : public ObjectListBaseElement
     {
         public:
-            ObjectListElement(T* object) : ObjectListBaseElement((OrxonoxClass*)object), object_(object) {}
+            ObjectListElement(T* object) : ObjectListBaseElement(static_cast<OrxonoxClass*>(object)), object_(object) {}
             T* object_;              //!< The object
     };
 

Deleted: trunk/src/core/RootGameState.cc
===================================================================
--- trunk/src/core/RootGameState.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/RootGameState.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,178 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "RootGameState.h"
-
-#include "util/Debug.h"
-#include "util/Exception.h"
-#include "Clock.h"
-#include "CommandLine.h"
-
-namespace orxonox
-{
-    SetCommandLineArgument(state, "gui").shortcut("s");
-
-    RootGameState::RootGameState(const std::string& name)
-        : GameState<GameStateBase>(name)
-        , stateRequest_("")
-    {
-    }
-
-    RootGameState::~RootGameState()
-    {
-    }
-
-    /**
-    @brief
-        Internal method that actually makes the state transition. Since it is internal,
-        the method can assume certain things to be granted (like 'this' is always active).
-    */
-    void RootGameState::makeTransition(GameStateBase* source, GameStateBase* destination)
-    {
-        if (source != 0)
-        {
-            // transition was not initiated by root itself
-            this->activeChild_ = 0;
-        }
-
-        if (destination == this)
-        {
-            // this marks the end of the game.
-            return;
-        }
-
-        // Check for 'destination' in the children map first
-        std::map<GameStateBase*, GameStateBase*>::const_iterator it
-            = this->grandchildrenToChildren_.find(destination);
-        if (it != this->grandchildrenToChildren_.end())
-        {
-            OrxAssert(dynamic_cast<GameStateBase*>(it->second) != 0,
-                "There was a mix with RootGameState and GameState, could not cast.");
-            GameStateBase* child = static_cast<GameStateBase*>(it->second);
-            // child state. Don't use 'state', might be a grandchild!
-            this->activeChild_ = child;
-            child->makeTransition(this, destination);
-        }
-        else
-        {
-            // root doesn't have a parent..
-            OrxAssert(false, "GameState '" + destination->getName() + "' not found in children list of Root.");
-        }
-    }
-
-    void RootGameState::gotoState(const std::string& name)
-    {
-        GameStateBase* request = getState(name);
-        if (request)
-        {
-            GameStateBase* current = getCurrentState();
-            if (current)
-            {
-                current->makeTransition(0, request);
-            }
-            else
-            {
-                // Root is not yet active. This is a violation.
-                ThrowException(GameState, "Activate Root before requesting a state.");
-            }
-        }
-        else
-        {
-            COUT(2) << "Warning: GameState '" << name << "' doesn't exist." << std::endl;
-        }
-    }
-
-    /**
-    @brief
-        Makes a state transition according to the state tree. You can choose any state
-        in the tree to do the call. The function finds the current state on its own.
-    @param state
-        The state to be entered, has to exist in the tree.
-    */
-    void RootGameState::requestState(const std::string& name)
-    {
-        this->stateRequest_ = name;
-    }
-
-    /**
-    @brief
-        Main loop of the orxonox game.
-        Starts the game. The little 'while' denotes the main loop.
-        Whenever the root state is selected, the game ends.
-    @param name
-        State to start with (usually main menu or specified by command line)
-    @note
-        We use the Ogre::Timer to measure time since it uses the most precise
-        method an a platform (however the windows timer lacks time when under
-        heavy kernel load!).
-    */
-    void RootGameState::start()
-    {
-        // Don't catch errors when having a debugger in msvc
-#if !defined(ORXONOX_COMPILER_MSVC) || defined(NDEBUG)
-        try
-        {
-#endif
-            // start global orxonox time
-            Clock clock;
-
-            this->activate();
-
-            // get initial state from command line
-            gotoState(CommandLine::getValue("state"));
-
-            while (this->activeChild_)
-            {
-                clock.capture();
-
-                this->tick(clock);
-
-                if (this->stateRequest_ != "")
-                    gotoState(stateRequest_);
-            }
-
-            this->deactivate();
-#if !defined(ORXONOX_COMPILER_MSVC) || defined(NDEBUG)
-        }
-        // Note: These are all unhandled exceptions that should not have made its way here!
-        // almost complete game catch block to display the messages appropriately.
-        catch (std::exception& ex)
-        {
-            COUT(0) << ex.what() << std::endl;
-            COUT(0) << "Program aborted." << std::endl;
-            abort();
-        }
-        // anything that doesn't inherit from std::exception
-        catch (...)
-        {
-            COUT(0) << "An unidentifiable exception has occured. Program aborted." << std::endl;
-            abort();
-        }
-#endif
-    }
-}

Deleted: trunk/src/core/RootGameState.h
===================================================================
--- trunk/src/core/RootGameState.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/RootGameState.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,54 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _RootGameState_H__
-#define _RootGameState_H__
-
-#include "CorePrereqs.h"
-#include "GameState.h"
-
-namespace orxonox
-{
-    class _CoreExport RootGameState : public GameState<GameStateBase>
-    {
-    public:
-        RootGameState(const std::string& name);
-        ~RootGameState();
-
-        void requestState(const std::string& name);
-        void start();
-
-    private:
-        void makeTransition(GameStateBase* source, GameStateBase* destination);
-        void gotoState(const std::string& name);
-
-        std::string stateRequest_;
-    };
-}
-
-#endif /* _RootGameState_H__ */

Modified: trunk/src/core/TclThreadManager.cc
===================================================================
--- trunk/src/core/TclThreadManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/TclThreadManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -34,6 +34,7 @@
 #include <boost/bind.hpp>
 #include <OgreTimer.h>
 
+#include "Clock.h"
 #include "CoreIncludes.h"
 #include "ConsoleCommand.h"
 #include "CommandExecutor.h"
@@ -597,7 +598,7 @@
         return output;
     }
 
-    void TclThreadManager::tick(float dt)
+    void TclThreadManager::update(const Clock& time)
     {
         {
             this->orxonoxEvalCondition_.notify_one();
@@ -632,7 +633,7 @@
 #else
             boost::try_mutex::scoped_lock interpreter_lock(this->orxonoxInterpreterBundle_.interpreterMutex_);
 #endif
-            unsigned long maxtime = (unsigned long)(dt * 1000000 * TCLTHREADMANAGER_MAX_CPU_USAGE);
+            unsigned long maxtime = (unsigned long)(time.getDeltaTime() * 1000000 * TCLTHREADMANAGER_MAX_CPU_USAGE);
             Ogre::Timer timer;
             while (!this->queueIsEmpty())
             {

Modified: trunk/src/core/TclThreadManager.h
===================================================================
--- trunk/src/core/TclThreadManager.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/TclThreadManager.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -89,7 +89,7 @@
             void error(const std::string& error);
             void debug(const std::string& error);
 
-            virtual void tick(float dt);
+            void update(const Clock& time);
 
             std::list<unsigned int> getThreadList() const;
 

Modified: trunk/src/core/Template.cc
===================================================================
--- trunk/src/core/Template.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/Template.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -64,7 +64,7 @@
         Element* element = xmlelement.FirstChildElement(false);
         if (element)
         {
-            TiXmlElement* tixmlelement = dynamic_cast<TiXmlElement*>(element->GetTiXmlPointer());
+            TiXmlElement* tixmlelement = static_cast<TiXmlElement*>(element->GetTiXmlPointer());
             if (tixmlelement)
                 this->setXMLElement(*tixmlelement);
         }
@@ -137,7 +137,7 @@
 
         COUT(4) << object->getLoaderIndentation() << " aplying Template \"" << this->getName() << "\"..." << std::endl;
 
-        Element temp = ((TiXmlElement*)&this->getXMLElement());
+        Element temp = &const_cast<TiXmlElement&>(this->getXMLElement());
 
         if (this->bLoadDefaults_)
             object->XMLPort(temp, XMLPort::LoadObject);


Property changes on: trunk/src/core/Template.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/core/Template.cc:2507-2659
/branches/buildsystem3/src/core/Template.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Template.cc:1803-1809
/branches/core3/src/orxonox/objects/Template.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Template.cc:1581
/branches/gui/src/orxonox/objects/Template.cc:1636-1724
/branches/input/src/orxonox/objects/Template.cc:1630-1637
/branches/lodfinal/src/core/Template.cc:2373-2412
/branches/miniprojects/src/core/Template.cc:2755-2825
/branches/network/src/core/Template.cc:2357
/branches/network64/src/core/Template.cc:2211-2356
/branches/objecthierarchy/src/core/Template.cc:2101,2111-2170
/branches/objecthierarchy2/src/core/Template.cc:2172-2480
/branches/overlay/src/core/Template.cc:2118-2386
/branches/physics/src/core/Template.cc:2108-2440
/branches/physics_merge/src/core/Template.cc:2437-2458
/branches/pickups2/src/core/Template.cc:2108-2498
/branches/presentation/src/core/Template.cc:2370-2653,2655-2661
/branches/questsystem2/src/core/Template.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Template.cc:1296-1954,1956
/branches/weapon2/src/core/Template.cc:2108-2489
/branches/weaponsystem/src/core/Template.cc:2743-2891
   + /branches/buildsystem2/src/core/Template.cc:2507-2659
/branches/buildsystem3/src/core/Template.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Template.cc:1803-1809
/branches/core3/src/orxonox/objects/Template.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Template.cc:1581
/branches/gui/src/core/Template.cc:2796-2895
/branches/gui/src/orxonox/objects/Template.cc:1636-1724
/branches/input/src/orxonox/objects/Template.cc:1630-1637
/branches/lodfinal/src/core/Template.cc:2373-2412
/branches/miniprojects/src/core/Template.cc:2755-2825
/branches/network/src/core/Template.cc:2357
/branches/network64/src/core/Template.cc:2211-2356
/branches/objecthierarchy/src/core/Template.cc:2101,2111-2170
/branches/objecthierarchy2/src/core/Template.cc:2172-2480
/branches/overlay/src/core/Template.cc:2118-2386
/branches/physics/src/core/Template.cc:2108-2440
/branches/physics_merge/src/core/Template.cc:2437-2458
/branches/pickups2/src/core/Template.cc:2108-2498
/branches/presentation/src/core/Template.cc:2370-2653,2655-2661
/branches/questsystem2/src/core/Template.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Template.cc:1296-1954,1956
/branches/weapon2/src/core/Template.cc:2108-2489
/branches/weaponsystem/src/core/Template.cc:2743-2891


Property changes on: trunk/src/core/Template.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/core/Template.h:2507-2659
/branches/buildsystem3/src/core/Template.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Template.h:1803-1809
/branches/core3/src/orxonox/objects/Template.h:1573-1740
/branches/gcc43/src/orxonox/objects/Template.h:1581
/branches/gui/src/orxonox/objects/Template.h:1636-1724
/branches/input/src/orxonox/objects/Template.h:1630-1637
/branches/lodfinal/src/core/Template.h:2373-2412
/branches/miniprojects/src/core/Template.h:2755-2825
/branches/network/src/core/Template.h:2357
/branches/network64/src/core/Template.h:2211-2356
/branches/objecthierarchy/src/core/Template.h:2101,2111-2170
/branches/objecthierarchy2/src/core/Template.h:2172-2480
/branches/overlay/src/core/Template.h:2118-2386
/branches/physics/src/core/Template.h:2108-2440
/branches/physics_merge/src/core/Template.h:2437-2458
/branches/pickups2/src/core/Template.h:2108-2498
/branches/presentation/src/core/Template.h:2370-2653,2655-2661
/branches/questsystem2/src/core/Template.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Template.h:1296-1954,1956
/branches/weapon2/src/core/Template.h:2108-2489
/branches/weaponsystem/src/core/Template.h:2743-2891
   + /branches/buildsystem2/src/core/Template.h:2507-2659
/branches/buildsystem3/src/core/Template.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Template.h:1803-1809
/branches/core3/src/orxonox/objects/Template.h:1573-1740
/branches/gcc43/src/orxonox/objects/Template.h:1581
/branches/gui/src/core/Template.h:2796-2895
/branches/gui/src/orxonox/objects/Template.h:1636-1724
/branches/input/src/orxonox/objects/Template.h:1630-1637
/branches/lodfinal/src/core/Template.h:2373-2412
/branches/miniprojects/src/core/Template.h:2755-2825
/branches/network/src/core/Template.h:2357
/branches/network64/src/core/Template.h:2211-2356
/branches/objecthierarchy/src/core/Template.h:2101,2111-2170
/branches/objecthierarchy2/src/core/Template.h:2172-2480
/branches/overlay/src/core/Template.h:2118-2386
/branches/physics/src/core/Template.h:2108-2440
/branches/physics_merge/src/core/Template.h:2437-2458
/branches/pickups2/src/core/Template.h:2108-2498
/branches/presentation/src/core/Template.h:2370-2653,2655-2661
/branches/questsystem2/src/core/Template.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Template.h:1296-1954,1956
/branches/weapon2/src/core/Template.h:2108-2489
/branches/weaponsystem/src/core/Template.h:2743-2891


Property changes on: trunk/src/core/XMLFile.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/core/XMLFile.h:2507-2659
/branches/buildsystem3/src/core/XMLFile.h:2663-2709
/branches/ceguilua/src/core/Level.h:1803-1809
/branches/core3/src/core/Level.h:1573-1740
/branches/gcc43/src/core/Level.h:1581
/branches/gui/src/core/Level.h:1636-1724
/branches/input/src/core/Level.h:1630-1637
/branches/lodfinal/src/core/XMLFile.h:2373-2412
/branches/miniprojects/src/core/XMLFile.h:2755-2825
/branches/network/src/core/XMLFile.h:2357
/branches/network64/src/core/XMLFile.h:2211-2356
/branches/objecthierarchy/src/core/XMLFile.h:2101,2111-2170
/branches/objecthierarchy2/src/core/XMLFile.h:2172-2480
/branches/overlay/src/core/XMLFile.h:2118-2386
/branches/physics/src/core/XMLFile.h:2108-2440
/branches/physics_merge/src/core/XMLFile.h:2437-2458
/branches/pickups2/src/core/XMLFile.h:2108-2498
/branches/presentation/src/core/XMLFile.h:2370-2653,2655-2661
/branches/questsystem2/src/core/XMLFile.h:2108-2260
/branches/script_trigger/src/core/Level.h:1296-1954,1956
/branches/weapon2/src/core/XMLFile.h:2108-2489
/branches/weaponsystem/src/core/XMLFile.h:2743-2891
/trunk/src/core/XMLFile.h:2-2086
   + /branches/buildsystem2/src/core/XMLFile.h:2507-2659
/branches/buildsystem3/src/core/XMLFile.h:2663-2709
/branches/ceguilua/src/core/Level.h:1803-1809
/branches/core3/src/core/Level.h:1573-1740
/branches/gcc43/src/core/Level.h:1581
/branches/gui/src/core/Level.h:1636-1724
/branches/gui/src/core/XMLFile.h:2796-2895
/branches/input/src/core/Level.h:1630-1637
/branches/lodfinal/src/core/XMLFile.h:2373-2412
/branches/miniprojects/src/core/XMLFile.h:2755-2825
/branches/network/src/core/XMLFile.h:2357
/branches/network64/src/core/XMLFile.h:2211-2356
/branches/objecthierarchy/src/core/XMLFile.h:2101,2111-2170
/branches/objecthierarchy2/src/core/XMLFile.h:2172-2480
/branches/overlay/src/core/XMLFile.h:2118-2386
/branches/physics/src/core/XMLFile.h:2108-2440
/branches/physics_merge/src/core/XMLFile.h:2437-2458
/branches/pickups2/src/core/XMLFile.h:2108-2498
/branches/presentation/src/core/XMLFile.h:2370-2653,2655-2661
/branches/questsystem2/src/core/XMLFile.h:2108-2260
/branches/script_trigger/src/core/Level.h:1296-1954,1956
/branches/weapon2/src/core/XMLFile.h:2108-2489
/branches/weaponsystem/src/core/XMLFile.h:2743-2891
/trunk/src/core/XMLFile.h:2-2086


Property changes on: trunk/src/core/XMLIncludes.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/core/XMLIncludes.h:1875-2277,2279-2401
/branches/buildsystem2/src/core/XMLIncludes.h:2507-2659
/branches/buildsystem3/src/core/XMLIncludes.h:2663-2709
/branches/ceguilua/src/util/XMLIncludes.h:1803-1809
/branches/core3/src/util/XMLIncludes.h:1573-1740
/branches/gcc43/src/util/XMLIncludes.h:1581
/branches/gui/src/util/XMLIncludes.h:1636-1724
/branches/input/src/util/XMLIncludes.h:1630-1637
/branches/lodfinal/src/core/XMLIncludes.h:2373-2412
/branches/miniprojects/src/core/XMLIncludes.h:2755-2825
/branches/network/src/core/XMLIncludes.h:2357
/branches/network64/src/core/XMLIncludes.h:2211-2356
/branches/objecthierarchy/src/core/XMLIncludes.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/XMLIncludes.h:2172-2480
/branches/overlay/src/core/XMLIncludes.h:2118-2386
/branches/physics/src/core/XMLIncludes.h:1913-2056,2108-2440
/branches/physics_merge/src/core/XMLIncludes.h:2437-2458
/branches/pickups/src/core/XMLIncludes.h:1927-2087,2128
/branches/pickups2/src/core/XMLIncludes.h:2108-2498
/branches/presentation/src/core/XMLIncludes.h:2370-2653,2655-2661
/branches/questsystem/src/core/XMLIncludes.h:1895-2089
/branches/questsystem2/src/core/XMLIncludes.h:2108-2260
/branches/weapon/src/core/XMLIncludes.h:1926-2095
/branches/weapon2/src/core/XMLIncludes.h:2108-2489
/branches/weaponsystem/src/core/XMLIncludes.h:2743-2891
   + /branches/buildsystem/src/core/XMLIncludes.h:1875-2277,2279-2401
/branches/buildsystem2/src/core/XMLIncludes.h:2507-2659
/branches/buildsystem3/src/core/XMLIncludes.h:2663-2709
/branches/ceguilua/src/util/XMLIncludes.h:1803-1809
/branches/core3/src/util/XMLIncludes.h:1573-1740
/branches/gcc43/src/util/XMLIncludes.h:1581
/branches/gui/src/core/XMLIncludes.h:2796-2895
/branches/gui/src/util/XMLIncludes.h:1636-1724
/branches/input/src/util/XMLIncludes.h:1630-1637
/branches/lodfinal/src/core/XMLIncludes.h:2373-2412
/branches/miniprojects/src/core/XMLIncludes.h:2755-2825
/branches/network/src/core/XMLIncludes.h:2357
/branches/network64/src/core/XMLIncludes.h:2211-2356
/branches/objecthierarchy/src/core/XMLIncludes.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/core/XMLIncludes.h:2172-2480
/branches/overlay/src/core/XMLIncludes.h:2118-2386
/branches/physics/src/core/XMLIncludes.h:1913-2056,2108-2440
/branches/physics_merge/src/core/XMLIncludes.h:2437-2458
/branches/pickups/src/core/XMLIncludes.h:1927-2087,2128
/branches/pickups2/src/core/XMLIncludes.h:2108-2498
/branches/presentation/src/core/XMLIncludes.h:2370-2653,2655-2661
/branches/questsystem/src/core/XMLIncludes.h:1895-2089
/branches/questsystem2/src/core/XMLIncludes.h:2108-2260
/branches/weapon/src/core/XMLIncludes.h:1926-2095
/branches/weapon2/src/core/XMLIncludes.h:2108-2489
/branches/weaponsystem/src/core/XMLIncludes.h:2743-2891

Modified: trunk/src/core/XMLPort.h
===================================================================
--- trunk/src/core/XMLPort.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/XMLPort.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -555,11 +555,11 @@
                                             {
                                                 try
                                                 {
-                                                    COUT(4) << ((BaseObject*)object)->getLoaderIndentation() << "fabricating " << child->Value() << "..." << std::endl;
+                                                    COUT(4) << object->getLoaderIndentation() << "fabricating " << child->Value() << "..." << std::endl;
 
                                                     BaseObject* newObject = identifier->fabricate((BaseObject*)object);
                                                     assert(newObject);
-                                                    newObject->setLoaderIndentation(((BaseObject*)object)->getLoaderIndentation() + "  ");
+                                                    newObject->setLoaderIndentation(object->getLoaderIndentation() + "  ");
 
                                                     O* castedObject = dynamic_cast<O*>(newObject);
                                                     assert(castedObject);
@@ -567,20 +567,20 @@
                                                     if (this->bLoadBefore_)
                                                     {
                                                         newObject->XMLPort(*child, XMLPort::LoadObject);
-                                                        COUT(4) << ((BaseObject*)object)->getLoaderIndentation() << "assigning " << child->Value() << " (objectname " << newObject->getName() << ") to " << this->identifier_->getName() << " (objectname " << ((BaseObject*)object)->getName() << ")" << std::endl;
+                                                        COUT(4) << object->getLoaderIndentation() << "assigning " << child->Value() << " (objectname " << newObject->getName() << ") to " << this->identifier_->getName() << " (objectname " << ((BaseObject*)object)->getName() << ")" << std::endl;
                                                     }
                                                     else
                                                     {
-                                                        COUT(4) << ((BaseObject*)object)->getLoaderIndentation() << "assigning " << child->Value() << " (object not yet loaded) to " << this->identifier_->getName() << " (objectname " << ((BaseObject*)object)->getName() << ")" << std::endl;
+                                                        COUT(4) << object->getLoaderIndentation() << "assigning " << child->Value() << " (object not yet loaded) to " << this->identifier_->getName() << " (objectname " << ((BaseObject*)object)->getName() << ")" << std::endl;
                                                     }
 
-                                                    COUT(5) << ((BaseObject*)object)->getLoaderIndentation();
+                                                    COUT(5) << object->getLoaderIndentation();
                                                     (*this->loadexecutor_)(object, castedObject);
 
                                                     if (!this->bLoadBefore_)
                                                         newObject->XMLPort(*child, XMLPort::LoadObject);
 
-                                                    COUT(5) << ((BaseObject*)object)->getLoaderIndentation() << "...fabricated " << child->Value() << " (objectname " << newObject->getName() << ")." << std::endl;
+                                                    COUT(5) << object->getLoaderIndentation() << "...fabricated " << child->Value() << " (objectname " << newObject->getName() << ")." << std::endl;
                                                 }
                                                 catch (AbortLoadingException& ex)
                                                 {
@@ -600,12 +600,12 @@
                                         }
                                         else
                                         {
-                                            COUT(2) << ((BaseObject*)object)->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not loadable." << std::endl;
+                                            COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not loadable." << std::endl;
                                         }
                                     }
                                     else
                                     {
-                                        COUT(2) << ((BaseObject*)object)->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << Class(O)->getName() << "'." << std::endl;
+                                        COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << Class(O)->getName() << "'." << std::endl;
                                     }
                                 }
                                 else
@@ -625,7 +625,7 @@
                     catch (ticpp::Exception& ex)
                     {
                         COUT(1) << std::endl;
-                        COUT(1) << "An error occurred in XMLPort.h while loading a '" << Class(O)->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << ((BaseObject*)object)->getName() << ") in " << object->getFilename() << ":" << std::endl;
+                        COUT(1) << "An error occurred in XMLPort.h while loading a '" << Class(O)->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << object->getName() << ") in " << object->getFilename() << ":" << std::endl;
                         COUT(1) << ex.what() << std::endl;
                     }
                 }

Modified: trunk/src/core/input/CalibratorCallback.h
===================================================================
--- trunk/src/core/input/CalibratorCallback.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/CalibratorCallback.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -51,7 +51,7 @@
         void keyReleased(const KeyEvent& evt) { }
         void keyHeld    (const KeyEvent& evt) { }
 
-        void tickInput(float dt) { }
+        void updateInput(float dt) { }
     };
 }
 

Modified: trunk/src/core/input/ExtendedInputState.cc
===================================================================
--- trunk/src/core/input/ExtendedInputState.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/ExtendedInputState.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -401,31 +401,31 @@
         return success;
     }
 
-    void ExtendedInputState::tickInput(float dt)
+    void ExtendedInputState::updateInput(float dt)
     {
         for (unsigned int i = 0; i < allHandlers_.size(); ++i)
         {
-            allHandlers_[i]->tickInput(dt);
+            allHandlers_[i]->updateInput(dt);
         }
     }
 
-    void ExtendedInputState::tickInput(float dt, unsigned int device)
+    void ExtendedInputState::updateInput(float dt, unsigned int device)
     {
         switch (device)
         {
         case Keyboard:
             for (unsigned int i = 0; i < keyHandlers_.size(); ++i)
-                keyHandlers_[i]->tickKey(dt);
+                keyHandlers_[i]->updateKey(dt);
             break;
 
         case Mouse:
             for (unsigned int i = 0; i < mouseHandlers_.size(); ++i)
-                mouseHandlers_[i]->tickMouse(dt);
+                mouseHandlers_[i]->updateMouse(dt);
             break;
 
         default: // joy sticks
             for (unsigned int i = 0; i < joyStickHandlers_[device - 2].size(); ++i)
-                joyStickHandlers_[device - 2][i]->tickJoyStick(dt, device - 2);
+                joyStickHandlers_[device - 2][i]->updateJoyStick(dt, device - 2);
             break;
         }
     }

Modified: trunk/src/core/input/ExtendedInputState.h
===================================================================
--- trunk/src/core/input/ExtendedInputState.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/ExtendedInputState.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -67,8 +67,8 @@
         ExtendedInputState() { }
         ~ExtendedInputState() { }
 
-        void tickInput(float dt);
-        void tickInput(float dt, unsigned int device);
+        void updateInput(float dt);
+        void updateInput(float dt, unsigned int device);
 
         void keyPressed (const KeyEvent& evt);
         void keyReleased(const KeyEvent& evt);

Modified: trunk/src/core/input/InputBuffer.cc
===================================================================
--- trunk/src/core/input/InputBuffer.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputBuffer.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -223,10 +223,10 @@
     }
 
     /**
-        @brief This tick() function is called by the InputManager if the InputBuffer is active.
+        @brief This update() function is called by the InputManager if the InputBuffer is active.
         @param dt Delta time
     */
-    void InputBuffer::tickInput(float dt)
+    void InputBuffer::updateInput(float dt)
     {
         timeSinceKeyPressed_ += dt;
         if (keysToRepeat_ < 10 && timeSinceKeyPressed_ > keyRepeatDeleay_)

Modified: trunk/src/core/input/InputBuffer.h
===================================================================
--- trunk/src/core/input/InputBuffer.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputBuffer.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -126,7 +126,7 @@
             {
                 for (std::list<BaseInputBufferListenerTuple*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); )
                 {
-                    InputBufferListenerTuple<T>* refListener = dynamic_cast<InputBufferListenerTuple<T>*>(*it);
+                    InputBufferListenerTuple<T>* refListener = static_cast<InputBufferListenerTuple<T>*>(*it);
                     if (refListener && refListener->listener_ == listener)
                         this->listeners_.erase(it++);
                     else
@@ -170,8 +170,8 @@
             void keyHeld    (const KeyEvent& evt);
             void processKey (const KeyEvent &e);
 
-            void tickInput(float dt);
-            void tickKey(float dt) { }
+            void updateInput(float dt);
+            void updateKey(float dt) { }
 
             std::string buffer_;
             std::list<BaseInputBufferListenerTuple*> listeners_;

Modified: trunk/src/core/input/InputInterfaces.h
===================================================================
--- trunk/src/core/input/InputInterfaces.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputInterfaces.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -473,7 +473,7 @@
     {
     public:
         virtual ~InputHandler() { }
-        virtual void tickInput(float dt) = 0;
+        virtual void updateInput(float dt) = 0;
     };
 
     /**
@@ -487,7 +487,7 @@
         virtual void keyPressed (const KeyEvent& evt) = 0;
         virtual void keyReleased(const KeyEvent& evt) = 0;
         virtual void keyHeld    (const KeyEvent& evt) = 0;
-        virtual void tickKey    (float dt) = 0;
+        virtual void updateKey    (float dt) = 0;
     };
 
     /**
@@ -503,7 +503,7 @@
         virtual void mouseButtonHeld    (MouseButtonCode::ByEnum id) = 0;
         virtual void mouseMoved         (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize) = 0;
         virtual void mouseScrolled      (int abs, int rel)     = 0;
-        virtual void tickMouse          (float dt) = 0;
+        virtual void updateMouse          (float dt) = 0;
     };
 
 
@@ -519,7 +519,7 @@
         virtual void joyStickButtonReleased(unsigned int joyStickID, JoyStickButtonCode::ByEnum id) = 0;
         virtual void joyStickButtonHeld    (unsigned int joyStickID, JoyStickButtonCode::ByEnum id) = 0;
         virtual void joyStickAxisMoved     (unsigned int joyStickID, unsigned int axis, float value) = 0;
-        virtual void tickJoyStick          (float dt, unsigned int joyStick) = 0;
+        virtual void updateJoyStick          (float dt, unsigned int joyStick) = 0;
     };
 
     class _CoreExport EmptyHandler : public KeyHandler, public MouseHandler, public JoyStickHandler
@@ -530,10 +530,10 @@
         EmptyHandler(EmptyHandler&);
         virtual ~EmptyHandler() { }
 
-        void tickInput(float dt) { }
-        void tickJoyStick(float dt, unsigned int joyStick) { }
-        void tickMouse(float dt) { }
-        void tickKey(float dt) { }
+        void updateInput(float dt) { }
+        void updateJoyStick(float dt, unsigned int joyStick) { }
+        void updateMouse(float dt) { }
+        void updateKey(float dt) { }
 
         void keyPressed (const KeyEvent& evt) { }
         void keyReleased(const KeyEvent& evt) { }

Modified: trunk/src/core/input/InputManager.cc
===================================================================
--- trunk/src/core/input/InputManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -42,6 +42,7 @@
 #include "ois/OISInputManager.h"
 
 #include "util/Exception.h"
+#include "core/Clock.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "core/CommandExecutor.h"
@@ -107,7 +108,6 @@
         , windowHnd_(0)
         , internalState_(Uninitialised)
         , stateEmpty_(0)
-        , stateMaster_(0)
         , keyDetector_(0)
         , calibratorCallbackBuffer_(0)
         , keyboardModifiers_(0)
@@ -172,7 +172,7 @@
             paramList.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
             //paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE")));
             //paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND")));
-#if defined OIS_LINUX_PLATFORM
+#if defined ORXONOX_PLATFORM_LINUX
             paramList.insert(std::make_pair(std::string("XAutoRepeatOn"), std::string("true")));
             paramList.insert(std::make_pair(std::string("x11_mouse_grab"), "true"));
             paramList.insert(std::make_pair(std::string("x11_mouse_hide"), "true"));
@@ -217,22 +217,17 @@
             CCOUT(4) << "Initialising InputStates components..." << std::endl;
 
             // Lowest priority empty InputState
-            stateEmpty_ = createInputState<SimpleInputState>("empty", -1);
+            stateEmpty_ = createInputState<SimpleInputState>("empty", false, false, InputStatePriority::Empty);
             stateEmpty_->setHandler(&EMPTY_HANDLER);
             activeStates_[stateEmpty_->getPriority()] = stateEmpty_;
 
-            // Always active master InputState
-            stateMaster_ = new ExtendedInputState();
-            stateMaster_->setName("master");
-            stateMaster_->setNumOfJoySticks(joySticksSize_);
-
             // KeyDetector to evaluate a pressed key's name
-            SimpleInputState* detector = createInputState<SimpleInputState>("detector", 101);
+            SimpleInputState* detector = createInputState<SimpleInputState>("detector", false, false, InputStatePriority::Detector);
             keyDetector_ = new KeyDetector();
             detector->setHandler(keyDetector_);
 
             // Joy stick calibration helper callback
-            SimpleInputState* calibrator = createInputState<SimpleInputState>("calibrator", 100);
+            SimpleInputState* calibrator = createInputState<SimpleInputState>("calibrator", false, false, InputStatePriority::Calibrator);
             calibrator->setHandler(&EMPTY_HANDLER);
             calibratorCallbackBuffer_ = new InputBuffer();
             calibratorCallbackBuffer_->registerListener(this, &InputManager::_completeCalibration, '\r', true);
@@ -423,17 +418,14 @@
         _evaluateCalibration();
 
         // state management
-        activeStatesTop_.resize(devicesNum_);
+        activeStatesTriggered_.resize(devicesNum_);
 
         // inform all states
-        for (std::map<int, InputState*>::const_iterator it = inputStatesByPriority_.begin();
-            it != inputStatesByPriority_.end(); ++it)
+        for (std::map<std::string, InputState*>::const_iterator it = inputStatesByName_.begin();
+            it != inputStatesByName_.end(); ++it)
         {
             it->second->setNumOfJoySticks(joySticksSize_);
         }
-        // inform master state
-        if (stateMaster_)
-            this->stateMaster_->setNumOfJoySticks(joySticksSize_);
 
         // inform all JoyStick Device Number Listeners
         for (ObjectList<JoyStickDeviceNumberListener>::iterator it = ObjectList<JoyStickDeviceNumberListener>::begin(); it; ++it)
@@ -453,7 +445,7 @@
             }
         }
     }
-    
+
     void InputManager::_startCalibration()
     {
         for (unsigned int iJoyStick = 0; iJoyStick < this->joySticksSize_; ++iJoyStick)
@@ -548,13 +540,10 @@
                 requestDestroyState("detector");
                 // destroy the empty InputState
                 _destroyState(this->stateEmpty_);
-                // destroy the master input state. This might trigger a memory leak
-                // because the user has forgotten to destroy the KeyBinder or any Handler!
-                delete stateMaster_;
 
                 // destroy all user InputStates
-                while (inputStatesByPriority_.size() > 0)
-                    _destroyState((*inputStatesByPriority_.rbegin()).second);
+                while (inputStatesByName_.size() > 0)
+                    _destroyState((*inputStatesByName_.rbegin()).second);
 
                 // destroy the devices
                 _destroyKeyboard();
@@ -638,7 +627,6 @@
             this->activeStates_.erase(it);
             _updateActiveStates();
         }
-        inputStatesByPriority_.erase(state->getPriority());
         inputStatesByName_.erase(state->getName());
         delete state;
     }
@@ -669,7 +657,7 @@
     /**
     @brief
         Public interface. Only reloads immediately if the call stack doesn't
-        include the tick() method.
+        include the update() method.
     @param joyStickSupport
         Whether or not to initialise joy sticks as well.
     */
@@ -741,10 +729,10 @@
     /**
     @brief
         Updates the states and the InputState situation.
-    @param dt
-        Delta time
+    @param time
+        Clock holding the current time.
     */
-    void InputManager::tick(float dt)
+    void InputManager::update(const Clock& time)
     {
         if (internalState_ == Uninitialised)
             return;
@@ -758,14 +746,16 @@
         // check for states to leave
         if (!stateLeaveRequests_.empty())
         {
-            for (std::set<InputState*>::reverse_iterator rit = stateLeaveRequests_.rbegin();
-                rit != stateLeaveRequests_.rend(); ++rit)
+            for (std::set<InputState*>::iterator it = stateLeaveRequests_.begin();
+                it != stateLeaveRequests_.end(); ++it)
             {
-                (*rit)->onLeave();
+                (*it)->onLeave();
                 // just to be sure that the state actually is registered
-                assert(inputStatesByName_.find((*rit)->getName()) != inputStatesByName_.end());
+                assert(inputStatesByName_.find((*it)->getName()) != inputStatesByName_.end());
 
-                activeStates_.erase((*rit)->getPriority());
+                activeStates_.erase((*it)->getPriority());
+                if ((*it)->getPriority() < InputStatePriority::HighPriority)
+                    (*it)->setPriority(0);
                 _updateActiveStates();
             }
             stateLeaveRequests_.clear();
@@ -774,15 +764,36 @@
         // check for states to enter
         if (!stateEnterRequests_.empty())
         {
-            for (std::set<InputState*>::reverse_iterator rit = stateEnterRequests_.rbegin();
-                rit != stateEnterRequests_.rend(); ++rit)
+            for (std::set<InputState*>::const_iterator it = stateEnterRequests_.begin();
+                it != stateEnterRequests_.end(); ++it)
             {
                 // just to be sure that the state actually is registered
-                assert(inputStatesByName_.find((*rit)->getName()) != inputStatesByName_.end());
+                assert(inputStatesByName_.find((*it)->getName()) != inputStatesByName_.end());
 
-                activeStates_[(*rit)->getPriority()] = (*rit);
+                if ((*it)->getPriority() == 0)
+                {
+                    // Get smallest possible priority between 1 and maxStateStackSize_s
+#if defined( __MINGW32__ ) // Avoid the strange mingw-stl bug with const_reverse_iterator
+                    for(std::map<int, InputState*>::reverse_iterator rit = activeStates_.rbegin();
+                        rit != activeStates_.rend(); ++rit)
+#else
+                    for(std::map<int, InputState*>::const_reverse_iterator rit = activeStates_.rbegin();
+                        rit != activeStates_.rend(); ++rit)
+#endif
+                    {
+                        if (rit->first < InputStatePriority::HighPriority)
+                        {
+                            (*it)->setPriority(rit->first + 1);
+                            break;
+                        }
+                    }
+                    // In case no normal handler was on the stack
+                    if ((*it)->getPriority() == 0)
+                        (*it)->setPriority(1);
+                }
+                activeStates_[(*it)->getPriority()] = (*it);
                 _updateActiveStates();
-                (*rit)->onEnter();
+                (*it)->onEnter();
             }
             stateEnterRequests_.clear();
         }
@@ -790,10 +801,10 @@
         // check for states to destroy
         if (!stateDestroyRequests_.empty())
         {
-            for (std::set<InputState*>::reverse_iterator rit = stateDestroyRequests_.rbegin();
-                rit != stateDestroyRequests_.rend(); ++rit)
+            for (std::set<InputState*>::iterator it = stateDestroyRequests_.begin();
+                it != stateDestroyRequests_.end(); ++it)
             {
-                _destroyState((*rit));
+                _destroyState((*it));
             }
             stateDestroyRequests_.clear();
         }
@@ -811,7 +822,7 @@
         if (bUpdateRequired)
             _updateActiveStates();
 
-        // mark that we capture and distribute input
+        // mark that we now start capturing and distributing input
         internalState_ |= Ticking;
 
         // Capture all the input. This calls the event handlers in InputManager.
@@ -828,38 +839,36 @@
             for (unsigned int iKey = 0; iKey < keysDown_.size(); iKey++)
             {
                 KeyEvent kEvt(keysDown_[iKey], keyboardModifiers_);
-                activeStatesTop_[Keyboard]->keyHeld(kEvt);
-                stateMaster_->keyHeld(kEvt);
+
+                for (unsigned int iState = 0; iState < activeStatesTriggered_[Keyboard].size(); ++iState)
+                    activeStatesTriggered_[Keyboard][iState]->keyHeld(kEvt);
             }
 
             // call all the handlers for the held mouse button events
             for (unsigned int iButton = 0; iButton < mouseButtonsDown_.size(); iButton++)
             {
-                activeStatesTop_[Mouse]->mouseButtonHeld(mouseButtonsDown_[iButton]);
-                stateMaster_->mouseButtonHeld(mouseButtonsDown_[iButton]);
+                for (unsigned int iState = 0; iState < activeStatesTriggered_[Mouse].size(); ++iState)
+                    activeStatesTriggered_[Mouse][iState]->mouseButtonHeld(mouseButtonsDown_[iButton]);
             }
 
             // call all the handlers for the held joy stick button events
             for (unsigned int iJoyStick  = 0; iJoyStick < joySticksSize_; iJoyStick++)
                 for (unsigned int iButton   = 0; iButton   < joyStickButtonsDown_[iJoyStick].size(); iButton++)
                 {
-                    activeStatesTop_[JoyStick0 + iJoyStick]
-                        ->joyStickButtonHeld(iJoyStick, joyStickButtonsDown_[iJoyStick][iButton]);
-                    stateMaster_->joyStickButtonHeld(iJoyStick, joyStickButtonsDown_[iJoyStick][iButton]);
+                    for (unsigned int iState = 0; iState < activeStatesTriggered_[JoyStick0 + iJoyStick].size(); ++iState)
+                        activeStatesTriggered_[JoyStick0 + iJoyStick][iState]->joyStickButtonHeld(iJoyStick, joyStickButtonsDown_[iJoyStick][iButton]);
                 }
 
-            // tick the handlers for each active handler
+            // update the handlers for each active handler
             for (unsigned int i = 0; i < devicesNum_; ++i)
             {
-                activeStatesTop_[i]->tickInput(dt, i);
-                if (stateMaster_->isInputDeviceEnabled(i))
-                    stateMaster_->tickInput(dt, i);
+                for (unsigned int iState = 0; iState < activeStatesTriggered_[i].size(); ++iState)
+                    activeStatesTriggered_[i][iState]->updateInput(time.getDeltaTime(), i);
             }
 
-            // tick the handler with a general tick afterwards
+            // update the handler with a general tick afterwards
             for (unsigned int i = 0; i < activeStatesTicked_.size(); ++i)
-                activeStatesTicked_[i]->tickInput(dt);
-            stateMaster_->tickInput(dt);
+                activeStatesTicked_[i]->updateInput(time.getDeltaTime());
         }
 
         internalState_ &= ~Ticking;
@@ -868,22 +877,38 @@
     /**
     @brief
         Updates the currently active states (according to activeStates_) for each device.
-        Also, a list of all active states (no duplicates!) is compiled for the general tick.
+        Also, a list of all active states (no duplicates!) is compiled for the general update().
     */
     void InputManager::_updateActiveStates()
     {
-        for (std::map<int, InputState*>::const_iterator it = activeStates_.begin(); it != activeStates_.end(); ++it)
-            for (unsigned int i = 0; i < devicesNum_; ++i)
-                if (it->second->isInputDeviceEnabled(i))
-                    activeStatesTop_[i] = it->second;
+        for (unsigned int i = 0; i < devicesNum_; ++i)
+        {
+            bool occupied = false;
+            activeStatesTriggered_[i].clear();
+#if defined( __MINGW32__ ) // Avoid the strange mingw-stl bug with const_reverse_iterator
+            for (std::map<int, InputState*>::reverse_iterator rit = activeStates_.rbegin(); rit != activeStates_.rend(); ++rit)
+            {
+#else
+            for (std::map<int, InputState*>::const_reverse_iterator rit = activeStates_.rbegin(); rit != activeStates_.rend(); ++rit)
+            {
+#endif
+                if (rit->second->isInputDeviceEnabled(i) && (!occupied || rit->second->bAlwaysGetsInput_))
+                {
+                    activeStatesTriggered_[i].push_back(rit->second);
+                    if (!rit->second->bTransparent_)
+                        occupied = true;
+                }
+            }
+        }
 
         // update tickables (every state will only appear once)
         // Using a std::set to avoid duplicates
         std::set<InputState*> tempSet;
         for (unsigned int i = 0; i < devicesNum_; ++i)
-            tempSet.insert(activeStatesTop_[i]);
+            for (unsigned int iState = 0; iState < activeStatesTriggered_[i].size(); ++iState)
+                tempSet.insert(activeStatesTriggered_[i][iState]);
 
-        // copy the content of the set back to the actual vector
+        // copy the content of the std::set back to the actual vector
         activeStatesTicked_.clear();
         for (std::set<InputState*>::const_iterator it = tempSet.begin();it != tempSet.end(); ++it)
             activeStatesTicked_.push_back(*it);
@@ -941,8 +966,8 @@
             keyboardModifiers_ |= KeyboardModifier::Shift; // shift key
 
         KeyEvent kEvt(e, keyboardModifiers_);
-        activeStatesTop_[Keyboard]->keyPressed(kEvt);
-        stateMaster_->keyPressed(kEvt);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[Keyboard].size(); ++iState)
+            activeStatesTriggered_[Keyboard][iState]->keyPressed(kEvt);
 
         return true;
     }
@@ -974,8 +999,8 @@
             keyboardModifiers_ &= ~KeyboardModifier::Shift; // shift key
 
         KeyEvent kEvt(e, keyboardModifiers_);
-        activeStatesTop_[Keyboard]->keyReleased(kEvt);
-        stateMaster_->keyReleased(kEvt);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[Keyboard].size(); ++iState)
+            activeStatesTriggered_[Keyboard][iState]->keyReleased(kEvt);
 
         return true;
     }
@@ -997,15 +1022,15 @@
             IntVector2 abs(e.state.X.abs, e.state.Y.abs);
             IntVector2 rel(e.state.X.rel, e.state.Y.rel);
             IntVector2 clippingSize(e.state.width, e.state.height);
-            activeStatesTop_[Mouse]->mouseMoved(abs, rel, clippingSize);
-            stateMaster_->mouseMoved(abs, rel, clippingSize);
+            for (unsigned int iState = 0; iState < activeStatesTriggered_[Mouse].size(); ++iState)
+                activeStatesTriggered_[Mouse][iState]->mouseMoved(abs, rel, clippingSize);
         }
 
         // check for mouse scrolled event
         if (e.state.Z.rel != 0)
         {
-            activeStatesTop_[Mouse]->mouseScrolled(e.state.Z.abs, e.state.Z.rel);
-            stateMaster_->mouseScrolled(e.state.Z.abs, e.state.Z.rel);
+            for (unsigned int iState = 0; iState < activeStatesTriggered_[Mouse].size(); ++iState)
+                activeStatesTriggered_[Mouse][iState]->mouseScrolled(e.state.Z.abs, e.state.Z.rel);
         }
 
         return true;
@@ -1028,8 +1053,8 @@
         if (iButton == mouseButtonsDown_.size())
             mouseButtonsDown_.push_back((MouseButtonCode::ByEnum)id);
 
-        activeStatesTop_[Mouse]->mouseButtonPressed((MouseButtonCode::ByEnum)id);
-        stateMaster_->mouseButtonPressed((MouseButtonCode::ByEnum)id);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[Mouse].size(); ++iState)
+            activeStatesTriggered_[Mouse][iState]->mouseButtonPressed((MouseButtonCode::ByEnum)id);
 
         return true;
     }
@@ -1054,8 +1079,8 @@
             }
         }
 
-        activeStatesTop_[Mouse]->mouseButtonReleased((MouseButtonCode::ByEnum)id);
-        stateMaster_->mouseButtonReleased((MouseButtonCode::ByEnum)id);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[Mouse].size(); ++iState)
+            activeStatesTriggered_[Mouse][iState]->mouseButtonReleased((MouseButtonCode::ByEnum)id);
 
         return true;
     }
@@ -1091,8 +1116,8 @@
         if (iButton == buttonsDown.size())
             buttonsDown.push_back((JoyStickButtonCode::ByEnum)button);
 
-        activeStatesTop_[2 + iJoyStick]->joyStickButtonPressed(iJoyStick, (JoyStickButtonCode::ByEnum)button);
-        stateMaster_->joyStickButtonPressed(iJoyStick, (JoyStickButtonCode::ByEnum)button);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[2 + iJoyStick].size(); ++iState)
+            activeStatesTriggered_[2 + iJoyStick][iState]->joyStickButtonPressed(iJoyStick, (JoyStickButtonCode::ByEnum)button);
 
         return true;
     }
@@ -1112,8 +1137,8 @@
             }
         }
 
-        activeStatesTop_[2 + iJoyStick]->joyStickButtonReleased(iJoyStick, (JoyStickButtonCode::ByEnum)button);
-        stateMaster_->joyStickButtonReleased(iJoyStick, (JoyStickButtonCode::ByEnum)button);
+        for (unsigned int iState = 0; iState < activeStatesTriggered_[2 + iJoyStick].size(); ++iState)
+            activeStatesTriggered_[2 + iJoyStick][iState]->joyStickButtonReleased(iJoyStick, (JoyStickButtonCode::ByEnum)button);
 
         return true;
     }
@@ -1140,8 +1165,8 @@
             else
                 fValue *= joyStickCalibrations_[iJoyStick].negativeCoeff[axis];
 
-            activeStatesTop_[2 + iJoyStick]->joyStickAxisMoved(iJoyStick, axis, fValue);
-            stateMaster_->joyStickAxisMoved(iJoyStick, axis, fValue);
+            for (unsigned int iState = 0; iState < activeStatesTriggered_[2 + iJoyStick].size(); ++iState)
+                activeStatesTriggered_[2 + iJoyStick][iState]->joyStickAxisMoved(iJoyStick, axis, fValue);
         }
     }
 
@@ -1244,11 +1269,13 @@
     @param name
         Unique name of the handler.
     @param priority
-        Unique integer number. Higher means more prioritised.
+        Determines which InputState gets the input. Higher is better.
+        Use 0 to handle it implicitely by the order of activation.
+        Otherwise numbers larger than maxStateStackSize_s have to be used!
     @return
         True if added, false if name or priority already existed.
     */
-    bool InputManager::_configureInputState(InputState* state, const std::string& name, int priority)
+    bool InputManager::_configureInputState(InputState* state, const std::string& name, bool bAlwaysGetsInput, bool bTransparent, int priority)
     {
         if (name == "")
             return false;
@@ -1256,22 +1283,28 @@
             return false;
         if (inputStatesByName_.find(name) == inputStatesByName_.end())
         {
-            if (inputStatesByPriority_.find(priority)
-                == inputStatesByPriority_.end())
+            if (priority >= InputStatePriority::HighPriority || priority == InputStatePriority::Empty)
             {
-                inputStatesByName_[name] = state;
-                inputStatesByPriority_[priority] = state;
-                state->setNumOfJoySticks(numberOfJoySticks());
-                state->setName(name);
+                // Make sure we don't add two high priority states with the same priority
+                for (std::map<std::string, InputState*>::const_iterator it = this->inputStatesByName_.begin();
+                    it != this->inputStatesByName_.end(); ++it)
+                {
+                    if (it->second->getPriority() == priority)
+                    {
+                        COUT(2) << "Warning: Could not add an InputState with the same priority '"
+                            << priority << "' != 0." << std::endl;
+                        return false;
+                    }
+                }
+            }
+            inputStatesByName_[name] = state;
+            state->setNumOfJoySticks(numberOfJoySticks());
+            state->setName(name);
+            state->bAlwaysGetsInput_ = bAlwaysGetsInput;
+            state->bTransparent_ = bTransparent;
+            if (priority >= InputStatePriority::HighPriority || priority == InputStatePriority::Empty)
                 state->setPriority(priority);
-                return true;
-            }
-            else
-            {
-                COUT(2) << "Warning: Could not add an InputState with the same priority '"
-                    << priority << "'." << std::endl;
-                return false;
-            }
+            return true;
         }
         else
         {
@@ -1289,7 +1322,7 @@
         True if removal was successful, false if name was not found.
     @remarks
         You can't remove the internal states "empty", "calibrator" and "detector".
-        The removal process is being postponed if InputManager::tick() is currently running.
+        The removal process is being postponed if InputManager::update() is currently running.
     */
     bool InputManager::requestDestroyState(const std::string& name)
     {
@@ -1370,7 +1403,7 @@
                 if (stateDestroyRequests_.find(it->second) == stateDestroyRequests_.end())
                 {
                     // not scheduled for destruction
-                    // set prevents a state being added multiple times
+                    // prevents a state being added multiple times
                     stateEnterRequests_.insert(it->second);
                     return true;
                 }
@@ -1389,6 +1422,11 @@
     */
     bool InputManager::requestLeaveState(const std::string& name)
     {
+        if (name == "empty")
+        {
+            COUT(2) << "InputManager: Leaving the empty state is not allowed!" << std::endl;
+            return false;
+        }
         // get pointer from the map with all stored handlers
         std::map<std::string, InputState*>::const_iterator it = inputStatesByName_.find(name);
         if (it != inputStatesByName_.end())

Modified: trunk/src/core/input/InputManager.h
===================================================================
--- trunk/src/core/input/InputManager.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputManager.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -42,6 +42,7 @@
 #include <vector>
 #include <stack>
 #include "util/Math.h"
+#include "util/OrxEnum.h"
 #include "core/OrxonoxClass.h"
 #include "InputInterfaces.h"
 
@@ -75,6 +76,19 @@
         float negativeCoeff[24];
     };
 
+    struct InputStatePriority : OrxEnum<InputStatePriority>
+    {
+        OrxEnumConstructors(InputStatePriority);
+
+        static const int Empty        = -1;
+        static const int Dynamic      = 0;
+
+        static const int HighPriority = 1000;
+        static const int Console      = HighPriority + 0;
+        static const int Calibrator   = HighPriority + 1;
+        static const int Detector     = HighPriority + 2;
+    };
+
     /**
     @brief
         Captures and distributes mouse and keyboard input.
@@ -115,16 +129,15 @@
         void setKeyDetectorCallback(const std::string& command);
 
         template <class T>
-        T* createInputState(const std::string& name, int priority);
+        T* createInputState(const std::string& name, bool bAlwaysGetsInput = false, bool bTransparent = false, InputStatePriority priority = InputStatePriority::Dynamic);
 
         InputState* getState       (const std::string& name);
         InputState* getCurrentState();
-        ExtendedInputState* getMasterInputState() { return this->stateMaster_; }
         bool requestDestroyState   (const std::string& name);
         bool requestEnterState     (const std::string& name);
         bool requestLeaveState     (const std::string& name);
 
-        void tick(float dt);
+        void update(const Clock& time);
 
         static InputManager& getInstance()    { assert(singletonRef_s); return *singletonRef_s; }
         static InputManager* getInstancePtr() { return singletonRef_s; }
@@ -164,7 +177,7 @@
         unsigned int _getJoystick(const OIS::JoyStickEvent& arg);
 
         void _updateActiveStates();
-        bool _configureInputState(InputState* state, const std::string& name, int priority);
+        bool _configureInputState(InputState* state, const std::string& name, bool bAlwaysGetsInput, bool bTransparent, int priority);
 
         // input events
         bool mousePressed  (const OIS::MouseEvent    &arg, OIS::MouseButtonID id);
@@ -196,20 +209,18 @@
 
         // some internally handled states and handlers
         SimpleInputState*                   stateEmpty_;
-        ExtendedInputState*                 stateMaster_;          //!< Always active master input state
         KeyDetector*                        keyDetector_;          //!< KeyDetector instance
         InputBuffer*                        calibratorCallbackBuffer_;
 
         std::map<std::string, InputState*>  inputStatesByName_;
-        std::map<int, InputState*>          inputStatesByPriority_;
 
         std::set<InputState*>               stateEnterRequests_;   //!< Request to enter a new state
         std::set<InputState*>               stateLeaveRequests_;   //!< Request to leave a running state
         std::set<InputState*>               stateDestroyRequests_; //!< Request to destroy a state
 
         std::map<int, InputState*>          activeStates_;
-        std::vector<InputState*>            activeStatesTop_;      //!< Current input states for joy stick events.
-        std::vector<InputState*>            activeStatesTicked_;   //!< Current input states for joy stick events.
+        std::vector<std::vector<InputState*> > activeStatesTriggered_;
+        std::vector<InputState*>            activeStatesTicked_;
 
         // joystick calibration
         std::vector<std::vector<int> >      joyStickMinValues_;
@@ -248,10 +259,10 @@
         number, but 1 - 99 is preferred (99 means high).
     */
     template <class T>
-    T* InputManager::createInputState(const std::string& name, int priority)
+    T* InputManager::createInputState(const std::string& name, bool bAlwaysGetsInput, bool bTransparent, InputStatePriority priority)
     {
         T* state = new T;
-        if (_configureInputState(state, name, priority))
+        if (_configureInputState(state, name, bAlwaysGetsInput, bTransparent, priority))
             return state;
         else
         {

Modified: trunk/src/core/input/InputState.h
===================================================================
--- trunk/src/core/input/InputState.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/InputState.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -70,8 +70,8 @@
         virtual void registerOnLeave(Executor* executor)      { executorOnLeave_ = executor; }
         virtual void unRegisterOnLeave()                      { executorOnLeave_ = 0; }
 
-        virtual void tickInput(float dt, unsigned int device) = 0;
-        virtual void tickInput(float dt) = 0;
+        virtual void updateInput(float dt, unsigned int device) = 0;
+        virtual void updateInput(float dt) = 0;
 
         virtual void keyPressed (const KeyEvent& evt) = 0;
         virtual void keyReleased(const KeyEvent& evt) = 0;
@@ -89,7 +89,14 @@
         virtual void joyStickAxisMoved     (unsigned int joyStickID, unsigned int axis, float value) = 0;
 
     protected:
-        InputState() : bHandlersChanged_(false), priority_(0), executorOnEnter_(0), executorOnLeave_(0) { }
+        InputState()
+            : bHandlersChanged_(false)
+            , priority_(0)
+            , bAlwaysGetsInput_(false)
+            , bTransparent_(false)
+            , executorOnEnter_(0)
+            , executorOnLeave_(0)
+        { }
         virtual ~InputState() { }
 
         virtual void numberOfJoySticksChanged(unsigned int n) = 0;
@@ -113,6 +120,8 @@
         std::string                                 name_;
         int                                         priority_;
         std::vector<bool>                           bInputDeviceEnabled_;
+        bool                                        bAlwaysGetsInput_;
+        bool                                        bTransparent_;
 
         Executor*                                   executorOnEnter_;
         Executor*                                   executorOnLeave_;

Modified: trunk/src/core/input/KeyBinder.cc
===================================================================
--- trunk/src/core/input/KeyBinder.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/KeyBinder.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -41,7 +41,6 @@
 #include "core/ConfigValueIncludes.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigFileManager.h"
-#include "core/Core.h"
 #include "InputCommands.h"
 #include "InputManager.h"
 
@@ -308,7 +307,7 @@
         }
     }
 
-    void KeyBinder::tickMouse(float dt)
+    void KeyBinder::updateMouse(float dt)
     {
         if (bDeriveMouseInput_)
         {
@@ -348,7 +347,7 @@
         {
             // Why dividing relative value by dt? The reason lies in the simple fact, that when you
             // press a button that has relative movement, that value has to be multiplied by dt to be
-            // frame rate independent. This can easily (and only) be done in tickInput(float).
+            // frame rate independent. This can easily (and only) be done in updateInput(float).
             // Hence we need to divide by dt here for the mouse to compensate, because the relative
             // move movements have nothing to do with dt.
             if (dt != 0.0f)
@@ -361,7 +360,7 @@
         }
     }
 
-    void KeyBinder::tickJoyStick(float dt, unsigned int joyStick)
+    void KeyBinder::updateJoyStick(float dt, unsigned int joyStick)
     {
         for (unsigned int i = 0; i < JoyStickAxisCode::numberOfAxes * 2; i++)
         {

Modified: trunk/src/core/input/KeyBinder.h
===================================================================
--- trunk/src/core/input/KeyBinder.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/KeyBinder.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -67,10 +67,10 @@
         void resetJoyStickAxes();
 
     protected: // functions
-        void tickInput(float dt);
-        void tickKey(float dt) { }
-        void tickMouse(float dt);
-        void tickJoyStick(float dt, unsigned int joyStick);
+        void updateInput(float dt);
+        void updateKey(float dt) { }
+        void updateMouse(float dt);
+        void updateJoyStick(float dt, unsigned int joyStick);
         // internal
         void tickHalfAxis(HalfAxis& halfAxis);
 
@@ -133,7 +133,7 @@
         /**
         @brief
             Commands that have additional parameters (axes) are executed at the end of
-            the tick() so that all values can be buffered for single execution.
+            update() so that all values can be buffered for single execution.
         */
         std::vector<BufferedParamCommand*> paramCommandBuffer_;
 
@@ -199,7 +199,7 @@
     inline void KeyBinder::joyStickButtonHeld    (unsigned int joyStickID, JoyStickButtonCode::ByEnum id)
     { joyStickButtons_[joyStickID][id].execute(KeybindMode::OnHold); }
 
-    inline void KeyBinder::tickInput(float dt)
+    inline void KeyBinder::updateInput(float dt)
     {
         // execute all buffered bindings (additional parameter)
         for (unsigned int i = 0; i < paramCommandBuffer_.size(); i++)

Modified: trunk/src/core/input/SimpleInputState.h
===================================================================
--- trunk/src/core/input/SimpleInputState.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/core/input/SimpleInputState.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -58,8 +58,8 @@
         SimpleInputState();
         ~SimpleInputState() { }
 
-        void tickInput(float dt);
-        void tickInput(float dt, unsigned int device);
+        void updateInput(float dt);
+        void updateInput(float dt, unsigned int device);
 
         void keyPressed (const KeyEvent& evt);
         void keyReleased(const KeyEvent& evt);
@@ -86,31 +86,31 @@
         std::vector<InputHandler*>    allHandlers_;
     };
 
-    inline void SimpleInputState::tickInput(float dt)
+    inline void SimpleInputState::updateInput(float dt)
     {
         for (unsigned int i = 0; i < allHandlers_.size(); ++i)
         {
-            allHandlers_[i]->tickInput(dt);
+            allHandlers_[i]->updateInput(dt);
         }
     }
 
-    inline void SimpleInputState::tickInput(float dt, unsigned int device)
+    inline void SimpleInputState::updateInput(float dt, unsigned int device)
     {
         switch (device)
         {
         case InputDevice::Keyboard:
             if (keyHandler_)
-                keyHandler_->tickKey(dt);
+                keyHandler_->updateKey(dt);
             break;
 
         case InputDevice::Mouse:
             if (mouseHandler_)
-                mouseHandler_->tickMouse(dt);
+                mouseHandler_->updateMouse(dt);
             break;
 
         default: // joy sticks
             if (joyStickHandler_[device - 2])
-                joyStickHandler_[device - 2]->tickJoyStick(dt, device - 2);
+                joyStickHandler_[device - 2]->updateJoyStick(dt, device - 2);
             break;
         }
     }


Property changes on: trunk/src/cpptcl/cpptcl.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/cpptcl/CppTcl.cc:1875-2277,2279-2401
/branches/ceguilua/src/cpptcl/CppTcl.cc:1803-1809
/branches/core3/src/cpptcl/CppTcl.cc:1573-1740
/branches/gcc43/src/cpptcl/CppTcl.cc:1581
/branches/gui/src/cpptcl/CppTcl.cc:1636-1724
/branches/input/src/cpptcl/CppTcl.cc:1630-1637
/branches/miniprojects/src/cpptcl/cpptcl.cc:2755-2825
/branches/objecthierarchy/src/cpptcl/CppTcl.cc:1912-2086,2101,2111-2170
/branches/pickups/src/cpptcl/CppTcl.cc:1927-2087
/branches/questsystem/src/cpptcl/CppTcl.cc:1895-2089
/branches/questsystem2/src/cpptcl/CppTcl.cc:2108-2260
/branches/script_trigger/src/cpptcl/CppTcl.cc:1296-1954,1956
/branches/weapon/src/cpptcl/CppTcl.cc:1926-2095
/branches/weaponsystem/src/cpptcl/cpptcl.cc:2743-2891
   + /branches/buildsystem/src/cpptcl/CppTcl.cc:1875-2277,2279-2401
/branches/ceguilua/src/cpptcl/CppTcl.cc:1803-1809
/branches/core3/src/cpptcl/CppTcl.cc:1573-1740
/branches/gcc43/src/cpptcl/CppTcl.cc:1581
/branches/gui/src/cpptcl/CppTcl.cc:1636-1724
/branches/gui/src/cpptcl/cpptcl.cc:2796-2895
/branches/input/src/cpptcl/CppTcl.cc:1630-1637
/branches/miniprojects/src/cpptcl/cpptcl.cc:2755-2825
/branches/objecthierarchy/src/cpptcl/CppTcl.cc:1912-2086,2101,2111-2170
/branches/pickups/src/cpptcl/CppTcl.cc:1927-2087
/branches/questsystem/src/cpptcl/CppTcl.cc:1895-2089
/branches/questsystem2/src/cpptcl/CppTcl.cc:2108-2260
/branches/script_trigger/src/cpptcl/CppTcl.cc:1296-1954,1956
/branches/weapon/src/cpptcl/CppTcl.cc:1926-2095
/branches/weaponsystem/src/cpptcl/cpptcl.cc:2743-2891


Property changes on: trunk/src/cpptcl/cpptcl.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/cpptcl/CppTcl.h:1875-2277,2279-2401
/branches/ceguilua/src/cpptcl/CppTcl.h:1803-1809
/branches/core3/src/cpptcl/CppTcl.h:1573-1740
/branches/gcc43/src/cpptcl/CppTcl.h:1581
/branches/gui/src/cpptcl/CppTcl.h:1636-1724
/branches/input/src/cpptcl/CppTcl.h:1630-1637
/branches/miniprojects/src/cpptcl/cpptcl.h:2755-2825
/branches/objecthierarchy/src/cpptcl/CppTcl.h:1912-2086,2101,2111-2170
/branches/pickups/src/cpptcl/CppTcl.h:1927-2087
/branches/questsystem/src/cpptcl/CppTcl.h:1895-2089
/branches/questsystem2/src/cpptcl/CppTcl.h:2108-2260
/branches/script_trigger/src/cpptcl/CppTcl.h:1296-1954,1956
/branches/weapon/src/cpptcl/CppTcl.h:1926-2095
/branches/weaponsystem/src/cpptcl/cpptcl.h:2743-2891
   + /branches/buildsystem/src/cpptcl/CppTcl.h:1875-2277,2279-2401
/branches/ceguilua/src/cpptcl/CppTcl.h:1803-1809
/branches/core3/src/cpptcl/CppTcl.h:1573-1740
/branches/gcc43/src/cpptcl/CppTcl.h:1581
/branches/gui/src/cpptcl/CppTcl.h:1636-1724
/branches/gui/src/cpptcl/cpptcl.h:2796-2895
/branches/input/src/cpptcl/CppTcl.h:1630-1637
/branches/miniprojects/src/cpptcl/cpptcl.h:2755-2825
/branches/objecthierarchy/src/cpptcl/CppTcl.h:1912-2086,2101,2111-2170
/branches/pickups/src/cpptcl/CppTcl.h:1927-2087
/branches/questsystem/src/cpptcl/CppTcl.h:1895-2089
/branches/questsystem2/src/cpptcl/CppTcl.h:2108-2260
/branches/script_trigger/src/cpptcl/CppTcl.h:1296-1954,1956
/branches/weapon/src/cpptcl/CppTcl.h:1926-2095
/branches/weaponsystem/src/cpptcl/cpptcl.h:2743-2891

Modified: trunk/src/network/ChatListener.cc
===================================================================
--- trunk/src/network/ChatListener.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/ChatListener.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,6 @@
 #include "ChatListener.h"
 
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
 
 namespace orxonox
 {

Modified: trunk/src/network/Client.cc
===================================================================
--- trunk/src/network/Client.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/Client.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -44,6 +44,7 @@
 #include "Client.h"
 #include "Host.h"
 #include "synchronisable/Synchronisable.h"
+#include "core/Clock.h"
 #include "core/CoreIncludes.h"
 #include "packet/Packet.h"
 
@@ -137,7 +138,7 @@
    * Processes incoming packets, sends a gamestate to the server and does the cleanup
    * @param time
    */
-  void Client::tick(float time){
+  void Client::update(const Clock& time){
 //     COUT(3) << ".";
     if(client_connection.isConnected() && isSynched_){
       COUT(4) << "popping partial gamestate: " << std::endl;

Modified: trunk/src/network/Client.h
===================================================================
--- trunk/src/network/Client.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/Client.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -75,7 +75,7 @@
     virtual bool broadcast(const std::string& message) { return false; }
     //bool sendChat(packet::Chat *chat);
 
-    void tick(float time);
+    void update(const Clock& time);
 
   private:
     Client(const Client& copy); // not used

Modified: trunk/src/network/ClientConnectionListener.cc
===================================================================
--- trunk/src/network/ClientConnectionListener.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/ClientConnectionListener.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,6 +1,34 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Oliver Scheuss
+ *   Co-authors:
+ *      ...
+ *
+ */
+
 #include "ClientConnectionListener.h"
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox{
 
@@ -10,7 +38,7 @@
   }
 
   void ClientConnectionListener::getConnectedClients(){
-    if(Core::showsGraphics())
+    if(GameMode::showsGraphics())
       this->clientConnected(0); //server client id
     ClientInformation *client = ClientInformation::getBegin();
     while(client){

Modified: trunk/src/network/ConnectionManager.cc
===================================================================
--- trunk/src/network/ConnectionManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/ConnectionManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -47,6 +47,7 @@
 #include <boost/bind.hpp>
 #include <boost/thread/recursive_mutex.hpp>
 
+#include "util/Debug.h"
 #include "util/Math.h"
 #include "util/Sleep.h"
 #include "ClientInformation.h"

Modified: trunk/src/network/Server.cc
===================================================================
--- trunk/src/network/Server.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/Server.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -50,6 +50,7 @@
 #include "GamestateManager.h"
 #include "ClientInformation.h"
 #include "util/Sleep.h"
+#include "core/Clock.h"
 #include "core/ConsoleCommand.h"
 #include "core/CoreIncludes.h"
 #include "core/Iterator.h"
@@ -148,10 +149,10 @@
   * calls processQueue and updateGamestate
   * @param time time since last tick
   */
-  void Server::tick(float time) {
+  void Server::update(const Clock& time) {
     processQueue();
     //this steers our network frequency
-    timeSinceLastUpdate_+=time;
+    timeSinceLastUpdate_+=time.getDeltaTime();
     if(timeSinceLastUpdate_>=NETWORK_PERIOD){
       timeSinceLastUpdate_ -= static_cast<unsigned int>( timeSinceLastUpdate_ / NETWORK_PERIOD ) * NETWORK_PERIOD;
       gamestates_->processGamestates();

Modified: trunk/src/network/Server.h
===================================================================
--- trunk/src/network/Server.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/Server.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -52,7 +52,7 @@
 {
   const int CLIENTID_SERVER = 0;
   const unsigned int NETWORK_FREQUENCY = 25;
-  const float NETWORK_PERIOD = 1./NETWORK_FREQUENCY;
+  const float NETWORK_PERIOD = 1.f/NETWORK_FREQUENCY;
 
   /**
   * This class is the root class of the network module for a server.
@@ -70,7 +70,7 @@
     void close();
     bool processChat(const std::string& message, unsigned int playerID);
     bool queuePacket(ENetPacket *packet, int clientID);
-    void tick(float time);
+    void update(const Clock& time);
     unsigned int getPing(unsigned int clientID);
     double getPacketLoss(unsigned int clientID);
   protected:

Modified: trunk/src/network/TrafficControl.cc
===================================================================
--- trunk/src/network/TrafficControl.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/TrafficControl.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,6 +29,7 @@
 #include "TrafficControl.h"
 
 #include "synchronisable/Synchronisable.h"
+#include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 
 #include <cassert>

Modified: trunk/src/network/packet/Gamestate.cc
===================================================================
--- trunk/src/network/packet/Gamestate.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/packet/Gamestate.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -33,7 +33,7 @@
 #include "../GamestateHandler.h"
 #include "../synchronisable/Synchronisable.h"
 #include "../TrafficControl.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Iterator.h"
 
@@ -161,7 +161,7 @@
     s = Synchronisable::getSynchronisable( objectheader.getObjectID() );
     if(!s)
     {
-      if (!Core::isMaster())
+      if (!GameMode::isMaster())
       {
         Synchronisable::fabricate(mem, mode);
       }

Modified: trunk/src/network/packet/Gamestate.h
===================================================================
--- trunk/src/network/packet/Gamestate.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/packet/Gamestate.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -34,9 +34,10 @@
 
 #include "Packet.h"
 #include "network/TrafficControl.h"
-#include "core/CoreIncludes.h"
+#include <string.h>
 #include <map>
 #include <list>
+#include <cassert>
 #ifndef NDEBUG
 #include "util/CRC32.h"
 #endif


Property changes on: trunk/src/network/synchronisable/NetworkCallback.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/network/synchronisable/NetworkCallback.h:2663-2709
/branches/ceguilua/src/network/NetworkCallback.h:1803-1809
/branches/core3/src/network/NetworkCallback.h:1573-1740
/branches/gcc43/src/network/NetworkCallback.h:1581
/branches/gui/src/network/NetworkCallback.h:1636-1724
/branches/input/src/network/NetworkCallback.h:1630-1637
/branches/miniprojects/src/network/synchronisable/NetworkCallback.h:2755-2825
/branches/network/src/network/synchronisable/NetworkCallback.h:2357
/branches/objecthierarchy/src/network/NetworkCallback.h:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/NetworkCallback.h:2437-2458
/branches/pickups/src/network/NetworkCallback.h:1927-2087
/branches/presentation/src/network/synchronisable/NetworkCallback.h:2655-2661
/branches/questsystem/src/network/NetworkCallback.h:1895-2089
/branches/script_trigger/src/network/NetworkCallback.h:1296-1954,1956
/branches/weapon/src/network/NetworkCallback.h:1926-2095
/branches/weaponsystem/src/network/synchronisable/NetworkCallback.h:2743-2891
   + /branches/buildsystem3/src/network/synchronisable/NetworkCallback.h:2663-2709
/branches/ceguilua/src/network/NetworkCallback.h:1803-1809
/branches/core3/src/network/NetworkCallback.h:1573-1740
/branches/gcc43/src/network/NetworkCallback.h:1581
/branches/gui/src/network/NetworkCallback.h:1636-1724
/branches/gui/src/network/synchronisable/NetworkCallback.h:2796-2895
/branches/input/src/network/NetworkCallback.h:1630-1637
/branches/miniprojects/src/network/synchronisable/NetworkCallback.h:2755-2825
/branches/network/src/network/synchronisable/NetworkCallback.h:2357
/branches/objecthierarchy/src/network/NetworkCallback.h:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/NetworkCallback.h:2437-2458
/branches/pickups/src/network/NetworkCallback.h:1927-2087
/branches/presentation/src/network/synchronisable/NetworkCallback.h:2655-2661
/branches/questsystem/src/network/NetworkCallback.h:1895-2089
/branches/script_trigger/src/network/NetworkCallback.h:1296-1954,1956
/branches/weapon/src/network/NetworkCallback.h:1926-2095
/branches/weaponsystem/src/network/synchronisable/NetworkCallback.h:2743-2891


Property changes on: trunk/src/network/synchronisable/Synchronisable.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/network/synchronisable/Synchronisable.cc:2663-2709
/branches/ceguilua/src/network/Synchronisable.cc:1803-1809
/branches/core3/src/network/Synchronisable.cc:1573-1740
/branches/gcc43/src/network/Synchronisable.cc:1581
/branches/gui/src/network/Synchronisable.cc:1636-1724
/branches/input/src/network/Synchronisable.cc:1630-1637
/branches/miniprojects/src/network/synchronisable/Synchronisable.cc:2755-2825
/branches/network/src/network/synchronisable/Synchronisable.cc:2357
/branches/objecthierarchy/src/network/Synchronisable.cc:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/Synchronisable.cc:2437-2458
/branches/pickups/src/network/Synchronisable.cc:1927-2087
/branches/presentation/src/network/synchronisable/Synchronisable.cc:2655-2661
/branches/questsystem/src/network/Synchronisable.cc:1895-2089
/branches/script_trigger/src/network/Synchronisable.cc:1296-1954,1956
/branches/weapon/src/network/Synchronisable.cc:1926-2095
/branches/weaponsystem/src/network/synchronisable/Synchronisable.cc:2743-2891
   + /branches/buildsystem3/src/network/synchronisable/Synchronisable.cc:2663-2709
/branches/ceguilua/src/network/Synchronisable.cc:1803-1809
/branches/core3/src/network/Synchronisable.cc:1573-1740
/branches/gcc43/src/network/Synchronisable.cc:1581
/branches/gui/src/network/Synchronisable.cc:1636-1724
/branches/gui/src/network/synchronisable/Synchronisable.cc:2796-2895
/branches/input/src/network/Synchronisable.cc:1630-1637
/branches/miniprojects/src/network/synchronisable/Synchronisable.cc:2755-2825
/branches/network/src/network/synchronisable/Synchronisable.cc:2357
/branches/objecthierarchy/src/network/Synchronisable.cc:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/Synchronisable.cc:2437-2458
/branches/pickups/src/network/Synchronisable.cc:1927-2087
/branches/presentation/src/network/synchronisable/Synchronisable.cc:2655-2661
/branches/questsystem/src/network/Synchronisable.cc:1895-2089
/branches/script_trigger/src/network/Synchronisable.cc:1296-1954,1956
/branches/weapon/src/network/Synchronisable.cc:1926-2095
/branches/weaponsystem/src/network/synchronisable/Synchronisable.cc:2743-2891


Property changes on: trunk/src/network/synchronisable/Synchronisable.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/network/synchronisable/Synchronisable.h:2663-2709
/branches/ceguilua/src/network/Synchronisable.h:1803-1809
/branches/core3/src/network/Synchronisable.h:1573-1740
/branches/gcc43/src/network/Synchronisable.h:1581
/branches/gui/src/network/Synchronisable.h:1636-1724
/branches/input/src/network/Synchronisable.h:1630-1637
/branches/miniprojects/src/network/synchronisable/Synchronisable.h:2755-2825
/branches/network/src/network/synchronisable/Synchronisable.h:2357
/branches/objecthierarchy/src/network/Synchronisable.h:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/Synchronisable.h:2437-2458
/branches/pickups/src/network/Synchronisable.h:1927-2087
/branches/presentation/src/network/synchronisable/Synchronisable.h:2655-2661
/branches/questsystem/src/network/Synchronisable.h:1895-2089
/branches/script_trigger/src/network/Synchronisable.h:1296-1954,1956
/branches/weapon/src/network/Synchronisable.h:1926-2095
/branches/weaponsystem/src/network/synchronisable/Synchronisable.h:2743-2891
   + /branches/buildsystem3/src/network/synchronisable/Synchronisable.h:2663-2709
/branches/ceguilua/src/network/Synchronisable.h:1803-1809
/branches/core3/src/network/Synchronisable.h:1573-1740
/branches/gcc43/src/network/Synchronisable.h:1581
/branches/gui/src/network/Synchronisable.h:1636-1724
/branches/gui/src/network/synchronisable/Synchronisable.h:2796-2895
/branches/input/src/network/Synchronisable.h:1630-1637
/branches/miniprojects/src/network/synchronisable/Synchronisable.h:2755-2825
/branches/network/src/network/synchronisable/Synchronisable.h:2357
/branches/objecthierarchy/src/network/Synchronisable.h:1912-2086,2101,2111-2170
/branches/physics_merge/src/network/synchronisable/Synchronisable.h:2437-2458
/branches/pickups/src/network/Synchronisable.h:1927-2087
/branches/presentation/src/network/synchronisable/Synchronisable.h:2655-2661
/branches/questsystem/src/network/Synchronisable.h:1895-2089
/branches/script_trigger/src/network/Synchronisable.h:1296-1954,1956
/branches/weapon/src/network/Synchronisable.h:1926-2095
/branches/weaponsystem/src/network/synchronisable/Synchronisable.h:2743-2891

Modified: trunk/src/network/synchronisable/SynchronisableVariable.cc
===================================================================
--- trunk/src/network/synchronisable/SynchronisableVariable.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/synchronisable/SynchronisableVariable.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,12 +29,20 @@
 #include "SynchronisableVariable.h"
 #include <cstring>
 #include "util/Math.h"
+#include "core/GameMode.h"
 
 
 namespace orxonox{
 
 uint8_t SynchronisableVariableBase::state_ = 0;
 
+/*static*/ void SynchronisableVariableBase::setState()
+{
+  if ( state_ == 0x0 )
+  {
+    state_ = GameMode::isMaster() ? 0x1 : 0x2;  // set the appropriate mode here
+  }
+}
 
 
 // =================== Template specialisation stuff =============

Modified: trunk/src/network/synchronisable/SynchronisableVariable.h
===================================================================
--- trunk/src/network/synchronisable/SynchronisableVariable.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/network/synchronisable/SynchronisableVariable.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -34,8 +34,7 @@
 
 #include <string>
 #include <cassert>
-#include "core/Core.h"
-#include "core/CoreIncludes.h"
+#include "util/Math.h"
 #include "network/synchronisable/NetworkCallback.h"
 #include "network/synchronisable/NetworkCallbackManager.h"
 
@@ -62,6 +61,7 @@
       virtual uint8_t getMode()=0;
       virtual ~SynchronisableVariableBase() {}
     protected:
+      static void setState();
       static uint8_t state_;
   };
 
@@ -109,10 +109,7 @@
   template <class T> SynchronisableVariable<T>::SynchronisableVariable(T& variable, uint8_t syncDirection, NetworkCallbackBase *cb):
       variable_( variable ), mode_( syncDirection ), callback_( cb )
   {
-    if ( state_ == 0x0 )
-    {
-      state_ = Core::isMaster() ? 0x1 : 0x2;  // set the appropriate mode here
-    }
+      setState();
   }
   
   template <class T> SynchronisableVariable<T>::~SynchronisableVariable()

Modified: trunk/src/orxonox/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/CMakeLists.txt	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/CMakeLists.txt	2009-04-05 23:59:00 UTC (rev 2896)
@@ -19,7 +19,7 @@
 
 SET_SOURCE_FILES(ORXONOX_SRC_FILES
   CameraManager.cc
-  GraphicsEngine.cc
+  GraphicsManager.cc
   LevelManager.cc
   Main.cc
   PawnManager.cc

Modified: trunk/src/orxonox/CameraManager.cc
===================================================================
--- trunk/src/orxonox/CameraManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/CameraManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -34,12 +34,13 @@
 #include <OgreCompositorManager.h>
 #include <OgreResource.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/Iterator.h"
 #include "objects/worldentities/Camera.h"
 #include "objects/Scene.h"
 #include "tools/Shader.h"
 #include "util/String.h"
+#include "gui/GUIManager.h"
 
 namespace orxonox
 {
@@ -73,7 +74,7 @@
 
     void CameraManager::requestFocus(Camera* camera)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             return;
 
         // notify old camera (if it exists)
@@ -98,7 +99,7 @@
 
     void CameraManager::releaseFocus(Camera* camera)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             return;
 
         // notify the cam of releasing the focus
@@ -140,6 +141,7 @@
         }
 
         this->viewport_->setCamera(camera);
+        GUIManager::getInstance().setCamera(camera);
 
         // reactivate all visible compositors
         {


Property changes on: trunk/src/orxonox/CameraManager.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/CameraManager.cc:2507-2659
/branches/buildsystem3/src/orxonox/CameraManager.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/CameraHandler.cc:1803-1809
/branches/core3/src/orxonox/objects/CameraHandler.cc:1573-1740
/branches/gcc43/src/orxonox/objects/CameraHandler.cc:1581
/branches/gui/src/orxonox/objects/CameraHandler.cc:1636-1724
/branches/input/src/orxonox/objects/CameraHandler.cc:1630-1637
/branches/lodfinal/src/orxonox/CameraManager.cc:2373-2412
/branches/miniprojects/src/orxonox/CameraManager.cc:2755-2825
/branches/network/src/orxonox/CameraManager.cc:2357
/branches/network64/src/orxonox/CameraManager.cc:2211-2356
/branches/objecthierarchy/src/orxonox/CameraManager.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/CameraManager.cc:2172-2480
/branches/overlay/src/orxonox/CameraManager.cc:2118-2386
/branches/physics/src/orxonox/CameraManager.cc:2108-2440
/branches/physics_merge/src/orxonox/CameraManager.cc:2437-2458
/branches/pickups2/src/orxonox/CameraManager.cc:2108-2498
/branches/presentation/src/orxonox/CameraManager.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/CameraManager.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/CameraHandler.cc:1296-1954,1956
/branches/weapon2/src/orxonox/CameraManager.cc:2108-2489
/branches/weaponsystem/src/orxonox/CameraManager.cc:2743-2891
/trunk/src/orxonox/CameraManager.cc:2-2086
   + /branches/buildsystem2/src/orxonox/CameraManager.cc:2507-2659
/branches/buildsystem3/src/orxonox/CameraManager.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/CameraHandler.cc:1803-1809
/branches/core3/src/orxonox/objects/CameraHandler.cc:1573-1740
/branches/gcc43/src/orxonox/objects/CameraHandler.cc:1581
/branches/gui/src/orxonox/CameraManager.cc:2796-2895
/branches/gui/src/orxonox/objects/CameraHandler.cc:1636-1724
/branches/input/src/orxonox/objects/CameraHandler.cc:1630-1637
/branches/lodfinal/src/orxonox/CameraManager.cc:2373-2412
/branches/miniprojects/src/orxonox/CameraManager.cc:2755-2825
/branches/network/src/orxonox/CameraManager.cc:2357
/branches/network64/src/orxonox/CameraManager.cc:2211-2356
/branches/objecthierarchy/src/orxonox/CameraManager.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/CameraManager.cc:2172-2480
/branches/overlay/src/orxonox/CameraManager.cc:2118-2386
/branches/physics/src/orxonox/CameraManager.cc:2108-2440
/branches/physics_merge/src/orxonox/CameraManager.cc:2437-2458
/branches/pickups2/src/orxonox/CameraManager.cc:2108-2498
/branches/presentation/src/orxonox/CameraManager.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/CameraManager.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/CameraHandler.cc:1296-1954,1956
/branches/weapon2/src/orxonox/CameraManager.cc:2108-2489
/branches/weaponsystem/src/orxonox/CameraManager.cc:2743-2891
/trunk/src/orxonox/CameraManager.cc:2-2086


Property changes on: trunk/src/orxonox/CameraManager.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/CameraManager.h:2507-2659
/branches/buildsystem3/src/orxonox/CameraManager.h:2663-2709
/branches/ceguilua/src/orxonox/objects/CameraHandler.h:1803-1809
/branches/core3/src/orxonox/objects/CameraHandler.h:1573-1740
/branches/gcc43/src/orxonox/objects/CameraHandler.h:1581
/branches/gui/src/orxonox/objects/CameraHandler.h:1636-1724
/branches/input/src/orxonox/objects/CameraHandler.h:1630-1637
/branches/lodfinal/src/orxonox/CameraManager.h:2373-2412
/branches/miniprojects/src/orxonox/CameraManager.h:2755-2825
/branches/network/src/orxonox/CameraManager.h:2357
/branches/network64/src/orxonox/CameraManager.h:2211-2356
/branches/objecthierarchy/src/orxonox/CameraManager.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/CameraManager.h:2172-2480
/branches/overlay/src/orxonox/CameraManager.h:2118-2386
/branches/physics/src/orxonox/CameraManager.h:2108-2440
/branches/physics_merge/src/orxonox/CameraManager.h:2437-2458
/branches/pickups2/src/orxonox/CameraManager.h:2108-2498
/branches/presentation/src/orxonox/CameraManager.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/CameraManager.h:2108-2260
/branches/script_trigger/src/orxonox/objects/CameraHandler.h:1296-1954,1956
/branches/weapon2/src/orxonox/CameraManager.h:2108-2489
/branches/weaponsystem/src/orxonox/CameraManager.h:2743-2891
/trunk/src/orxonox/CameraManager.h:2-2086
   + /branches/buildsystem2/src/orxonox/CameraManager.h:2507-2659
/branches/buildsystem3/src/orxonox/CameraManager.h:2663-2709
/branches/ceguilua/src/orxonox/objects/CameraHandler.h:1803-1809
/branches/core3/src/orxonox/objects/CameraHandler.h:1573-1740
/branches/gcc43/src/orxonox/objects/CameraHandler.h:1581
/branches/gui/src/orxonox/CameraManager.h:2796-2895
/branches/gui/src/orxonox/objects/CameraHandler.h:1636-1724
/branches/input/src/orxonox/objects/CameraHandler.h:1630-1637
/branches/lodfinal/src/orxonox/CameraManager.h:2373-2412
/branches/miniprojects/src/orxonox/CameraManager.h:2755-2825
/branches/network/src/orxonox/CameraManager.h:2357
/branches/network64/src/orxonox/CameraManager.h:2211-2356
/branches/objecthierarchy/src/orxonox/CameraManager.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/CameraManager.h:2172-2480
/branches/overlay/src/orxonox/CameraManager.h:2118-2386
/branches/physics/src/orxonox/CameraManager.h:2108-2440
/branches/physics_merge/src/orxonox/CameraManager.h:2437-2458
/branches/pickups2/src/orxonox/CameraManager.h:2108-2498
/branches/presentation/src/orxonox/CameraManager.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/CameraManager.h:2108-2260
/branches/script_trigger/src/orxonox/objects/CameraHandler.h:1296-1954,1956
/branches/weapon2/src/orxonox/CameraManager.h:2108-2489
/branches/weaponsystem/src/orxonox/CameraManager.h:2743-2891
/trunk/src/orxonox/CameraManager.h:2-2086

Deleted: trunk/src/orxonox/GraphicsEngine.cc
===================================================================
--- trunk/src/orxonox/GraphicsEngine.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/GraphicsEngine.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,106 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *      Benjamin Knecht <beni_at_orxonox.net>, (C) 2007
- *   Co-authors:
- *      Felix Schulthess
- *
- */
-
-/**
- at file
- at brief
-    Implementation of an partial interface to Ogre.
-*/
-
-#include "OrxonoxStableHeaders.h"
-#include "GraphicsEngine.h"
-
-#include <OgreRenderWindow.h>
-
-#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
-#include "util/Debug.h"
-
-#include "tools/ParticleInterface.h"
-
-namespace orxonox
-{
-    //SetConsoleCommand(GraphicsEngine, printScreen, true).setKeybindMode(KeybindMode::OnPress);
-
-    GraphicsEngine* GraphicsEngine::singletonRef_s = 0;
-
-    /**
-    @brief
-        Returns the singleton instance.
-    @return
-        The only instance of GraphicsEngine.
-    */
-    /*static*/ GraphicsEngine& GraphicsEngine::getInstance()
-    {
-        assert(singletonRef_s);
-        return *singletonRef_s;
-    }
-
-    /**
-    @brief
-        Non-initialising constructor.
-    */
-    GraphicsEngine::GraphicsEngine()
-//        : root_(0)
-//        , renderWindow_(0)
-//        , viewport_(0)
-    {
-        RegisterObject(GraphicsEngine);
-
-        assert(singletonRef_s == 0);
-        singletonRef_s = this;
-
-        this->viewport_ = 0;
-
-        this->detailLevelParticle_ = 0;
-
-        this->setConfigValues();
-        CCOUT(4) << "Constructed" << std::endl;
-    }
-
-    void GraphicsEngine::setConfigValues()
-    {
-        SetConfigValue(detailLevelParticle_, 2).description("O: off, 1: low, 2: normal, 3: high").callback(this, &GraphicsEngine::detailLevelParticleChanged);
-    }
-
-    void GraphicsEngine::detailLevelParticleChanged()
-    {
-        for (ObjectList<ParticleInterface>::iterator it = ObjectList<ParticleInterface>::begin(); it; ++it)
-            it->detailLevelChanged(this->detailLevelParticle_);
-    }
-
-    /**
-    @brief
-        Destroys all the Ogre related objects
-    */
-    GraphicsEngine::~GraphicsEngine()
-    {
-        singletonRef_s = 0;
-    }
-}

Deleted: trunk/src/orxonox/GraphicsEngine.h
===================================================================
--- trunk/src/orxonox/GraphicsEngine.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/GraphicsEngine.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,96 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *      Benjamin Knecht <beni_at_orxonox.net>, (C) 2007
- *   Co-authors:
- *      Felix Schulthess
- *
- */
-
-/**
-  @file
-  @brief Declaration of GraphicsEngine Singleton.
-  @author Benjamin Knecht <beni_at_orxonox.net>
- */
-
-#ifndef _GraphicsEngine_H__
-#define _GraphicsEngine_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include <string>
-
-#include <OgrePrerequisites.h>
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
-    /**
-    @brief Graphics engine manager class
-    */
-    class _OrxonoxExport GraphicsEngine : public OrxonoxClass
-    {
-        // HACK: temporary means
-        friend class GSGraphics;
-
-    public:
-        GraphicsEngine();
-        ~GraphicsEngine();
-
-        void setConfigValues();
-        void detailLevelParticleChanged();
-
-        float getAverageFramesPerSecond() const   { return this->avgFramesPerSecond_; }
-        float getAverageTickTime() const          { return this->avgTickTime_; }
-        void setAverageTickTime(float tickTime)   { this->avgTickTime_ = tickTime; }
-        void setAverageFramesPerSecond(float fps) { this->avgFramesPerSecond_ = fps; }
-
-        inline unsigned int getDetailLevelParticle() const
-        { return this->detailLevelParticle_; }
-
-        static GraphicsEngine& getInstance();
-        static GraphicsEngine* getInstancePtr() { return singletonRef_s; }
-
-        inline void setViewport(Ogre::Viewport* viewport)
-            { this->viewport_ = viewport; }
-        inline Ogre::Viewport* getViewport() const
-            { return this->viewport_; }
-
-    private:
-        // don't mess with singletons
-        GraphicsEngine(GraphicsEngine&);
-
-        Ogre::Viewport*     viewport_;              //!< default full size viewport
-
-        // stats
-        float               avgTickTime_;           //!< time in ms to tick() one frame
-        float               avgFramesPerSecond_;    //!< number of frames processed in one second
-
-        // config values
-        unsigned int        detailLevelParticle_;   //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high)
-
-        static GraphicsEngine* singletonRef_s;      //!< Pointer to the Singleton
-    };
-}
-
-#endif /* _GraphicsEngine_H__ */

Copied: trunk/src/orxonox/GraphicsManager.cc (from rev 2895, branches/gui/src/orxonox/GraphicsManager.cc)
===================================================================
--- trunk/src/orxonox/GraphicsManager.cc	                        (rev 0)
+++ trunk/src/orxonox/GraphicsManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,444 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *      Benjamin Knecht <beni_at_orxonox.net>, (C) 2007
+ *   Co-authors:
+ *      Felix Schulthess
+ *
+ */
+
+/**
+ at file
+ at brief
+    Implementation of an partial interface to Ogre.
+*/
+
+#include "OrxonoxStableHeaders.h"
+#include "GraphicsManager.h"
+
+#include <fstream>
+#include <boost/filesystem.hpp>
+
+#include <OgreCompositorManager.h>
+#include <OgreConfigFile.h>
+#include <OgreFrameListener.h>
+#include <OgreRoot.h>
+#include <OgreLogManager.h>
+#include <OgreException.h>
+#include <OgreRenderWindow.h>
+#include <OgreRenderSystem.h>
+#include <OgreTextureManager.h>
+#include <OgreViewport.h>
+#include <OgreWindowEventUtilities.h>
+
+#include "SpecialConfig.h"
+#include "util/Debug.h"
+#include "util/Exception.h"
+#include "util/String.h"
+#include "util/SubString.h"
+#include "core/Clock.h"
+#include "core/ConsoleCommand.h"
+#include "core/ConfigValueIncludes.h"
+#include "core/CoreIncludes.h"
+#include "core/Core.h"
+#include "core/GameMode.h"
+#include "tools/WindowEventListener.h"
+#include "tools/ParticleInterface.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport OgreWindowEventListener : public Ogre::WindowEventListener
+    {
+        void windowResized     (Ogre::RenderWindow* rw);
+        void windowFocusChange (Ogre::RenderWindow* rw);
+        void windowClosed      (Ogre::RenderWindow* rw);
+        //void windowMoved       (Ogre::RenderWindow* rw);
+    };
+
+    GraphicsManager* GraphicsManager::singletonRef_s = 0;
+
+    /**
+    @brief
+        Non-initialising constructor.
+    */
+    GraphicsManager::GraphicsManager()
+        : ogreRoot_(0)
+        , ogreLogger_(0)
+        , renderWindow_(0)
+        , viewport_(0)
+        , ogreWindowEventListener_(0)
+        , avgTickTime_(0.0f)
+        , avgFramesPerSecond_(0.0f)
+    {
+        RegisterObject(GraphicsManager);
+
+        assert(singletonRef_s == 0);
+        singletonRef_s = this;
+
+        this->loaded_ = false;
+
+        this->setConfigValues();
+    }
+
+    void GraphicsManager::initialise()
+    {
+        // Ogre setup procedure
+        setupOgre();
+        // load all the required plugins for Ogre
+        loadOgrePlugins();
+        // read resource declaration file
+        this->declareResources();
+        // Reads ogre config and creates the render window
+        this->loadRenderer();
+
+        // TODO: Spread this
+        this->initialiseResources();
+
+        // add console commands
+        FunctorMember<GraphicsManager>* functor1 = createFunctor(&GraphicsManager::printScreen);
+        functor1->setObject(this);
+        ccPrintScreen_ = createConsoleCommand(functor1, "printScreen");
+        CommandExecutor::addConsoleCommandShortcut(ccPrintScreen_);
+
+        this->loaded_ = true;
+    }
+
+    /**
+    @brief
+        Destroys all the Ogre related objects
+    */
+    GraphicsManager::~GraphicsManager()
+    {
+        if (this->loaded_)
+        {
+            delete this->ccPrintScreen_;
+
+            if (this->ogreWindowEventListener_)
+            {
+                // remove our WindowEventListener first to avoid bad calls after the window has been destroyed
+                Ogre::WindowEventUtilities::removeWindowEventListener(this->renderWindow_, this->ogreWindowEventListener_);
+                delete this->ogreWindowEventListener_;
+            }
+
+            // unload all compositors
+            Ogre::CompositorManager::getSingleton().removeAll();
+
+            // destroy render window
+            Ogre::RenderSystem* renderer = this->ogreRoot_->getRenderSystem();
+            renderer->destroyRenderWindow("Orxonox");
+
+            // Delete OGRE main control organ
+            delete this->ogreRoot_;
+
+            // delete the ogre log and the logManager (since we have created it in the first place).
+            this->ogreLogger_->getDefaultLog()->removeListener(this);
+            this->ogreLogger_->destroyLog(Ogre::LogManager::getSingleton().getDefaultLog());
+            delete this->ogreLogger_;
+        }
+
+        assert(singletonRef_s);
+        singletonRef_s = 0;
+    }
+
+    void GraphicsManager::setConfigValues()
+    {
+        SetConfigValue(resourceFile_,    "resources.cfg")
+            .description("Location of the resources file in the data path.");
+        SetConfigValue(ogreConfigFile_,  "ogre.cfg")
+            .description("Location of the Ogre config file");
+        SetConfigValue(ogrePluginsFolder_, ORXONOX_OGRE_PLUGINS_FOLDER)
+            .description("Folder where the Ogre plugins are located.");
+        SetConfigValue(ogrePlugins_, ORXONOX_OGRE_PLUGINS)
+            .description("Comma separated list of all plugins to load.");
+        SetConfigValue(ogreLogFile_,     "ogre.log")
+            .description("Logfile for messages from Ogre. Use \"\" to suppress log file creation.");
+        SetConfigValue(ogreLogLevelTrivial_ , 5)
+            .description("Corresponding orxonox debug level for ogre Trivial");
+        SetConfigValue(ogreLogLevelNormal_  , 4)
+            .description("Corresponding orxonox debug level for ogre Normal");
+        SetConfigValue(ogreLogLevelCritical_, 2)
+            .description("Corresponding orxonox debug level for ogre Critical");
+        SetConfigValue(detailLevelParticle_, 2)
+            .description("O: off, 1: low, 2: normal, 3: high").callback(this, &GraphicsManager::detailLevelParticleChanged);
+    }
+
+    void GraphicsManager::detailLevelParticleChanged()
+    {
+        for (ObjectList<ParticleInterface>::iterator it = ObjectList<ParticleInterface>::begin(); it; ++it)
+            it->detailLevelChanged(this->detailLevelParticle_);
+    }
+
+    void GraphicsManager::update(const Clock& time)
+    {
+        if (this->loaded_)
+        {
+            Ogre::FrameEvent evt;
+            evt.timeSinceLastFrame = time.getDeltaTime();
+            evt.timeSinceLastEvent = time.getDeltaTime(); // note: same time, but shouldn't matter anyway
+
+            // don't forget to call _fireFrameStarted to OGRE to make sure
+            // everything goes smoothly
+            ogreRoot_->_fireFrameStarted(evt);
+
+            // Pump messages in all registered RenderWindows
+            // This calls the WindowEventListener objects.
+            Ogre::WindowEventUtilities::messagePump();
+            // make sure the window stays active even when not focused
+            // (probably only necessary on windows)
+            this->renderWindow_->setActive(true);
+
+            // render
+            ogreRoot_->_updateAllRenderTargets();
+
+            // again, just to be sure OGRE works fine
+            ogreRoot_->_fireFrameEnded(evt); // note: uses the same time as _fireFrameStarted
+        }
+    }
+
+    void GraphicsManager::setCamera(Ogre::Camera* camera)
+    {
+        this->viewport_->setCamera(camera);
+    }
+
+    /**
+    @brief
+        Creates the Ogre Root object and sets up the ogre log.
+    */
+    void GraphicsManager::setupOgre()
+    {
+        COUT(3) << "Setting up Ogre..." << std::endl;
+
+        if (ogreConfigFile_ == "")
+        {
+            COUT(2) << "Warning: Ogre config file set to \"\". Defaulting to config.cfg" << std::endl;
+            ModifyConfigValue(ogreConfigFile_, tset, "config.cfg");
+        }
+        if (ogreLogFile_ == "")
+        {
+            COUT(2) << "Warning: Ogre log file set to \"\". Defaulting to ogre.log" << std::endl;
+            ModifyConfigValue(ogreLogFile_, tset, "ogre.log");
+        }
+
+        boost::filesystem::path ogreConfigFilepath(Core::getConfigPath() / this->ogreConfigFile_);
+        boost::filesystem::path ogreLogFilepath(Core::getLogPath() / this->ogreLogFile_);
+
+        // create a new logManager
+        // Ogre::Root will detect that we've already created a Log
+        ogreLogger_ = new Ogre::LogManager();
+        COUT(4) << "Ogre LogManager created" << std::endl;
+
+        // create our own log that we can listen to
+        Ogre::Log *myLog;
+        myLog = ogreLogger_->createLog(ogreLogFilepath.string(), true, false, false);
+        COUT(4) << "Ogre Log created" << std::endl;
+
+        myLog->setLogDetail(Ogre::LL_BOREME);
+        myLog->addListener(this);
+
+        COUT(4) << "Creating Ogre Root..." << std::endl;
+
+        // check for config file existence because Ogre displays (caught) exceptions if not
+        if (!boost::filesystem::exists(ogreConfigFilepath))
+        {
+            // create a zero sized file
+            std::ofstream creator;
+            creator.open(ogreConfigFilepath.string().c_str());
+            creator.close();
+        }
+
+        // Leave plugins file empty. We're going to do that part manually later
+        ogreRoot_ = new Ogre::Root("", ogreConfigFilepath.string(), ogreLogFilepath.string());
+
+        COUT(3) << "Ogre set up done." << std::endl;
+    }
+
+    void GraphicsManager::loadOgrePlugins()
+    {
+        // just to make sure the next statement doesn't segfault
+        if (ogrePluginsFolder_ == "")
+            ogrePluginsFolder_ = ".";
+
+        boost::filesystem::path folder(ogrePluginsFolder_);
+        // Do some SubString magic to get the comma separated list of plugins
+        SubString plugins(ogrePlugins_, ",", " ", false, 92, false, 34, false, 40, 41, false, '\0');
+        // Use backslash paths on Windows! file_string() already does that though.
+        for (unsigned int i = 0; i < plugins.size(); ++i)
+            ogreRoot_->loadPlugin((folder / plugins[i]).file_string());
+    }
+
+    void GraphicsManager::declareResources()
+    {
+        CCOUT(4) << "Declaring Resources" << std::endl;
+        //TODO: Specify layout of data file and maybe use xml-loader
+        //TODO: Work with ressource groups (should be generated by a special loader)
+
+        if (resourceFile_ == "")
+        {
+            COUT(2) << "Warning: Ogre resource file set to \"\". Defaulting to resources.cfg" << std::endl;
+            ModifyConfigValue(resourceFile_, tset, "resources.cfg");
+        }
+
+        // Load resource paths from data file using configfile ressource type
+        Ogre::ConfigFile cf;
+        try
+        {
+            cf.load((Core::getMediaPath() / resourceFile_).string());
+        }
+        catch (...)
+        {
+            //COUT(1) << ex.getFullDescription() << std::endl;
+            COUT(0) << "Have you forgotten to set the data path in orxnox.ini?" << std::endl;
+            throw;
+        }
+
+        // Go through all sections & settings in the file
+        Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator();
+
+        std::string secName, typeName, archName;
+        while (seci.hasMoreElements())
+        {
+            try
+            {
+                secName = seci.peekNextKey();
+                Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext();
+                Ogre::ConfigFile::SettingsMultiMap::iterator i;
+                for (i = settings->begin(); i != settings->end(); ++i)
+                {
+                    typeName = i->first; // for instance "FileSystem" or "Zip"
+                    archName = i->second; // name (and location) of archive
+
+                    Ogre::ResourceGroupManager::getSingleton().addResourceLocation(
+                        (Core::getMediaPath() / archName).string(), typeName, secName);
+                }
+            }
+            catch (Ogre::Exception& ex)
+            {
+                COUT(1) << ex.getFullDescription() << std::endl;
+            }
+        }
+    }
+
+    void GraphicsManager::loadRenderer()
+    {
+        CCOUT(4) << "Configuring Renderer" << std::endl;
+
+        if (!ogreRoot_->restoreConfig())
+            if (!ogreRoot_->showConfigDialog())
+                ThrowException(InitialisationFailed, "Could not show Ogre configuration dialogue.");
+
+        CCOUT(4) << "Creating render window" << std::endl;
+
+        this->renderWindow_ = ogreRoot_->initialise(true, "Orxonox");
+
+        this->ogreWindowEventListener_ = new OgreWindowEventListener();
+        Ogre::WindowEventUtilities::addWindowEventListener(this->renderWindow_, ogreWindowEventListener_);
+
+        Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(0);
+
+        // create a full screen default viewport
+        this->viewport_ = this->renderWindow_->addViewport(0, 0);
+    }
+
+    void GraphicsManager::initialiseResources()
+    {
+        CCOUT(4) << "Initialising resources" << std::endl;
+        //TODO: Do NOT load all the groups, why are we doing that? And do we really do that? initialise != load...
+        //try
+        //{
+            Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
+            /*Ogre::StringVector str = Ogre::ResourceGroupManager::getSingleton().getResourceGroups();
+            for (unsigned int i = 0; i < str.size(); i++)
+            {
+            Ogre::ResourceGroupManager::getSingleton().loadResourceGroup(str[i]);
+            }*/
+        //}
+        //catch (...)
+        //{
+        //    CCOUT(2) << "Error: There was a serious error when initialising the resources." << std::endl;
+        //    throw;
+        //}
+    }
+
+    /**
+    @brief
+        Method called by the LogListener interface from Ogre.
+        We use it to capture Ogre log messages and handle it ourselves.
+    @param message
+        The message to be logged
+    @param lml
+        The message level the log is using
+    @param maskDebug
+        If we are printing to the console or not
+    @param logName
+        The name of this log (so you can have several listeners
+        for different logs, and identify them)
+    */
+    void GraphicsManager::messageLogged(const std::string& message,
+        Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName)
+    {
+        int orxonoxLevel;
+        switch (lml)
+        {
+        case Ogre::LML_TRIVIAL:
+            orxonoxLevel = this->ogreLogLevelTrivial_;
+            break;
+        case Ogre::LML_NORMAL:
+            orxonoxLevel = this->ogreLogLevelNormal_;
+            break;
+        case Ogre::LML_CRITICAL:
+            orxonoxLevel = this->ogreLogLevelCritical_;
+            break;
+        default:
+            orxonoxLevel = 0;
+        }
+        OutputHandler::getOutStream().setOutputLevel(orxonoxLevel)
+            << "Ogre: " << message << std::endl;
+    }
+
+    void GraphicsManager::printScreen()
+    {
+        assert(this->renderWindow_);
+       
+        this->renderWindow_->writeContentsToTimestampedFile(Core::getLogPathString() + "screenShot_", ".jpg");
+    }
+
+
+    /****** OgreWindowEventListener ******/
+
+    void OgreWindowEventListener::windowResized(Ogre::RenderWindow* rw)
+    {
+        for (ObjectList<orxonox::WindowEventListener>::iterator it
+            = ObjectList<orxonox::WindowEventListener>::begin(); it; ++it)
+            it->windowResized(rw->getWidth(), rw->getHeight());
+    }
+    void OgreWindowEventListener::windowFocusChange(Ogre::RenderWindow* rw)
+    {
+        for (ObjectList<orxonox::WindowEventListener>::iterator it
+            = ObjectList<orxonox::WindowEventListener>::begin(); it; ++it)
+            it->windowFocusChanged();
+    }
+    void OgreWindowEventListener::windowClosed(Ogre::RenderWindow* rw)
+    {
+        // TODO: Notify the right class to shut down the Game
+    }
+}

Copied: trunk/src/orxonox/GraphicsManager.h (from rev 2895, branches/gui/src/orxonox/GraphicsManager.h)
===================================================================
--- trunk/src/orxonox/GraphicsManager.h	                        (rev 0)
+++ trunk/src/orxonox/GraphicsManager.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,125 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *      Benjamin Knecht <beni_at_orxonox.net>, (C) 2007
+ *   Co-authors:
+ *      Felix Schulthess
+ *
+ */
+
+/**
+ at file
+ at brief
+    Declaration of GraphicsManager Singleton.
+ */
+
+#ifndef _GraphicsManager_H__
+#define _GraphicsManager_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include <cassert>
+#include <OgreLog.h>
+
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+    /**
+    @brief
+        Graphics engine manager class
+    */
+    class _OrxonoxExport GraphicsManager : public OrxonoxClass, public Ogre::LogListener
+    {
+    public:
+        GraphicsManager();
+        ~GraphicsManager();
+
+        void setConfigValues();
+        void initialise();
+
+        void update(const Clock& time);
+
+        void detailLevelParticleChanged();
+        inline unsigned int getDetailLevelParticle() const
+            { return this->detailLevelParticle_; }
+
+        inline Ogre::Viewport* getViewport() const
+            { return this->viewport_; }
+        inline Ogre::RenderWindow* getRenderWindow()
+            { return this->renderWindow_; }
+
+        void setCamera(Ogre::Camera* camera);
+
+        static GraphicsManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
+
+    private:
+        GraphicsManager(GraphicsManager&); // don't mess with singletons
+
+        // OGRE initialisation
+        void setupOgre();
+        void loadOgrePlugins();
+        void declareResources();
+        void loadRenderer();
+        void initialiseResources();
+
+        // event from Ogre::LogListener
+        void messageLogged(const std::string& message, Ogre::LogMessageLevel lml,
+            bool maskDebug, const std::string& logName);
+
+        // console commands
+        void printScreen();
+
+    private:
+        bool                loaded_;
+
+        Ogre::Root*         ogreRoot_;                 //!< Ogre's root
+        Ogre::LogManager*   ogreLogger_;
+        Ogre::RenderWindow* renderWindow_;             //!< the one and only render window
+        Ogre::Viewport*     viewport_;                 //!< default full size viewport
+        OgreWindowEventListener* ogreWindowEventListener_;
+
+        // stats (Hack)
+        float               avgTickTime_;              //!< time in ms to tick() one frame
+        float               avgFramesPerSecond_;       //!< number of frames processed in one second
+
+        // config values
+        unsigned int        detailLevelParticle_;      //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high)
+        std::string         resourceFile_;             //!< resources file name
+        std::string         ogreConfigFile_;           //!< ogre config file name
+        std::string         ogrePluginsFolder_;        //!< Folder where the Ogre plugins are located
+        std::string         ogrePlugins_;              //!< Comma separated list of all plugins to load
+        std::string         ogreLogFile_;              //!< log file name for Ogre log messages
+        int                 ogreLogLevelTrivial_;      //!< Corresponding Orxonx debug level for LL_TRIVIAL
+        int                 ogreLogLevelNormal_;       //!< Corresponding Orxonx debug level for LL_NORMAL
+        int                 ogreLogLevelCritical_;     //!< Corresponding Orxonx debug level for LL_CRITICAL
+
+        // console commands
+        ConsoleCommand*     ccPrintScreen_;
+
+        static GraphicsManager* singletonRef_s;        //!< Pointer to the Singleton
+    };
+}
+
+#endif /* _GraphicsManager_H__ */

Modified: trunk/src/orxonox/Main.cc
===================================================================
--- trunk/src/orxonox/Main.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/Main.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -37,126 +37,42 @@
   */
 
 #include "OrxonoxStableHeaders.h"
-
-#include <exception>
-#include <cassert>
-
 #include "OrxonoxConfig.h"
+
 #include "util/Debug.h"
-#include "util/SignalHandler.h"
-#include "core/ConfigFileManager.h"
-#include "core/CommandLine.h"
-#include "core/CommandExecutor.h"
 #include "core/Identifier.h"
-#include "core/Core.h"
-#include "core/Language.h"
+#include "core/Game.h"
 
-#include "gamestates/GSRoot.h"
-#include "gamestates/GSGraphics.h"
-#include "gamestates/GSStandalone.h"
-#include "gamestates/GSServer.h"
-#include "gamestates/GSClient.h"
-#include "gamestates/GSDedicated.h"
-#include "gamestates/GSGUI.h"
-#include "gamestates/GSIOConsole.h"
-
-#ifdef ORXONOX_PLATFORM_APPLE
-#include <CoreFoundation/CoreFoundation.h>
-
-// This function will locate the path to our application on OS X,
-// unlike windows you can not rely on the curent working directory
-// for locating your configuration files and resources.
-             std::string macBundlePath()
-{
-    char path[1024];
-    CFBundleRef mainBundle = CFBundleGetMainBundle();
-    assert(mainBundle);
-
-    CFURLRef mainBundleURL = CFBundleCopyBundleURL(mainBundle);
-    assert(mainBundleURL);
-
-    CFStringRef cfStringRef = CFURLCopyFileSystemPath( mainBundleURL, kCFURLPOSIXPathStyle);
-    assert(cfStringRef);
-
-    CFStringGetCString(cfStringRef, path, 1024, kCFStringEncodingASCII);
-
-    CFRelease(mainBundleURL);
-    CFRelease(cfStringRef);
-
-    return std::string(path);
-}
-#endif
-
-
-SetCommandLineArgument(settingsFile, "orxonox.ini");
-SetCommandLineArgument(configFileDirectory, "");
-
+/*
+ at brief
+    Main method. Game starts here (except for static initialisations).
+*/
 int main(int argc, char** argv)
 {
-    using namespace orxonox;
-
-    // Parse command line arguments
-    try
     {
-        CommandLine::parseAll(argc, argv);
-    }
-    catch (ArgumentException& ex)
-    {
-        COUT(1) << ex.what() << std::endl;
-        COUT(0) << "Usage:" << std::endl << "orxonox " << CommandLine::getUsageInformation() << std::endl;
-    }
+        orxonox::Game orxonox(argc, argv);
 
-    // Do this after parsing the command line to allow customisation
-    Core::postMainInitialisation();
+        orxonox.setStateHierarchy(
+        "root"
+        " graphics"
+        "  mainMenu"
+        "  standalone"
+        "   level"
+        "  server"
+        "   level"
+        "  client"
+        "   level"
+        " dedicated"
+        "  level"
+        " ioConsole"
+        );
 
-    // create a signal handler (only active for linux)
-    SignalHandler signalHandler;
-    signalHandler.doCatch(argv[0], Core::getLogPathString() + "orxonox_crash.log");
+        orxonox.run();
+    } // orxonox gets destroyed right here!
 
-    // Create the ConfigFileManager before creating the GameStates in order to have
-    // setConfigValues() in the constructor (required).
-    ConfigFileManager* configFileManager = new ConfigFileManager();
-    configFileManager->setFilename(ConfigFileType::Settings, CommandLine::getValue("settingsFile").getString());
-    // create the Core settings to configure the output level
-    Language* language = new Language();
-    Core*     core     = new Core();
-
-    // put GameStates in its own scope so we can destroy the identifiers at the end of main().
-    {
-        // create the gamestates
-        GSRoot root;
-        GSGraphics graphics;
-        GSStandalone standalone;
-        GSServer server;
-        GSClient client;
-        GSDedicated dedicated;
-        GSGUI gui;
-        GSIOConsole ioConsole;
-
-        // make the hierarchy
-        root.addChild(&graphics);
-        graphics.addChild(&standalone);
-        graphics.addChild(&server);
-        graphics.addChild(&client);
-        graphics.addChild(&gui);
-        root.addChild(&ioConsole);
-        root.addChild(&dedicated);
-
-        // Here happens the game
-        root.start();
-    }
-
-    // destroy singletons
-    delete core;
-    delete language;
-    delete configFileManager;
-
     // Clean up class hierarchy stuff (identifiers, xmlport, configvalue, consolecommand)
-    Identifier::destroyAllIdentifiers();
-    // destroy command line arguments
-    CommandLine::destroyAllArguments();
-    // Also delete external console command that don't belong to an Identifier
-    CommandExecutor::destroyExternalCommands();
+    // Needs to be done after Game destructor because of ~OrxonoxClass
+    orxonox::Identifier::destroyAllIdentifiers();
 
     return 0;
 }

Modified: trunk/src/orxonox/OrxonoxPrereqs.h
===================================================================
--- trunk/src/orxonox/OrxonoxPrereqs.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/OrxonoxPrereqs.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -76,9 +76,6 @@
     //put here all existing munitionTypes
     namespace MunitionType
     {
-
-
-
         enum Enum
         { laserGunMunition };
     }
@@ -96,7 +93,8 @@
     }
 
 
-    class GraphicsEngine;
+    class GraphicsManager;
+    class OgreWindowEventListener;
     class Settings;
 
     class RadarViewable;
@@ -249,17 +247,6 @@
 
     //gui
     class GUIManager;
-
-    // game states
-    class GSRoot;
-    class GSGraphics;
-    class GSIO;
-    class GSIOConsole;
-    class GSLevel;
-    class GSStandalone;
-    class GSServer;
-    class GSClient;
-    class GSGUI;
 }
 
 namespace Ogre

Modified: trunk/src/orxonox/PlayerManager.cc
===================================================================
--- trunk/src/orxonox/PlayerManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/PlayerManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,7 +30,7 @@
 #include "PlayerManager.h"
 
 #include "LevelManager.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "objects/Level.h"
 #include "objects/infos/HumanPlayer.h"
@@ -57,7 +57,7 @@
 
     void PlayerManager::clientConnected(unsigned int clientID)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             COUT(3) << "client connected" << std::endl;
 
@@ -76,7 +76,7 @@
 
     void PlayerManager::clientDisconnected(unsigned int clientID)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             COUT(3) << "client disconnected" << std::endl;
 
@@ -96,7 +96,7 @@
 
     PlayerInfo* PlayerManager::getClient(unsigned int clientID) const
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             std::map<unsigned int, PlayerInfo*>::const_iterator it = this->clients_.find(clientID);
             if (it != this->clients_.end())

Modified: trunk/src/orxonox/gamestates/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/gamestates/CMakeLists.txt	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/CMakeLists.txt	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,10 +1,10 @@
 ADD_SOURCE_FILES(ORXONOX_SRC_FILES
+  GSClient.cc
   GSDedicated.cc
-  GSClient.cc
   GSGraphics.cc
-  GSGUI.cc
   GSIOConsole.cc
   GSLevel.cc
+  GSMainMenu.cc
   GSRoot.cc
   GSServer.cc
   GSStandalone.cc

Modified: trunk/src/orxonox/gamestates/GSClient.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSClient.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSClient.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,16 +30,20 @@
 #include "GSClient.h"
 
 #include "core/input/InputManager.h"
+#include "core/Clock.h"
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "network/Client.h"
 
 namespace orxonox
 {
+    AddGameState(GSClient, "client");
+
     SetCommandLineArgument(ip, "127.0.0.1").information("#.#.#.#");
 
-    GSClient::GSClient()
-        : GameState<GSGraphics>("client")
+    GSClient::GSClient(const std::string& name)
+        : GameState(name)
         , client_(0)
     {
     }
@@ -48,37 +52,30 @@
     {
     }
 
-    void GSClient::enter()
+    void GSClient::activate()
     {
-        Core::setIsClient(true);
+        GameMode::setIsClient(true);
 
         this->client_ = new Client(CommandLine::getValue("ip").getString(), CommandLine::getValue("port"));
 
         if(!client_->establishConnection())
             ThrowException(InitialisationFailed, "Could not establish connection with server.");
 
-        GSLevel::enter(this->getParent()->getViewport());
-
-        client_->tick(0);
+        client_->update(Game::getInstance().getGameClock());
     }
 
-    void GSClient::leave()
+    void GSClient::deactivate()
     {
-        GSLevel::leave();
-
         client_->closeConnection();
 
         // destroy client
         delete this->client_;
 
-        Core::setIsClient(false);
+        GameMode::setIsClient(false);
     }
 
-    void GSClient::ticked(const Clock& time)
+    void GSClient::update(const Clock& time)
     {
-        GSLevel::ticked(time);
-        client_->tick(time.getDeltaTime());
-
-        this->tickChild(time);
+        client_->update(time);
     }
 }

Modified: trunk/src/orxonox/gamestates/GSClient.h
===================================================================
--- trunk/src/orxonox/gamestates/GSClient.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSClient.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,24 +30,22 @@
 #define _GSClient_H__
 
 #include "OrxonoxPrereqs.h"
+#include "core/GameState.h"
 #include "network/NetworkPrereqs.h"
-#include "GSLevel.h"
-#include "GSGraphics.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSClient : public GameState<GSGraphics>, public GSLevel
+    class _OrxonoxExport GSClient : public GameState
     {
     public:
-        GSClient();
+        GSClient(const std::string& name);
         ~GSClient();
 
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
     private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
-
         Client* client_;
     };
 }

Modified: trunk/src/orxonox/gamestates/GSDedicated.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSDedicated.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSDedicated.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,8 +29,10 @@
 #include "OrxonoxStableHeaders.h"
 #include "GSDedicated.h"
 
+#include "core/Clock.h"
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/Iterator.h"
 #include "network/Server.h"
 #include "objects/Tickable.h"
@@ -38,8 +40,10 @@
 
 namespace orxonox
 {
-    GSDedicated::GSDedicated()
-        : GameState<GSRoot>("dedicated")
+    AddGameState(GSDedicated, "dedicated");
+
+    GSDedicated::GSDedicated(const std::string& name)
+        : GameState(name)
         , server_(0)
         , timeSinceLastUpdate_(0)
     {
@@ -49,29 +53,25 @@
     {
     }
 
-    void GSDedicated::enter()
+    void GSDedicated::activate()
     {
-        Core::setHasServer(true);
+        GameMode::setHasServer(true);
 
         this->server_ = new Server(CommandLine::getValue("port"));
         COUT(0) << "Loading scene in server mode" << std::endl;
 
-        GSLevel::enter(0);
-
         server_->open();
     }
 
-    void GSDedicated::leave()
+    void GSDedicated::deactivate()
     {
-        GSLevel::leave();
-
         this->server_->close();
         delete this->server_;
 
-        Core::setHasServer(false);
+        GameMode::setHasServer(false);
     }
 
-    void GSDedicated::ticked(const Clock& time)
+    void GSDedicated::update(const Clock& time)
     {
 //        static float startTime = time.getSecondsPrecise();
 //        static int nrOfTicks = 0;
@@ -81,9 +81,7 @@
 //            ++nrOfTicks;
 //            COUT(0) << "estimated ticks/sec: " << nrOfTicks/(time.getSecondsPrecise()-startTime) << endl;
             timeSinceLastUpdate_ -= static_cast<unsigned int>(timeSinceLastUpdate_ / NETWORK_PERIOD) * NETWORK_PERIOD;
-            GSLevel::ticked(time);
-            server_->tick(time.getDeltaTime());
-            this->tickChild(time);
+            server_->update(time);
         }
         else
         {

Modified: trunk/src/orxonox/gamestates/GSDedicated.h
===================================================================
--- trunk/src/orxonox/gamestates/GSDedicated.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSDedicated.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,25 +30,24 @@
 #define _GSDedicated_H__
 
 #include "OrxonoxPrereqs.h"
+#include "core/GameState.h"
 #include "network/NetworkPrereqs.h"
-#include "GSLevel.h"
-#include "GSRoot.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSDedicated : public GameState<GSRoot>, public GSLevel
+    class _OrxonoxExport GSDedicated : public GameState
     {
     public:
-        GSDedicated();
+        GSDedicated(const std::string& name);
         ~GSDedicated();
 
-    private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
-        Server*      server_;
-        float        timeSinceLastUpdate_;
+    private:
+        Server* server_;
+        float   timeSinceLastUpdate_;
     };
 }
 

Deleted: trunk/src/orxonox/gamestates/GSGUI.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSGUI.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSGUI.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,70 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "OrxonoxStableHeaders.h"
-#include "GSGUI.h"
-
-#include <OgreViewport.h>
-#include "core/input/InputManager.h"
-#include "core/input/SimpleInputState.h"
-#include "gui/GUIManager.h"
-
-namespace orxonox
-{
-    GSGUI::GSGUI()
-        : GameState<GSGraphics>("gui")
-    {
-    }
-
-    GSGUI::~GSGUI()
-    {
-    }
-
-    void GSGUI::enter()
-    {
-        guiManager_ = getParent()->getGUIManager();
-
-        // show main menu
-        guiManager_->loadScene("MainMenu");
-        guiManager_->showGUI("MainMenu", 0);
-        getParent()->getViewport()->setCamera(guiManager_->getCamera());
-    }
-
-    void GSGUI::leave()
-    {
-        guiManager_->hideGUI();
-    }
-
-    void GSGUI::ticked(const Clock& time)
-    {
-        // tick CEGUI
-        guiManager_->tick(time.getDeltaTime());
-
-        this->tickChild(time);
-    }
-}

Deleted: trunk/src/orxonox/gamestates/GSGUI.h
===================================================================
--- trunk/src/orxonox/gamestates/GSGUI.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSGUI.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -1,53 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _GSGUI_H__
-#define _GSGUI_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/GameState.h"
-#include "GSGraphics.h"
-
-namespace orxonox
-{
-    class _OrxonoxExport GSGUI : public GameState<GSGraphics>
-    {
-    public:
-        GSGUI();
-        ~GSGUI();
-
-    private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
-
-        GUIManager* guiManager_;
-    };
-}
-
-#endif /* _GSGUI_H__ */

Modified: trunk/src/orxonox/gamestates/GSGraphics.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSGraphics.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSGraphics.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -22,200 +22,174 @@
  *   Author:
  *      Reto Grieder
  *   Co-authors:
- *      ...
+ *      Benjamin Knecht
  *
  */
 
+/**
+    @file
+    @brief Implementation of Graphics GameState class.
+ */
+
 #include "OrxonoxStableHeaders.h"
 #include "GSGraphics.h"
 
-#include <fstream>
 #include <boost/filesystem.hpp>
-
-#include <OgreCompositorManager.h>
-#include <OgreConfigFile.h>
-#include <OgreFrameListener.h>
-#include <OgreRoot.h>
-#include <OgreLogManager.h>
-#include <OgreException.h>
 #include <OgreRenderWindow.h>
-#include <OgreRenderSystem.h>
-#include <OgreTextureManager.h>
-#include <OgreViewport.h>
-#include <OgreWindowEventUtilities.h>
 
-#include "SpecialConfig.h"
 #include "util/Debug.h"
-#include "util/Exception.h"
-#include "util/String.h"
-#include "util/SubString.h"
-#include "core/ConsoleCommand.h"
 #include "core/ConfigValueIncludes.h"
-#include "core/CoreIncludes.h"
+#include "core/Clock.h"
+#include "core/ConsoleCommand.h"
 #include "core/Core.h"
+#include "core/CoreIncludes.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/input/InputManager.h"
 #include "core/input/KeyBinder.h"
-#include "core/input/ExtendedInputState.h"
+#include "core/input/SimpleInputState.h"
 #include "core/Loader.h"
 #include "core/XMLFile.h"
 #include "overlays/console/InGameConsole.h"
 #include "gui/GUIManager.h"
-#include "tools/WindowEventListener.h"
+#include "GraphicsManager.h"
 
-// for compatibility
-#include "GraphicsEngine.h"
-
 namespace orxonox
 {
-    GSGraphics::GSGraphics()
-        : GameState<GSRoot>("graphics")
-        , renderWindow_(0)
-        , viewport_(0)
-        , bWindowEventListenerUpdateRequired_(false)
+    AddGameState(GSGraphics, "graphics");
+
+    GSGraphics::GSGraphics(const std::string& name)
+        : GameState(name)
         , inputManager_(0)
         , console_(0)
         , guiManager_(0)
-        , ogreRoot_(0)
-        , ogreLogger_(0)
-        , graphicsEngine_(0)
+        , graphicsManager_(0)
         , masterKeyBinder_(0)
+        , masterInputState_(0)
         , debugOverlay_(0)
     {
         RegisterRootObject(GSGraphics);
-        setConfigValues();
     }
 
     GSGraphics::~GSGraphics()
     {
     }
 
+    /**
+    @brief
+        this function does nothing
+
+        Indeed. Here goes nothing.
+    */
     void GSGraphics::setConfigValues()
     {
-        SetConfigValue(resourceFile_,    "resources.cfg")
-            .description("Location of the resources file in the data path.");
-        SetConfigValue(ogreConfigFile_,  "ogre.cfg")
-            .description("Location of the Ogre config file");
-        SetConfigValue(ogrePluginsFolder_, ORXONOX_OGRE_PLUGINS_FOLDER)
-            .description("Folder where the Ogre plugins are located.");
-        SetConfigValue(ogrePlugins_, ORXONOX_OGRE_PLUGINS)
-            .description("Comma separated list of all plugins to load.");
-        SetConfigValue(ogreLogFile_,     "ogre.log")
-            .description("Logfile for messages from Ogre. Use \"\" to suppress log file creation.");
-        SetConfigValue(ogreLogLevelTrivial_ , 5)
-            .description("Corresponding orxonox debug level for ogre Trivial");
-        SetConfigValue(ogreLogLevelNormal_  , 4)
-            .description("Corresponding orxonox debug level for ogre Normal");
-        SetConfigValue(ogreLogLevelCritical_, 2)
-            .description("Corresponding orxonox debug level for ogre Critical");
     }
 
-    void GSGraphics::enter()
+    /**
+    @brief
+        This function is called when we enter this game state.
+
+        Since graphics is very important for our game this function does quite a lot:
+        \li starts graphics manager
+        \li loads debug overlay
+        \li manages render window
+        \li creates input manager
+        \li loads master key bindings
+        \li loads ingame console
+        \li loads GUI interface (GUIManager)
+        \li creates console command to toggle GUI
+    */
+    void GSGraphics::activate()
     {
-        Core::setShowsGraphics(true);
+        GameMode::setShowsGraphics(true);
 
-        // initialise graphics engine. Doesn't load the render window yet!
-        graphicsEngine_ = new GraphicsEngine();
+        setConfigValues();
 
-        // Ogre setup procedure
-        setupOgre();
-        // load all the required plugins for Ogre
-        loadOgrePlugins();
-        // read resource declaration file
-        this->declareResources();
-        // Reads ogre config and creates the render window
-        this->loadRenderer();
+        // initialise graphics manager. Doesn't load the render window yet!
+        this->graphicsManager_ = new GraphicsManager();
+        this->graphicsManager_->initialise();
 
-        // TODO: Spread this so that this call only initialises things needed for the Console and GUI
-        this->initialiseResources();
-
-        // We want to get informed whenever an object of type WindowEventListener is created
-        // in order to later update the window size.
-        bWindowEventListenerUpdateRequired_ = false;
-        RegisterConstructionCallback(GSGraphics, orxonox::WindowEventListener, requestWindowEventListenerUpdate);
-
         // load debug overlay
         COUT(3) << "Loading Debug Overlay..." << std::endl;
         this->debugOverlay_ = new XMLFile((Core::getMediaPath() / "overlay" / "debug.oxo").string());
         Loader::open(debugOverlay_);
 
-        // Calls the InputManager which sets up the input devices.
         // The render window width and height are used to set up the mouse movement.
-        inputManager_ = new InputManager();
         size_t windowHnd = 0;
-        this->renderWindow_->getCustomAttribute("WINDOW", &windowHnd);
-        inputManager_->initialise(windowHnd, renderWindow_->getWidth(), renderWindow_->getHeight(), true);
-        // Configure master input state with a KeyBinder
+        Ogre::RenderWindow* renderWindow = GraphicsManager::getInstance().getRenderWindow();
+        renderWindow->getCustomAttribute("WINDOW", &windowHnd);
+
+        // Calls the InputManager which sets up the input devices.
+        inputManager_ = new InputManager();
+        inputManager_->initialise(windowHnd, renderWindow->getWidth(), renderWindow->getHeight(), true);
+
+        // load master key bindings
+        masterInputState_ = InputManager::getInstance().createInputState<SimpleInputState>("master", true);
         masterKeyBinder_ = new KeyBinder();
         masterKeyBinder_->loadBindings("masterKeybindings.ini");
-        inputManager_->getMasterInputState()->addKeyHandler(masterKeyBinder_);
+        masterInputState_->setKeyHandler(masterKeyBinder_);
 
         // Load the InGameConsole
         console_ = new InGameConsole();
-        console_->initialise(this->renderWindow_->getWidth(), this->renderWindow_->getHeight());
+        console_->initialise(renderWindow->getWidth(), renderWindow->getHeight());
 
         // load the CEGUI interface
         guiManager_ = new GUIManager();
-        guiManager_->initialise(this->renderWindow_);
+        guiManager_->initialise(renderWindow);
 
-        // add console commands
-        FunctorMember<GSGraphics>* functor1 = createFunctor(&GSGraphics::printScreen);
-        functor1->setObject(this);
-        ccPrintScreen_ = createConsoleCommand(functor1, "printScreen");
-        CommandExecutor::addConsoleCommandShortcut(ccPrintScreen_);
+        // add console command to toggle GUI
+        FunctorMember<GSGraphics>* functor = createFunctor(&GSGraphics::toggleGUI);
+        functor->setObject(this);
+        this->ccToggleGUI_ = createConsoleCommand(functor, "toggleGUI");
+        CommandExecutor::addConsoleCommandShortcut(this->ccToggleGUI_);
+
+        // enable master input
+        InputManager::getInstance().requestEnterState("master");
     }
 
-    void GSGraphics::leave()
+    /**
+    @brief
+        This function is called when the game state is left
+
+        Created references, input states and console commands are deleted.
+    */
+    void GSGraphics::deactivate()
     {
-        using namespace Ogre;
 
-        delete this->ccPrintScreen_;
+        if (this->ccToggleGUI_)
+        {
+            delete this->ccToggleGUI_;
+            this->ccToggleGUI_ = 0;
+        }
 
-        // remove our WindowEventListener first to avoid bad calls after the window has been destroyed
-        Ogre::WindowEventUtilities::removeWindowEventListener(this->renderWindow_, this);
+        masterInputState_->setHandler(0);
+        InputManager::getInstance().requestDestroyState("master");
+        delete this->masterKeyBinder_;
 
         delete this->guiManager_;
-
         delete this->console_;
 
-        //inputManager_->getMasterInputState()->removeKeyHandler(this->masterKeyBinder_);
-        delete this->masterKeyBinder_;
-        delete this->inputManager_;
-
         Loader::unload(this->debugOverlay_);
         delete this->debugOverlay_;
 
-        // unload all compositors
-        Ogre::CompositorManager::getSingleton().removeAll();
+        delete this->inputManager_;
+        this->inputManager_ = 0;
 
-        // destroy render window
-        RenderSystem* renderer = this->ogreRoot_->getRenderSystem();
-        renderer->destroyRenderWindow("Orxonox");
+        delete graphicsManager_;
 
-        /*** CODE SNIPPET, UNUSED ***/
-        // Does the opposite of initialise()
-        //ogreRoot_->shutdown();
-        // Remove all resources and resource groups
-        //StringVector groups = ResourceGroupManager::getSingleton().getResourceGroups();
-        //for (StringVector::iterator it = groups.begin(); it != groups.end(); ++it)
-        //{
-        //    ResourceGroupManager::getSingleton().destroyResourceGroup(*it);
-        //}
+        GameMode::setShowsGraphics(false);
+    }
 
-        //ParticleSystemManager::getSingleton().removeAllTemplates();
+    /**
+    @brief
+        Toggles the visibility of the current GUI
 
-        // Shutdown the render system
-        //this->ogreRoot_->setRenderSystem(0);
-
-        delete this->ogreRoot_;
-
-        // delete the ogre log and the logManager (since we have created it).
-        this->ogreLogger_->getDefaultLog()->removeListener(this);
-        this->ogreLogger_->destroyLog(Ogre::LogManager::getSingleton().getDefaultLog());
-        delete this->ogreLogger_;
-
-        delete graphicsEngine_;
-
-        Core::setShowsGraphics(false);
+        This function just executes a Lua function in the main script of the GUI by accessing the GUIManager.
+        For more details on this function check out the Lua code.
+    */
+    void GSGraphics::toggleGUI()
+    {
+            GUIManager::getInstance().executeCode("toggleGUI()");
     }
 
     /**
@@ -226,280 +200,44 @@
         as shown that there is probably only one FrameListener that doesn't even
         need the time. So we shouldn't run into problems.
     */
-    void GSGraphics::ticked(const Clock& time)
+    void GSGraphics::update(const Clock& time)
     {
-        uint64_t timeBeforeTick = time.getRealMicroseconds();
-
-        float dt = time.getDeltaTime();
-
-        this->inputManager_->tick(dt);
-        // tick console
-        this->console_->tick(dt);
-        this->tickChild(time);
-
-        if (this->bWindowEventListenerUpdateRequired_)
+        if (this->getActivity().topState)
         {
-            // Update all WindowEventListeners for the case a new one was created.
-            this->windowResized(this->renderWindow_);
-            this->bWindowEventListenerUpdateRequired_ = false;
+            // This state can not 'survive' on its own.
+            // Load a user interface therefore
+            Game::getInstance().requestState("mainMenu");
         }
 
-        uint64_t timeAfterTick = time.getRealMicroseconds();
+        uint64_t timeBeforeTick = time.getRealMicroseconds();
 
-        // Also add our tick time to the list in GSRoot
-        this->getParent()->addTickTime(timeAfterTick - timeBeforeTick);
+        this->inputManager_->update(time);        // tick console
+        this->console_->update(time);
+        this->guiManager_->update(time);
 
-        // Update statistics overlay. Note that the values only change periodically in GSRoot.
-        GraphicsEngine::getInstance().setAverageFramesPerSecond(this->getParent()->getAvgFPS());
-        GraphicsEngine::getInstance().setAverageTickTime(this->getParent()->getAvgTickTime());
+        uint64_t timeAfterTick = time.getRealMicroseconds();
 
-        // don't forget to call _fireFrameStarted in ogre to make sure
-        // everything goes smoothly
-        Ogre::FrameEvent evt;
-        evt.timeSinceLastFrame = dt;
-        evt.timeSinceLastEvent = dt; // note: same time, but shouldn't matter anyway
-        ogreRoot_->_fireFrameStarted(evt);
+        // Also add our tick time
+        Game::getInstance().addTickTime(timeAfterTick - timeBeforeTick);
 
-        // Pump messages in all registered RenderWindows
-        // This calls the WindowEventListener objects.
-        Ogre::WindowEventUtilities::messagePump();
-        // make sure the window stays active even when not focused
-        // (probably only necessary on windows)
-        this->renderWindow_->setActive(true);
-
-        // render
-        ogreRoot_->_updateAllRenderTargets();
-
-        // again, just to be sure ogre works fine
-        ogreRoot_->_fireFrameEnded(evt); // note: uses the same time as _fireFrameStarted
+        // Render
+        this->graphicsManager_->update(time);
     }
 
     /**
     @brief
-        Creates the Ogre Root object and sets up the ogre log.
-    */
-    void GSGraphics::setupOgre()
-    {
-        COUT(3) << "Setting up Ogre..." << std::endl;
-
-        if (ogreConfigFile_ == "")
-        {
-            COUT(2) << "Warning: Ogre config file set to \"\". Defaulting to config.cfg" << std::endl;
-            ModifyConfigValue(ogreConfigFile_, tset, "config.cfg");
-        }
-        if (ogreLogFile_ == "")
-        {
-            COUT(2) << "Warning: Ogre log file set to \"\". Defaulting to ogre.log" << std::endl;
-            ModifyConfigValue(ogreLogFile_, tset, "ogre.log");
-        }
-
-        boost::filesystem::path ogreConfigFilepath(Core::getConfigPath() / this->ogreConfigFile_);
-        boost::filesystem::path ogreLogFilepath(Core::getLogPath() / this->ogreLogFile_);
-
-        // create a new logManager
-        // Ogre::Root will detect that we've already created a Log
-        ogreLogger_ = new Ogre::LogManager();
-        COUT(4) << "Ogre LogManager created" << std::endl;
-
-        // create our own log that we can listen to
-        Ogre::Log *myLog;
-        myLog = ogreLogger_->createLog(ogreLogFilepath.string(), true, false, false);
-        COUT(4) << "Ogre Log created" << std::endl;
-
-        myLog->setLogDetail(Ogre::LL_BOREME);
-        myLog->addListener(this);
-
-        COUT(4) << "Creating Ogre Root..." << std::endl;
-
-        // check for config file existence because Ogre displays (caught) exceptions if not
-        if (!boost::filesystem::exists(ogreConfigFilepath))
-        {
-            // create a zero sized file
-            std::ofstream creator;
-            creator.open(ogreConfigFilepath.string().c_str());
-            creator.close();
-        }
-
-        // Leave plugins file empty. We're going to do that part manually later
-        ogreRoot_ = new Ogre::Root("", ogreConfigFilepath.string(), ogreLogFilepath.string());
-
-        COUT(3) << "Ogre set up done." << std::endl;
-    }
-
-    void GSGraphics::loadOgrePlugins()
-    {
-        // just to make sure the next statement doesn't segfault
-        if (ogrePluginsFolder_ == "")
-            ogrePluginsFolder_ = ".";
-
-        boost::filesystem::path folder(ogrePluginsFolder_);
-        // Do some SubString magic to get the comma separated list of plugins
-        SubString plugins(ogrePlugins_, ",", " ", false, 92, false, 34, false, 40, 41, false, '\0');
-        // Use backslash paths on Windows! file_string() already does that though.
-        for (unsigned int i = 0; i < plugins.size(); ++i)
-            ogreRoot_->loadPlugin((folder / plugins[i]).file_string());
-    }
-
-    void GSGraphics::declareResources()
-    {
-        CCOUT(4) << "Declaring Resources" << std::endl;
-        //TODO: Specify layout of data file and maybe use xml-loader
-        //TODO: Work with ressource groups (should be generated by a special loader)
-
-        if (resourceFile_ == "")
-        {
-            COUT(2) << "Warning: Ogre resource file set to \"\". Defaulting to resources.cfg" << std::endl;
-            ModifyConfigValue(resourceFile_, tset, "resources.cfg");
-        }
-
-        // Load resource paths from data file using configfile ressource type
-        Ogre::ConfigFile cf;
-        try
-        {
-            cf.load((Core::getMediaPath() / resourceFile_).string());
-        }
-        catch (...)
-        {
-            //COUT(1) << ex.getFullDescription() << std::endl;
-            COUT(0) << "Have you forgotten to set the data path in orxnox.ini?" << std::endl;
-            throw;
-        }
-
-        // Go through all sections & settings in the file
-        Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator();
-
-        std::string secName, typeName, archName;
-        while (seci.hasMoreElements())
-        {
-            try
-            {
-                secName = seci.peekNextKey();
-                Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext();
-                Ogre::ConfigFile::SettingsMultiMap::iterator i;
-                for (i = settings->begin(); i != settings->end(); ++i)
-                {
-                    typeName = i->first; // for instance "FileSystem" or "Zip"
-                    archName = i->second; // name (and location) of archive
-
-                    Ogre::ResourceGroupManager::getSingleton().addResourceLocation(
-                        (Core::getMediaPath() / archName).string(), typeName, secName);
-                }
-            }
-            catch (Ogre::Exception& ex)
-            {
-                COUT(1) << ex.getFullDescription() << std::endl;
-            }
-        }
-    }
-
-    void GSGraphics::loadRenderer()
-    {
-        CCOUT(4) << "Configuring Renderer" << std::endl;
-
-        if (!ogreRoot_->restoreConfig())
-            if (!ogreRoot_->showConfigDialog())
-                ThrowException(InitialisationFailed, "Could not show Ogre configuration dialogue.");
-
-        CCOUT(4) << "Creating render window" << std::endl;
-
-        this->renderWindow_ = ogreRoot_->initialise(true, "Orxonox");
-
-        Ogre::WindowEventUtilities::addWindowEventListener(this->renderWindow_, this);
-
-        Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(0);
-
-        // create a full screen default viewport
-        this->viewport_ = this->renderWindow_->addViewport(0, 0);
-
-        if (this->graphicsEngine_)
-            this->graphicsEngine_->setViewport(this->viewport_);
-    }
-
-    void GSGraphics::initialiseResources()
-    {
-        CCOUT(4) << "Initialising resources" << std::endl;
-        //TODO: Do NOT load all the groups, why are we doing that? And do we really do that? initialise != load...
-        //try
-        //{
-            Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
-            /*Ogre::StringVector str = Ogre::ResourceGroupManager::getSingleton().getResourceGroups();
-            for (unsigned int i = 0; i < str.size(); i++)
-            {
-            Ogre::ResourceGroupManager::getSingleton().loadResourceGroup(str[i]);
-            }*/
-        //}
-        //catch (...)
-        //{
-        //    CCOUT(2) << "Error: There was a serious error when initialising the resources." << std::endl;
-        //    throw;
-        //}
-    }
-
-    /**
-    @brief
-        Method called by the LogListener interface from Ogre.
-        We use it to capture Ogre log messages and handle it ourselves.
-    @param message
-        The message to be logged
-    @param lml
-        The message level the log is using
-    @param maskDebug
-        If we are printing to the console or not
-    @param logName
-        The name of this log (so you can have several listeners
-        for different logs, and identify them)
-    */
-    void GSGraphics::messageLogged(const std::string& message,
-        Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName)
-    {
-        int orxonoxLevel;
-        switch (lml)
-        {
-        case Ogre::LML_TRIVIAL:
-            orxonoxLevel = this->ogreLogLevelTrivial_;
-            break;
-        case Ogre::LML_NORMAL:
-            orxonoxLevel = this->ogreLogLevelNormal_;
-            break;
-        case Ogre::LML_CRITICAL:
-            orxonoxLevel = this->ogreLogLevelCritical_;
-            break;
-        default:
-            orxonoxLevel = 0;
-        }
-        OutputHandler::getOutStream().setOutputLevel(orxonoxLevel)
-            << "Ogre: " << message << std::endl;
-    }
-
-    /**
-    @brief
-        Window has moved.
-    @param rw
-        The render window it occured in
-    */
-    void GSGraphics::windowMoved(Ogre::RenderWindow *rw)
-    {
-        for (ObjectList<orxonox::WindowEventListener>::iterator it = ObjectList<orxonox::WindowEventListener>::begin(); it; ++it)
-            it->windowMoved();
-    }
-
-    /**
-    @brief
         Window has resized.
     @param rw
         The render window it occured in
     @note
-        GraphicsEngine has a render window stored itself. This is the same
+        GraphicsManager has a render window stored itself. This is the same
         as rw. But we have to be careful when using multiple render windows!
     */
-    void GSGraphics::windowResized(Ogre::RenderWindow *rw)
+    void GSGraphics::windowResized(unsigned int newWidth, unsigned int newHeight)
     {
-        for (ObjectList<orxonox::WindowEventListener>::iterator it = ObjectList<orxonox::WindowEventListener>::begin(); it; ++it)
-            it->windowResized(this->renderWindow_->getWidth(), this->renderWindow_->getHeight());
-
         // OIS needs this under linux even if we only use relative input measurement.
         if (this->inputManager_)
-            this->inputManager_->setWindowExtents(renderWindow_->getWidth(), renderWindow_->getHeight());
+            this->inputManager_->setWindowExtents(newWidth, newHeight);
     }
 
     /**
@@ -508,32 +246,11 @@
     @param rw
         The render window it occured in
     */
-    void GSGraphics::windowFocusChange(Ogre::RenderWindow *rw)
+    void GSGraphics::windowFocusChanged()
     {
-        for (ObjectList<orxonox::WindowEventListener>::iterator it = ObjectList<orxonox::WindowEventListener>::begin(); it; ++it)
-            it->windowFocusChanged();
-
         // instruct InputManager to clear the buffers (core library so we cannot use the interface)
         if (this->inputManager_)
             this->inputManager_->clearBuffers();
     }
 
-    /**
-    @brief
-        Window was closed.
-    @param rw
-        The render window it occured in
-    */
-    void GSGraphics::windowClosed(Ogre::RenderWindow *rw)
-    {
-        this->requestState("root");
-    }
-
-    void GSGraphics::printScreen()
-    {
-        if (this->renderWindow_)
-        {
-            this->renderWindow_->writeContentsToTimestampedFile("shot_", ".jpg");
-        }
-    }
 }

Modified: trunk/src/orxonox/gamestates/GSGraphics.h
===================================================================
--- trunk/src/orxonox/gamestates/GSGraphics.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSGraphics.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -22,94 +22,59 @@
  *   Author:
  *      Reto Grieder
  *   Co-authors:
- *      ...
+ *      Benjamin Knecht (documentation)
  *
  */
 
+ /**
+    @file
+    @brief Declaration of the Graphics GameState class.
+  */
+
 #ifndef _GSGraphics_H__
 #define _GSGraphics_H__
 
 #include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#ifndef NOMINMAX
-#  define NOMINMAX // required to stop windows.h screwing up std::min definition
-#endif
-#include <OgreWindowEventUtilities.h>
 #include "core/GameState.h"
-#include "core/OrxonoxClass.h"
-#include "GSRoot.h"
+#include "tools/WindowEventListener.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSGraphics : public GameState<GSRoot>, public OrxonoxClass,
-                                      public Ogre::WindowEventListener, public Ogre::LogListener
-    {
-        friend class ClassIdentifier<GSGraphics>;
+    /**
+    @class GSGraphics
+    @brief
+        Game state used when displaying graphics of any kind
 
+        This game state is only left out if we start a dedicated server where no graphics are present.
+    */
+    class _OrxonoxExport GSGraphics : public GameState, public WindowEventListener
+    {
     public:
-        GSGraphics();
+        GSGraphics(const std::string& name);
         ~GSGraphics();
-
-        Ogre::Root*     getOgreRoot()   { return this->ogreRoot_  ; }
-        Ogre::Viewport* getViewport()   { return this->viewport_  ; }
-        GUIManager*     getGUIManager() { return this->guiManager_; }
-
-    private: // functions
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
-
         void setConfigValues();
 
-        void setupOgre();
-        void loadOgrePlugins();
-        void declareResources();
-        void loadRenderer();
-        void initialiseResources();
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
-        // console commands
-        void printScreen();
+        void toggleGUI();
 
-        // event from Ogre::LogListener
-        void messageLogged(const std::string& message, Ogre::LogMessageLevel lml,
-            bool maskDebug, const std::string& logName);
+    private:
+        // Window events from WindowEventListener
+        void windowResized(unsigned int newWidth, unsigned int newHeight);
+        void windowFocusChanged();
 
-        // window events from Ogre::WindowEventListener
-        void windowMoved       (Ogre::RenderWindow* rw);
-        void windowResized     (Ogre::RenderWindow* rw);
-        void windowFocusChange (Ogre::RenderWindow* rw);
-        void windowClosed      (Ogre::RenderWindow* rw);
-
-        void requestWindowEventListenerUpdate() { this->bWindowEventListenerUpdateRequired_ = true; }
-
-    private: // variables
-        Ogre::RenderWindow*   renderWindow_;          //!< the current render window
-        Ogre::Viewport*       viewport_;              //!< default full size viewport
-        bool bWindowEventListenerUpdateRequired_;     //!< True if a new WindowEventListener was created but not yet updated.
-
         // managed singletons
-        InputManager*         inputManager_;
+        InputManager*         inputManager_;        //!< Reference to input management
         InGameConsole*        console_;
-        GUIManager*           guiManager_;
-        Ogre::Root*           ogreRoot_;                  //!< Ogre's root
-        Ogre::LogManager*     ogreLogger_;
-        GraphicsEngine*       graphicsEngine_;   //!< Interface to Ogre
+        GUIManager*           guiManager_;          //!< Interface to GUI
+        GraphicsManager*      graphicsManager_;     //!< Interface to Ogre
 
-        KeyBinder*            masterKeyBinder_;
+        KeyBinder*            masterKeyBinder_;     //!< Key binder for master key bindings
+        SimpleInputState*     masterInputState_;    //!< Special input state for master input
         XMLFile*              debugOverlay_;
-
-        // config values
-        std::string           resourceFile_;             //!< resources file name
-        std::string           ogreConfigFile_;           //!< ogre config file name
-        std::string           ogrePluginsFolder_;        //!< Folder where the Ogre plugins are located
-        std::string           ogrePlugins_;              //!< Comma separated list of all plugins to load
-        std::string           ogreLogFile_;              //!< log file name for Ogre log messages
-        int                   ogreLogLevelTrivial_;      //!< Corresponding Orxonx debug level for LL_TRIVIAL
-        int                   ogreLogLevelNormal_;       //!< Corresponding Orxonx debug level for LL_NORMAL
-        int                   ogreLogLevelCritical_;     //!< Corresponding Orxonx debug level for LL_CRITICAL
-
-        // console commands
-        ConsoleCommand*       ccPrintScreen_;
+        ConsoleCommand*       ccToggleGUI_;         //!< Console command to toggle GUI
     };
 }
 

Modified: trunk/src/orxonox/gamestates/GSIOConsole.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSIOConsole.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSIOConsole.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -35,11 +35,14 @@
 #include <OgreTimer.h>
 
 #include "core/ConsoleCommand.h"
+#include "core/Game.h"
 
 namespace orxonox
 {
-    GSIOConsole::GSIOConsole()
-        : GameState<GSRoot>("ioConsole")
+    AddGameState(GSIOConsole, "ioConsole");
+
+    GSIOConsole::GSIOConsole(const std::string& name)
+        : GameState(name)
     {
     }
 
@@ -47,20 +50,36 @@
     {
     }
 
-    void GSIOConsole::enter()
+    void GSIOConsole::activate()
     {
+        {
+            FunctorMember<GSIOConsole>* functor = createFunctor(&GSIOConsole::loadMenu);
+            functor->setObject(this);
+            this->ccLoadMenu_ = createConsoleCommand(functor, "loadMenu");
+            CommandExecutor::addConsoleCommandShortcut(this->ccLoadMenu_);
+        }
     }
 
-    void GSIOConsole::leave()
+    void GSIOConsole::deactivate()
     {
+        if (this->ccLoadMenu_)
+        {
+            delete this->ccLoadMenu_;
+            this->ccLoadMenu_ = 0;
+        }
     }
 
-    void GSIOConsole::ticked(const Clock& time)
+    void GSIOConsole::update(const Clock& time)
     {
+        std::cout << ">";
         std::string command;
         std::getline(std::cin, command);
         CommandExecutor::execute(command, true);
-        
-        tickChild(time);
     }
+
+    void GSIOConsole::loadMenu()
+    {
+        Game::getInstance().popState();
+        Game::getInstance().requestStates("graphics, mainMenu");
+    }
 }

Modified: trunk/src/orxonox/gamestates/GSIOConsole.h
===================================================================
--- trunk/src/orxonox/gamestates/GSIOConsole.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSIOConsole.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,22 +30,25 @@
 #define _GSIOConsole_H__
 
 #include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
 #include "core/GameState.h"
-#include "GSRoot.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSIOConsole : public GameState<GSRoot>
+    class _OrxonoxExport GSIOConsole : public GameState
     {
     public:
-        GSIOConsole();
+        GSIOConsole(const std::string& name);
         ~GSIOConsole();
 
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
+
     private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
+        void loadMenu();
+
+        // console commands
+        ConsoleCommand* ccLoadMenu_;
     };
 }
 

Modified: trunk/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSLevel.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSLevel.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -23,6 +23,7 @@
  *      Reto Grieder
  *   Co-authors:
  *      Fabian 'x3n' Landau
+ *      Benjamin Knecht
  *
  */
 
@@ -38,22 +39,31 @@
 #include "core/ConsoleCommand.h"
 #include "core/CommandLine.h"
 #include "core/ConfigValueIncludes.h"
+#include "core/Core.h"
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "objects/Tickable.h"
 #include "objects/Radar.h"
 #include "CameraManager.h"
+#include "GraphicsManager.h"
 #include "LevelManager.h"
 #include "PlayerManager.h"
+#include "gui/GUIManager.h"
 
 namespace orxonox
 {
+    AddGameState(GSLevel, "level");
+
     SetCommandLineArgument(level, "presentation_dm.oxw").shortcut("l");
+    SetConsoleCommand(GSLevel, showIngameGUI, true);
 
-    GSLevel::GSLevel()
-//        : GameState<GSGraphics>(name)
-        : keyBinder_(0)
-        , inputState_(0)
+    GSLevel::GSLevel(const std::string& name)
+        : GameState(name)
+        , keyBinder_(0)
+        , gameInputState_(0)
+        , guiMouseOnlyInputState_(0)
+        , guiKeysOnlyInputState_(0)
         , radar_(0)
         , startFile_(0)
         , cameraManager_(0)
@@ -63,8 +73,6 @@
 
         this->ccKeybind_ = 0;
         this->ccTkeybind_ = 0;
-
-        setConfigValues();
     }
 
     GSLevel::~GSLevel()
@@ -76,18 +84,25 @@
         SetConfigValue(keyDetectorCallbackCode_, "KeybindBindingStringKeyName=");
     }
 
-    void GSLevel::enter(Ogre::Viewport* viewport)
+    void GSLevel::activate()
     {
-        if (Core::showsGraphics())
+        setConfigValues();
+
+        if (GameMode::showsGraphics())
         {
-            inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("game", 20);
+            gameInputState_ = InputManager::getInstance().createInputState<SimpleInputState>("game");
             keyBinder_ = new KeyBinder();
             keyBinder_->loadBindings("keybindings.ini");
-            inputState_->setHandler(keyBinder_);
+            gameInputState_->setHandler(keyBinder_);
 
+            guiMouseOnlyInputState_ = InputManager::getInstance().createInputState<SimpleInputState>("guiMouseOnly");
+            guiMouseOnlyInputState_->setMouseHandler(GUIManager::getInstancePtr());
+
+            guiKeysOnlyInputState_ = InputManager::getInstance().createInputState<SimpleInputState>("guiKeysOnly");
+            guiKeysOnlyInputState_->setKeyHandler(GUIManager::getInstancePtr());
+
             // create the global CameraManager
-            assert(viewport);
-            this->cameraManager_ = new CameraManager(viewport);
+            this->cameraManager_ = new CameraManager(GraphicsManager::getInstance().getViewport());
 
             // Start the Radar
             this->radar_ = new Radar();
@@ -95,7 +110,7 @@
 
         this->playerManager_ = new PlayerManager();
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             // create the global LevelManager
             this->levelManager_ = new LevelManager();
@@ -103,11 +118,8 @@
             this->loadLevel();
         }
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
-            // TODO: insert slomo console command with
-            // .accessLevel(AccessLevel::Offline).defaultValue(0, 1.0).axisParamIndex(0).isAxisRelative(false);
-
             // keybind console command
             FunctorMember<GSLevel>* functor1 = createFunctor(&GSLevel::keybind);
             functor1->setObject(this);
@@ -125,8 +137,24 @@
         }
     }
 
-    void GSLevel::leave()
+    void GSLevel::showIngameGUI(bool show)
     {
+        if (show)
+        {
+            GUIManager::getInstancePtr()->showGUI("inGameTest");
+            GUIManager::getInstancePtr()->executeCode("showCursor()");
+            InputManager::getInstance().requestEnterState("guiMouseOnly");
+        }
+        else
+        {
+            GUIManager::getInstancePtr()->executeCode("hideGUI(\"inGameTest\")");
+            GUIManager::getInstancePtr()->executeCode("hideCursor()");
+            InputManager::getInstance().requestLeaveState("guiMouseOnly");
+        }
+    }
+
+    void GSLevel::deactivate()
+    {
         // destroy console commands
         if (this->ccKeybind_)
         {
@@ -139,16 +167,17 @@
             this->ccTkeybind_ = 0;
         }
 
+
         // this call will delete every BaseObject!
         // But currently this will call methods of objects that exist no more
         // The only 'memory leak' is the ParticleSpawer. They would be deleted here
         // and call a sceneNode method that has already been destroy by the corresponding space ship.
         //Loader::close();
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
             InputManager::getInstance().requestLeaveState("game");
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->unloadLevel();
 
         if (this->radar_)
@@ -175,9 +204,11 @@
             this->playerManager_ = 0;
         }
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
-            inputState_->setHandler(0);
+            gameInputState_->setHandler(0);
+            guiMouseOnlyInputState_->setHandler(0);
+            guiKeysOnlyInputState_->setHandler(0);
             InputManager::getInstance().requestDestroyState("game");
             if (this->keyBinder_)
             {
@@ -187,9 +218,9 @@
         }
     }
 
-    void GSLevel::ticked(const Clock& time)
+    void GSLevel::update(const Clock& time)
     {
-        // Commented by 1337: Temporarily moved to GSGraphics.
+        // Note: Temporarily moved to GSGraphics.
         //// Call the scene objects
         //for (ObjectList<Tickable>::iterator it = ObjectList<Tickable>::begin(); it; ++it)
         //    it->tick(time.getDeltaTime() * this->timeFactor_);
@@ -232,11 +263,11 @@
     @param command
         Command string that can be executed by the CommandExecutor
         OR: Internal string "KeybindBindingStringKeyName=" used for the second call to identify
-        the key/button/axis that has been activated. This is configured above in enter().
+        the key/button/axis that has been activated. This is configured above in activate().
     */
     void GSLevel::keybindInternal(const std::string& command, bool bTemporary)
     {
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             static std::string bindingString = "";
             static bool bTemporarySaved = false;

Modified: trunk/src/orxonox/gamestates/GSLevel.h
===================================================================
--- trunk/src/orxonox/gamestates/GSLevel.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSLevel.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -22,7 +22,7 @@
  *   Author:
  *      Reto Grieder
  *   Co-authors:
- *      ...
+ *      Benjamin Knecht
  *
  */
 
@@ -30,26 +30,25 @@
 #define _GSLevel_H__
 
 #include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
 #include "core/OrxonoxClass.h"
+#include "core/GameState.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSLevel : public OrxonoxClass
+    class _OrxonoxExport GSLevel : public GameState, public OrxonoxClass
     {
-        friend class ClassIdentifier<GSLevel>;
     public:
-        GSLevel();
+        GSLevel(const std::string& name);
         ~GSLevel();
-
-        // was private before (is public now because of console command in GSStandalone)
         void setConfigValues();
 
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
+
+        static void showIngameGUI(bool show);
+
     protected:
-        void enter(Ogre::Viewport* viewport);
-        void leave();
-        void ticked(const Clock& time);
-
         void loadLevel();
         void unloadLevel();
 
@@ -58,13 +57,15 @@
         void tkeybind(const std::string& command);
         void keybindInternal(const std::string& command, bool bTemporary);
 
-        KeyBinder*            keyBinder_;        //!< tool that loads and manages the input bindings
-        SimpleInputState*     inputState_;
-        Radar*                radar_;            //!< represents the Radar (not the HUD part)
-        XMLFile*              startFile_;        //!< current hard coded default level
-        CameraManager*        cameraManager_;
-        LevelManager*         levelManager_;
-        PlayerManager*        playerManager_;
+        KeyBinder*            keyBinder_;               //!< tool that loads and manages the input bindings
+        SimpleInputState*     gameInputState_;          //!< input state for normal ingame playing
+        SimpleInputState*     guiMouseOnlyInputState_;  //!< input state if we only need the mouse to use the GUI
+        SimpleInputState*     guiKeysOnlyInputState_;   //!< input state if we only need the keys to use the GUI
+        Radar*                radar_;                   //!< represents the Radar (not the HUD part)
+        XMLFile*              startFile_;               //!< current hard coded default level
+        CameraManager*        cameraManager_;           //!< camera manager for this level
+        LevelManager*         levelManager_;            //!< global level manager
+        PlayerManager*        playerManager_;           //!< player manager for this level
 
         //##### ConfigValues #####
         std::string           keyDetectorCallbackCode_;
@@ -72,7 +73,6 @@
         // console commands
         ConsoleCommand*       ccKeybind_;
         ConsoleCommand*       ccTkeybind_;
-
     };
 }
 

Copied: trunk/src/orxonox/gamestates/GSMainMenu.cc (from rev 2895, branches/gui/src/orxonox/gamestates/GSMainMenu.cc)
===================================================================
--- trunk/src/orxonox/gamestates/GSMainMenu.cc	                        (rev 0)
+++ trunk/src/orxonox/gamestates/GSMainMenu.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,107 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+#include "GSMainMenu.h"
+
+//#include <OgreViewport.h>
+#include <OgreSceneManager.h>
+#include "core/Clock.h"
+#include "core/ConsoleCommand.h"
+#include "core/Game.h"
+#include "core/input/InputManager.h"
+#include "core/input/SimpleInputState.h"
+#include "gui/GUIManager.h"
+#include "objects/Scene.h"
+#include "GraphicsManager.h"
+
+namespace orxonox
+{
+    AddGameState(GSMainMenu, "mainMenu");
+
+    GSMainMenu::GSMainMenu(const std::string& name)
+        : GameState(name)
+        , inputState_(0)
+    {
+    }
+
+    GSMainMenu::~GSMainMenu()
+    {
+    }
+
+    void GSMainMenu::activate()
+    {
+        inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("mainMenu");
+        inputState_->setHandler(GUIManager::getInstancePtr());
+        inputState_->setJoyStickHandler(&InputManager::EMPTY_HANDLER);
+
+        // create an empty Scene
+        this->scene_ = new Scene(0);
+        // and a Camera
+        this->camera_ = this->scene_->getSceneManager()->createCamera("mainMenu/Camera");
+
+        // show main menu
+        GUIManager::getInstance().showGUI("mainmenu");
+        GUIManager::getInstance().setCamera(this->camera_);
+        GraphicsManager::getInstance().setCamera(this->camera_);
+
+        {
+            FunctorMember<GSMainMenu>* functor = createFunctor(&GSMainMenu::startGame);
+            functor->setObject(this);
+            this->ccStartGame_ = createConsoleCommand(functor, "startGame");
+            CommandExecutor::addConsoleCommandShortcut(this->ccStartGame_);
+        }
+
+        InputManager::getInstance().requestEnterState("mainMenu");
+    }
+
+    void GSMainMenu::deactivate()
+    {
+        InputManager::getInstance().requestLeaveState("mainMenu");
+        InputManager::getInstance().requestDestroyState("mainMenu");
+
+/*
+        if (this->ccStartGame_)
+        {
+            delete this->ccStartGame_;
+            this->ccStartGame_ = 0;
+        }
+*/
+    }
+
+    void GSMainMenu::update(const Clock& time)
+    {
+    }
+
+    void GSMainMenu::startGame()
+    {
+        // HACK - HACK
+        Game::getInstance().popState();
+        Game::getInstance().requestStates("standalone, level");
+    }
+}

Copied: trunk/src/orxonox/gamestates/GSMainMenu.h (from rev 2895, branches/gui/src/orxonox/gamestates/GSMainMenu.h)
===================================================================
--- trunk/src/orxonox/gamestates/GSMainMenu.h	                        (rev 0)
+++ trunk/src/orxonox/gamestates/GSMainMenu.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,60 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _GSMainMenu_H__
+#define _GSMainMenu_H__
+
+#include "OrxonoxPrereqs.h"
+#include <OgrePrerequisites.h>
+#include "core/GameState.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport GSMainMenu : public GameState
+    {
+    public:
+        GSMainMenu(const std::string& name);
+        ~GSMainMenu();
+
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
+
+        void startGame();
+
+    private:
+        SimpleInputState* inputState_;
+        Scene*            scene_;
+        Ogre::Camera*     camera_;
+
+        // console commands
+        ConsoleCommand* ccStartGame_;
+    };
+}
+
+#endif /* _GSMainMenu_H__ */

Modified: trunk/src/orxonox/gamestates/GSRoot.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSRoot.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSRoot.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,45 +31,31 @@
 
 #include "util/Exception.h"
 #include "util/Debug.h"
-#include "core/Core.h"
-#include "core/Factory.h"
-#include "core/ConfigValueIncludes.h"
-#include "core/CoreIncludes.h"
-#include "core/ConsoleCommand.h"
+#include "core/Clock.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/CommandLine.h"
-#include "core/Shell.h"
-#include "core/TclBind.h"
-#include "core/TclThreadManager.h"
-#include "core/LuaBind.h"
+#include "core/ConsoleCommand.h"
+#include "tools/TimeFactorListener.h"
 #include "tools/Timer.h"
 #include "objects/Tickable.h"
 
-#ifdef ORXONOX_PLATFORM_WINDOWS
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  ifndef NOMINMAX
-#    define NOMINMAX // required to stop windows.h screwing up std::min definition
-#  endif
-#  include "windows.h"
-#endif
-
 namespace orxonox
 {
-    SetCommandLineArgument(limitToCPU, 1).information("0: off | #cpu");
+    AddGameState(GSRoot, "root");
+    SetCommandLineSwitch(console);
+    // Shortcuts for easy direct loading
+    SetCommandLineSwitch(server);
+    SetCommandLineSwitch(client);
+    SetCommandLineSwitch(dedicated);
+    SetCommandLineSwitch(standalone);
 
-    GSRoot::GSRoot()
-        : RootGameState("root")
+    GSRoot::GSRoot(const std::string& name)
+        : GameState(name)
         , timeFactor_(1.0f)
         , bPaused_(false)
         , timeFactorPauseBackup_(1.0f)
-        , tclBind_(0)
-        , tclThreadManager_(0)
-        , shell_(0)
     {
-        RegisterRootObject(GSRoot);
-        setConfigValues();
-
         this->ccSetTimeFactor_ = 0;
         this->ccPause_ = 0;
     }
@@ -78,63 +64,12 @@
     {
     }
 
-    void GSRoot::setConfigValues()
+    void GSRoot::activate()
     {
-        SetConfigValue(statisticsRefreshCycle_, 250000)
-            .description("Sets the time in microseconds interval at which average fps, etc. get updated.");
-        SetConfigValue(statisticsAvgLength_, 1000000)
-            .description("Sets the time in microseconds interval at which average fps, etc. gets calculated.");
-    }
-
-    void GSRoot::enter()
-    {
-        // creates the class hierarchy for all classes with factories
-        Factory::createClassHierarchy();
-
         // reset game speed to normal
-        timeFactor_ = 1.0f;
+        this->timeFactor_ = 1.0f;
 
-        // reset frame counter
-        this->statisticsStartTime_ = 0;
-        this->statisticsTickTimes_.clear();
-        this->periodTickTime_ = 0;
-        this->avgFPS_ = 0.0f;
-        this->avgTickTime_ = 0.0f;
-
-        // Create the lua interface
-        this->luaBind_ = new LuaBind();
-
-        // initialise TCL
-        this->tclBind_ = new TclBind(Core::getMediaPathString());
-        this->tclThreadManager_ = new TclThreadManager(tclBind_->getTclInterpreter());
-
-        // create a shell
-        this->shell_ = new Shell();
-
-        // limit the main thread to the first core so that QueryPerformanceCounter doesn't jump
-        // do this after ogre has initialised. Somehow Ogre changes the settings again (not through
-        // the timer though).
-        int limitToCPU = CommandLine::getValue("limitToCPU");
-        if (limitToCPU > 0)
-            setThreadAffinity((unsigned int)(limitToCPU - 1));
-
         {
-            // add console commands
-            FunctorMember<GSRoot>* functor = createFunctor(&GSRoot::exitGame);
-            functor->setObject(this);
-            this->ccExit_ = createConsoleCommand(functor, "exit");
-            CommandExecutor::addConsoleCommandShortcut(this->ccExit_);
-        }
-
-        {
-            // add console commands
-            FunctorMember01<GameStateBase, const std::string&>* functor = createFunctor(&GameStateBase::requestState);
-            functor->setObject(this);
-            this->ccSelectGameState_ = createConsoleCommand(functor, "selectGameState");
-            CommandExecutor::addConsoleCommandShortcut(this->ccSelectGameState_);
-        }
-
-        {
             // time factor console command
             FunctorMember<GSRoot>* functor = createFunctor(&GSRoot::setTimeFactor);
             functor->setObject(this);
@@ -149,20 +84,40 @@
             this->ccPause_ = createConsoleCommand(functor, "pause");
             CommandExecutor::addConsoleCommandShortcut(this->ccPause_).accessLevel(AccessLevel::Offline);
         }
+
+        // Load level directly?
+        bool loadLevel = false;
+        if (CommandLine::getValue("standalone").getBool())
+        {
+            Game::getInstance().requestStates("graphics, standalone, level");
+            loadLevel = true;
+        }
+        if (CommandLine::getValue("server").getBool())
+        {
+            Game::getInstance().requestStates("graphics, server, level");
+            loadLevel = true;
+        }
+        if (CommandLine::getValue("client").getBool())
+        {
+            Game::getInstance().requestStates("graphics, client, level");
+            loadLevel = true;
+        }
+        if (CommandLine::getValue("dedicated").getBool())
+        {
+            Game::getInstance().requestStates("dedicated, level");
+            loadLevel = true;
+        }
+        
+        // Determine where to start otherwise
+        if (!loadLevel && !CommandLine::getValue("console").getBool())
+        {
+            // Also load graphics
+            Game::getInstance().requestState("graphics");
+        }
     }
 
-    void GSRoot::leave()
+    void GSRoot::deactivate()
     {
-        // destroy console commands
-        delete this->ccExit_;
-        delete this->ccSelectGameState_;
-
-        delete this->shell_;
-        delete this->tclThreadManager_;
-        delete this->tclBind_;
-
-        delete this->luaBind_;
-
         if (this->ccSetTimeFactor_)
         {
             delete this->ccSetTimeFactor_;
@@ -176,12 +131,17 @@
         }
     }
 
-    void GSRoot::ticked(const Clock& time)
+    void GSRoot::update(const Clock& time)
     {
+        if (this->getActivity().topState)
+        {
+            // This state can not 'survive' on its own.
+            // Load a user interface therefore
+            Game::getInstance().requestState("ioConsole");
+        }
+
         uint64_t timeBeforeTick = time.getRealMicroseconds();
 
-        TclThreadManager::getInstance().tick(time.getDeltaTime());
-
         for (ObjectList<TimerBase>::iterator it = ObjectList<TimerBase>::begin(); it; ++it)
             it->tick(time);
 
@@ -199,90 +159,17 @@
 
         uint64_t timeAfterTick = time.getRealMicroseconds();
 
-        // STATISTICS
-        assert(timeAfterTick - timeBeforeTick >= 0 );
-        statisticsTickInfo tickInfo = {timeAfterTick, timeAfterTick - timeBeforeTick};
-        statisticsTickTimes_.push_back(tickInfo);
-        assert(statisticsTickTimes_.back().tickLength==tickInfo.tickLength);
-        this->periodTickTime_ += tickInfo.tickLength;
-
-        // Ticks GSGraphics or GSDedicated
-        this->tickChild(time);
-
-        if (timeAfterTick > statisticsStartTime_ + statisticsRefreshCycle_)
-        {
-            std::list<statisticsTickInfo>::iterator it = this->statisticsTickTimes_.begin();
-            assert(it != this->statisticsTickTimes_.end());
-            int64_t lastTime = timeAfterTick - statisticsAvgLength_;
-            if ((int64_t)it->tickTime < lastTime)
-            {
-                do
-                {
-                    assert(this->periodTickTime_ > it->tickLength);
-                    this->periodTickTime_ -= it->tickLength;
-                    ++it;
-                    assert(it != this->statisticsTickTimes_.end());
-                } while ((int64_t)it->tickTime < lastTime);
-                this->statisticsTickTimes_.erase(this->statisticsTickTimes_.begin(), it);
-            }
-
-            uint32_t framesPerPeriod = this->statisticsTickTimes_.size();
-            this->avgFPS_ = (float)framesPerPeriod / (timeAfterTick - this->statisticsTickTimes_.front().tickTime) * 1000000.0;
-            this->avgTickTime_ = (float)this->periodTickTime_ / framesPerPeriod / 1000.0;
-
-            statisticsStartTime_ = timeAfterTick;
-        }
-
+        // Also add our tick time
+        Game::getInstance().addTickTime(timeAfterTick - timeBeforeTick);
     }
 
     /**
-    @note
-        The code of this function has been copied and adjusted from OGRE, an open source graphics engine.
-            (Object-oriented Graphics Rendering Engine)
-        For the latest info, see http://www.ogre3d.org/
-
-        Copyright (c) 2000-2008 Torus Knot Software Ltd
-
-        OGRE is licensed under the LGPL. For more info, see OGRE license.
-    */
-    void GSRoot::setThreadAffinity(unsigned int limitToCPU)
-    {
-#ifdef ORXONOX_PLATFORM_WINDOWS
-        // Get the current process core mask
-        DWORD procMask;
-        DWORD sysMask;
-#  if _MSC_VER >= 1400 && defined (_M_X64)
-        GetProcessAffinityMask(GetCurrentProcess(), (PDWORD_PTR)&procMask, (PDWORD_PTR)&sysMask);
-#  else
-        GetProcessAffinityMask(GetCurrentProcess(), &procMask, &sysMask);
-#  endif
-
-        // If procMask is 0, consider there is only one core available
-        // (using 0 as procMask will cause an infinite loop below)
-        if (procMask == 0)
-            procMask = 1;
-
-        // if the core specified with limitToCPU is not available, take the lowest one
-        if (!(procMask & (1 << limitToCPU)))
-            limitToCPU = 0;
-
-        // Find the lowest core that this process uses and limitToCPU suggests
-        DWORD threadMask = 1;
-        while ((threadMask & procMask) == 0 || (threadMask < (1u << limitToCPU)))
-            threadMask <<= 1;
-
-        // Set affinity to the first core
-        SetThreadAffinityMask(GetCurrentThread(), threadMask);
-#endif
-    }
-
-    /**
     @brief
         Changes the speed of Orxonox
     */
     void GSRoot::setTimeFactor(float factor)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             if (!this->bPaused_)
             {
@@ -300,7 +187,7 @@
 
     void GSRoot::pause()
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             if (!this->bPaused_)
             {
@@ -315,14 +202,4 @@
             }
         }
     }
-
-    ////////////////////////
-    // TimeFactorListener //
-    ////////////////////////
-    float TimeFactorListener::timefactor_s = 1.0f;
-
-    TimeFactorListener::TimeFactorListener()
-    {
-        RegisterRootObject(TimeFactorListener);
-    }
 }

Modified: trunk/src/orxonox/gamestates/GSRoot.h
===================================================================
--- trunk/src/orxonox/gamestates/GSRoot.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSRoot.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,31 +30,20 @@
 #define _GSRoot_H__
 
 #include "OrxonoxPrereqs.h"
-
-#include <list>
-#include <OgreLog.h>
-#include "core/RootGameState.h"
+#include "core/GameState.h"
 #include "core/OrxonoxClass.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSRoot : public RootGameState, public OrxonoxClass
+    class _OrxonoxExport GSRoot : public GameState
     {
-        friend class ClassIdentifier<GSRoot>;
-
     public:
-        struct statisticsTickInfo
-        {
-            uint64_t    tickTime;
-            uint32_t    tickLength;
-        };
-    
-    public:
-        GSRoot();
+        GSRoot(const std::string& name);
         ~GSRoot();
 
-        void exitGame()
-        { requestState("root"); }
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
         // this has to be public because proteced triggers a bug in msvc
         // when taking the function address.
@@ -62,64 +51,15 @@
         void pause();
         float getTimeFactor() { return this->timeFactor_; }
 
-        float getAvgTickTime() { return this->avgTickTime_; }
-        float getAvgFPS()      { return this->avgFPS_; }
-
-        inline void addTickTime(uint32_t length)
-            { assert(!this->statisticsTickTimes_.empty()); this->statisticsTickTimes_.back().tickLength += length;
-              this->periodTickTime_+=length; }
-
     private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
-
-        void setConfigValues();
-        void setThreadAffinity(unsigned int limitToCPU);
-
         float                 timeFactor_;       //!< A factor that sets the gamespeed. 1 is normal.
         bool                  bPaused_;
         float                 timeFactorPauseBackup_;
-        TclBind*              tclBind_;
-        TclThreadManager*     tclThreadManager_;
-        Shell*                shell_;
-        LuaBind*              luaBind_;
 
-        // variables for time statistics
-        uint64_t              statisticsStartTime_;
-        std::list<statisticsTickInfo>
-                              statisticsTickTimes_;
-        uint32_t              periodTickTime_;
-        float                 avgFPS_;
-        float                 avgTickTime_;
-
-        // config values
-        unsigned int          statisticsRefreshCycle_;
-        unsigned int          statisticsAvgLength_;
-
         // console commands
-        ConsoleCommand*       ccExit_;
-        ConsoleCommand*       ccSelectGameState_;
         ConsoleCommand*       ccSetTimeFactor_;
         ConsoleCommand*       ccPause_;
     };
-
-    class _OrxonoxExport TimeFactorListener : virtual public OrxonoxClass
-    {
-        friend class GSRoot;
-
-        public:
-            TimeFactorListener();
-            virtual ~TimeFactorListener() {}
-
-        protected:
-            virtual void changedTimeFactor(float factor_new, float factor_old) {}
-            inline float getTimeFactor() const
-                { return TimeFactorListener::timefactor_s; }
-
-        private:
-            static float timefactor_s;
-    };
 }
 
 #endif /* _GSRoot_H__ */

Modified: trunk/src/orxonox/gamestates/GSServer.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSServer.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSServer.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,15 +30,18 @@
 #include "GSServer.h"
 
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "network/Server.h"
 
 namespace orxonox
 {
+    AddGameState(GSServer, "server");
+
     SetCommandLineArgument(port, 55556).shortcut("p").information("0-65535");
 
-    GSServer::GSServer()
-        : GameState<GSGraphics>("server")
+    GSServer::GSServer(const std::string& name)
+        : GameState(name)
         , server_(0)
     {
     }
@@ -47,32 +50,26 @@
     {
     }
 
-    void GSServer::enter()
+    void GSServer::activate()
     {
-        Core::setHasServer(true);
+        GameMode::setHasServer(true);
 
         this->server_ = new Server(CommandLine::getValue("port"));
         COUT(0) << "Loading scene in server mode" << std::endl;
 
-        GSLevel::enter(this->getParent()->getViewport());
-
         server_->open();
     }
 
-    void GSServer::leave()
+    void GSServer::deactivate()
     {
-        GSLevel::leave();
-
         this->server_->close();
         delete this->server_;
 
-        Core::setHasServer(false);
+        GameMode::setHasServer(false);
     }
 
-    void GSServer::ticked(const Clock& time)
+    void GSServer::update(const Clock& time)
     {
-        GSLevel::ticked(time);
-        server_->tick(time.getDeltaTime());
-        this->tickChild(time);
+        server_->update(time);
     }
 }

Modified: trunk/src/orxonox/gamestates/GSServer.h
===================================================================
--- trunk/src/orxonox/gamestates/GSServer.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSServer.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,24 +30,23 @@
 #define _GSServer_H__
 
 #include "OrxonoxPrereqs.h"
+#include "core/GameState.h"
 #include "network/NetworkPrereqs.h"
-#include "GSLevel.h"
-#include "GSGraphics.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSServer : public GameState<GSGraphics>, public GSLevel
+    class _OrxonoxExport GSServer : public GameState
     {
     public:
-        GSServer();
+        GSServer(const std::string& name);
         ~GSServer();
 
-    private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
-        Server*      server_;
+    private:
+        Server* server_;
     };
 }
 

Modified: trunk/src/orxonox/gamestates/GSStandalone.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSStandalone.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSStandalone.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,18 +31,18 @@
 
 #include <OgreViewport.h>
 #include <OgreCamera.h>
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/ConsoleCommand.h"
 #include "gui/GUIManager.h"
+#include "GraphicsManager.h"
 
 namespace orxonox
 {
-    SetConsoleCommand(GSStandalone, showGUI, true).setAsInputCommand();
+    AddGameState(GSStandalone, "standalone");
 
-    bool GSStandalone::guiShowing_s = false;
-
-    GSStandalone::GSStandalone()
-        : GameState<GSGraphics>("standalone")
+    GSStandalone::GSStandalone(const std::string& name)
+        : GameState(name)
     {
     }
 
@@ -50,44 +50,18 @@
     {
     }
 
-    void GSStandalone::showGUI()
-    {
-        GSStandalone::guiShowing_s = true;
-    }
 
-    void GSStandalone::enter()
+    void GSStandalone::activate()
     {
-        Core::setIsStandalone(true);
-
-        GSLevel::enter(this->getParent()->getViewport());
-
-        guiManager_ = getParent()->getGUIManager();
-        // not sure if necessary
-        // guiManager_->loadScene("IngameMenu");
+        GameMode::setIsStandalone(true);
     }
 
-    void GSStandalone::leave()
+    void GSStandalone::deactivate()
     {
-        GSLevel::leave();
-
-        Core::setIsStandalone(false);
+        GameMode::setIsStandalone(false);
     }
 
-    void GSStandalone::ticked(const Clock& time)
+    void GSStandalone::update(const Clock& time)
     {
-        if (guiShowing_s)
-        {
-            guiManager_->showGUI("IngameMenu", this->getParent()->getViewport()->getCamera()->getSceneManager());
-        }
-        else
-        {
-            if (guiManager_)
-                guiManager_->hideGUI();
-        }
-        // tick CEGUI
-        guiManager_->tick(time.getDeltaTime());
-
-        GSLevel::ticked(time);
-        this->tickChild(time);
     }
 }

Modified: trunk/src/orxonox/gamestates/GSStandalone.h
===================================================================
--- trunk/src/orxonox/gamestates/GSStandalone.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gamestates/GSStandalone.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,25 +30,21 @@
 #define _GSStandalone_H__
 
 #include "OrxonoxPrereqs.h"
-#include "GSLevel.h"
-#include "GSGraphics.h"
+#include "core/GameState.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport GSStandalone : public GameState<GSGraphics>, public GSLevel
+    class _OrxonoxExport GSStandalone : public GameState
     {
     public:
-        GSStandalone();
+        GSStandalone(const std::string& name);
         ~GSStandalone();
-        static void showGUI();
 
-    private:
-        void enter();
-        void leave();
-        void ticked(const Clock& time);
+        void activate();
+        void deactivate();
+        void update(const Clock& time);
 
-        GUIManager*     guiManager_;
-        static bool     guiShowing_s;
+    private:
     };
 }
 

Modified: trunk/src/orxonox/gui/GUIManager.cc
===================================================================
--- trunk/src/orxonox/gui/GUIManager.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gui/GUIManager.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -21,9 +21,10 @@
  *
  *   Author:
  *      Reto Grieder
+ *      Benjamin Knecht
  *   Co-authors:
- *      ...
  *
+ *
  */
 
 /**
@@ -35,9 +36,8 @@
 #include "OrxonoxStableHeaders.h"
 #include "GUIManager.h"
 
-#include <boost/filesystem.hpp>
+#include <boost/filesystem/path.hpp>
 #include <OgreRenderWindow.h>
-#include <OgreRoot.h>
 #include <CEGUI.h>
 #include <CEGUIDefaultLogger.h>
 #include <ogreceguirenderer/OgreCEGUIRenderer.h>
@@ -49,10 +49,9 @@
 #endif
 
 #include "util/Exception.h"
-#include "core/input/InputManager.h"
-#include "core/input/SimpleInputState.h"
 #include "core/ConsoleCommand.h"
 #include "core/Core.h"
+#include "core/Clock.h"
 #include "ToluaBindCore.h"
 #include "ToluaBindOrxonox.h"
 
@@ -62,17 +61,10 @@
 
 namespace orxonox
 {
-    SetConsoleCommandShortcut(GUIManager, showGUI_s).keybindMode(KeybindMode::OnPress);
-
     GUIManager* GUIManager::singletonRef_s = 0;
 
     GUIManager::GUIManager()
-        //: emptySceneManager_(0)
-        : backgroundSceneManager_(0)
-        //, emptyCamera_(0)
-        , backgroundCamera_(0)
-        //, viewport_(0)
-        , renderWindow_(0)
+        : renderWindow_(0)
         , guiRenderer_(0)
         , resourceProvider_(0)
         , scriptModule_(0)
@@ -83,22 +75,14 @@
         singletonRef_s = this;
     }
 
+    /**
+    @brief
+        Deconstructor of the GUIManager
+
+        Basically shuts down CEGUI and destroys the Lua engine and afterwards the interface to the Ogre engine.
+    */
     GUIManager::~GUIManager()
     {
-        if (backgroundCamera_)
-            backgroundSceneManager_->destroyCamera(backgroundCamera_);
-
-        if (backgroundSceneManager_)
-        {
-            // We have to make sure the SceneManager is not anymore referenced.
-            // For the case that the target SceneManager was yet another one, it
-            // wouldn't matter anyway since this is the destructor.
-            guiRenderer_->setTargetSceneManager(0);
-            Ogre::Root::getSingleton().destroySceneManager(backgroundSceneManager_);
-        }
-
-        InputManager::getInstance().requestDestroyState("gui");
-
         if (guiSystem_)
             delete guiSystem_;
 
@@ -109,10 +93,6 @@
 	        lua_setglobal(luaState_, "Orxonox");
 	        lua_pushnil(luaState_);
 	        lua_setglobal(luaState_, "Core");
-            // TODO: deleting the script module fails an assertion.
-            // However there is not much we can do about it since it occurs too when
-            // we don't open Core or Orxonox. Might be a CEGUI issue.
-            // The memory leak is not a problem anyway..
             delete scriptModule_;
         }
 
@@ -122,6 +102,20 @@
         singletonRef_s = 0;
     }
 
+    /**
+    @brief
+        Initialises the GUIManager by starting up CEGUI
+    @param renderWindow
+        Ogre's render window. Without this, the GUI cannot be displayed.
+    @return true if success, otherwise false
+
+        Before this call the GUIManager won't do anything, but can be accessed.
+
+        Creates the interface to Ogre, sets up the CEGUI renderer and the Lua script module together with the Lua engine.
+        The log is set up and connected to the CEGUILogger.
+        After Lua setup tolua++-elements are linked to Lua-state to give Lua access to C++-code.
+        Finally initial Lua code is executed (maybe we can do this with the CEGUI startup script automatically).
+    */
     bool GUIManager::initialise(Ogre::RenderWindow* renderWindow)
     {
         using namespace CEGUI;
@@ -134,15 +128,8 @@
                 // save the render window
                 renderWindow_ = renderWindow;
 
-                // Full screen viewport with Z order = 0 (top most). Don't yet feed a camera (so nothing gets rendered)
-                //this->viewport_ = renderWindow_->addViewport(0, 3);
-                //this->viewport_->setOverlaysEnabled(false);
-                //this->viewport_->setShadowsEnabled(false);
-                //this->viewport_->setSkiesEnabled(false);
-                //this->viewport_->setClearEveryFrame(false);
-
                 // Note: No SceneManager specified yet
-                this->guiRenderer_ = new OgreCEGUIRenderer(renderWindow_, Ogre::RENDER_QUEUE_MAIN, true, 3000);
+                this->guiRenderer_ = new OgreCEGUIRenderer(renderWindow_, Ogre::RENDER_QUEUE_OVERLAY, true, 3000);
                 this->resourceProvider_ = guiRenderer_->createResourceProvider();
                 this->resourceProvider_->setDefaultResourceGroup("GUI");
 
@@ -165,15 +152,8 @@
                 tolua_Core_open(this->scriptModule_->getLuaState());
                 tolua_Orxonox_open(this->scriptModule_->getLuaState());
 
-                // register us as input handler
-                SimpleInputState* state = InputManager::getInstance().createInputState<SimpleInputState>("gui", 30);
-                state->setHandler(this);
-                state->setJoyStickHandler(&InputManager::EMPTY_HANDLER);
-
-                // load the background scene
-                //loadScenes();
-                //CEGUI::KeyEventArgs e;
-                //e.codepoint
+                // initialise the basic lua code
+                loadLuaCode();
             }
             catch (CEGUI::Exception& ex)
             {
@@ -191,111 +171,106 @@
         return true;
     }
 
-    void GUIManager::loadScene(const std::string& name)
+    /**
+    @brief
+        Calls main Lua script
+    @todo
+        Replace loadGUI.lua with loadGUI_2.lua after merging this back to trunk.
+        However CEGUI is able to execute a startup script. We could maybe put this call in this startup code.
+
+        This function calls the main Lua script for our GUI.
+
+        Additionally we set the datapath variable in Lua. This is needed so Lua can access the data used for the GUI.
+    */
+    void GUIManager::loadLuaCode()
     {
-        if (name.compare("IngameMenu") == 0)
+        try
         {
-            try
-            {
-                /*this->scriptModule_ = new LuaScriptModule();
-                this->luaState_ = this->scriptModule_->getLuaState();
-                this->guiSystem_ = new System(this->guiRenderer_, this->resourceProvider_, 0, this->scriptModule_);
-                tolua_Core_open(this->scriptModule_->getLuaState());
-                tolua_Orxonox_open(this->scriptModule_->getLuaState());
-                */
-                this->scriptModule_->executeScriptFile("ingameGUI.lua", "GUI");
-            }
-            catch (CEGUI::Exception& ex)
-            {
+            // call main Lua script
+            this->scriptModule_->executeScriptFile("loadGUI_2.lua", "GUI");
+            // set datapath for GUI data
+            lua_pushfstring(this->scriptModule_->getLuaState(), Core::getMediaPathString().c_str());
+            lua_setglobal(this->scriptModule_->getLuaState(), "datapath");
+        }
+        catch (CEGUI::Exception& ex)
+        {
 #if CEGUI_VERSION_MINOR < 6
-                throw GeneralException(ex.getMessage().c_str());
+            throw GeneralException(ex.getMessage().c_str());
 #else
-                throw GeneralException(ex.getMessage().c_str(), ex.getLine(),
-                                       ex.getFileName().c_str(), ex.getName().c_str());
+            throw GeneralException(ex.getMessage().c_str(), ex.getLine(),
+                ex.getFileName().c_str(), ex.getName().c_str());
 #endif
-            }
         }
-        else
-        {
-            loadScenes();
-        }
     }
 
-    void GUIManager::loadScenes()
+    /**
+    @brief
+        used to tick the GUI
+    @param time
+        clock which provides time value for the GUI System
+
+        Ticking the GUI means updating it with a certain regularity.
+        The elapsed time since the last call is given in the time value provided by the clock.
+        This time value is then used to provide a fluent animation of the GUI.
+    */
+    void GUIManager::update(const Clock& time)
     {
-        // first of all, we need to have our own SceneManager for the GUI. The reason
-        // is that we might have multiple viewports when in play mode (e.g. the view of
-        // a camera fixed at the back of the ship). That forces us to create our own
-        // full screen viewport that is on top of all the others, but doesn't clear the
-        // port before rendering, so everything from the GUI gets on top eventually.
-        // But in order to realise that, we also need a SceneManager with an empty scene,
-        // because the SceneManager is responsible for the render queue.
-        //this->emptySceneManager_ = Ogre::Root::getSingleton()
-        //    .createSceneManager(Ogre::ST_GENERIC, "GUI/EmptySceneManager");
+        assert(guiSystem_);
+        guiSystem_->injectTimePulse(time.getDeltaTime());
+    }
 
-        // we also need a camera or we won't see anything at all.
-        // The camera settings don't matter at all for an empty scene since the GUI
-        // gets rendered on top of the screen rather than into the scene.
-        //this->emptyCamera_ = this->emptySceneManager_->createCamera("GUI/EmptyCamera");
+    /**
+    @brief
+        Executes Lua code
+    @param str
+        reference to string object holding the Lua code which is to be executed
 
-        // Create another SceneManager that enables to display some 3D
-        // scene in the background of the main menu.
-        this->backgroundSceneManager_ = Ogre::Root::getSingleton()
-            .createSceneManager(Ogre::ST_GENERIC, "GUI/BackgroundSceneManager");
-        this->backgroundCamera_ = backgroundSceneManager_->createCamera("GUI/BackgroundCamera");
-
-        // TODO: create something 3D
+        This function gives total access to the GUI. You can execute ANY Lua code here.
+    */
+    void GUIManager::executeCode(const std::string& str)
+    {
         try
         {
-            this->scriptModule_->executeScriptFile("loadGUI.lua", "GUI");
+            this->scriptModule_->executeString(str);
         }
         catch (CEGUI::Exception& ex)
         {
-#if CEGUI_VERSION_MINOR < 6
-            throw GeneralException(ex.getMessage().c_str());
-#else
-            throw GeneralException(ex.getMessage().c_str(), ex.getLine(),
-                ex.getFileName().c_str(), ex.getName().c_str());
-#endif
+            COUT(2) << "CEGUI Error: \"" << ex.getMessage() << "\" while executing code \"" << str << "\"" << std::endl;
         }
     }
 
-    void GUIManager::showGUI(const std::string& name, Ogre::SceneManager* sceneManager)// bool showBackground)
+    /**
+    @brief
+        Tells the GUIManager which SceneManager to use
+    @param camera
+        The current camera on which the GUI should be displayed on.
+
+        In fact the GUIManager needs the SceneManager and not the Camera to display the GUI.
+        This means the GUI is not bound to a camera but rather to the SceneManager.
+        Hidding the GUI when needed can therefore not be solved by just NOT setting the current camera.
+    */
+    void GUIManager::setCamera(Ogre::Camera* camera)
     {
+        this->guiRenderer_->setTargetSceneManager(camera->getSceneManager());
+    }
+
+    /**
+    @brief
+        Displays specified GUI on screen
+    @param name
+        The name of the GUI
+
+        The function executes the Lua function with the same name in case the GUIManager is ready.
+        For more details check out loadGUI_2.lua where the function presides.
+    */
+    void GUIManager::showGUI(const std::string& name)
+    {
         if (state_ != Uninitialised)
         {
-            if (state_ == OnDisplay)
-                hideGUI();
-
-            COUT(3) << "Loading GUI " << name << std::endl;
+            //COUT(3) << "Loading GUI " << name << std::endl;
             try
             {
-                COUT (0) << "************* sceneManager: " << sceneManager << std::endl;
-                if (!sceneManager)
-                {
-                    // currently, only an image is loaded. We could do 3D, see loadBackground.
-                    //this->viewport_->setClearEveryFrame(true);
-                    this->guiRenderer_->setTargetSceneManager(this->backgroundSceneManager_);
-                    //this->viewport_->setCamera(this->backgroundCamera_);
-
-                    lua_pushboolean(this->scriptModule_->getLuaState(), true);
-                    lua_setglobal(this->scriptModule_->getLuaState(), "showBackground");
-                }
-                else
-                {
-                    //this->viewport_->setClearEveryFrame(false);
-                    this->guiRenderer_->setTargetSceneManager(sceneManager);
-                    //this->viewport_->setCamera(this->emptyCamera_);
-
-                    lua_pushboolean(this->scriptModule_->getLuaState(), false);
-                    lua_setglobal(this->scriptModule_->getLuaState(), "showBackground");
-                }
-
-                this->scriptModule_->executeScriptGlobal("showMainMenu");
-
-                InputManager::getInstance().requestEnterState("gui");
-
-                this->state_ = OnDisplay;
+                this->scriptModule_->executeString(std::string("showGUI(\"") + name + "\")");
             }
             catch (CEGUI::Exception& ex)
             {
@@ -312,17 +287,15 @@
         }
     }
 
-    void GUIManager::hideGUI()
-    {
-        if (this->state_ != OnDisplay)
-            return;
-        //this->viewport_->setCamera(0);
-        // has no effect since you cannot assign 0 as SceneManager
-        //this->guiRenderer_->setTargetSceneManager(0);
-        this->state_ = Ready;
-        InputManager::getInstance().requestLeaveState("gui");
-    }
+    /**
+    @brief
+        Function receiving a mouse button pressed event.
+    @param id
+        ID of the mouse button which got pressed
 
+        This function is inherited by MouseHandler and injects the event into CEGUI.
+        It is for CEGUI to process the event.
+    */
     void GUIManager::mouseButtonPressed(MouseButtonCode::ByEnum id)
     {
         try
@@ -336,6 +309,15 @@
         }
     }
 
+    /**
+    @brief
+        Function receiving a mouse button released event.
+    @param id
+        ID of the mouse button which got released
+
+        This function is inherited by MouseHandler and injects the event into CEGUI.
+        It is for CEGUI to process the event.
+    */
     void GUIManager::mouseButtonReleased(MouseButtonCode::ByEnum id)
     {
         try
@@ -349,7 +331,16 @@
         }
     }
 
+    /**
+    @brief
+        converts mouse event code to CEGUI event code
+    @param button
+        code of the mouse button as we use it in Orxonox
+    @return
+        code of the mouse button as it is used by CEGUI
 
+        Simple convertion from mouse event code in Orxonox to the one used in CEGUI.
+     */
     inline CEGUI::MouseButton GUIManager::convertButton(MouseButtonCode::ByEnum button)
     {
         switch (button)

Modified: trunk/src/orxonox/gui/GUIManager.h
===================================================================
--- trunk/src/orxonox/gui/GUIManager.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/gui/GUIManager.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -22,7 +22,7 @@
  *   Author:
  *      Reto Grieder
  *   Co-authors:
- *      ...
+ *      Benjamin Knecht
  *
  */
 
@@ -48,8 +48,15 @@
 namespace orxonox
 {
     /**
+    @class GUIManager
     @brief
-        Provides a simple interface to CEGUI with tolua methods and console commands
+        Provides a simple interface to CEGUI with tolua methods and console commands. It also acts as a key and mouse handler.
+
+        The GUIManager is a singleton and can be called anywhere when access on the GUI is needed.
+        Creation of the GUIManager is therefore not possible and the cunstructor is private.
+
+        Since the GUI needs user input, the GUIManager implements the functions needed to act as a key and/or mouse handler.
+        Those input events are then injected into CEGUI in Lua.
     */
     class _OrxonoxExport GUIManager
 // tolua_end
@@ -58,80 +65,70 @@
     {
 // tolua_end
     public:
+        /**
+        @enum State
+            The current state of the GUIManager. There should maybe be more (or we can omit this totally).
+        */
         enum State
         {
-            Uninitialised,
-            Ready,
-            OnDisplay
+            Uninitialised,  //!< Initial state of the GUIManager
+            Ready,          //!< State after initialisation if ready
+            OnDisplay       //!< State if GUI is displayed
         };
 
         GUIManager();
         ~GUIManager();
 
         bool initialise(Ogre::RenderWindow* renderWindow);
-        void loadScene(const std::string& name);
-        void tick(float dt)
-        {
-            assert(guiSystem_);
-            guiSystem_->injectTimePulse(dt);
-        }
-        void showGUI(const std::string& name, Ogre::SceneManager* sceneManager);// bool showBackground); // tolua_export
-        void hideGUI(); // tolua_export
 
-        Ogre::Camera* getCamera() { return this->backgroundCamera_; }
+        void update(const Clock& time);
 
-        static void showGUI_s(const std::string& name, Ogre::SceneManager* sceneManager)//bool showBackground)
-        {
-            getInstance().showGUI(name, sceneManager);
-        }
+        void showGUI(const std::string& name);
+        void executeCode(const std::string& str);
 
+        void setCamera(Ogre::Camera* camera);
+
         static GUIManager& getInstance()    { assert(singletonRef_s); return *singletonRef_s; } // tolua_export
         static GUIManager* getInstancePtr() { return singletonRef_s; }
 
     private:
-        GUIManager(const GUIManager& instance);
+        GUIManager(const GUIManager& instance);                 //!< private constructor (this is a singleton class)
 
+        void loadLuaCode();
+
+        // keyHandler functions
         void keyPressed (const KeyEvent& evt)
-        { guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text); }
+            { guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text); }
         void keyReleased(const KeyEvent& evt)
-        { guiSystem_->injectKeyUp(evt.key); }
-        void keyHeld    (const KeyEvent& evt)
-        { }
+            { guiSystem_->injectKeyUp(evt.key); }
+        void keyHeld    (const KeyEvent& evt) { }
 
+        // mouseHandler functions
         void mouseButtonPressed (MouseButtonCode::ByEnum id);
         void mouseButtonReleased(MouseButtonCode::ByEnum id);
-        void mouseButtonHeld    (MouseButtonCode::ByEnum id)
-        { }
+        void mouseButtonHeld    (MouseButtonCode::ByEnum id) { }
         void mouseMoved         (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
-        { guiSystem_->injectMouseMove(rel.x, rel.y); }
+            { guiSystem_->injectMouseMove(rel.x, rel.y); }
         void mouseScrolled      (int abs, int rel)
-        { guiSystem_->injectMouseWheelChange(rel);}
+            { guiSystem_->injectMouseWheelChange(rel);}
 
-        void tickInput(float dt) { }
-        void tickKey(float dt) { }
-        void tickMouse(float dt) { }
+        void updateInput(float dt)  { }
+        void updateKey  (float dt)  { }
+        void updateMouse(float dt)  { }
 
-        void loadScenes();
+        static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button);
 
-        //Ogre::SceneManager*       emptySceneManager_;
-        Ogre::SceneManager*       backgroundSceneManager_;
-        //Ogre::Camera*             emptyCamera_;
-        Ogre::Camera*             backgroundCamera_;
-        //Ogre::Viewport*           viewport_;
-        Ogre::RenderWindow*       renderWindow_;
-        CEGUI::OgreCEGUIRenderer* guiRenderer_;
-        CEGUI::ResourceProvider*  resourceProvider_;
-        CEGUI::LuaScriptModule*   scriptModule_;
-        CEGUI::DefaultLogger*     ceguiLogger_;
-        CEGUI::System*            guiSystem_;
-        CEGUI::Imageset*          backgroundImage_;
-        lua_State*                luaState_;
+        Ogre::RenderWindow*         renderWindow_;      //!< Ogre's render window to give CEGUI access to it
+        CEGUI::OgreCEGUIRenderer*   guiRenderer_;       //!< CEGUI's interface to the Ogre Engine
+        CEGUI::ResourceProvider*    resourceProvider_;  //!< CEGUI's resource provider
+        CEGUI::LuaScriptModule*     scriptModule_;      //!< CEGUI's script module to use Lua
+        CEGUI::DefaultLogger*       ceguiLogger_;       //!< CEGUI's logger to be able to log CEGUI errors in our log
+        CEGUI::System*              guiSystem_;         //!< CEGUI's main system
+        lua_State*                  luaState_;          //!< Lua state, access point to the Lua engine
 
-        State state_;
+        State                       state_;             //!< reflects state of the GUIManager
 
-        static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button);
-
-        static GUIManager*        singletonRef_s;
+        static GUIManager*          singletonRef_s;     //!< Singleton reference to GUIManager
     }; // tolua_export
 } // tolua_export
 

Modified: trunk/src/orxonox/objects/EventTarget.cc
===================================================================
--- trunk/src/orxonox/objects/EventTarget.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/EventTarget.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -65,7 +65,7 @@
 
     void EventTarget::addAsEvent(BaseObject* object)
     {
-        if (object != (BaseObject*)this)
+        if (object != static_cast<BaseObject*>(this))
             object->addEvent(this, "");
     }
 }


Property changes on: trunk/src/orxonox/objects/Level.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/Level.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/Level.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/Level.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/Level.cc:2755-2825
/branches/network/src/orxonox/objects/Level.cc:2357
/branches/network64/src/orxonox/objects/Level.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/Level.cc:2172-2480
/branches/physics_merge/src/orxonox/objects/Level.cc:2437-2458
/branches/presentation/src/orxonox/objects/Level.cc:2370-2653,2655-2661
/branches/weaponsystem/src/orxonox/objects/Level.cc:2743-2891
/trunk/src/orxonox/objects/Level.cc:2-2170
   + /branches/buildsystem2/src/orxonox/objects/Level.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/Level.cc:2663-2709
/branches/gui/src/orxonox/objects/Level.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/Level.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/Level.cc:2755-2825
/branches/network/src/orxonox/objects/Level.cc:2357
/branches/network64/src/orxonox/objects/Level.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/Level.cc:2172-2480
/branches/physics_merge/src/orxonox/objects/Level.cc:2437-2458
/branches/presentation/src/orxonox/objects/Level.cc:2370-2653,2655-2661
/branches/weaponsystem/src/orxonox/objects/Level.cc:2743-2891
/trunk/src/orxonox/objects/Level.cc:2-2170


Property changes on: trunk/src/orxonox/objects/Level.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/Level.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/Level.h:2663-2709
/branches/lodfinal/src/orxonox/objects/Level.h:2373-2412
/branches/miniprojects/src/orxonox/objects/Level.h:2755-2825
/branches/network/src/orxonox/objects/Level.h:2357
/branches/network64/src/orxonox/objects/Level.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/Level.h:2172-2480
/branches/physics_merge/src/orxonox/objects/Level.h:2437-2458
/branches/presentation/src/orxonox/objects/Level.h:2370-2653,2655-2661
/branches/weaponsystem/src/orxonox/objects/Level.h:2743-2891
/trunk/src/orxonox/objects/Level.h:2-2170
   + /branches/buildsystem2/src/orxonox/objects/Level.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/Level.h:2663-2709
/branches/gui/src/orxonox/objects/Level.h:2796-2895
/branches/lodfinal/src/orxonox/objects/Level.h:2373-2412
/branches/miniprojects/src/orxonox/objects/Level.h:2755-2825
/branches/network/src/orxonox/objects/Level.h:2357
/branches/network64/src/orxonox/objects/Level.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/Level.h:2172-2480
/branches/physics_merge/src/orxonox/objects/Level.h:2437-2458
/branches/presentation/src/orxonox/objects/Level.h:2370-2653,2655-2661
/branches/weaponsystem/src/orxonox/objects/Level.h:2743-2891
/trunk/src/orxonox/objects/Level.h:2-2170

Modified: trunk/src/orxonox/objects/Radar.cc
===================================================================
--- trunk/src/orxonox/objects/Radar.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/Radar.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -143,7 +143,7 @@
 
             for (ObjectList<RadarViewable>::iterator it = ObjectList<RadarViewable>::begin(); it; ++it)
             {
-                if (*it == (RadarViewable*)this->owner_)
+                if (*it == static_cast<RadarViewable*>(this)->owner_)
                     continue;
 
                 float targetDistance = localPosition.squaredDistance((*it)->getRVWorldPosition());

Modified: trunk/src/orxonox/objects/Scene.cc
===================================================================
--- trunk/src/orxonox/objects/Scene.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/Scene.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -40,7 +40,7 @@
 #include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h"
 
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/XMLPort.h"
 #include "tools/BulletConversions.h"
 #include "objects/worldentities/WorldEntity.h"
@@ -56,7 +56,7 @@
         this->setScene(this);
         this->bShadows_ = true;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (Ogre::Root::getSingletonPtr())
             {
@@ -98,7 +98,7 @@
             {
                 Ogre::Root::getSingleton().destroySceneManager(this->sceneManager_);
             }
-            else if (!Core::showsGraphics())
+            else if (!GameMode::showsGraphics())
             {
                 delete this->sceneManager_;
             }
@@ -226,7 +226,7 @@
 
     void Scene::tick(float dt)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
         {
             // We need to update the scene nodes if we don't render
             this->rootSceneNode_->_update(true, false);
@@ -255,7 +255,7 @@
 
     void Scene::setSkybox(const std::string& skybox)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
             this->sceneManager_->setSkyBox(true, skybox);
 
         this->skybox_ = skybox;
@@ -263,7 +263,7 @@
 
     void Scene::setAmbientLight(const ColourValue& colour)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
             this->sceneManager_->setAmbientLight(colour);
 
         this->ambientLight_ = colour;
@@ -271,7 +271,7 @@
 
     void Scene::setShadow(bool bShadow)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
         {
             if (bShadow)
                 this->sceneManager_->setShadowTechnique(Ogre::SHADOWTYPE_STENCIL_ADDITIVE);


Property changes on: trunk/src/orxonox/objects/collisionshapes
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/orxonox/objects/collisionshapes:2663-2709
/branches/ceguilua/src/orxonox/objects/collisionshapes:1803-1809
/branches/ceguilua/src/orxonox/objects/worldentities/collisionshapes:1803-1809
/branches/core3/src/orxonox/objects/collisionshapes:1573-1740
/branches/core3/src/orxonox/objects/worldentities/collisionshapes:1573-1740
/branches/gcc43/src/orxonox/objects/collisionshapes:1581
/branches/gcc43/src/orxonox/objects/worldentities/collisionshapes:1581
/branches/gui/src/orxonox/objects/collisionshapes:1636-1724
/branches/gui/src/orxonox/objects/worldentities/collisionshapes:1636-1724
/branches/input/src/orxonox/objects/collisionshapes:1630-1637
/branches/input/src/orxonox/objects/worldentities/collisionshapes:1630-1637
/branches/lodfinal/src/orxonox/objects/collisionshapes:2373-2412
/branches/miniprojects/src/orxonox/objects/collisionshapes:2755-2825
/branches/network/src/orxonox/objects/collisionshapes:2357
/branches/network64/src/orxonox/objects/collisionshapes:2211-2356
/branches/objecthierarchy/src/orxonox/objects/collisionshapes:1912-2086,2101,2111-2170
/branches/objecthierarchy/src/orxonox/objects/worldentities/collisionshapes:1912-2086,2101
/branches/objecthierarchy2/src/orxonox/objects/collisionshapes:2172-2480
/branches/overlay/src/orxonox/objects/collisionshapes:2118-2386
/branches/physics/src/orxonox/objects/collisionshapes:1913-2056,2108-2440
/branches/physics/src/orxonox/objects/worldentities/collisionshapes:1913-2056
/branches/physics_merge/src/orxonox/objects/collisionshapes:2437-2458
/branches/pickups/src/orxonox/objects/collisionshapes:1927-2087,2128
/branches/pickups/src/orxonox/objects/worldentities/collisionshapes:1927-2087
/branches/pickups2/src/orxonox/objects/collisionshapes:2108-2498
/branches/presentation/src/orxonox/objects/collisionshapes:2370-2653,2655-2661
/branches/questsystem/src/orxonox/objects/collisionshapes:1895-2089
/branches/questsystem/src/orxonox/objects/worldentities/collisionshapes:1895-2089
/branches/questsystem2/src/orxonox/objects/collisionshapes:2108-2260
/branches/script_trigger/src/orxonox/objects/collisionshapes:1296-1954,1956
/branches/script_trigger/src/orxonox/objects/worldentities/collisionshapes:1296-1954,1956
/branches/weapon/src/orxonox/objects/collisionshapes:1926-2095
/branches/weapon/src/orxonox/objects/worldentities/collisionshapes:1926-2095
/branches/weapon2/src/orxonox/objects/collisionshapes:2108-2489
/branches/weaponsystem/src/orxonox/objects/collisionshapes:2743-2891
   + /branches/buildsystem3/src/orxonox/objects/collisionshapes:2663-2709
/branches/ceguilua/src/orxonox/objects/collisionshapes:1803-1809
/branches/ceguilua/src/orxonox/objects/worldentities/collisionshapes:1803-1809
/branches/core3/src/orxonox/objects/collisionshapes:1573-1740
/branches/core3/src/orxonox/objects/worldentities/collisionshapes:1573-1740
/branches/gcc43/src/orxonox/objects/collisionshapes:1581
/branches/gcc43/src/orxonox/objects/worldentities/collisionshapes:1581
/branches/gui/src/orxonox/objects/collisionshapes:1636-1724,2796-2895
/branches/gui/src/orxonox/objects/worldentities/collisionshapes:1636-1724
/branches/input/src/orxonox/objects/collisionshapes:1630-1637
/branches/input/src/orxonox/objects/worldentities/collisionshapes:1630-1637
/branches/lodfinal/src/orxonox/objects/collisionshapes:2373-2412
/branches/miniprojects/src/orxonox/objects/collisionshapes:2755-2825
/branches/network/src/orxonox/objects/collisionshapes:2357
/branches/network64/src/orxonox/objects/collisionshapes:2211-2356
/branches/objecthierarchy/src/orxonox/objects/collisionshapes:1912-2086,2101,2111-2170
/branches/objecthierarchy/src/orxonox/objects/worldentities/collisionshapes:1912-2086,2101
/branches/objecthierarchy2/src/orxonox/objects/collisionshapes:2172-2480
/branches/overlay/src/orxonox/objects/collisionshapes:2118-2386
/branches/physics/src/orxonox/objects/collisionshapes:1913-2056,2108-2440
/branches/physics/src/orxonox/objects/worldentities/collisionshapes:1913-2056
/branches/physics_merge/src/orxonox/objects/collisionshapes:2437-2458
/branches/pickups/src/orxonox/objects/collisionshapes:1927-2087,2128
/branches/pickups/src/orxonox/objects/worldentities/collisionshapes:1927-2087
/branches/pickups2/src/orxonox/objects/collisionshapes:2108-2498
/branches/presentation/src/orxonox/objects/collisionshapes:2370-2653,2655-2661
/branches/questsystem/src/orxonox/objects/collisionshapes:1895-2089
/branches/questsystem/src/orxonox/objects/worldentities/collisionshapes:1895-2089
/branches/questsystem2/src/orxonox/objects/collisionshapes:2108-2260
/branches/script_trigger/src/orxonox/objects/collisionshapes:1296-1954,1956
/branches/script_trigger/src/orxonox/objects/worldentities/collisionshapes:1296-1954,1956
/branches/weapon/src/orxonox/objects/collisionshapes:1926-2095
/branches/weapon/src/orxonox/objects/worldentities/collisionshapes:1926-2095
/branches/weapon2/src/orxonox/objects/collisionshapes:2108-2489
/branches/weaponsystem/src/orxonox/objects/collisionshapes:2743-2891

Modified: trunk/src/orxonox/objects/controllers/AIController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/AIController.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/controllers/AIController.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "AIController.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
 #include "objects/worldentities/ControllableEntity.h"
@@ -44,7 +44,7 @@
     {
         RegisterObject(AIController);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->actionTimer_.setTimer(ACTION_INTERVAL, true, this, createExecutor(createFunctor(&AIController::action)));
     }
 

Modified: trunk/src/orxonox/objects/gametypes/Gametype.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/Gametype.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/gametypes/Gametype.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -35,7 +35,7 @@
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "core/Template.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "overlays/OverlayGroup.h"
 #include "objects/infos/PlayerInfo.h"
 #include "objects/infos/Bot.h"
@@ -64,7 +64,7 @@
         this->setConfigValues();
 
         // load the corresponding score board
-        if (Core::showsGraphics() && this->scoreboardTemplate_ != "")
+        if (GameMode::showsGraphics() && this->scoreboardTemplate_ != "")
         {
             this->scoreboard_ = new OverlayGroup(this);
             this->scoreboard_->addTemplate(this->scoreboardTemplate_);

Modified: trunk/src/orxonox/objects/infos/Bot.cc
===================================================================
--- trunk/src/orxonox/objects/infos/Bot.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/infos/Bot.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "Bot.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "objects/gametypes/Gametype.h"
@@ -45,7 +45,7 @@
         RegisterObject(Bot);
 
         this->bHumanPlayer_ = false;
-        this->bLocalPlayer_ = Core::isMaster();
+        this->bLocalPlayer_ = GameMode::isMaster();
         this->bSetUnreadyAfterSpawn_ = false;
         this->setReadyToSpawn(true);
         this->defaultController_ = Class(AIController);

Modified: trunk/src/orxonox/objects/infos/HumanPlayer.cc
===================================================================
--- trunk/src/orxonox/objects/infos/HumanPlayer.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/infos/HumanPlayer.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "HumanPlayer.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "network/ClientInformation.h"
@@ -46,7 +46,7 @@
     {
         RegisterObject(HumanPlayer);
 
-        this->server_initialized_ = Core::isMaster();
+        this->server_initialized_ = GameMode::isMaster();
         this->client_initialized_ = false;
 
         this->bHumanPlayer_ = true;
@@ -92,7 +92,7 @@
         {
             this->synchronize_nick_ = this->nick_;
 
-            if (Core::isMaster())
+            if (GameMode::isMaster())
                 this->setName(this->nick_);
         }
     }
@@ -115,7 +115,7 @@
             this->synchronize_nick_ = this->nick_;
             this->client_initialized_ = true;
 
-            if (!Core::isMaster())
+            if (!GameMode::isMaster())
                 this->setObjectMode(objectDirection::bidirectional);
             else
                 this->setName(this->nick_);

Modified: trunk/src/orxonox/objects/items/MultiStateEngine.cc
===================================================================
--- trunk/src/orxonox/objects/items/MultiStateEngine.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/items/MultiStateEngine.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "MultiStateEngine.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "objects/worldentities/pawns/SpaceShip.h"
@@ -122,7 +122,7 @@
                     this->state_ &= ~STATE_BRAKE;
             }
 
-            if (Core::isMaster())
+            if (GameMode::isMaster())
             {
                 for (std::list<WorldEntity*>::const_iterator it = this->activeEffects_.begin(); it != this->activeEffects_.end(); ++it)
                     (*it)->setMainState(this->state_ & STATE_ACTIVE);

Modified: trunk/src/orxonox/objects/pickup/PickupSpawner.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupSpawner.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/pickup/PickupSpawner.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -88,7 +88,7 @@
 	{
 		ExecutorMember<BaseObject>* executor = createExecutor(createFunctor(&BaseObject::setActive));
 		executor->setDefaultValues(true);
-		RespawnTimer_.setTimer(this->respawntimer_, false, (BaseObject*)this, executor);
+		RespawnTimer_.setTimer(this->respawntimer_, false, this, executor);
 		COUT(0) << "TIMER SET" << std::endl;
 	}
 }


Property changes on: trunk/src/orxonox/objects/pickup/Usable.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/pickup/Usable.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/pickup/Usable.h:2663-2709
/branches/ceguilua/src/orxonox/objects/pickup/Usable:1803-1809
/branches/core3/src/orxonox/objects/pickup/Usable:1573-1740
/branches/gcc43/src/orxonox/objects/pickup/Usable:1581
/branches/gui/src/orxonox/objects/pickup/Usable:1636-1724
/branches/input/src/orxonox/objects/pickup/Usable:1630-1637
/branches/lodfinal/src/orxonox/objects/pickup/Usable.h:2373-2412
/branches/miniprojects/src/orxonox/objects/pickup/Usable.h:2755-2825
/branches/network/src/orxonox/objects/pickup/Usable.h:2357
/branches/network64/src/orxonox/objects/pickup/Usable.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/pickup/Usable.h:2172-2480
/branches/overlay/src/orxonox/objects/pickup/Usable.h:2118-2386
/branches/physics/src/orxonox/objects/pickup/Usable.h:2108-2440
/branches/physics_merge/src/orxonox/objects/pickup/Usable.h:2437-2458
/branches/pickups/src/orxonox/objects/pickup/Usable.h:2128
/branches/pickups2/src/orxonox/objects/pickup/Usable.h:2108-2498
/branches/presentation/src/orxonox/objects/pickup/Usable.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/pickup/Usable.h:2108-2260
/branches/weapon2/src/orxonox/objects/pickup/Usable.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/pickup/Usable.h:2743-2891
   + /branches/buildsystem2/src/orxonox/objects/pickup/Usable.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/pickup/Usable.h:2663-2709
/branches/ceguilua/src/orxonox/objects/pickup/Usable:1803-1809
/branches/core3/src/orxonox/objects/pickup/Usable:1573-1740
/branches/gcc43/src/orxonox/objects/pickup/Usable:1581
/branches/gui/src/orxonox/objects/pickup/Usable:1636-1724
/branches/gui/src/orxonox/objects/pickup/Usable.h:2796-2895
/branches/input/src/orxonox/objects/pickup/Usable:1630-1637
/branches/lodfinal/src/orxonox/objects/pickup/Usable.h:2373-2412
/branches/miniprojects/src/orxonox/objects/pickup/Usable.h:2755-2825
/branches/network/src/orxonox/objects/pickup/Usable.h:2357
/branches/network64/src/orxonox/objects/pickup/Usable.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/pickup/Usable.h:2172-2480
/branches/overlay/src/orxonox/objects/pickup/Usable.h:2118-2386
/branches/physics/src/orxonox/objects/pickup/Usable.h:2108-2440
/branches/physics_merge/src/orxonox/objects/pickup/Usable.h:2437-2458
/branches/pickups/src/orxonox/objects/pickup/Usable.h:2128
/branches/pickups2/src/orxonox/objects/pickup/Usable.h:2108-2498
/branches/presentation/src/orxonox/objects/pickup/Usable.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/pickup/Usable.h:2108-2260
/branches/weapon2/src/orxonox/objects/pickup/Usable.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/pickup/Usable.h:2743-2891


Property changes on: trunk/src/orxonox/objects/quest/AddQuest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/AddQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddQuest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/AddQuest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/AddQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddQuest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/AddQuest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuest.h:2357
/branches/network64/src/orxonox/objects/quest/AddQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/AddQuest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/AddQuest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuest.h:2357
/branches/network64/src/orxonox/objects/quest/AddQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/AddQuest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/AddQuestHint.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddQuestHint.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuestHint.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddQuestHint.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuestHint.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuestHint.cc:2357
/branches/network64/src/orxonox/objects/quest/AddQuestHint.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuestHint.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuestHint.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuestHint.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuestHint.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuestHint.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuestHint.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddQuestHint.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddQuestHint.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuestHint.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/AddQuestHint.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddQuestHint.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuestHint.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuestHint.cc:2357
/branches/network64/src/orxonox/objects/quest/AddQuestHint.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuestHint.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuestHint.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuestHint.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuestHint.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuestHint.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuestHint.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuestHint.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddQuestHint.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/AddQuestHint.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddQuestHint.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuestHint.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddQuestHint.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuestHint.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuestHint.h:2357
/branches/network64/src/orxonox/objects/quest/AddQuestHint.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuestHint.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuestHint.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuestHint.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuestHint.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuestHint.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuestHint.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuestHint.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuestHint.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuestHint.h:2743-2891
/trunk/src/orxonox/objects/quest/AddQuestHint.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddQuestHint.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddQuestHint.h:2663-2709
/branches/gui/src/orxonox/objects/quest/AddQuestHint.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddQuestHint.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddQuestHint.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddQuestHint.h:2357
/branches/network64/src/orxonox/objects/quest/AddQuestHint.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddQuestHint.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddQuestHint.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddQuestHint.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddQuestHint.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddQuestHint.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddQuestHint.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddQuestHint.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddQuestHint.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddQuestHint.h:2743-2891
/trunk/src/orxonox/objects/quest/AddQuestHint.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/AddReward.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddReward.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddReward.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddReward.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddReward.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddReward.cc:2357
/branches/network64/src/orxonox/objects/quest/AddReward.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddReward.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddReward.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddReward.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddReward.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddReward.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddReward.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddReward.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddReward.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddReward.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddReward.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddReward.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddReward.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/AddReward.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddReward.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddReward.cc:2755-2825
/branches/network/src/orxonox/objects/quest/AddReward.cc:2357
/branches/network64/src/orxonox/objects/quest/AddReward.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddReward.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddReward.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/AddReward.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddReward.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddReward.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddReward.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddReward.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddReward.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddReward.cc:2743-2891
/trunk/src/orxonox/objects/quest/AddReward.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/AddReward.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/AddReward.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddReward.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/AddReward.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddReward.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddReward.h:2357
/branches/network64/src/orxonox/objects/quest/AddReward.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddReward.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddReward.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddReward.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddReward.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddReward.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddReward.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddReward.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddReward.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddReward.h:2743-2891
/trunk/src/orxonox/objects/quest/AddReward.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/AddReward.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/AddReward.h:2663-2709
/branches/gui/src/orxonox/objects/quest/AddReward.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/AddReward.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/AddReward.h:2755-2825
/branches/network/src/orxonox/objects/quest/AddReward.h:2357
/branches/network64/src/orxonox/objects/quest/AddReward.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/AddReward.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/AddReward.h:2118-2386
/branches/physics/src/orxonox/objects/quest/AddReward.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/AddReward.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/AddReward.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/AddReward.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/AddReward.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/AddReward.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/AddReward.h:2743-2891
/trunk/src/orxonox/objects/quest/AddReward.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/ChangeQuestStatus.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/ChangeQuestStatus.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/ChangeQuestStatus.cc:2755-2825
/branches/network/src/orxonox/objects/quest/ChangeQuestStatus.cc:2357
/branches/network64/src/orxonox/objects/quest/ChangeQuestStatus.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/ChangeQuestStatus.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/ChangeQuestStatus.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/ChangeQuestStatus.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/ChangeQuestStatus.cc:2743-2891
/trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/ChangeQuestStatus.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/ChangeQuestStatus.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/ChangeQuestStatus.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/ChangeQuestStatus.cc:2755-2825
/branches/network/src/orxonox/objects/quest/ChangeQuestStatus.cc:2357
/branches/network64/src/orxonox/objects/quest/ChangeQuestStatus.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/ChangeQuestStatus.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/ChangeQuestStatus.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/ChangeQuestStatus.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/ChangeQuestStatus.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/ChangeQuestStatus.cc:2743-2891
/trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/ChangeQuestStatus.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/ChangeQuestStatus.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/ChangeQuestStatus.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/ChangeQuestStatus.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/ChangeQuestStatus.h:2755-2825
/branches/network/src/orxonox/objects/quest/ChangeQuestStatus.h:2357
/branches/network64/src/orxonox/objects/quest/ChangeQuestStatus.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/ChangeQuestStatus.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/ChangeQuestStatus.h:2118-2386
/branches/physics/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/ChangeQuestStatus.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/ChangeQuestStatus.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/ChangeQuestStatus.h:2743-2891
/trunk/src/orxonox/objects/quest/ChangeQuestStatus.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/ChangeQuestStatus.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/ChangeQuestStatus.h:2663-2709
/branches/gui/src/orxonox/objects/quest/ChangeQuestStatus.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/ChangeQuestStatus.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/ChangeQuestStatus.h:2755-2825
/branches/network/src/orxonox/objects/quest/ChangeQuestStatus.h:2357
/branches/network64/src/orxonox/objects/quest/ChangeQuestStatus.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/ChangeQuestStatus.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/ChangeQuestStatus.h:2118-2386
/branches/physics/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/ChangeQuestStatus.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/ChangeQuestStatus.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/ChangeQuestStatus.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/ChangeQuestStatus.h:2743-2891
/trunk/src/orxonox/objects/quest/ChangeQuestStatus.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/CompleteQuest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/CompleteQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/CompleteQuest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/CompleteQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/CompleteQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/CompleteQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/CompleteQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/CompleteQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/CompleteQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/CompleteQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/CompleteQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/CompleteQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/CompleteQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/CompleteQuest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/CompleteQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/CompleteQuest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/CompleteQuest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/CompleteQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/CompleteQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/CompleteQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/CompleteQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/CompleteQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/CompleteQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/CompleteQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/CompleteQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/CompleteQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/CompleteQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/CompleteQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/CompleteQuest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/CompleteQuest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/CompleteQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/CompleteQuest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/CompleteQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/CompleteQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/CompleteQuest.h:2357
/branches/network64/src/orxonox/objects/quest/CompleteQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/CompleteQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/CompleteQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/CompleteQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/CompleteQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/CompleteQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/CompleteQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/CompleteQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/CompleteQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/CompleteQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/CompleteQuest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/CompleteQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/CompleteQuest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/CompleteQuest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/CompleteQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/CompleteQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/CompleteQuest.h:2357
/branches/network64/src/orxonox/objects/quest/CompleteQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/CompleteQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/CompleteQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/CompleteQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/CompleteQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/CompleteQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/CompleteQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/CompleteQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/CompleteQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/CompleteQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/CompleteQuest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/FailQuest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/FailQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/FailQuest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/FailQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/FailQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/FailQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/FailQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/FailQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/FailQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/FailQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/FailQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/FailQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/FailQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/FailQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/FailQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/FailQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/FailQuest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/FailQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/FailQuest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/FailQuest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/FailQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/FailQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/FailQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/FailQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/FailQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/FailQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/FailQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/FailQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/FailQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/FailQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/FailQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/FailQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/FailQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/FailQuest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/FailQuest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/FailQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/FailQuest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/FailQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/FailQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/FailQuest.h:2357
/branches/network64/src/orxonox/objects/quest/FailQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/FailQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/FailQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/FailQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/FailQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/FailQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/FailQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/FailQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/FailQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/FailQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/FailQuest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/FailQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/FailQuest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/FailQuest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/FailQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/FailQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/FailQuest.h:2357
/branches/network64/src/orxonox/objects/quest/FailQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/FailQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/FailQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/FailQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/FailQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/FailQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/FailQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/FailQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/FailQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/FailQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/FailQuest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/GlobalQuest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/GlobalQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/GlobalQuest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/GlobalQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/GlobalQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/GlobalQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/GlobalQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/GlobalQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/GlobalQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/GlobalQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/GlobalQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/GlobalQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/GlobalQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/GlobalQuest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/GlobalQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/GlobalQuest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/GlobalQuest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/GlobalQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/GlobalQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/GlobalQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/GlobalQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/GlobalQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/GlobalQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/GlobalQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/GlobalQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/GlobalQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/GlobalQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/GlobalQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/GlobalQuest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/GlobalQuest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/GlobalQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/GlobalQuest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/GlobalQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/GlobalQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/GlobalQuest.h:2357
/branches/network64/src/orxonox/objects/quest/GlobalQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/GlobalQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/GlobalQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/GlobalQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/GlobalQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/GlobalQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/GlobalQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/GlobalQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/GlobalQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/GlobalQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/GlobalQuest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/GlobalQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/GlobalQuest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/GlobalQuest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/GlobalQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/GlobalQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/GlobalQuest.h:2357
/branches/network64/src/orxonox/objects/quest/GlobalQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/GlobalQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/GlobalQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/GlobalQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/GlobalQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/GlobalQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/GlobalQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/GlobalQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/GlobalQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/GlobalQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/GlobalQuest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/LocalQuest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/LocalQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/LocalQuest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/LocalQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/LocalQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/LocalQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/LocalQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/LocalQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/LocalQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/LocalQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/LocalQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/LocalQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/LocalQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/LocalQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/LocalQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/LocalQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/LocalQuest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/LocalQuest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/LocalQuest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/LocalQuest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/LocalQuest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/LocalQuest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/LocalQuest.cc:2357
/branches/network64/src/orxonox/objects/quest/LocalQuest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/LocalQuest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/LocalQuest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/LocalQuest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/LocalQuest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/LocalQuest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/LocalQuest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/LocalQuest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/LocalQuest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/LocalQuest.cc:2743-2891
/trunk/src/orxonox/objects/quest/LocalQuest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/LocalQuest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/LocalQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/LocalQuest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/LocalQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/LocalQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/LocalQuest.h:2357
/branches/network64/src/orxonox/objects/quest/LocalQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/LocalQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/LocalQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/LocalQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/LocalQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/LocalQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/LocalQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/LocalQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/LocalQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/LocalQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/LocalQuest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/LocalQuest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/LocalQuest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/LocalQuest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/LocalQuest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/LocalQuest.h:2755-2825
/branches/network/src/orxonox/objects/quest/LocalQuest.h:2357
/branches/network64/src/orxonox/objects/quest/LocalQuest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/LocalQuest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/LocalQuest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/LocalQuest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/LocalQuest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/LocalQuest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/LocalQuest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/LocalQuest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/LocalQuest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/LocalQuest.h:2743-2891
/trunk/src/orxonox/objects/quest/LocalQuest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/Quest.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/Quest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Quest.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/Quest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Quest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/Quest.cc:2357
/branches/network64/src/orxonox/objects/quest/Quest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Quest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/Quest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/Quest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Quest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Quest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/Quest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Quest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Quest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Quest.cc:2743-2891
/trunk/src/orxonox/objects/quest/Quest.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/Quest.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Quest.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/Quest.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/Quest.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Quest.cc:2755-2825
/branches/network/src/orxonox/objects/quest/Quest.cc:2357
/branches/network64/src/orxonox/objects/quest/Quest.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Quest.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/Quest.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/Quest.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Quest.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Quest.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/Quest.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Quest.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Quest.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Quest.cc:2743-2891
/trunk/src/orxonox/objects/quest/Quest.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/Quest.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/Quest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Quest.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/Quest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Quest.h:2755-2825
/branches/network/src/orxonox/objects/quest/Quest.h:2357
/branches/network64/src/orxonox/objects/quest/Quest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Quest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/Quest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/Quest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Quest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Quest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/Quest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Quest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Quest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Quest.h:2743-2891
/trunk/src/orxonox/objects/quest/Quest.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/Quest.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Quest.h:2663-2709
/branches/gui/src/orxonox/objects/quest/Quest.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/Quest.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Quest.h:2755-2825
/branches/network/src/orxonox/objects/quest/Quest.h:2357
/branches/network64/src/orxonox/objects/quest/Quest.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Quest.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/Quest.h:2118-2386
/branches/physics/src/orxonox/objects/quest/Quest.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Quest.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Quest.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/Quest.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Quest.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Quest.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Quest.h:2743-2891
/trunk/src/orxonox/objects/quest/Quest.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestDescription.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestDescription.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestDescription.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestDescription.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestDescription.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestDescription.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestDescription.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestDescription.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestDescription.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestDescription.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestDescription.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestDescription.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestDescription.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestDescription.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestDescription.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestDescription.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestDescription.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestDescription.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestDescription.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestDescription.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestDescription.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestDescription.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestDescription.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestDescription.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestDescription.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestDescription.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestDescription.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestDescription.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestDescription.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestDescription.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestDescription.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestDescription.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestDescription.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestDescription.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestDescription.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestDescription.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestDescription.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestDescription.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestDescription.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestDescription.h:2357
/branches/network64/src/orxonox/objects/quest/QuestDescription.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestDescription.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestDescription.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestDescription.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestDescription.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestDescription.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestDescription.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestDescription.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestDescription.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestDescription.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestDescription.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestDescription.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestDescription.h:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestDescription.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestDescription.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestDescription.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestDescription.h:2357
/branches/network64/src/orxonox/objects/quest/QuestDescription.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestDescription.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestDescription.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestDescription.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestDescription.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestDescription.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestDescription.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestDescription.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestDescription.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestDescription.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestDescription.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestEffect.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestEffect.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestEffect.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestEffect.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestEffect.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestEffect.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestEffect.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestEffect.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestEffect.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestEffect.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestEffect.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestEffect.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestEffect.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestEffect.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestEffect.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestEffect.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestEffect.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestEffect.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestEffect.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestEffect.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestEffect.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestEffect.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestEffect.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestEffect.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestEffect.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestEffect.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestEffect.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestEffect.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestEffect.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestEffect.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestEffect.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestEffect.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestEffect.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestEffect.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestEffect.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestEffect.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestEffect.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestEffect.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestEffect.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestEffect.h:2357
/branches/network64/src/orxonox/objects/quest/QuestEffect.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestEffect.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestEffect.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestEffect.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestEffect.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestEffect.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestEffect.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestEffect.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestEffect.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestEffect.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestEffect.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestEffect.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestEffect.h:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestEffect.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestEffect.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestEffect.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestEffect.h:2357
/branches/network64/src/orxonox/objects/quest/QuestEffect.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestEffect.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestEffect.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestEffect.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestEffect.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestEffect.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestEffect.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestEffect.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestEffect.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestEffect.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestEffect.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestHint.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestHint.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestHint.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestHint.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestHint.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestHint.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestHint.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestHint.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestHint.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestHint.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestHint.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestHint.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestHint.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestHint.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestHint.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestHint.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestHint.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestHint.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestHint.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestHint.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestHint.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestHint.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestHint.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestHint.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestHint.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestHint.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestHint.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestHint.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestHint.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestHint.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestHint.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestHint.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestHint.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestHint.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestHint.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestHint.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestHint.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestHint.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestHint.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestHint.h:2357
/branches/network64/src/orxonox/objects/quest/QuestHint.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestHint.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestHint.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestHint.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestHint.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestHint.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestHint.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestHint.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestHint.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestHint.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestHint.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestHint.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestHint.h:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestHint.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestHint.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestHint.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestHint.h:2357
/branches/network64/src/orxonox/objects/quest/QuestHint.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestHint.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestHint.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestHint.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestHint.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestHint.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestHint.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestHint.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestHint.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestHint.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestHint.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestItem.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestItem.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestItem.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestItem.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestItem.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestItem.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestItem.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestItem.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestItem.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestItem.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestItem.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestItem.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestItem.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestItem.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestItem.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestItem.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestItem.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestItem.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestItem.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestItem.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestItem.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestItem.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestItem.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestItem.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestItem.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestItem.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestItem.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestItem.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestItem.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestItem.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestItem.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestItem.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestItem.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestItem.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestItem.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestItem.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestItem.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestItem.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestItem.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestItem.h:2357
/branches/network64/src/orxonox/objects/quest/QuestItem.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestItem.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestItem.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestItem.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestItem.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestItem.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestItem.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestItem.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestItem.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestItem.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestItem.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestItem.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestItem.h:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestItem.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestItem.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestItem.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestItem.h:2357
/branches/network64/src/orxonox/objects/quest/QuestItem.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestItem.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestItem.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestItem.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestItem.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestItem.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestItem.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestItem.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestItem.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestItem.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestItem.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestManager.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestManager.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestManager.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestManager.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestManager.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestManager.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestManager.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestManager.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestManager.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestManager.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestManager.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestManager.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestManager.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestManager.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestManager.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestManager.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestManager.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestManager.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestManager.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestManager.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestManager.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestManager.cc:2755-2825
/branches/network/src/orxonox/objects/quest/QuestManager.cc:2357
/branches/network64/src/orxonox/objects/quest/QuestManager.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestManager.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestManager.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestManager.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestManager.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestManager.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestManager.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestManager.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestManager.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestManager.cc:2743-2891
/trunk/src/orxonox/objects/quest/QuestManager.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/QuestManager.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/QuestManager.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestManager.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/QuestManager.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestManager.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestManager.h:2357
/branches/network64/src/orxonox/objects/quest/QuestManager.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestManager.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestManager.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestManager.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestManager.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestManager.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestManager.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestManager.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestManager.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestManager.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestManager.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/QuestManager.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/QuestManager.h:2663-2709
/branches/gui/src/orxonox/objects/quest/QuestManager.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/QuestManager.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/QuestManager.h:2755-2825
/branches/network/src/orxonox/objects/quest/QuestManager.h:2357
/branches/network64/src/orxonox/objects/quest/QuestManager.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/QuestManager.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/QuestManager.h:2118-2386
/branches/physics/src/orxonox/objects/quest/QuestManager.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/QuestManager.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/QuestManager.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/QuestManager.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/QuestManager.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/QuestManager.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/QuestManager.h:2743-2891
/trunk/src/orxonox/objects/quest/QuestManager.h:2-2090


Property changes on: trunk/src/orxonox/objects/quest/Rewardable.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/Rewardable.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Rewardable.cc:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/Rewardable.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Rewardable.cc:2755-2825
/branches/network/src/orxonox/objects/quest/Rewardable.cc:2357
/branches/network64/src/orxonox/objects/quest/Rewardable.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Rewardable.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/Rewardable.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/Rewardable.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Rewardable.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Rewardable.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/Rewardable.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Rewardable.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Rewardable.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Rewardable.cc:2743-2891
/trunk/src/orxonox/objects/quest/Rewardable.cc:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/Rewardable.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Rewardable.cc:2663-2709
/branches/gui/src/orxonox/objects/quest/Rewardable.cc:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/Rewardable.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Rewardable.cc:2755-2825
/branches/network/src/orxonox/objects/quest/Rewardable.cc:2357
/branches/network64/src/orxonox/objects/quest/Rewardable.cc:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Rewardable.cc:2172-2480
/branches/overlay/src/orxonox/objects/quest/Rewardable.cc:2118-2386
/branches/physics/src/orxonox/objects/quest/Rewardable.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Rewardable.cc:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Rewardable.cc:2108-2498
/branches/presentation/src/orxonox/objects/quest/Rewardable.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Rewardable.cc:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Rewardable.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Rewardable.cc:2743-2891
/trunk/src/orxonox/objects/quest/Rewardable.cc:2-2090


Property changes on: trunk/src/orxonox/objects/quest/Rewardable.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/quest/Rewardable.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Rewardable.h:2663-2709
/branches/lodfinal/src/orxonox/objects/quest/Rewardable.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Rewardable.h:2755-2825
/branches/network/src/orxonox/objects/quest/Rewardable.h:2357
/branches/network64/src/orxonox/objects/quest/Rewardable.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Rewardable.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/Rewardable.h:2118-2386
/branches/physics/src/orxonox/objects/quest/Rewardable.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Rewardable.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Rewardable.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/Rewardable.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Rewardable.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Rewardable.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Rewardable.h:2743-2891
/trunk/src/orxonox/objects/quest/Rewardable.h:2-2090
   + /branches/buildsystem2/src/orxonox/objects/quest/Rewardable.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/quest/Rewardable.h:2663-2709
/branches/gui/src/orxonox/objects/quest/Rewardable.h:2796-2895
/branches/lodfinal/src/orxonox/objects/quest/Rewardable.h:2373-2412
/branches/miniprojects/src/orxonox/objects/quest/Rewardable.h:2755-2825
/branches/network/src/orxonox/objects/quest/Rewardable.h:2357
/branches/network64/src/orxonox/objects/quest/Rewardable.h:2211-2356
/branches/objecthierarchy2/src/orxonox/objects/quest/Rewardable.h:2172-2480
/branches/overlay/src/orxonox/objects/quest/Rewardable.h:2118-2386
/branches/physics/src/orxonox/objects/quest/Rewardable.h:2108-2440
/branches/physics_merge/src/orxonox/objects/quest/Rewardable.h:2437-2458
/branches/pickups2/src/orxonox/objects/quest/Rewardable.h:2108-2498
/branches/presentation/src/orxonox/objects/quest/Rewardable.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/quest/Rewardable.h:2108-2260
/branches/weapon2/src/orxonox/objects/quest/Rewardable.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/quest/Rewardable.h:2743-2891
/trunk/src/orxonox/objects/quest/Rewardable.h:2-2090


Property changes on: trunk/src/orxonox/objects/weaponSystem/WeaponSystem.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/WeaponSystem.cc:1803-1809
/branches/core3/src/orxonox/objects/WeaponSystem.cc:1573-1740
/branches/gcc43/src/orxonox/objects/WeaponSystem.cc:1581
/branches/gui/src/orxonox/objects/WeaponSystem.cc:1636-1724
/branches/input/src/orxonox/objects/WeaponSystem.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2755-2825
/branches/network/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2357
/branches/network64/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/WeaponSystem.cc:1912-2086,2101
/branches/objecthierarchy2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2172-2480
/branches/overlay/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2118-2386
/branches/physics/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2437-2458
/branches/pickups/src/orxonox/objects/WeaponSystem.cc:1927-2087
/branches/pickups2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2498
/branches/presentation/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2370-2653,2655-2661
/branches/questsystem/src/orxonox/objects/WeaponSystem.cc:1895-2089
/branches/questsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/WeaponSystem.cc:1296-1954,1956
/branches/weapon/src/orxonox/objects/WeaponSystem.cc:1926-2048
/branches/weapon2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2743-2891
   + /branches/buildsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/WeaponSystem.cc:1803-1809
/branches/core3/src/orxonox/objects/WeaponSystem.cc:1573-1740
/branches/gcc43/src/orxonox/objects/WeaponSystem.cc:1581
/branches/gui/src/orxonox/objects/WeaponSystem.cc:1636-1724
/branches/gui/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2796-2895
/branches/input/src/orxonox/objects/WeaponSystem.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2755-2825
/branches/network/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2357
/branches/network64/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/WeaponSystem.cc:1912-2086,2101
/branches/objecthierarchy2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2172-2480
/branches/overlay/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2118-2386
/branches/physics/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2437-2458
/branches/pickups/src/orxonox/objects/WeaponSystem.cc:1927-2087
/branches/pickups2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2498
/branches/presentation/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2370-2653,2655-2661
/branches/questsystem/src/orxonox/objects/WeaponSystem.cc:1895-2089
/branches/questsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/WeaponSystem.cc:1296-1954,1956
/branches/weapon/src/orxonox/objects/WeaponSystem.cc:1926-2048
/branches/weapon2/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/weaponSystem/WeaponSystem.cc:2743-2891


Property changes on: trunk/src/orxonox/objects/weaponSystem/WeaponSystem.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/weaponSystem/WeaponSystem.h:2663-2709
/branches/lodfinal/src/orxonox/objects/weaponSystem/WeaponSystem.h:2373-2412
/branches/miniprojects/src/orxonox/objects/weaponSystem/WeaponSystem.h:2755-2825
/branches/network/src/orxonox/objects/weaponSystem/WeaponSystem.h:2357
/branches/network64/src/orxonox/objects/weaponSystem/WeaponSystem.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/weaponSystem/WeaponSystem.h:2111-2170
/branches/objecthierarchy2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2172-2480
/branches/overlay/src/orxonox/objects/weaponSystem/WeaponSystem.h:2118-2386
/branches/physics/src/orxonox/objects/weaponSystem/WeaponSystem.h:1913-2056,2108-2440
/branches/physics_merge/src/orxonox/objects/weaponSystem/WeaponSystem.h:2437-2458
/branches/pickups/src/orxonox/objects/weaponSystem/WeaponSystem.h:2128
/branches/pickups2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2498
/branches/presentation/src/orxonox/objects/weaponSystem/WeaponSystem.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2260
/branches/weapon2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/weaponSystem/WeaponSystem.h:2743-2891
   + /branches/buildsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/weaponSystem/WeaponSystem.h:2663-2709
/branches/gui/src/orxonox/objects/weaponSystem/WeaponSystem.h:2796-2895
/branches/lodfinal/src/orxonox/objects/weaponSystem/WeaponSystem.h:2373-2412
/branches/miniprojects/src/orxonox/objects/weaponSystem/WeaponSystem.h:2755-2825
/branches/network/src/orxonox/objects/weaponSystem/WeaponSystem.h:2357
/branches/network64/src/orxonox/objects/weaponSystem/WeaponSystem.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/weaponSystem/WeaponSystem.h:2111-2170
/branches/objecthierarchy2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2172-2480
/branches/overlay/src/orxonox/objects/weaponSystem/WeaponSystem.h:2118-2386
/branches/physics/src/orxonox/objects/weaponSystem/WeaponSystem.h:1913-2056,2108-2440
/branches/physics_merge/src/orxonox/objects/weaponSystem/WeaponSystem.h:2437-2458
/branches/pickups/src/orxonox/objects/weaponSystem/WeaponSystem.h:2128
/branches/pickups2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2498
/branches/presentation/src/orxonox/objects/weaponSystem/WeaponSystem.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2260
/branches/weapon2/src/orxonox/objects/weaponSystem/WeaponSystem.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/weaponSystem/WeaponSystem.h:2743-2891

Modified: trunk/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,7 +31,7 @@
 
 #include <OgreBillboardSet.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "objects/Scene.h"
 
@@ -43,7 +43,7 @@
     {
         RegisterObject(BillboardProjectile);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             assert(this->getScene()->getSceneManager()); // getScene() was already checked by WorldEntity
             this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(0.5, 0.5, 0.7, 0.8), 1);
@@ -55,7 +55,7 @@
 
     BillboardProjectile::~BillboardProjectile()
     {
-        if (this->isInitialized() && Core::showsGraphics() && this->billboard_.getBillboardSet())
+        if (this->isInitialized() && GameMode::showsGraphics() && this->billboard_.getBillboardSet())
             this->detachOgreObject(this->billboard_.getBillboardSet());
     }
 

Modified: trunk/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -32,7 +32,7 @@
 #include <OgreParticleSystem.h>
 #include <OgreParticleEmitter.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "objects/Scene.h"
@@ -45,7 +45,7 @@
     {
         RegisterObject(ParticleProjectile);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             this->particles_ = new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/shot3_small", LODParticle::normal);
             this->attachOgreObject(this->particles_->getParticleSystem());

Modified: trunk/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -40,7 +40,7 @@
 #include "objects/worldentities/Model.h"
 #include "objects/worldentities/ParticleSpawner.h"
 #include "objects/collisionshapes/SphereCollisionShape.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox
 {
@@ -54,7 +54,7 @@
 
         // Get notification about collisions
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->enableCollisionCallback();
 
@@ -92,13 +92,13 @@
 
     void Projectile::destroyObject()
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             delete this;
     }
 
     bool Projectile::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && Core::isMaster())
+        if (!this->bDestroy_ && GameMode::isMaster())
         {
             this->bDestroy_ = true;
 

Modified: trunk/src/orxonox/objects/worldentities/Backlight.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Backlight.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Backlight.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -32,7 +32,7 @@
 #include <OgreRibbonTrail.h>
 #include <OgreSceneManager.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
 #include "core/XMLPort.h"
@@ -57,7 +57,7 @@
 
         this->tickcount_ = 0;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (!this->getScene())
                 ThrowException(AbortLoading, "Can't create Backlight, no scene given.");


Property changes on: trunk/src/orxonox/objects/worldentities/Backlight.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/Backlight.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Backlight.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Backlight.cc:1803-1809
/branches/core3/src/orxonox/objects/Backlight.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Backlight.cc:1581
/branches/gui/src/orxonox/objects/Backlight.cc:1636-1724
/branches/input/src/orxonox/objects/Backlight.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Backlight.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Backlight.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/Backlight.cc:2357
/branches/network64/src/orxonox/objects/worldentities/Backlight.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Backlight.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Backlight.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Backlight.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Backlight.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Backlight.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Backlight.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Backlight.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Backlight.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Backlight.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Backlight.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Backlight.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/Backlight.cc:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/Backlight.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Backlight.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Backlight.cc:1803-1809
/branches/core3/src/orxonox/objects/Backlight.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Backlight.cc:1581
/branches/gui/src/orxonox/objects/Backlight.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/Backlight.cc:2796-2895
/branches/input/src/orxonox/objects/Backlight.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Backlight.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Backlight.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/Backlight.cc:2357
/branches/network64/src/orxonox/objects/worldentities/Backlight.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Backlight.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Backlight.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Backlight.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Backlight.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Backlight.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Backlight.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Backlight.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Backlight.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Backlight.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Backlight.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Backlight.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/Backlight.cc:2-2086

Modified: trunk/src/orxonox/objects/worldentities/Backlight.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Backlight.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Backlight.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,7 +31,7 @@
 
 #include "OrxonoxPrereqs.h"
 #include "FadingBillboard.h"
-#include "gamestates/GSRoot.h"
+#include "tools/TimeFactorListener.h"
 
 namespace orxonox
 {


Property changes on: trunk/src/orxonox/objects/worldentities/Backlight.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/Backlight.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Backlight.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Backlight.h:1803-1809
/branches/core3/src/orxonox/objects/Backlight.h:1573-1740
/branches/gcc43/src/orxonox/objects/Backlight.h:1581
/branches/gui/src/orxonox/objects/Backlight.h:1636-1724
/branches/input/src/orxonox/objects/Backlight.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Backlight.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Backlight.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/Backlight.h:2357
/branches/network64/src/orxonox/objects/worldentities/Backlight.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Backlight.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Backlight.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Backlight.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Backlight.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Backlight.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Backlight.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Backlight.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Backlight.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Backlight.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Backlight.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Backlight.h:2743-2891
/trunk/src/orxonox/objects/worldentities/Backlight.h:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/Backlight.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Backlight.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Backlight.h:1803-1809
/branches/core3/src/orxonox/objects/Backlight.h:1573-1740
/branches/gcc43/src/orxonox/objects/Backlight.h:1581
/branches/gui/src/orxonox/objects/Backlight.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/Backlight.h:2796-2895
/branches/input/src/orxonox/objects/Backlight.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Backlight.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Backlight.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/Backlight.h:2357
/branches/network64/src/orxonox/objects/worldentities/Backlight.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Backlight.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Backlight.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Backlight.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Backlight.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Backlight.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Backlight.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Backlight.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Backlight.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Backlight.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Backlight.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Backlight.h:2743-2891
/trunk/src/orxonox/objects/worldentities/Backlight.h:2-2086

Modified: trunk/src/orxonox/objects/worldentities/Billboard.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Billboard.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Billboard.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -33,7 +33,7 @@
 
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/Scene.h"
 
 namespace orxonox
@@ -80,7 +80,7 @@
 
         if (!this->billboard_.getBillboardSet())
         {
-            if (this->getScene() && Core::showsGraphics())
+            if (this->getScene() && GameMode::showsGraphics())
             {
                 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->material_, this->colour_, 1);
                 if (this->billboard_.getBillboardSet())
@@ -97,7 +97,7 @@
         if (!this->billboard_.getBillboardSet())
         {
 /*
-            if (this->getScene() && Core::showsGraphics() && (this->material_ != ""))
+            if (this->getScene() && GameMode::showsGraphics() && (this->material_ != ""))
             {
                 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->material_, this->colour_, 1);
                 if (this->billboard_.getBillboardSet())

Modified: trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "BlinkingBillboard.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "util/Math.h"
@@ -76,7 +76,7 @@
     {
         SUPER(BlinkingBillboard, tick, dt);
 
-        if (Core::isMaster() && this->isActive())
+        if (GameMode::isMaster() && this->isActive())
         {
             this->time_ += dt;
             if (this->bQuadratic_)


Property changes on: trunk/src/orxonox/objects/worldentities/Camera.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/Camera.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Camera.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Camera.cc:1803-1809
/branches/core3/src/orxonox/objects/Camera.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Camera.cc:1581
/branches/gui/src/orxonox/objects/Camera.cc:1636-1724
/branches/input/src/orxonox/objects/Camera.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Camera.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Camera.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/Camera.cc:2357
/branches/network64/src/orxonox/objects/worldentities/Camera.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Camera.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Camera.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Camera.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Camera.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Camera.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Camera.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Camera.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Camera.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Camera.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Camera.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/Camera.cc:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/Camera.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Camera.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Camera.cc:1803-1809
/branches/core3/src/orxonox/objects/Camera.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Camera.cc:1581
/branches/gui/src/orxonox/objects/Camera.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/Camera.cc:2796-2895
/branches/input/src/orxonox/objects/Camera.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Camera.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Camera.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/Camera.cc:2357
/branches/network64/src/orxonox/objects/worldentities/Camera.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Camera.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Camera.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Camera.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Camera.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Camera.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Camera.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Camera.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Camera.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Camera.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Camera.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/Camera.cc:2-2086


Property changes on: trunk/src/orxonox/objects/worldentities/Camera.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/Camera.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Camera.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Camera.h:1803-1809
/branches/core3/src/orxonox/objects/Camera.h:1573-1740
/branches/gcc43/src/orxonox/objects/Camera.h:1581
/branches/gui/src/orxonox/objects/Camera.h:1636-1724
/branches/input/src/orxonox/objects/Camera.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Camera.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Camera.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/Camera.h:2357
/branches/network64/src/orxonox/objects/worldentities/Camera.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Camera.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Camera.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Camera.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Camera.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Camera.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Camera.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Camera.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Camera.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Camera.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Camera.h:2743-2891
/trunk/src/orxonox/objects/worldentities/Camera.h:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/Camera.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/Camera.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Camera.h:1803-1809
/branches/core3/src/orxonox/objects/Camera.h:1573-1740
/branches/gcc43/src/orxonox/objects/Camera.h:1581
/branches/gui/src/orxonox/objects/Camera.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/Camera.h:2796-2895
/branches/input/src/orxonox/objects/Camera.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/Camera.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/Camera.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/Camera.h:2357
/branches/network64/src/orxonox/objects/worldentities/Camera.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/Camera.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/Camera.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/Camera.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/Camera.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/Camera.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/Camera.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/Camera.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Camera.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/Camera.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/Camera.h:2743-2891
/trunk/src/orxonox/objects/worldentities/Camera.h:2-2086

Modified: trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ControllableEntity.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/ControllableEntity.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -33,7 +33,7 @@
 
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/XMLPort.h"
 #include "core/Template.h"
 
@@ -244,7 +244,7 @@
         {
             this->startLocalHumanControl();
 
-            if (!Core::isMaster())
+            if (!GameMode::isMaster())
             {
                 this->client_overwrite_ = this->server_overwrite_;
                 this->setObjectMode(objectDirection::bidirectional);
@@ -356,7 +356,7 @@
             // Check whether Bullet doesn't do the physics for us
             if (!this->isDynamic())
             {
-                if (Core::isMaster())
+                if (GameMode::isMaster())
                 {
                     this->server_position_ = this->getPosition();
                     this->server_orientation_ = this->getOrientation();
@@ -471,7 +471,7 @@
 
     void ControllableEntity::setPosition(const Vector3& position)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setPosition(position);
             this->server_position_ = this->getPosition();
@@ -486,7 +486,7 @@
 
     void ControllableEntity::setOrientation(const Quaternion& orientation)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setOrientation(orientation);
             this->server_orientation_ = this->getOrientation();
@@ -501,7 +501,7 @@
 
     void ControllableEntity::setVelocity(const Vector3& velocity)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setVelocity(velocity);
             this->server_linear_velocity_ = this->getVelocity();
@@ -516,7 +516,7 @@
 
     void ControllableEntity::setAngularVelocity(const Vector3& velocity)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setAngularVelocity(velocity);
             this->server_angular_velocity_ = this->getAngularVelocity();
@@ -532,7 +532,7 @@
     void ControllableEntity::setWorldTransform(const btTransform& worldTrans)
     {
         MobileEntity::setWorldTransform(worldTrans);
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->server_position_ = this->getPosition();
             this->server_orientation_ = this->getOrientation();

Modified: trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,7 +31,7 @@
 
 #include <OgreParticleSystem.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
 #include "objects/Scene.h"
@@ -46,13 +46,13 @@
     {
         RegisterObject(ExplosionChunk);
 
-        if ( Core::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
+        if ( GameMode::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
             ThrowException(AbortLoading, "Can't create ExplosionChunk, no scene or no scene manager given.");
 
         this->bStop_ = false;
         this->LOD_ = LODParticle::normal;
 
-        if ( Core::showsGraphics() )
+        if ( GameMode::showsGraphics() )
         {
             try
             {
@@ -74,7 +74,7 @@
             this->smoke_ = 0;
         }
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             Vector3 velocity(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1));
             velocity.normalise();
@@ -131,7 +131,7 @@
         if (this->smoke_)
             this->smoke_->setEnabled(false);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->bStop_ = true;
             this->destroyTimer_.setTimer(1.0f, false, this, createExecutor(createFunctor(&ExplosionChunk::destroy)));
@@ -147,7 +147,7 @@
     {
         static const unsigned int CHANGES_PER_SECOND = 5;
 
-        if (Core::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
+        if (GameMode::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
         {
             float length = this->getVelocity().length();
 

Modified: trunk/src/orxonox/objects/worldentities/Light.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Light.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Light.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -36,7 +36,7 @@
 
 #include "util/String.h"
 #include "util/Exception.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "objects/Scene.h"
@@ -56,7 +56,7 @@
         this->attenuation_ = Vector4(100000, 1, 0, 0);
         this->spotlightRange_ = Vector3(40.0f, 30.0f, 1.0f);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (!this->getScene())
                 ThrowException(AbortLoading, "Can't create Light, no scene given.");


Property changes on: trunk/src/orxonox/objects/worldentities/MobileEntity.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/orxonox/objects/worldentities/MobileEntity.cc:2663-2709
/branches/miniprojects/src/orxonox/objects/worldentities/MobileEntity.cc:2755-2825
/branches/presentation/src/orxonox/objects/worldentities/MobileEntity.cc:2655-2661
/branches/weaponsystem/src/orxonox/objects/worldentities/MobileEntity.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/MobileEntity.cc:2-2661
   + /branches/buildsystem3/src/orxonox/objects/worldentities/MobileEntity.cc:2663-2709
/branches/gui/src/orxonox/objects/worldentities/MobileEntity.cc:2796-2895
/branches/miniprojects/src/orxonox/objects/worldentities/MobileEntity.cc:2755-2825
/branches/presentation/src/orxonox/objects/worldentities/MobileEntity.cc:2655-2661
/branches/weaponsystem/src/orxonox/objects/worldentities/MobileEntity.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/MobileEntity.cc:2-2661


Property changes on: trunk/src/orxonox/objects/worldentities/MobileEntity.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/orxonox/objects/worldentities/MobileEntity.h:2663-2709
/branches/miniprojects/src/orxonox/objects/worldentities/MobileEntity.h:2755-2825
/branches/presentation/src/orxonox/objects/worldentities/MobileEntity.h:2655-2661
/branches/weaponsystem/src/orxonox/objects/worldentities/MobileEntity.h:2743-2891
/trunk/src/orxonox/objects/worldentities/MobileEntity.h:2-2661
   + /branches/buildsystem3/src/orxonox/objects/worldentities/MobileEntity.h:2663-2709
/branches/gui/src/orxonox/objects/worldentities/MobileEntity.h:2796-2895
/branches/miniprojects/src/orxonox/objects/worldentities/MobileEntity.h:2755-2825
/branches/presentation/src/orxonox/objects/worldentities/MobileEntity.h:2655-2661
/branches/weaponsystem/src/orxonox/objects/worldentities/MobileEntity.h:2743-2891
/trunk/src/orxonox/objects/worldentities/MobileEntity.h:2-2661

Modified: trunk/src/orxonox/objects/worldentities/Model.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Model.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Model.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,6 +30,7 @@
 
 #include <OgreEntity.h>
 #include "Model.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "objects/Scene.h"
@@ -69,7 +70,7 @@
 
     void Model::changedMesh()
     {
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (this->mesh_.getEntity())
                 this->detachOgreObject(this->mesh_.getEntity());

Modified: trunk/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/MovableEntity.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/MovableEntity.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -33,7 +33,7 @@
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "core/Executor.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox
 {
@@ -88,7 +88,7 @@
 
     void MovableEntity::resynchronize()
     {
-        if (Core::isMaster() && !this->continuousResynchroTimer_)
+        if (GameMode::isMaster() && !this->continuousResynchroTimer_)
         {
             // Resynchronise every few seconds because we only work with velocities (no positions)
             continuousResynchroTimer_ = new Timer<MovableEntity>(CONTINUOUS_SYNCHRONIZATION_TIME + rnd(-1, 1),

Modified: trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -38,6 +38,7 @@
 
 #include "tools/ParticleInterface.h"
 #include "util/Exception.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "objects/Scene.h"
@@ -50,7 +51,7 @@
     {
         RegisterObject(ParticleEmitter);
 
-        if (Core::showsGraphics() && (!this->getScene() || !this->getScene()->getSceneManager()))
+        if (GameMode::showsGraphics() && (!this->getScene() || !this->getScene()->getSceneManager()))
             ThrowException(AbortLoading, "Can't create ParticleEmitter, no scene or no scene manager given.");
 
         this->particles_ = 0;
@@ -106,7 +107,7 @@
             this->particles_ = 0;
         }
 
-        if (Core::showsGraphics() && this->getScene() && this->getScene()->getSceneManager())
+        if (GameMode::showsGraphics() && this->getScene() && this->getScene()->getSceneManager())
         {
             try
             {


Property changes on: trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/ParticleSpawner.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/ParticleSpawner.cc:1803-1809
/branches/core3/src/orxonox/objects/ParticleSpawner.cc:1573-1740
/branches/gcc43/src/orxonox/objects/ParticleSpawner.cc:1581
/branches/gui/src/orxonox/objects/ParticleSpawner.cc:1636-1724
/branches/input/src/orxonox/objects/ParticleSpawner.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/ParticleSpawner.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/ParticleSpawner.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/ParticleSpawner.cc:2357
/branches/network64/src/orxonox/objects/worldentities/ParticleSpawner.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/ParticleSpawner.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/ParticleSpawner.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/ParticleSpawner.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/ParticleSpawner.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/ParticleSpawner.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/ParticleSpawner.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/ParticleSpawner.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/ParticleSpawner.cc:1803-1809
/branches/core3/src/orxonox/objects/ParticleSpawner.cc:1573-1740
/branches/gcc43/src/orxonox/objects/ParticleSpawner.cc:1581
/branches/gui/src/orxonox/objects/ParticleSpawner.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/ParticleSpawner.cc:2796-2895
/branches/input/src/orxonox/objects/ParticleSpawner.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/ParticleSpawner.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/ParticleSpawner.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/ParticleSpawner.cc:2357
/branches/network64/src/orxonox/objects/worldentities/ParticleSpawner.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/ParticleSpawner.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/ParticleSpawner.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/ParticleSpawner.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/ParticleSpawner.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/ParticleSpawner.cc:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/ParticleSpawner.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/ParticleSpawner.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc:2-2086


Property changes on: trunk/src/orxonox/objects/worldentities/ParticleSpawner.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/ParticleSpawner.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/ParticleSpawner.h:2663-2709
/branches/ceguilua/src/orxonox/objects/ParticleSpawner.h:1803-1809
/branches/core3/src/orxonox/objects/ParticleSpawner.h:1573-1740
/branches/gcc43/src/orxonox/objects/ParticleSpawner.h:1581
/branches/gui/src/orxonox/objects/ParticleSpawner.h:1636-1724
/branches/input/src/orxonox/objects/ParticleSpawner.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/ParticleSpawner.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/ParticleSpawner.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/ParticleSpawner.h:2357
/branches/network64/src/orxonox/objects/worldentities/ParticleSpawner.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/ParticleSpawner.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/ParticleSpawner.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/ParticleSpawner.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/ParticleSpawner.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/ParticleSpawner.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2260
/branches/script_trigger/src/orxonox/objects/ParticleSpawner.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/ParticleSpawner.h:2743-2891
/trunk/src/orxonox/objects/worldentities/ParticleSpawner.h:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/ParticleSpawner.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/ParticleSpawner.h:2663-2709
/branches/ceguilua/src/orxonox/objects/ParticleSpawner.h:1803-1809
/branches/core3/src/orxonox/objects/ParticleSpawner.h:1573-1740
/branches/gcc43/src/orxonox/objects/ParticleSpawner.h:1581
/branches/gui/src/orxonox/objects/ParticleSpawner.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/ParticleSpawner.h:2796-2895
/branches/input/src/orxonox/objects/ParticleSpawner.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/ParticleSpawner.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/ParticleSpawner.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/ParticleSpawner.h:2357
/branches/network64/src/orxonox/objects/worldentities/ParticleSpawner.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/ParticleSpawner.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/ParticleSpawner.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/ParticleSpawner.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/ParticleSpawner.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/ParticleSpawner.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2260
/branches/script_trigger/src/orxonox/objects/ParticleSpawner.h:1296-1954,1956
/branches/weapon2/src/orxonox/objects/worldentities/ParticleSpawner.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/ParticleSpawner.h:2743-2891
/trunk/src/orxonox/objects/worldentities/ParticleSpawner.h:2-2086

Modified: trunk/src/orxonox/objects/worldentities/Planet.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Planet.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/Planet.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -41,7 +41,7 @@
 #include "objects/Scene.h"
 #include "CameraManager.h"
 #include "Camera.h"
-#include "GraphicsEngine.h"
+#include "GraphicsManager.h"
 
 namespace orxonox
 {

Modified: trunk/src/orxonox/objects/worldentities/PongBall.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/PongBall.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/PongBall.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -30,6 +30,7 @@
 #include "PongBall.h"
 
 #include "core/CoreIncludes.h"
+#include "core/GameMode.h"
 #include "objects/worldentities/PongBat.h"
 #include "objects/gametypes/Gametype.h"
 
@@ -52,7 +53,7 @@
     {
         SUPER(PongBall, tick, dt);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             Vector3 position = this->getPosition();
             Vector3 velocity = this->getVelocity();


Property changes on: trunk/src/orxonox/objects/worldentities/StaticEntity.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/orxonox/objects/worldentities/StaticEntity.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/worldentities/PositionableEntity.cc:1803-1809
/branches/core3/src/orxonox/objects/worldentities/PositionableEntity.cc:1573-1740
/branches/gcc43/src/orxonox/objects/worldentities/PositionableEntity.cc:1581
/branches/gui/src/orxonox/objects/worldentities/PositionableEntity.cc:1636-1724
/branches/input/src/orxonox/objects/worldentities/PositionableEntity.cc:1630-1637
/branches/miniprojects/src/orxonox/objects/worldentities/StaticEntity.cc:2755-2825
/branches/objecthierarchy/src/orxonox/objects/worldentities/PositionableEntity.cc:1912-2086,2101
/branches/physics/src/orxonox/objects/worldentities/PositionableEntity.cc:1913-2056
/branches/pickups/src/orxonox/objects/worldentities/PositionableEntity.cc:1927-2087
/branches/presentation/src/orxonox/objects/worldentities/StaticEntity.cc:2655-2661
/branches/questsystem/src/orxonox/objects/worldentities/PositionableEntity.cc:1895-2089
/branches/script_trigger/src/orxonox/objects/worldentities/PositionableEntity.cc:1296-1954,1956
/branches/weapon/src/orxonox/objects/worldentities/PositionableEntity.cc:1926-2095
/branches/weaponsystem/src/orxonox/objects/worldentities/StaticEntity.cc:2743-2891
   + /branches/buildsystem3/src/orxonox/objects/worldentities/StaticEntity.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/worldentities/PositionableEntity.cc:1803-1809
/branches/core3/src/orxonox/objects/worldentities/PositionableEntity.cc:1573-1740
/branches/gcc43/src/orxonox/objects/worldentities/PositionableEntity.cc:1581
/branches/gui/src/orxonox/objects/worldentities/PositionableEntity.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/StaticEntity.cc:2796-2895
/branches/input/src/orxonox/objects/worldentities/PositionableEntity.cc:1630-1637
/branches/miniprojects/src/orxonox/objects/worldentities/StaticEntity.cc:2755-2825
/branches/objecthierarchy/src/orxonox/objects/worldentities/PositionableEntity.cc:1912-2086,2101
/branches/physics/src/orxonox/objects/worldentities/PositionableEntity.cc:1913-2056
/branches/pickups/src/orxonox/objects/worldentities/PositionableEntity.cc:1927-2087
/branches/presentation/src/orxonox/objects/worldentities/StaticEntity.cc:2655-2661
/branches/questsystem/src/orxonox/objects/worldentities/PositionableEntity.cc:1895-2089
/branches/script_trigger/src/orxonox/objects/worldentities/PositionableEntity.cc:1296-1954,1956
/branches/weapon/src/orxonox/objects/worldentities/PositionableEntity.cc:1926-2095
/branches/weaponsystem/src/orxonox/objects/worldentities/StaticEntity.cc:2743-2891


Property changes on: trunk/src/orxonox/objects/worldentities/StaticEntity.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem3/src/orxonox/objects/worldentities/StaticEntity.h:2663-2709
/branches/ceguilua/src/orxonox/objects/worldentities/PositionableEntity.h:1803-1809
/branches/core3/src/orxonox/objects/worldentities/PositionableEntity.h:1573-1740
/branches/gcc43/src/orxonox/objects/worldentities/PositionableEntity.h:1581
/branches/gui/src/orxonox/objects/worldentities/PositionableEntity.h:1636-1724
/branches/input/src/orxonox/objects/worldentities/PositionableEntity.h:1630-1637
/branches/miniprojects/src/orxonox/objects/worldentities/StaticEntity.h:2755-2825
/branches/objecthierarchy/src/orxonox/objects/worldentities/PositionableEntity.h:1912-2086,2101
/branches/physics/src/orxonox/objects/worldentities/PositionableEntity.h:1913-2056
/branches/pickups/src/orxonox/objects/worldentities/PositionableEntity.h:1927-2087
/branches/presentation/src/orxonox/objects/worldentities/StaticEntity.h:2655-2661
/branches/questsystem/src/orxonox/objects/worldentities/PositionableEntity.h:1895-2089
/branches/script_trigger/src/orxonox/objects/worldentities/PositionableEntity.h:1296-1954,1956
/branches/weapon/src/orxonox/objects/worldentities/PositionableEntity.h:1926-2095
/branches/weaponsystem/src/orxonox/objects/worldentities/StaticEntity.h:2743-2891
   + /branches/buildsystem3/src/orxonox/objects/worldentities/StaticEntity.h:2663-2709
/branches/ceguilua/src/orxonox/objects/worldentities/PositionableEntity.h:1803-1809
/branches/core3/src/orxonox/objects/worldentities/PositionableEntity.h:1573-1740
/branches/gcc43/src/orxonox/objects/worldentities/PositionableEntity.h:1581
/branches/gui/src/orxonox/objects/worldentities/PositionableEntity.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/StaticEntity.h:2796-2895
/branches/input/src/orxonox/objects/worldentities/PositionableEntity.h:1630-1637
/branches/miniprojects/src/orxonox/objects/worldentities/StaticEntity.h:2755-2825
/branches/objecthierarchy/src/orxonox/objects/worldentities/PositionableEntity.h:1912-2086,2101
/branches/physics/src/orxonox/objects/worldentities/PositionableEntity.h:1913-2056
/branches/pickups/src/orxonox/objects/worldentities/PositionableEntity.h:1927-2087
/branches/presentation/src/orxonox/objects/worldentities/StaticEntity.h:2655-2661
/branches/questsystem/src/orxonox/objects/worldentities/PositionableEntity.h:1895-2089
/branches/script_trigger/src/orxonox/objects/worldentities/PositionableEntity.h:1296-1954,1956
/branches/weapon/src/orxonox/objects/worldentities/PositionableEntity.h:1926-2095
/branches/weaponsystem/src/orxonox/objects/worldentities/StaticEntity.h:2743-2891

Modified: trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,7 +29,7 @@
 #include "OrxonoxStableHeaders.h"
 #include "Pawn.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "util/Math.h"
@@ -62,7 +62,7 @@
 
         this->getPickUp().setPlayer(this);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->weaponSystem_ = new WeaponSystem(this);
             this->weaponSystem_->setParentPawn(this);
@@ -210,7 +210,7 @@
             if (this->getPlayer())
                 this->getPlayer()->stopControl(this);
 
-            if (Core::isMaster())
+            if (GameMode::isMaster())
                 this->deatheffect();
         }
         else
@@ -259,7 +259,7 @@
     void Pawn::postSpawn()
     {
         this->setHealth(this->initialHealth_);
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->spawneffect();
     }
 

Modified: trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -33,7 +33,7 @@
 
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/worldentities/Model.h"
 #include "objects/Scene.h"
 #include "objects/infos/PlayerInfo.h"
@@ -62,7 +62,7 @@
 
         this->setDestroyWhenPlayerLeft(true);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             this->greetingFlare_ = new BillboardSet();
             this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0, 1.0, 0.8), Vector3(0, 20, 0), 1);
@@ -205,7 +205,7 @@
     {
         this->bGreeting_ = !this->bGreeting_;
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->bGreetingFlareVisible_ = this->bGreeting_;
             this->changedFlareVisibility();


Property changes on: trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/DistanceTrigger.cc:1803-1809
/branches/core3/src/orxonox/objects/DistanceTrigger.cc:1573-1740
/branches/gcc43/src/orxonox/objects/DistanceTrigger.cc:1581
/branches/gui/src/orxonox/objects/DistanceTrigger.cc:1636-1724
/branches/input/src/orxonox/objects/DistanceTrigger.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/DistanceTrigger.cc:1296-1692,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/DistanceTrigger.cc:1803-1809
/branches/core3/src/orxonox/objects/DistanceTrigger.cc:1573-1740
/branches/gcc43/src/orxonox/objects/DistanceTrigger.cc:1581
/branches/gui/src/orxonox/objects/DistanceTrigger.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2796-2895
/branches/input/src/orxonox/objects/DistanceTrigger.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/DistanceTrigger.cc:1296-1692,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc:2-2086


Property changes on: trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2663-2709
/branches/ceguilua/src/orxonox/objects/DistanceTrigger.h:1803-1809
/branches/core3/src/orxonox/objects/DistanceTrigger.h:1573-1740
/branches/gcc43/src/orxonox/objects/DistanceTrigger.h:1581
/branches/gui/src/orxonox/objects/DistanceTrigger.h:1636-1724
/branches/input/src/orxonox/objects/DistanceTrigger.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2260
/branches/script_trigger/src/orxonox/objects/DistanceTrigger.h:1296-1692,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2663-2709
/branches/ceguilua/src/orxonox/objects/DistanceTrigger.h:1803-1809
/branches/core3/src/orxonox/objects/DistanceTrigger.h:1573-1740
/branches/gcc43/src/orxonox/objects/DistanceTrigger.h:1581
/branches/gui/src/orxonox/objects/DistanceTrigger.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2796-2895
/branches/input/src/orxonox/objects/DistanceTrigger.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2260
/branches/script_trigger/src/orxonox/objects/DistanceTrigger.h:1296-1692,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h:2-2086

Modified: trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -35,7 +35,7 @@
 #include "core/CoreIncludes.h"
 #include "core/ConsoleCommand.h"
 #include "core/XMLPort.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/Scene.h"
 
 namespace orxonox
@@ -66,7 +66,7 @@
 
 //    this->bUpdating_ = false;
 
-    if (this->getScene() && Core::showsGraphics())
+    if (this->getScene() && GameMode::showsGraphics())
     {
       this->debugBillboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0, 0.0, 0.0), 1);
       this->debugBillboard_.setVisible(false);


Property changes on: trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/Trigger.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Trigger.cc:1803-1809
/branches/core3/src/orxonox/objects/Trigger.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Trigger.cc:1581
/branches/gui/src/orxonox/objects/Trigger.cc:1636-1724
/branches/input/src/orxonox/objects/Trigger.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/Trigger.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/Trigger.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/Trigger.cc:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/Trigger.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/Trigger.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/Trigger.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/Trigger.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/Trigger.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Trigger.cc:1296-1382,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/Trigger.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/Trigger.cc:2663-2709
/branches/ceguilua/src/orxonox/objects/Trigger.cc:1803-1809
/branches/core3/src/orxonox/objects/Trigger.cc:1573-1740
/branches/gcc43/src/orxonox/objects/Trigger.cc:1581
/branches/gui/src/orxonox/objects/Trigger.cc:1636-1724
/branches/gui/src/orxonox/objects/worldentities/triggers/Trigger.cc:2796-2895
/branches/input/src/orxonox/objects/Trigger.cc:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/Trigger.cc:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/Trigger.cc:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/Trigger.cc:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/Trigger.cc:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/Trigger.cc:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/Trigger.cc:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/Trigger.cc:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/Trigger.cc:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2260
/branches/script_trigger/src/orxonox/objects/Trigger.cc:1296-1382,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/Trigger.cc:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/Trigger.cc:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc:2-2086


Property changes on: trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/Trigger.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/Trigger.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Trigger.h:1803-1809
/branches/core3/src/orxonox/objects/Trigger.h:1573-1740
/branches/gcc43/src/orxonox/objects/Trigger.h:1581
/branches/gui/src/orxonox/objects/Trigger.h:1636-1724
/branches/input/src/orxonox/objects/Trigger.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/Trigger.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/Trigger.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/Trigger.h:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/Trigger.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/Trigger.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/Trigger.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/Trigger.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/Trigger.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/Trigger.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Trigger.h:1296-1382,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/Trigger.h:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h:2-2086
   + /branches/buildsystem2/src/orxonox/objects/worldentities/triggers/Trigger.h:2507-2659
/branches/buildsystem3/src/orxonox/objects/worldentities/triggers/Trigger.h:2663-2709
/branches/ceguilua/src/orxonox/objects/Trigger.h:1803-1809
/branches/core3/src/orxonox/objects/Trigger.h:1573-1740
/branches/gcc43/src/orxonox/objects/Trigger.h:1581
/branches/gui/src/orxonox/objects/Trigger.h:1636-1724
/branches/gui/src/orxonox/objects/worldentities/triggers/Trigger.h:2796-2895
/branches/input/src/orxonox/objects/Trigger.h:1630-1637
/branches/lodfinal/src/orxonox/objects/worldentities/triggers/Trigger.h:2373-2412
/branches/miniprojects/src/orxonox/objects/worldentities/triggers/Trigger.h:2755-2825
/branches/network/src/orxonox/objects/worldentities/triggers/Trigger.h:2357
/branches/network64/src/orxonox/objects/worldentities/triggers/Trigger.h:2211-2356
/branches/objecthierarchy/src/orxonox/objects/worldentities/triggers/Trigger.h:2101,2111-2170
/branches/objecthierarchy2/src/orxonox/objects/worldentities/triggers/Trigger.h:2172-2480
/branches/overlay/src/orxonox/objects/worldentities/triggers/Trigger.h:2118-2386
/branches/physics/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2440
/branches/physics_merge/src/orxonox/objects/worldentities/triggers/Trigger.h:2437-2458
/branches/pickups2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2498
/branches/presentation/src/orxonox/objects/worldentities/triggers/Trigger.h:2370-2653,2655-2661
/branches/questsystem2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2260
/branches/script_trigger/src/orxonox/objects/Trigger.h:1296-1382,1956
/branches/weapon2/src/orxonox/objects/worldentities/triggers/Trigger.h:2108-2489
/branches/weaponsystem/src/orxonox/objects/worldentities/triggers/Trigger.h:2743-2891
/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h:2-2086

Modified: trunk/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- trunk/src/orxonox/overlays/OrxonoxOverlay.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/OrxonoxOverlay.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -38,13 +38,16 @@
 #include <OgreOverlay.h>
 #include <OgreOverlayManager.h>
 #include <OgrePanelOverlayElement.h>
+#include <OgreRenderWindow.h>
+
 #include "util/Convert.h"
 #include "util/Exception.h"
 #include "util/String.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "core/ConsoleCommand.h"
+#include "GraphicsManager.h"
 
 namespace orxonox
 {
@@ -63,7 +66,7 @@
         this->owner_ = 0;
         this->group_ = 0;
 
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             ThrowException(NoGraphics, "Can't create OrxonoxOverlay, graphics engine not initialized");
 
         // create the Ogre::Overlay
@@ -76,9 +79,9 @@
             "OrxonoxOverlay_background_" + convertToString(hudOverlayCounter_s++)));
         this->overlay_->add2D(this->background_);
 
-        // We'll have to set the aspect ratio to a default value first.
-        // GSGraphics gets informed about our construction here and can update us in the next tick.
-        this->windowAspectRatio_ = 1.0;
+        // Get aspect ratio from the render window. Later on, we get informed automatically
+        Ogre::RenderWindow* defaultWindow = GraphicsManager::getInstance().getRenderWindow();
+        this->windowAspectRatio_ = (float)defaultWindow->getWidth() / defaultWindow->getHeight();
         this->sizeCorrectionChanged();
 
         this->changedVisibility();
@@ -174,10 +177,10 @@
 
     /**
     @brief
-        Called by the GraphicsEngine whenever the window size changes.
+        Called by the GraphicsManager whenever the window size changes.
         Calculates the aspect ratio only.
     */
-    void OrxonoxOverlay::windowResized(int newWidth, int newHeight)
+    void OrxonoxOverlay::windowResized(unsigned int newWidth, unsigned int newHeight)
     {
         this->windowAspectRatio_ = newWidth/(float)newHeight;
         this->sizeCorrectionChanged();

Modified: trunk/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- trunk/src/orxonox/overlays/OrxonoxOverlay.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/OrxonoxOverlay.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -199,7 +199,7 @@
         RotationState rotState_;             //!< horizontal, vertical or inbetween
 
     private:
-        void windowResized(int newWidth, int newHeight);
+        void windowResized(unsigned int newWidth, unsigned int newHeight);
 
         static unsigned int hudOverlayCounter_s;   //!< Static counter for hud elements
         /** Contains all the overlays in a map for quick access via console commands.

Modified: trunk/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- trunk/src/orxonox/overlays/console/InGameConsole.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/console/InGameConsole.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -41,6 +41,7 @@
 #include "util/Math.h"
 #include "util/Convert.h"
 #include "util/Debug.h"
+#include "core/Clock.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
 #include "core/ConsoleCommand.h"
@@ -171,7 +172,7 @@
     void InGameConsole::initialise(int windowWidth, int windowHeight)
     {
         // create the corresponding input state
-        inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("console", 40);
+        inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("console", false, false, InputStatePriority::Console);
         inputState_->setKeyHandler(Shell::getInstance().getInputBuffer());
         bHidesAllInputChanged();
 
@@ -346,7 +347,7 @@
     /**
         @brief Used to control the actual scrolling and the cursor.
     */
-    void InGameConsole::tick(float dt)
+    void InGameConsole::update(const Clock& time)
     {
         if (this->scroll_ != 0)
         {
@@ -357,7 +358,7 @@
                 // scrolling down
                 // enlarge oldTop a little bit so that this exponential function
                 // reaches 0 before infinite time has passed...
-                float deltaScroll = (oldTop - 0.01) * dt * this->scrollSpeed_;
+                float deltaScroll = (oldTop - 0.01) * time.getDeltaTime() * this->scrollSpeed_;
                 if (oldTop - deltaScroll >= 0)
                 {
                     // window has completely scrolled down
@@ -372,7 +373,7 @@
             {
                 // scrolling up
                 // note: +0.01 for the same reason as when scrolling down
-                float deltaScroll = (1.2 * this->relativeHeight + 0.01 + oldTop) * dt * this->scrollSpeed_;
+                float deltaScroll = (1.2 * this->relativeHeight + 0.01 + oldTop) * time.getDeltaTime() * this->scrollSpeed_;
                 if (oldTop - deltaScroll <= -1.2 * this->relativeHeight)
                 {
                     // window has completely scrolled up
@@ -387,7 +388,7 @@
 
         if (this->bActive_)
         {
-            this->cursor_ += dt;
+            this->cursor_ += time.getDeltaTime();
             if (this->cursor_ >= this->blinkTime)
             {
                 this->cursor_ = 0;
@@ -408,7 +409,7 @@
     /**
         @brief Resizes the console elements. Call if window size changes.
     */
-    void InGameConsole::windowResized(int newWidth, int newHeight)
+    void InGameConsole::windowResized(unsigned int newWidth, unsigned int newHeight)
     {
         this->windowW_ = newWidth;
         this->windowH_ = newHeight;

Modified: trunk/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- trunk/src/orxonox/overlays/console/InGameConsole.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/console/InGameConsole.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -52,7 +52,7 @@
         void destroy();
         void setConfigValues();
 
-        virtual void tick(float dt);
+        void update(const Clock& time);
 
         static InGameConsole& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
         static InGameConsole* getInstancePtr() { return singletonRef_s; }
@@ -80,7 +80,7 @@
         void setCursorPosition(unsigned int pos);
         void print(const std::string& text, int index, bool alwaysShift = false);
 
-        void windowResized(int newWidth, int newHeight);
+        void windowResized(unsigned int newWidth, unsigned int newHeight);
 
         // config value related
         void bHidesAllInputChanged();

Modified: trunk/src/orxonox/overlays/debug/DebugFPSText.cc
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugFPSText.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/debug/DebugFPSText.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -29,9 +29,9 @@
 #include "OrxonoxStableHeaders.h"
 #include "DebugFPSText.h"
 #include <OgreTextAreaOverlayElement.h>
+#include "util/Convert.h"
 #include "core/CoreIncludes.h"
-#include "GraphicsEngine.h"
-#include "util/Convert.h"
+#include "core/Game.h"
 
 namespace orxonox
 {
@@ -50,7 +50,7 @@
     {
         SUPER(DebugFPSText, tick, dt);
 
-        float fps = GraphicsEngine::getInstance().getAverageFramesPerSecond();
+        float fps = Game::getInstance().getAvgFPS();
         this->setCaption(convertToString(fps));
     }
 }

Modified: trunk/src/orxonox/overlays/debug/DebugRTRText.cc
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugRTRText.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/debug/DebugRTRText.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -31,7 +31,7 @@
 #include <OgreTextAreaOverlayElement.h>
 #include "core/CoreIncludes.h"
 #include "util/Convert.h"
-#include "GraphicsEngine.h"
+#include "core/Game.h"
 
 namespace orxonox
 {
@@ -50,7 +50,7 @@
     {
         SUPER(DebugRTRText, tick, dt);
 
-        float rtr = GraphicsEngine::getInstance().getAverageTickTime();
+        float rtr = Game::getInstance().getAvgTickTime();
         this->setCaption(convertToString(rtr));
     }
 }

Modified: trunk/src/orxonox/overlays/hud/HUDRadar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDRadar.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/overlays/hud/HUDRadar.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -93,7 +93,7 @@
 
     void HUDRadar::displayObject(RadarViewable* object, bool bIsMarked)
     {
-        if (object == (RadarViewable*)this->owner_)
+        if (object == static_cast<RadarViewable*>(this->owner_))
             return;
 
         const WorldEntity* wePointer = object->getWorldEntity();

Modified: trunk/src/orxonox/tools/BillboardSet.cc
===================================================================
--- trunk/src/orxonox/tools/BillboardSet.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/BillboardSet.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -36,7 +36,7 @@
 #include <OgreBillboardSet.h>
 #include <OgreBillboard.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "util/Convert.h"
 #include "util/String.h"
 
@@ -71,7 +71,7 @@
 
         try
         {
-            if (Core::showsGraphics())
+            if (GameMode::showsGraphics())
             {
                 this->billboardSet_ = scenemanager->createBillboardSet("Billboard" + convertToString(BillboardSet::billboardSetCounter_s++), count);
                 this->billboardSet_->createBillboard(position);
@@ -94,7 +94,7 @@
 
         try
         {
-            if (Core::showsGraphics())
+            if (GameMode::showsGraphics())
             {
                 this->billboardSet_ = scenemanager->createBillboardSet("Billboard" + convertToString(BillboardSet::billboardSetCounter_s++), count);
                 this->billboardSet_->createBillboard(position, colour);

Modified: trunk/src/orxonox/tools/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/tools/CMakeLists.txt	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/CMakeLists.txt	2009-04-05 23:59:00 UTC (rev 2896)
@@ -4,6 +4,7 @@
   ParticleInterface.cc
   Shader.cc
   TextureGenerator.cc
+  TimeFactorListener.cc
   Timer.cc
   WindowEventListener.cc
 )

Modified: trunk/src/orxonox/tools/Mesh.cc
===================================================================
--- trunk/src/orxonox/tools/Mesh.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/Mesh.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -34,7 +34,7 @@
 #include <OgreSceneManager.h>
 #include <cassert>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "util/Convert.h"
 #include "util/String.h"
 
@@ -63,7 +63,7 @@
         if (this->entity_)
             this->scenemanager_->destroyEntity(this->entity_);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             try
             {

Modified: trunk/src/orxonox/tools/ParticleInterface.cc
===================================================================
--- trunk/src/orxonox/tools/ParticleInterface.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/ParticleInterface.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -39,8 +39,8 @@
 #include <OgreSceneManager.h>
 #include <cassert>
 
-#include "GraphicsEngine.h"
-#include "core/Core.h"
+#include "GraphicsManager.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "util/Convert.h"
 
@@ -63,7 +63,7 @@
         this->bAllowedByLOD_ = true;
         this->speedFactor_ = 1.0f;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             try
             {
@@ -177,8 +177,8 @@
     void ParticleInterface::setDetailLevel(unsigned int level)
     {
         this->detaillevel_ = level;
-        if (GraphicsEngine::getInstancePtr())
-            this->detailLevelChanged(GraphicsEngine::getInstance().getDetailLevelParticle());
+        if (GameMode::showsGraphics())
+            this->detailLevelChanged(GraphicsManager::getInstance().getDetailLevelParticle());
     }
 
     void ParticleInterface::detailLevelChanged(unsigned int newlevel)

Modified: trunk/src/orxonox/tools/ParticleInterface.h
===================================================================
--- trunk/src/orxonox/tools/ParticleInterface.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/ParticleInterface.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -36,7 +36,7 @@
 
 #include "core/OrxonoxClass.h"
 #include "util/Math.h"
-#include "gamestates/GSRoot.h"
+#include "tools/TimeFactorListener.h"
 
 #define getAllEmitters() \
   storeThisAsCurrentParticleInterface(); \

Modified: trunk/src/orxonox/tools/Shader.cc
===================================================================
--- trunk/src/orxonox/tools/Shader.cc	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/Shader.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -35,10 +35,10 @@
 #include <OgreRoot.h>
 #include <OgrePlugin.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
-#include "GraphicsEngine.h"
+#include "GraphicsManager.h"
 #include "util/Exception.h"
 
 #include <OgreMaterial.h>
@@ -58,7 +58,7 @@
         this->scenemanager_ = scenemanager;
         this->compositorInstance_ = 0;
         this->bVisible_ = true;
-        this->bLoadCompositor_ = Core::showsGraphics() && GraphicsEngine::getInstancePtr();
+        this->bLoadCompositor_ = GameMode::showsGraphics();
         this->bViewportInitialized_ = false;
         this->compositor_ = "";
         this->oldcompositor_ = "";
@@ -85,7 +85,7 @@
 
         if (this->bLoadCompositor_ && this->compositorInstance_)
         {
-            Ogre::Viewport* viewport = GraphicsEngine::getInstance().getViewport();
+            Ogre::Viewport* viewport = GraphicsManager::getInstance().getViewport();
             assert(viewport);
             Ogre::CompositorManager::getSingleton().removeCompositor(viewport, this->compositor_);
         }
@@ -113,7 +113,7 @@
     {
         if (this->bLoadCompositor_)
         {
-            Ogre::Viewport* viewport = GraphicsEngine::getInstance().getViewport();
+            Ogre::Viewport* viewport = GraphicsManager::getInstance().getViewport();
             assert(viewport);
             if (this->oldcompositor_ != "")
             {
@@ -245,7 +245,7 @@
 
     Shader::ParameterPointer* Shader::getParameterPointer(const std::string& material, size_t technique, size_t pass, const std::string& parameter)
     {
-        if (!Core::showsGraphics() || !Shader::bLoadedCgPlugin_s)
+        if (!GameMode::showsGraphics() || !Shader::bLoadedCgPlugin_s)
             return 0;
 
         MaterialMap::iterator material_iterator = Shader::parameters_s.find(material);

Copied: trunk/src/orxonox/tools/TimeFactorListener.cc (from rev 2895, branches/gui/src/orxonox/tools/TimeFactorListener.cc)
===================================================================
--- trunk/src/orxonox/tools/TimeFactorListener.cc	                        (rev 0)
+++ trunk/src/orxonox/tools/TimeFactorListener.cc	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,41 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+#include "TimeFactorListener.h"
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+    float TimeFactorListener::timefactor_s = 1.0f;
+
+    TimeFactorListener::TimeFactorListener()
+    {
+        RegisterRootObject(TimeFactorListener);
+    }
+}

Copied: trunk/src/orxonox/tools/TimeFactorListener.h (from rev 2895, branches/gui/src/orxonox/tools/TimeFactorListener.h)
===================================================================
--- trunk/src/orxonox/tools/TimeFactorListener.h	                        (rev 0)
+++ trunk/src/orxonox/tools/TimeFactorListener.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -0,0 +1,56 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _TimeFactorListener_H__
+#define _TimeFactorListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport TimeFactorListener : virtual public OrxonoxClass
+    {
+        friend class GSRoot;
+
+        public:
+            TimeFactorListener();
+            virtual ~TimeFactorListener() {}
+
+        protected:
+            virtual void changedTimeFactor(float factor_new, float factor_old) {}
+            inline float getTimeFactor() const
+                { return TimeFactorListener::timefactor_s; }
+
+        private:
+            static float timefactor_s;
+    };
+}
+
+#endif /* _TimeFactorListener_H__ */

Modified: trunk/src/orxonox/tools/Timer.h
===================================================================
--- trunk/src/orxonox/tools/Timer.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/Timer.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -63,7 +63,7 @@
 #include "OrxonoxPrereqs.h"
 #include "core/Executor.h"
 #include "core/OrxonoxClass.h"
-#include "gamestates/GSRoot.h"
+#include "tools/TimeFactorListener.h"
 
 namespace orxonox
 {

Modified: trunk/src/orxonox/tools/WindowEventListener.h
===================================================================
--- trunk/src/orxonox/tools/WindowEventListener.h	2009-04-05 22:00:51 UTC (rev 2895)
+++ trunk/src/orxonox/tools/WindowEventListener.h	2009-04-05 23:59:00 UTC (rev 2896)
@@ -48,7 +48,7 @@
             virtual void windowMoved() { }
 
             /** Window has resized */
-            virtual void windowResized(int newWidth, int newHeight) { }
+            virtual void windowResized(unsigned int newWidth, unsigned int newHeight) { }
 
             /** Window has lost/gained focus */
             virtual void windowFocusChanged() { }


Property changes on: trunk/src/tolua/all-5.0.lua
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/tolua/all-5.0.lua:2279-2401
/branches/ceguilua/src/tolua/lua/all.lua:1803-1809
/branches/core3/src/tolua/lua/all.lua:1573-1740
/branches/gcc43/src/tolua/lua/all.lua:1581
/branches/gui/src/tolua/lua/all.lua:1636-1724
/branches/input/src/tolua/lua/all.lua:1630-1637
/branches/miniprojects/src/tolua/all-5.0.lua:2755-2825
/branches/weaponsystem/src/tolua/all-5.0.lua:2743-2891
   + /branches/buildsystem/src/tolua/all-5.0.lua:2279-2401
/branches/ceguilua/src/tolua/lua/all.lua:1803-1809
/branches/core3/src/tolua/lua/all.lua:1573-1740
/branches/gcc43/src/tolua/lua/all.lua:1581
/branches/gui/src/tolua/all-5.0.lua:2796-2895
/branches/gui/src/tolua/lua/all.lua:1636-1724
/branches/input/src/tolua/lua/all.lua:1630-1637
/branches/miniprojects/src/tolua/all-5.0.lua:2755-2825
/branches/weaponsystem/src/tolua/all-5.0.lua:2743-2891


Property changes on: trunk/src/tolua/all-5.1.lua
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/tolua/all-5.1.lua:2279-2401
/branches/ceguilua/src/tolua/lua/all.lua:1803-1809
/branches/core3/src/tolua/lua/all.lua:1573-1740
/branches/gcc43/src/tolua/lua/all.lua:1581
/branches/gui/src/tolua/lua/all.lua:1636-1724
/branches/input/src/tolua/lua/all.lua:1630-1637
/branches/miniprojects/src/tolua/all-5.1.lua:2755-2825
/branches/weaponsystem/src/tolua/all-5.1.lua:2743-2891
   + /branches/buildsystem/src/tolua/all-5.1.lua:2279-2401
/branches/ceguilua/src/tolua/lua/all.lua:1803-1809
/branches/core3/src/tolua/lua/all.lua:1573-1740
/branches/gcc43/src/tolua/lua/all.lua:1581
/branches/gui/src/tolua/all-5.1.lua:2796-2895
/branches/gui/src/tolua/lua/all.lua:1636-1724
/branches/input/src/tolua/lua/all.lua:1630-1637
/branches/miniprojects/src/tolua/all-5.1.lua:2755-2825
/branches/weaponsystem/src/tolua/all-5.1.lua:2743-2891


Property changes on: trunk/src/util
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/util:1875-2277,2279-2401
/branches/buildsystem2/src/util:2507-2659
/branches/buildsystem3/src/util:2663-2709
/branches/ceguilua/src/util:1803-1809
/branches/core3/src/util:1573-1740,1743-2015
/branches/gcc43/src/util:1581
/branches/gui/src/util:1636-1724
/branches/input/src/util:1630-1637
/branches/lodfinal/src/util:2373-2412
/branches/miniprojects/src/util:2755-2825
/branches/network/src/util:2357
/branches/network64/src/util:2211-2356
/branches/objecthierarchy/src/util:2101,2111-2170
/branches/objecthierarchy2/src/util:2172-2480
/branches/overlay/src/util:2118-2386
/branches/physics/src/util:1913-2056,2108-2440
/branches/physics_merge/src/util:2437-2458
/branches/pickups/src/util:1927-2087,2128
/branches/pickups2/src/util:2108-2498
/branches/presentation/src/util:2370-2653,2655-2661
/branches/questsystem/src/util:1895-2089
/branches/questsystem2/src/util:2108-2260
/branches/script_trigger/src/util:1296-1954,1956
/branches/weapon/src/util:1926-2095
/branches/weapon2/src/util:2108-2489
/branches/weaponsystem/src/util:2743-2891
   + /branches/buildsystem/src/util:1875-2277,2279-2401
/branches/buildsystem2/src/util:2507-2659
/branches/buildsystem3/src/util:2663-2709
/branches/ceguilua/src/util:1803-1809
/branches/core3/src/util:1573-1740,1743-2015
/branches/gcc43/src/util:1581
/branches/gui/src/util:1636-1724,2796-2895
/branches/input/src/util:1630-1637
/branches/lodfinal/src/util:2373-2412
/branches/miniprojects/src/util:2755-2825
/branches/network/src/util:2357
/branches/network64/src/util:2211-2356
/branches/objecthierarchy/src/util:2101,2111-2170
/branches/objecthierarchy2/src/util:2172-2480
/branches/overlay/src/util:2118-2386
/branches/physics/src/util:1913-2056,2108-2440
/branches/physics_merge/src/util:2437-2458
/branches/pickups/src/util:1927-2087,2128
/branches/pickups2/src/util:2108-2498
/branches/presentation/src/util:2370-2653,2655-2661
/branches/questsystem/src/util:1895-2089
/branches/questsystem2/src/util:2108-2260
/branches/script_trigger/src/util:1296-1954,1956
/branches/weapon/src/util:1926-2095
/branches/weapon2/src/util:2108-2489
/branches/weaponsystem/src/util:2743-2891


Property changes on: trunk/src/util/Exception.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/util/Exception.cc:1875-2277,2279-2401
/branches/buildsystem2/src/util/Exception.cc:2507-2659
/branches/buildsystem3/src/util/Exception.cc:2663-2709
/branches/ceguilua/src/util/Exception.cc:1803-1809
/branches/core3/src/core/Exception.cc:1573-1740
/branches/gcc43/src/core/Exception.cc:1581
/branches/gui/src/core/Exception.cc:1636-1637
/branches/input/src/core/Exception.cc:1630-1637
/branches/lodfinal/src/util/Exception.cc:2373-2412
/branches/miniprojects/src/util/Exception.cc:2755-2825
/branches/network/src/util/Exception.cc:2357
/branches/network64/src/util/Exception.cc:2211-2356
/branches/objecthierarchy/src/util/Exception.cc:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/util/Exception.cc:2172-2480
/branches/overlay/src/util/Exception.cc:2118-2386
/branches/physics/src/util/Exception.cc:1913-2056,2108-2440
/branches/physics_merge/src/util/Exception.cc:2437-2458
/branches/pickups/src/util/Exception.cc:1927-2087,2128
/branches/pickups2/src/util/Exception.cc:2108-2498
/branches/presentation/src/util/Exception.cc:2370-2653,2655-2661
/branches/questsystem/src/util/Exception.cc:1895-2089
/branches/questsystem2/src/util/Exception.cc:2108-2260
/branches/weapon/src/util/Exception.cc:1926-2095
/branches/weapon2/src/util/Exception.cc:2108-2489
/branches/weaponsystem/src/util/Exception.cc:2743-2891
   + /branches/buildsystem/src/util/Exception.cc:1875-2277,2279-2401
/branches/buildsystem2/src/util/Exception.cc:2507-2659
/branches/buildsystem3/src/util/Exception.cc:2663-2709
/branches/ceguilua/src/util/Exception.cc:1803-1809
/branches/core3/src/core/Exception.cc:1573-1740
/branches/gcc43/src/core/Exception.cc:1581
/branches/gui/src/core/Exception.cc:1636-1637
/branches/gui/src/util/Exception.cc:2796-2895
/branches/input/src/core/Exception.cc:1630-1637
/branches/lodfinal/src/util/Exception.cc:2373-2412
/branches/miniprojects/src/util/Exception.cc:2755-2825
/branches/network/src/util/Exception.cc:2357
/branches/network64/src/util/Exception.cc:2211-2356
/branches/objecthierarchy/src/util/Exception.cc:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/util/Exception.cc:2172-2480
/branches/overlay/src/util/Exception.cc:2118-2386
/branches/physics/src/util/Exception.cc:1913-2056,2108-2440
/branches/physics_merge/src/util/Exception.cc:2437-2458
/branches/pickups/src/util/Exception.cc:1927-2087,2128
/branches/pickups2/src/util/Exception.cc:2108-2498
/branches/presentation/src/util/Exception.cc:2370-2653,2655-2661
/branches/questsystem/src/util/Exception.cc:1895-2089
/branches/questsystem2/src/util/Exception.cc:2108-2260
/branches/weapon/src/util/Exception.cc:1926-2095
/branches/weapon2/src/util/Exception.cc:2108-2489
/branches/weaponsystem/src/util/Exception.cc:2743-2891


Property changes on: trunk/src/util/Exception.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem/src/util/Exception.h:1875-2277,2279-2401
/branches/buildsystem2/src/util/Exception.h:2507-2659
/branches/buildsystem3/src/util/Exception.h:2663-2709
/branches/ceguilua/src/util/Exception.h:1803-1809
/branches/core3/src/core/Exception.h:1573-1740
/branches/gcc43/src/core/Exception.h:1581
/branches/gui/src/core/Exception.h:1636-1637
/branches/input/src/core/Exception.h:1630-1637
/branches/lodfinal/src/util/Exception.h:2373-2412
/branches/miniprojects/src/util/Exception.h:2755-2825
/branches/network/src/util/Exception.h:2357
/branches/network64/src/util/Exception.h:2211-2356
/branches/objecthierarchy/src/util/Exception.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/util/Exception.h:2172-2480
/branches/overlay/src/util/Exception.h:2118-2386
/branches/physics/src/util/Exception.h:1913-2056,2108-2440
/branches/physics_merge/src/util/Exception.h:2437-2458
/branches/pickups/src/util/Exception.h:1927-2087,2128
/branches/pickups2/src/util/Exception.h:2108-2498
/branches/presentation/src/util/Exception.h:2370-2653,2655-2661
/branches/questsystem/src/util/Exception.h:1895-2089
/branches/questsystem2/src/util/Exception.h:2108-2260
/branches/weapon/src/util/Exception.h:1926-2095
/branches/weapon2/src/util/Exception.h:2108-2489
/branches/weaponsystem/src/util/Exception.h:2743-2891
   + /branches/buildsystem/src/util/Exception.h:1875-2277,2279-2401
/branches/buildsystem2/src/util/Exception.h:2507-2659
/branches/buildsystem3/src/util/Exception.h:2663-2709
/branches/ceguilua/src/util/Exception.h:1803-1809
/branches/core3/src/core/Exception.h:1573-1740
/branches/gcc43/src/core/Exception.h:1581
/branches/gui/src/core/Exception.h:1636-1637
/branches/gui/src/util/Exception.h:2796-2895
/branches/input/src/core/Exception.h:1630-1637
/branches/lodfinal/src/util/Exception.h:2373-2412
/branches/miniprojects/src/util/Exception.h:2755-2825
/branches/network/src/util/Exception.h:2357
/branches/network64/src/util/Exception.h:2211-2356
/branches/objecthierarchy/src/util/Exception.h:1912-2086,2101,2111-2170
/branches/objecthierarchy2/src/util/Exception.h:2172-2480
/branches/overlay/src/util/Exception.h:2118-2386
/branches/physics/src/util/Exception.h:1913-2056,2108-2440
/branches/physics_merge/src/util/Exception.h:2437-2458
/branches/pickups/src/util/Exception.h:1927-2087,2128
/branches/pickups2/src/util/Exception.h:2108-2498
/branches/presentation/src/util/Exception.h:2370-2653,2655-2661
/branches/questsystem/src/util/Exception.h:1895-2089
/branches/questsystem2/src/util/Exception.h:2108-2260
/branches/weapon/src/util/Exception.h:1926-2095
/branches/weapon2/src/util/Exception.h:2108-2489
/branches/weaponsystem/src/util/Exception.h:2743-2891


Property changes on: trunk/src/util/SignalHandler.cc
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/util/SignalHandler.cc:2507-2659
/branches/buildsystem3/src/util/SignalHandler.cc:2663-2709
/branches/ceguilua/src/orxonox/SignalHandler.cc:1803-1809
/branches/core3/src/orxonox/SignalHandler.cc:1573-1606
/branches/gcc43/src/orxonox/SignalHandler.cc:1581
/branches/gui/src/orxonox/SignalHandler.cc:1636-1724
/branches/input/src/orxonox/SignalHandler.cc:1630-1637
/branches/lodfinal/src/util/SignalHandler.cc:2373-2412
/branches/miniprojects/src/util/SignalHandler.cc:2755-2825
/branches/network/src/util/SignalHandler.cc:2357
/branches/network64/src/util/SignalHandler.cc:2211-2356
/branches/objecthierarchy/src/util/SignalHandler.cc:2101,2111-2170
/branches/objecthierarchy2/src/util/SignalHandler.cc:2172-2480
/branches/overlay/src/util/SignalHandler.cc:2118-2386
/branches/physics/src/util/SignalHandler.cc:2108-2440
/branches/physics_merge/src/util/SignalHandler.cc:2437-2458
/branches/pickups2/src/util/SignalHandler.cc:2108-2498
/branches/presentation/src/util/SignalHandler.cc:2370-2653,2655-2661
/branches/questsystem2/src/util/SignalHandler.cc:2108-2260
/branches/script_trigger/src/orxonox/SignalHandler.cc:1296-1954,1956
/branches/weapon2/src/util/SignalHandler.cc:2108-2489
/branches/weaponsystem/src/util/SignalHandler.cc:2743-2891
/trunk/src/util/SignalHandler.cc:2-2086
   + /branches/buildsystem2/src/util/SignalHandler.cc:2507-2659
/branches/buildsystem3/src/util/SignalHandler.cc:2663-2709
/branches/ceguilua/src/orxonox/SignalHandler.cc:1803-1809
/branches/core3/src/orxonox/SignalHandler.cc:1573-1606
/branches/gcc43/src/orxonox/SignalHandler.cc:1581
/branches/gui/src/orxonox/SignalHandler.cc:1636-1724
/branches/gui/src/util/SignalHandler.cc:2796-2895
/branches/input/src/orxonox/SignalHandler.cc:1630-1637
/branches/lodfinal/src/util/SignalHandler.cc:2373-2412
/branches/miniprojects/src/util/SignalHandler.cc:2755-2825
/branches/network/src/util/SignalHandler.cc:2357
/branches/network64/src/util/SignalHandler.cc:2211-2356
/branches/objecthierarchy/src/util/SignalHandler.cc:2101,2111-2170
/branches/objecthierarchy2/src/util/SignalHandler.cc:2172-2480
/branches/overlay/src/util/SignalHandler.cc:2118-2386
/branches/physics/src/util/SignalHandler.cc:2108-2440
/branches/physics_merge/src/util/SignalHandler.cc:2437-2458
/branches/pickups2/src/util/SignalHandler.cc:2108-2498
/branches/presentation/src/util/SignalHandler.cc:2370-2653,2655-2661
/branches/questsystem2/src/util/SignalHandler.cc:2108-2260
/branches/script_trigger/src/orxonox/SignalHandler.cc:1296-1954,1956
/branches/weapon2/src/util/SignalHandler.cc:2108-2489
/branches/weaponsystem/src/util/SignalHandler.cc:2743-2891
/trunk/src/util/SignalHandler.cc:2-2086


Property changes on: trunk/src/util/SignalHandler.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/buildsystem2/src/util/SignalHandler.h:2507-2659
/branches/buildsystem3/src/util/SignalHandler.h:2663-2709
/branches/ceguilua/src/orxonox/SignalHandler.h:1803-1809
/branches/core3/src/orxonox/SignalHandler.h:1573-1606
/branches/gcc43/src/orxonox/SignalHandler.h:1581
/branches/gui/src/orxonox/SignalHandler.h:1636-1724
/branches/input/src/orxonox/SignalHandler.h:1630-1637
/branches/lodfinal/src/util/SignalHandler.h:2373-2412
/branches/miniprojects/src/util/SignalHandler.h:2755-2825
/branches/network/src/util/SignalHandler.h:2357
/branches/network64/src/util/SignalHandler.h:2211-2356
/branches/objecthierarchy/src/util/SignalHandler.h:2101,2111-2170
/branches/objecthierarchy2/src/util/SignalHandler.h:2172-2480
/branches/overlay/src/util/SignalHandler.h:2118-2386
/branches/physics/src/util/SignalHandler.h:2108-2440
/branches/physics_merge/src/util/SignalHandler.h:2437-2458
/branches/pickups2/src/util/SignalHandler.h:2108-2498
/branches/presentation/src/util/SignalHandler.h:2370-2653,2655-2661
/branches/questsystem2/src/util/SignalHandler.h:2108-2260
/branches/script_trigger/src/orxonox/SignalHandler.h:1296-1954,1956
/branches/weapon2/src/util/SignalHandler.h:2108-2489
/branches/weaponsystem/src/util/SignalHandler.h:2743-2891
/trunk/src/util/SignalHandler.h:2-2086
   + /branches/buildsystem2/src/util/SignalHandler.h:2507-2659
/branches/buildsystem3/src/util/SignalHandler.h:2663-2709
/branches/ceguilua/src/orxonox/SignalHandler.h:1803-1809
/branches/core3/src/orxonox/SignalHandler.h:1573-1606
/branches/gcc43/src/orxonox/SignalHandler.h:1581
/branches/gui/src/orxonox/SignalHandler.h:1636-1724
/branches/gui/src/util/SignalHandler.h:2796-2895
/branches/input/src/orxonox/SignalHandler.h:1630-1637
/branches/lodfinal/src/util/SignalHandler.h:2373-2412
/branches/miniprojects/src/util/SignalHandler.h:2755-2825
/branches/network/src/util/SignalHandler.h:2357
/branches/network64/src/util/SignalHandler.h:2211-2356
/branches/objecthierarchy/src/util/SignalHandler.h:2101,2111-2170
/branches/objecthierarchy2/src/util/SignalHandler.h:2172-2480
/branches/overlay/src/util/SignalHandler.h:2118-2386
/branches/physics/src/util/SignalHandler.h:2108-2440
/branches/physics_merge/src/util/SignalHandler.h:2437-2458
/branches/pickups2/src/util/SignalHandler.h:2108-2498
/branches/presentation/src/util/SignalHandler.h:2370-2653,2655-2661
/branches/questsystem2/src/util/SignalHandler.h:2108-2260
/branches/script_trigger/src/orxonox/SignalHandler.h:1296-1954,1956
/branches/weapon2/src/util/SignalHandler.h:2108-2489
/branches/weaponsystem/src/util/SignalHandler.h:2743-2891
/trunk/src/util/SignalHandler.h:2-2086




More information about the Orxonox-commit mailing list