[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