[Orxonox-commit 664] r3196 - in trunk: . bin cmake doc doc/api src src/bullet src/ceguilua src/core src/core/input src/cpptcl src/network src/network/packet src/ogreceguirenderer src/ois src/orxonox src/orxonox/gamestates src/orxonox/gui src/orxonox/interfaces 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/pickup/items src/orxonox/objects/quest src/orxonox/objects/weaponsystem src/orxonox/objects/weaponsystem/munitions src/orxonox/objects/weaponsystem/projectiles src/orxonox/objects/weaponsystem/weaponmodes 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/overlays/map src/orxonox/overlays/notifications src/orxonox/overlays/stats src/orxonox/sound src/orxonox/tools src/tinyxml src/tolua src/util
rgrieder at orxonox.net
rgrieder at orxonox.net
Sat Jun 20 09:20:52 CEST 2009
Author: rgrieder
Date: 2009-06-20 09:20:47 +0200 (Sat, 20 Jun 2009)
New Revision: 3196
Added:
trunk/bin/vld.ini.in
trunk/cmake/CapitaliseName.cmake
trunk/cmake/GetGCCCompilerFlags.cmake
trunk/cmake/PackageConfig.cmake
trunk/cmake/ParseMacroArguments.cmake
trunk/cmake/PrecompiledHeaderFiles.cmake
trunk/cmake/SeparateFlags.cmake
trunk/cmake/SetCacheAdvanced.cmake
trunk/cmake/TargetUtilities.cmake
trunk/doc/api/dot/
trunk/doc/api/examples/
trunk/doc/api/images/
trunk/doc/api/main.dox
trunk/src/core/CorePrecompiledHeaders.h
trunk/src/network/NetworkPrecompiledHeaders.h
trunk/src/orxonox/OrxonoxPrecompiledHeaders.h
trunk/src/orxonox/interfaces/
trunk/src/orxonox/interfaces/CMakeLists.txt
trunk/src/orxonox/interfaces/GametypeMessageListener.h
trunk/src/orxonox/interfaces/InterfaceCompilation.cc
trunk/src/orxonox/interfaces/PawnListener.h
trunk/src/orxonox/interfaces/RadarListener.h
trunk/src/orxonox/interfaces/RadarViewable.cc
trunk/src/orxonox/interfaces/RadarViewable.h
trunk/src/orxonox/interfaces/Rewardable.h
trunk/src/orxonox/interfaces/TeamColourable.h
trunk/src/orxonox/interfaces/Tickable.h
trunk/src/orxonox/interfaces/TimeFactorListener.h
trunk/src/orxonox/interfaces/WindowEventListener.h
trunk/src/orxonox/orxonox.vcproj.user.in
trunk/src/orxonox/tools/DynamicLines.cc
trunk/src/orxonox/tools/DynamicRenderable.cc
trunk/src/util/OgreForwardRefs.h
trunk/src/util/OrxAssert.h
trunk/src/util/UTFStringConversions.h
Removed:
trunk/archlinux/
trunk/cmake/InstallUtilities.cmake
trunk/doc/examples/
trunk/doc/images/
trunk/src/core/XMLIncludes.h
trunk/src/core/input/CalibratorCallback.cc
trunk/src/core/input/CalibratorCallback.h
trunk/src/network/TODO
trunk/src/orxonox/interfaces/CMakeLists.txt
trunk/src/orxonox/interfaces/GametypeMessageListener.h
trunk/src/orxonox/interfaces/InterfaceCompilation.cc
trunk/src/orxonox/interfaces/PawnListener.h
trunk/src/orxonox/interfaces/RadarListener.h
trunk/src/orxonox/interfaces/RadarViewable.cc
trunk/src/orxonox/interfaces/RadarViewable.h
trunk/src/orxonox/interfaces/Rewardable.h
trunk/src/orxonox/interfaces/TeamColourable.h
trunk/src/orxonox/interfaces/Tickable.h
trunk/src/orxonox/interfaces/TimeFactorListener.h
trunk/src/orxonox/interfaces/WindowEventListener.h
trunk/src/orxonox/objects/GametypeMessageListener.cc
trunk/src/orxonox/objects/GametypeMessageListener.h
trunk/src/orxonox/objects/RadarListener.cc
trunk/src/orxonox/objects/RadarListener.h
trunk/src/orxonox/objects/RadarViewable.cc
trunk/src/orxonox/objects/RadarViewable.h
trunk/src/orxonox/objects/Teamcolourable.cc
trunk/src/orxonox/objects/Teamcolourable.h
trunk/src/orxonox/objects/Tickable.cc
trunk/src/orxonox/objects/Tickable.h
trunk/src/orxonox/objects/quest/Rewardable.cc
trunk/src/orxonox/objects/quest/Rewardable.h
trunk/src/orxonox/orxonox.vcproj.user
trunk/src/orxonox/overlays/stats/StatsTest.cc
trunk/src/orxonox/overlays/stats/StatsTest.h
trunk/src/orxonox/tools/DynamicLines.cpp
trunk/src/orxonox/tools/DynamicRenderable.cpp
trunk/src/orxonox/tools/TimeFactorListener.cc
trunk/src/orxonox/tools/TimeFactorListener.h
trunk/src/orxonox/tools/WindowEventListener.cc
trunk/src/orxonox/tools/WindowEventListener.h
Modified:
trunk/
trunk/bin/CMakeLists.txt
trunk/cmake/BuildConfig.cmake
trunk/cmake/BuildConfigGCC.cmake
trunk/cmake/BuildConfigMSVC.cmake
trunk/cmake/FlagUtilities.cmake
trunk/cmake/GenerateToluaBindings.cmake
trunk/cmake/LibraryConfig.cmake
trunk/cmake/PackageConfigMSVC.cmake
trunk/cmake/PackageConfigMinGW.cmake
trunk/doc/api/CMakeLists.txt
trunk/doc/api/doxy.config.in
trunk/src/CMakeLists.txt
trunk/src/OrxonoxConfig.h.in
trunk/src/SpecialConfig.h.in
trunk/src/bullet/CMakeLists.txt
trunk/src/ceguilua/CMakeLists.txt
trunk/src/core/ArgumentCompletionFunctions.cc
trunk/src/core/ArgumentCompletionListElement.h
trunk/src/core/BaseObject.cc
trunk/src/core/BaseObject.h
trunk/src/core/CMakeLists.txt
trunk/src/core/ClassFactory.h
trunk/src/core/ClassTreeMask.cc
trunk/src/core/ClassTreeMask.h
trunk/src/core/Clock.cc
trunk/src/core/Clock.h
trunk/src/core/CommandEvaluation.cc
trunk/src/core/CommandExecutor.cc
trunk/src/core/CommandExecutor.h
trunk/src/core/CommandLine.cc
trunk/src/core/CommandLine.h
trunk/src/core/ConfigFileManager.cc
trunk/src/core/ConfigFileManager.h
trunk/src/core/ConfigValueContainer.cc
trunk/src/core/ConfigValueContainer.h
trunk/src/core/ConsoleCommand.h
trunk/src/core/ConsoleCommandCompilation.cc
trunk/src/core/ConsoleCommandCompilation.h
trunk/src/core/Core.cc
trunk/src/core/Core.h
trunk/src/core/CoreIncludes.h
trunk/src/core/CorePrereqs.h
trunk/src/core/Event.cc
trunk/src/core/Event.h
trunk/src/core/EventIncludes.h
trunk/src/core/Executor.cc
trunk/src/core/Executor.h
trunk/src/core/Factory.cc
trunk/src/core/Functor.h
trunk/src/core/Game.cc
trunk/src/core/Game.h
trunk/src/core/GameState.cc
trunk/src/core/GameState.h
trunk/src/core/IRC.cc
trunk/src/core/IRC.h
trunk/src/core/Identifier.cc
trunk/src/core/Identifier.h
trunk/src/core/Iterator.h
trunk/src/core/Language.cc
trunk/src/core/Loader.cc
trunk/src/core/Loader.h
trunk/src/core/LuaBind.cc
trunk/src/core/LuaBind.h
trunk/src/core/MetaObjectList.cc
trunk/src/core/Namespace.cc
trunk/src/core/Namespace.h
trunk/src/core/ObjectListBase.cc
trunk/src/core/ObjectListBase.h
trunk/src/core/ObjectListIterator.h
trunk/src/core/OrxonoxClass.cc
trunk/src/core/OrxonoxClass.h
trunk/src/core/Shell.cc
trunk/src/core/Shell.h
trunk/src/core/Super.h
trunk/src/core/TclBind.cc
trunk/src/core/TclBind.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/XMLPort.cc
trunk/src/core/XMLPort.h
trunk/src/core/input/CMakeLists.txt
trunk/src/core/input/ExtendedInputState.cc
trunk/src/core/input/ExtendedInputState.h
trunk/src/core/input/HalfAxis.h
trunk/src/core/input/InputBuffer.cc
trunk/src/core/input/InputBuffer.h
trunk/src/core/input/InputCommands.cc
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/KeyDetector.cc
trunk/src/core/input/KeyDetector.h
trunk/src/core/input/SimpleInputState.cc
trunk/src/core/input/SimpleInputState.h
trunk/src/cpptcl/CMakeLists.txt
trunk/src/network/CMakeLists.txt
trunk/src/network/GamestateClient.cc
trunk/src/network/Host.h
trunk/src/network/NetworkFunction.h
trunk/src/network/Server.cc
trunk/src/network/packet/Gamestate.cc
trunk/src/ogreceguirenderer/CMakeLists.txt
trunk/src/ois/CMakeLists.txt
trunk/src/orxonox/CMakeLists.txt
trunk/src/orxonox/CameraManager.cc
trunk/src/orxonox/CameraManager.h
trunk/src/orxonox/GraphicsManager.cc
trunk/src/orxonox/GraphicsManager.h
trunk/src/orxonox/LevelManager.cc
trunk/src/orxonox/LevelManager.h
trunk/src/orxonox/Main.cc
trunk/src/orxonox/OrxonoxPrereqs.h
trunk/src/orxonox/PawnManager.cc
trunk/src/orxonox/PawnManager.h
trunk/src/orxonox/PlayerManager.cc
trunk/src/orxonox/PlayerManager.h
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/GSLevel.cc
trunk/src/orxonox/gamestates/GSLevel.h
trunk/src/orxonox/gamestates/GSMainMenu.cc
trunk/src/orxonox/gamestates/GSMainMenu.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/gui/GUIManager.cc
trunk/src/orxonox/gui/GUIManager.h
trunk/src/orxonox/objects/CMakeLists.txt
trunk/src/orxonox/objects/EventDispatcher.cc
trunk/src/orxonox/objects/EventDispatcher.h
trunk/src/orxonox/objects/EventListener.cc
trunk/src/orxonox/objects/EventListener.h
trunk/src/orxonox/objects/EventTarget.cc
trunk/src/orxonox/objects/EventTarget.h
trunk/src/orxonox/objects/GlobalShader.cc
trunk/src/orxonox/objects/Level.cc
trunk/src/orxonox/objects/Level.h
trunk/src/orxonox/objects/Radar.cc
trunk/src/orxonox/objects/Radar.h
trunk/src/orxonox/objects/Scene.cc
trunk/src/orxonox/objects/Scene.h
trunk/src/orxonox/objects/Script.cc
trunk/src/orxonox/objects/Script.h
trunk/src/orxonox/objects/Test.h
trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.h
trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.h
trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.h
trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.h
trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.h
trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.cc
trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.h
trunk/src/orxonox/objects/controllers/AIController.cc
trunk/src/orxonox/objects/controllers/AIController.h
trunk/src/orxonox/objects/controllers/ArtificialController.cc
trunk/src/orxonox/objects/controllers/ArtificialController.h
trunk/src/orxonox/objects/controllers/Controller.cc
trunk/src/orxonox/objects/controllers/Controller.h
trunk/src/orxonox/objects/controllers/HumanController.cc
trunk/src/orxonox/objects/controllers/HumanController.h
trunk/src/orxonox/objects/controllers/PongAI.cc
trunk/src/orxonox/objects/controllers/PongAI.h
trunk/src/orxonox/objects/controllers/ScriptController.cc
trunk/src/orxonox/objects/controllers/ScriptController.h
trunk/src/orxonox/objects/controllers/WaypointController.cc
trunk/src/orxonox/objects/controllers/WaypointController.h
trunk/src/orxonox/objects/controllers/WaypointPatrolController.cc
trunk/src/orxonox/objects/controllers/WaypointPatrolController.h
trunk/src/orxonox/objects/gametypes/Asteroids.cc
trunk/src/orxonox/objects/gametypes/Asteroids.h
trunk/src/orxonox/objects/gametypes/Deathmatch.cc
trunk/src/orxonox/objects/gametypes/Deathmatch.h
trunk/src/orxonox/objects/gametypes/Gametype.cc
trunk/src/orxonox/objects/gametypes/Gametype.h
trunk/src/orxonox/objects/gametypes/Pong.cc
trunk/src/orxonox/objects/gametypes/Pong.h
trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc
trunk/src/orxonox/objects/gametypes/TeamBaseMatch.h
trunk/src/orxonox/objects/gametypes/TeamDeathmatch.cc
trunk/src/orxonox/objects/gametypes/TeamDeathmatch.h
trunk/src/orxonox/objects/gametypes/UnderAttack.cc
trunk/src/orxonox/objects/gametypes/UnderAttack.h
trunk/src/orxonox/objects/infos/Bot.cc
trunk/src/orxonox/objects/infos/Bot.h
trunk/src/orxonox/objects/infos/GametypeInfo.cc
trunk/src/orxonox/objects/infos/GametypeInfo.h
trunk/src/orxonox/objects/infos/HumanPlayer.cc
trunk/src/orxonox/objects/infos/HumanPlayer.h
trunk/src/orxonox/objects/infos/Info.cc
trunk/src/orxonox/objects/infos/PlayerInfo.cc
trunk/src/orxonox/objects/infos/PongBot.h
trunk/src/orxonox/objects/items/Engine.cc
trunk/src/orxonox/objects/items/Engine.h
trunk/src/orxonox/objects/items/Item.cc
trunk/src/orxonox/objects/items/Item.h
trunk/src/orxonox/objects/items/MultiStateEngine.cc
trunk/src/orxonox/objects/items/MultiStateEngine.h
trunk/src/orxonox/objects/pickup/BaseItem.cc
trunk/src/orxonox/objects/pickup/BaseItem.h
trunk/src/orxonox/objects/pickup/DroppedItem.cc
trunk/src/orxonox/objects/pickup/DroppedItem.h
trunk/src/orxonox/objects/pickup/EquipmentItem.cc
trunk/src/orxonox/objects/pickup/EquipmentItem.h
trunk/src/orxonox/objects/pickup/ModifierPickup.cc
trunk/src/orxonox/objects/pickup/ModifierPickup.h
trunk/src/orxonox/objects/pickup/ModifierType.h
trunk/src/orxonox/objects/pickup/PassiveItem.cc
trunk/src/orxonox/objects/pickup/PassiveItem.h
trunk/src/orxonox/objects/pickup/PickupCollection.cc
trunk/src/orxonox/objects/pickup/PickupCollection.h
trunk/src/orxonox/objects/pickup/PickupInventory.cc
trunk/src/orxonox/objects/pickup/PickupInventory.h
trunk/src/orxonox/objects/pickup/PickupSpawner.cc
trunk/src/orxonox/objects/pickup/PickupSpawner.h
trunk/src/orxonox/objects/pickup/UsableItem.cc
trunk/src/orxonox/objects/pickup/UsableItem.h
trunk/src/orxonox/objects/pickup/items/HealthImmediate.cc
trunk/src/orxonox/objects/pickup/items/HealthImmediate.h
trunk/src/orxonox/objects/pickup/items/HealthUsable.cc
trunk/src/orxonox/objects/pickup/items/HealthUsable.h
trunk/src/orxonox/objects/pickup/items/Jump.cc
trunk/src/orxonox/objects/pickup/items/Jump.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/CMakeLists.txt
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/QuestEffectBeacon.cc
trunk/src/orxonox/objects/quest/QuestEffectBeacon.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/QuestListener.cc
trunk/src/orxonox/objects/quest/QuestListener.h
trunk/src/orxonox/objects/quest/QuestManager.cc
trunk/src/orxonox/objects/quest/QuestManager.h
trunk/src/orxonox/objects/quest/QuestNotification.cc
trunk/src/orxonox/objects/quest/QuestNotification.h
trunk/src/orxonox/objects/weaponsystem/DefaultWeaponmodeLink.cc
trunk/src/orxonox/objects/weaponsystem/Munition.cc
trunk/src/orxonox/objects/weaponsystem/Munition.h
trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.cc
trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.h
trunk/src/orxonox/objects/weaponsystem/Weapon.h
trunk/src/orxonox/objects/weaponsystem/WeaponMode.h
trunk/src/orxonox/objects/weaponsystem/WeaponPack.cc
trunk/src/orxonox/objects/weaponsystem/WeaponPack.h
trunk/src/orxonox/objects/weaponsystem/WeaponSet.h
trunk/src/orxonox/objects/weaponsystem/WeaponSystem.h
trunk/src/orxonox/objects/weaponsystem/munitions/FusionMunition.cc
trunk/src/orxonox/objects/weaponsystem/munitions/LaserMunition.cc
trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.cc
trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.h
trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.cc
trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.h
trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc
trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.h
trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc
trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.h
trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc
trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.h
trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.cc
trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.h
trunk/src/orxonox/objects/weaponsystem/weaponmodes/FusionFire.cc
trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.cc
trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.h
trunk/src/orxonox/objects/weaponsystem/weaponmodes/LaserFire.cc
trunk/src/orxonox/objects/weaponsystem/weaponmodes/LightningGun.cc
trunk/src/orxonox/objects/worldentities/Attacher.h
trunk/src/orxonox/objects/worldentities/Backlight.cc
trunk/src/orxonox/objects/worldentities/Backlight.h
trunk/src/orxonox/objects/worldentities/BigExplosion.cc
trunk/src/orxonox/objects/worldentities/BigExplosion.h
trunk/src/orxonox/objects/worldentities/Billboard.cc
trunk/src/orxonox/objects/worldentities/Billboard.h
trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
trunk/src/orxonox/objects/worldentities/BlinkingBillboard.h
trunk/src/orxonox/objects/worldentities/Camera.cc
trunk/src/orxonox/objects/worldentities/Camera.h
trunk/src/orxonox/objects/worldentities/CameraPosition.cc
trunk/src/orxonox/objects/worldentities/CameraPosition.h
trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
trunk/src/orxonox/objects/worldentities/ControllableEntity.h
trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
trunk/src/orxonox/objects/worldentities/ExplosionChunk.h
trunk/src/orxonox/objects/worldentities/FadingBillboard.cc
trunk/src/orxonox/objects/worldentities/FadingBillboard.h
trunk/src/orxonox/objects/worldentities/ForceField.cc
trunk/src/orxonox/objects/worldentities/ForceField.h
trunk/src/orxonox/objects/worldentities/Light.cc
trunk/src/orxonox/objects/worldentities/Light.h
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/Model.h
trunk/src/orxonox/objects/worldentities/MovableEntity.cc
trunk/src/orxonox/objects/worldentities/MovableEntity.h
trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
trunk/src/orxonox/objects/worldentities/ParticleEmitter.h
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/Planet.h
trunk/src/orxonox/objects/worldentities/PongBall.cc
trunk/src/orxonox/objects/worldentities/PongBall.h
trunk/src/orxonox/objects/worldentities/PongBat.h
trunk/src/orxonox/objects/worldentities/PongCenterpoint.h
trunk/src/orxonox/objects/worldentities/SpawnPoint.cc
trunk/src/orxonox/objects/worldentities/SpawnPoint.h
trunk/src/orxonox/objects/worldentities/StaticEntity.cc
trunk/src/orxonox/objects/worldentities/TeamSpawnPoint.h
trunk/src/orxonox/objects/worldentities/WorldEntity.cc
trunk/src/orxonox/objects/worldentities/WorldEntity.h
trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
trunk/src/orxonox/objects/worldentities/pawns/Pawn.h
trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.h
trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
trunk/src/orxonox/objects/worldentities/pawns/Spectator.h
trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h
trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.cc
trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.h
trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc
trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h
trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.cc
trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h
trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
trunk/src/orxonox/overlays/FadeoutText.cc
trunk/src/orxonox/overlays/FadeoutText.h
trunk/src/orxonox/overlays/GUIOverlay.cc
trunk/src/orxonox/overlays/GUIOverlay.h
trunk/src/orxonox/overlays/OrxonoxOverlay.cc
trunk/src/orxonox/overlays/OrxonoxOverlay.h
trunk/src/orxonox/overlays/OverlayGroup.cc
trunk/src/orxonox/overlays/OverlayGroup.h
trunk/src/orxonox/overlays/OverlayText.cc
trunk/src/orxonox/overlays/OverlayText.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/DebugFPSText.h
trunk/src/orxonox/overlays/debug/DebugRTRText.cc
trunk/src/orxonox/overlays/debug/DebugRTRText.h
trunk/src/orxonox/overlays/hud/AnnounceMessage.h
trunk/src/orxonox/overlays/hud/ChatOverlay.cc
trunk/src/orxonox/overlays/hud/ChatOverlay.h
trunk/src/orxonox/overlays/hud/DeathMessage.h
trunk/src/orxonox/overlays/hud/GametypeStatus.cc
trunk/src/orxonox/overlays/hud/GametypeStatus.h
trunk/src/orxonox/overlays/hud/HUDBar.cc
trunk/src/orxonox/overlays/hud/HUDBar.h
trunk/src/orxonox/overlays/hud/HUDHealthBar.cc
trunk/src/orxonox/overlays/hud/HUDHealthBar.h
trunk/src/orxonox/overlays/hud/HUDNavigation.cc
trunk/src/orxonox/overlays/hud/HUDNavigation.h
trunk/src/orxonox/overlays/hud/HUDRadar.cc
trunk/src/orxonox/overlays/hud/HUDRadar.h
trunk/src/orxonox/overlays/hud/HUDSpeedBar.cc
trunk/src/orxonox/overlays/hud/HUDSpeedBar.h
trunk/src/orxonox/overlays/hud/HUDTimer.cc
trunk/src/orxonox/overlays/hud/HUDTimer.h
trunk/src/orxonox/overlays/hud/KillMessage.h
trunk/src/orxonox/overlays/hud/PongScore.cc
trunk/src/orxonox/overlays/hud/PongScore.h
trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.cc
trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.h
trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.cc
trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.h
trunk/src/orxonox/overlays/map/Map.cc
trunk/src/orxonox/overlays/map/Map.h
trunk/src/orxonox/overlays/notifications/Notification.cc
trunk/src/orxonox/overlays/notifications/Notification.h
trunk/src/orxonox/overlays/notifications/NotificationManager.cc
trunk/src/orxonox/overlays/notifications/NotificationManager.h
trunk/src/orxonox/overlays/notifications/NotificationOverlay.cc
trunk/src/orxonox/overlays/notifications/NotificationOverlay.h
trunk/src/orxonox/overlays/notifications/NotificationQueue.cc
trunk/src/orxonox/overlays/notifications/NotificationQueue.h
trunk/src/orxonox/overlays/stats/CMakeLists.txt
trunk/src/orxonox/overlays/stats/CreateLines.cc
trunk/src/orxonox/overlays/stats/CreateLines.h
trunk/src/orxonox/overlays/stats/Scoreboard.cc
trunk/src/orxonox/overlays/stats/Scoreboard.h
trunk/src/orxonox/overlays/stats/Stats.cc
trunk/src/orxonox/overlays/stats/Stats.h
trunk/src/orxonox/sound/CMakeLists.txt
trunk/src/orxonox/sound/SoundBase.cc
trunk/src/orxonox/sound/SoundBase.h
trunk/src/orxonox/sound/SoundMainMenu.cc
trunk/src/orxonox/sound/SoundMainMenu.h
trunk/src/orxonox/sound/SoundManager.cc
trunk/src/orxonox/sound/SoundManager.h
trunk/src/orxonox/tools/BillboardSet.cc
trunk/src/orxonox/tools/BillboardSet.h
trunk/src/orxonox/tools/BulletConversions.h
trunk/src/orxonox/tools/CMakeLists.txt
trunk/src/orxonox/tools/DynamicLines.h
trunk/src/orxonox/tools/DynamicRenderable.h
trunk/src/orxonox/tools/Mesh.cc
trunk/src/orxonox/tools/Mesh.h
trunk/src/orxonox/tools/ParticleInterface.cc
trunk/src/orxonox/tools/ParticleInterface.h
trunk/src/orxonox/tools/Shader.cc
trunk/src/orxonox/tools/Shader.h
trunk/src/orxonox/tools/TextureGenerator.cc
trunk/src/orxonox/tools/TextureGenerator.h
trunk/src/orxonox/tools/Timer.cc
trunk/src/orxonox/tools/Timer.h
trunk/src/tinyxml/CMakeLists.txt
trunk/src/tolua/CMakeLists.txt
trunk/src/util/CMakeLists.txt
trunk/src/util/CRC32.h
trunk/src/util/Clipboard.cc
trunk/src/util/Clipboard.h
trunk/src/util/Convert.h
trunk/src/util/Debug.h
trunk/src/util/Exception.cc
trunk/src/util/Exception.h
trunk/src/util/ExprParser.cc
trunk/src/util/ExprParser.h
trunk/src/util/Math.cc
trunk/src/util/Math.h
trunk/src/util/MathConvert.h
trunk/src/util/MultiType.cc
trunk/src/util/MultiType.h
trunk/src/util/MultiTypeValue.h
trunk/src/util/OutputBuffer.cc
trunk/src/util/OutputBuffer.h
trunk/src/util/OutputHandler.h
trunk/src/util/SignalHandler.cc
trunk/src/util/Sleep.cc
trunk/src/util/Sleep.h
trunk/src/util/String.cc
trunk/src/util/String.h
trunk/src/util/SubString.cc
trunk/src/util/UtilPrereqs.h
trunk/src/util/mbool.h
Log:
Merged pch branch back to trunk.
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/gametypes:2827-3032
/branches/gcc43:1581
/branches/gui:1636-1724,2796-2895
/branches/input:1630-1637
/branches/lodfinal:2373-2412
/branches/map:2802-3087,3090
/branches/miniprojects:2755-2825
/branches/netp2:2836-2989
/branches/netp3:2989-3083
/branches/network:2357
/branches/network64:2211-2356
/branches/objecthierarchy:1912-2086,2101,2111-2170
/branches/objecthierarchy2:2172-2480
/branches/overlay:2118-2386
/branches/particles:2830-3086
/branches/physics:1913-2056,2108-2440
/branches/physics_merge:2437-2458
/branches/pickups:1927-2087,2128,2828-2916
/branches/pickups2:2108-2498,2916-3072
/branches/presentation:2370-2653,2655-2661
/branches/questsystem:1895-2089
/branches/questsystem2:2108-2260
/branches/questsystem5:2777-2906
/branches/script_trigger:1296-1954,1956
/branches/sound:2830-3011
/branches/weapon:1926-2095
/branches/weapon2:2108-2489
/branches/weapons:2898-3052
/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/gametypes:2827-3032
/branches/gcc43:1581
/branches/gui:1636-1724,2796-2895
/branches/input:1630-1637
/branches/lodfinal:2373-2412
/branches/map:2802-3087,3090
/branches/miniprojects:2755-2825
/branches/netp2:2836-2989
/branches/netp3:2989-3083
/branches/network:2357
/branches/network64:2211-2356
/branches/objecthierarchy:1912-2086,2101,2111-2170
/branches/objecthierarchy2:2172-2480
/branches/overlay:2118-2386
/branches/particles:2830-3086
/branches/pch:3114-3195
/branches/physics:1913-2056,2108-2440
/branches/physics_merge:2437-2458
/branches/pickups:1927-2087,2128,2828-2916
/branches/pickups2:2108-2498,2916-3072
/branches/presentation:2370-2653,2655-2661
/branches/questsystem:1895-2089
/branches/questsystem2:2108-2260
/branches/questsystem5:2777-2906
/branches/script_trigger:1296-1954,1956
/branches/sound:2830-3011
/branches/weapon:1926-2095
/branches/weapon2:2108-2489
/branches/weapons:2898-3052
/branches/weaponsystem:2743-2891
Modified: trunk/bin/CMakeLists.txt
===================================================================
--- trunk/bin/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/bin/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,13 +32,17 @@
LIST(APPEND RUN_SCRIPTS ${_script}.bat)
ENDFOREACH(_script)
ENDIF()
+# Also copy vld.ini (visual leak detector config) for MSVC
+IF(MSVC)
+ LIST(APPEND RUN_SCRIPTS vld.ini)
+ENDIF()
IF(NOT CMAKE_CONFIGURATION_TYPES)
SET(_subdirs .)
SEt(_default_subdir .)
ELSE()
SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
- SEt(_default_subdir Debug)
+ SEt(_default_subdir) # No default subdir
ENDIF()
STRING(REPLACE "/" "\\" ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS ${ORXONOX_RUNTIME_LIBRARY_DIRECTORY})
FOREACH(_subdir ${_subdirs})
@@ -51,7 +55,7 @@
FOREACH(_script ${RUN_SCRIPTS})
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CURRENT_RUNTIME_DIR}/${_script} @ONLY)
IF(_subdir STREQUAL _default_subdir)
- # Convenience script to be used when sitting in the binary directory. Defaults to Debug for msvc.
+ # Convenience script to be used when sitting in the binary directory. Does nothing for MSVC
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CMAKE_BINARY_DIR}/${_script} @ONLY)
ENDIF()
ENDFOREACH(_script)
Copied: trunk/bin/vld.ini.in (from rev 3195, branches/pch/bin/vld.ini.in)
===================================================================
--- trunk/bin/vld.ini.in (rev 0)
+++ trunk/bin/vld.ini.in 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,155 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Visual Leak Detector - Initialization/Configuration File
+;; Copyright (c) 2006 Dan Moulding
+;;
+;; This library is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU Lesser General Public
+;; License as published by the Free Software Foundation; either
+;; version 2.1 of the License, or (at your option) any later version.
+;;
+;; This library 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
+;; Lesser General Public License for more details.
+;;
+;; You should have received a copy of the GNU Lesser General Public
+;; License along with this library; if not, write to the Free Software
+;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+;;
+;; See COPYING.txt for the full terms of the GNU Lesser General Public License.
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; Any options left blank or not present will revert to their default values.
+[Options]
+
+; The main on/off switch. If off, Visual Leak Detector will be completely
+; disabled. It will do nothing but print a message to the debugger indicating
+; that it has been turned off.
+;
+; Valid Values: on, off
+; Default: on
+;
+VLD = @VISUAL_LEAK_DETECTOR_ENABLE@
+
+; If yes, duplicate leaks (those that are identical) are not shown individually.
+; Only the first such leak is shown, along with a number indicating the total
+; number of duplicate leaks.
+;
+; Valid Values: yes, no
+; Default: no
+;
+AggregateDuplicates = yes
+
+; Lists any additional modules to be included in memory leak detection. This can
+; be useful for checking for memory leaks in debug builds of 3rd party modules
+; which can not be easily rebuilt with '#include "vld.h"'. This option should be
+; used only if absolutely necessary and only if you really know what you are
+; doing.
+;
+; CAUTION: Avoid listing any modules that link with the release CRT libraries.
+; Only modules that link with the debug CRT libraries should be listed here.
+; Doing otherwise might result in false memory leak reports or even crashes.
+;
+; Valid Values: Any list containing module names (i.e. names of EXEs or DLLs).
+; Default: None.
+;
+ForceIncludeModules =
+
+; Maximum number of data bytes to display for each leaked block. If zero, then
+; the data dump is completely suppressed and only call stacks are shown.
+; Limiting this to a low number can be useful if any of the leaked blocks are
+; very large and cause unnecessary clutter in the memory leak report.
+;
+; Value Values: 0 - 4294967295
+; Default: 4294967295
+;
+MaxDataDump =
+
+; Maximum number of call stack frames to trace back during leak detection.
+; Limiting this to a low number can reduce the CPU utilization overhead imposed
+; by memory leak detection, especially when using the slower "safe" stack
+; walking method (see StackWalkMethod below).
+;
+; Valid Values: 1 - 4294967295
+; Default: 4294967295
+;
+MaxTraceFrames =
+
+; Sets the type of encoding to use for the generated memory leak report. This
+; option is really only useful in conjuction with sending the report to a file.
+; Sending a Unicode encoded report to the debugger is not useful because the
+; debugger cannot display Unicode characters. Using Unicode encoding might be
+; useful if the data contained in leaked blocks is likely to consist of Unicode
+; text.
+;
+; Valid Values: ascii, unicode
+; Default: ascii
+;
+ReportEncoding = ascii
+
+; Sets the report file destination, if reporting to file is enabled. A relative
+; path may be specified and is considered relative to the process' working
+; directory.
+;
+; Valid Values: Any valid path and filename.
+; Default: .\memory_leak_report.txt
+;
+ReportFile =
+
+; Sets the report destination to either a file, the debugger, or both. If
+; reporting to file is enabled, the report is sent to the file specified by the
+; ReportFile option.
+;
+; Valid Values: debugger, file, both
+; Default: debugger
+;
+ReportTo = debugger
+
+; Turns on or off a self-test mode which is used to verify that VLD is able to
+; detect memory leaks in itself. Intended to be used for debugging VLD itself,
+; not for debugging other programs.
+;
+; Valid Values: on, off
+; Default: off
+;
+SelfTest = off
+
+; Selects the method to be used for walking the stack to obtain stack traces for
+; allocated memory blocks. The "fast" method may not always be able to
+; successfully trace completely through all call stacks. In such cases, the
+; "safe" method may prove to more reliably obtain the full stack trace. The
+; disadvantage is that the "safe" method is significantly slower than the "fast"
+; method and will probably result in very noticeable performance degradation of
+; the program being debugged.
+;
+; Valid Values: fast, safe
+; Default: fast
+;
+StackWalkMethod = fast
+
+; Determines whether memory leak detection should be initially enabled for all
+; threads, or whether it should be initially disabled for all threads. If set
+; to "yes", then any threads requiring memory leak detection to be enabled will
+; need to call VLDEnable at some point to enable leak detection for those
+; threads.
+;
+; Valid Values: yes, no
+; Default: no
+;
+StartDisabled = no
+
+; Determines whether or not all frames, including frames internal to the heap,
+; are traced. There will always be a number of frames internal to Visual Leak
+; Detector and C/C++ or Win32 heap APIs that aren't generally useful for
+; determining the cause of a leak. Normally these frames are skipped during the
+; stack trace, which somewhat reduces the time spent tracing and amount of data
+; collected and stored in memory. Including all frames in the stack trace, all
+; the way down into VLD's own code can, however, be useful for debugging VLD
+; itself.
+;
+; Valid Values: yes, no
+; Default: no
+;
+TraceInternalFrames = no
Modified: trunk/cmake/BuildConfig.cmake
===================================================================
--- trunk/cmake/BuildConfig.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/BuildConfig.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -69,7 +69,12 @@
MARK_AS_ADVANCED(CMAKE_BUILD_TYPE)
ENDIF()
+# Enable expensive optimisations: Use this for a binary release build
+OPTION(ORXONOX_RELEASE "Enable when building restributable releases" FALSE)
+# Use WinMain() or main()?
+OPTION(ORXONOX_USE_WINMAIN "Use WinMain (doesn't show console) or main" FALSE)
+
################# OGRE Plugins ##################
# More plugins: Plugin_BSPSceneManager, Plugin_OctreeSceneManager
Modified: trunk/cmake/BuildConfigGCC.cmake
===================================================================
--- trunk/cmake/BuildConfigGCC.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/BuildConfigGCC.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -23,6 +23,9 @@
# Sets the right compiler and linker flags for GCC.
#
+# Shortcut for CMAKE_COMPILER_IS_GNUCXX and ..._GNUC
+SET(CMAKE_COMPILER_IS_GNU TRUE)
+
# Determine compiler version
EXEC_PROGRAM(
${CMAKE_CXX_COMPILER}
@@ -39,6 +42,13 @@
SET(GCC_NO_SYSTEM_HEADER_SUPPORT TRUE)
ENDIF()
+# GCC only supports PCH in versions 3.4 and above
+INCLUDE(CompareVersionStrings)
+COMPARE_VERSION_STRINGS("${GCC_VERSION}" "3.4.0" _compare_result)
+IF(_compare_result GREATER -1)
+ SET(PCH_COMPILER_SUPPORT TRUE)
+ENDIF()
+
# Also include environment flags. Could cause conflicts though
SET_COMPILER_FLAGS("$ENV{CXXFLAGS}" CXX CACHE)
SET_COMPILER_FLAGS("$ENV{CFLAGS}" C CACHE)
@@ -66,6 +76,9 @@
# messages. Other versions don't seem to show any such warnings at all.
ADD_COMPILER_FLAGS("-Wno-deprecated" CXX CACHE)
+# Always show why a precompiled header file could not be used
+ADD_COMPILER_FLAGS("-Winvalid-pch" CXX CACHE)
+
# Increase warning level if requested
IF(EXTRA_COMPILER_WARNINGS)
ADD_COMPILER_FLAGS("-Wall -Wextra -Wno-unused-parameter" CACHE)
Modified: trunk/cmake/BuildConfigMSVC.cmake
===================================================================
--- trunk/cmake/BuildConfigMSVC.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/BuildConfigMSVC.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -23,10 +23,31 @@
# Sets the right compiler and linker flags for the Microsoft Compiler.
#
+################### Compiler Version ####################
+
+# We make use of variadic macros, which is only supported by MSVC 8 and above
+IF(MSVC_VERSION LESS 1400)
+ MESSAGE(FATAL_ERROR "Microsoft Visual Studio versions below 8 (2005) are not supported because of missing compiler extensions.")
+ENDIF()
+
+
######################## Options ########################
-OPTION(VISUAL_LEAK_DETECTOR_ENABLE "Memory leak detector" FALSE)
+# Currently VLD has a problem with MSVC9 although it actually is supported
+IF(MSVC8)
+ OPTION(VISUAL_LEAK_DETECTOR_ENABLE "Memory leak detector" off)
+ENDIF()
+# Make sure the value is "on" or "off" for vld.ini
+IF(VISUAL_LEAK_DETECTOR_ENABLE)
+ SET(VISUAL_LEAK_DETECTOR_ENABLE on)
+ELSE()
+ SET(VISUAL_LEAK_DETECTOR_ENABLE off)
+ENDIF()
+# Orxonox only supports MSVC 8 and above, which gets asserted above
+SET(PCH_COMPILER_SUPPORT TRUE)
+
+
#################### Compiler Flags #####################
# -MD Minimal Rebuild
@@ -46,7 +67,7 @@
ADD_COMPILER_FLAGS("-D_CRT_SECURE_NO_WARNINGS" CACHE)
# Overwrite CMake default flags here.
-SET_COMPILER_FLAGS("-MDd -Od -ZI -D_DEBUG -Gm -RTC1" Debug CACHE)
+SET_COMPILER_FLAGS("-MDd -Od -Zi -D_DEBUG -Gm -RTC1" Debug CACHE)
SET_COMPILER_FLAGS("-MD -O2 -DNDEBUG -MP2" Release CACHE)
SET_COMPILER_FLAGS("-MD -O2 -Zi -DNDEBUG -MP2" RelWithDebInfo CACHE)
SET_COMPILER_FLAGS("-MD -O1 -DNDEBUG -MP2" MinSizeRel CACHE)
@@ -74,6 +95,7 @@
# "<type> needs to have dll-interface to be used by clients'
# Happens on STL member variables which are not public
ADD_COMPILER_FLAGS("-w44251" CACHE)
+ADD_COMPILER_FLAGS("-w44275" CACHE) # For inheritance
# Multiple assignment operators specified
ADD_COMPILER_FLAGS("-w44522" CACHE)
Copied: trunk/cmake/CapitaliseName.cmake (from rev 3195, branches/pch/cmake/CapitaliseName.cmake)
===================================================================
--- trunk/cmake/CapitaliseName.cmake (rev 0)
+++ trunk/cmake/CapitaliseName.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,33 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Examples:
+ # "orxonox" --> "Orxonox"
+ # "ORXONOX" --> "ORXONOX"
+ # "1orxonox" --> "1orxonox"
+ #
+
+FUNCTION(CAPITALISE_NAME _name _output_var)
+ STRING(SUBSTRING "${_name}" 0 1 _first_letter)
+ STRING(TOUPPER "${_first_letter}" _first_letter)
+ STRING(REGEX REPLACE "^.(.*)$" "\\1" _rest "${_name}")
+ SET(${_output_var} "${_first_letter}${_rest}" PARENT_SCOPE)
+ENDFUNCTION(CAPITALISE_NAME)
Modified: trunk/cmake/FlagUtilities.cmake
===================================================================
--- trunk/cmake/FlagUtilities.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/FlagUtilities.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -23,107 +23,56 @@
# Sets the compiler/linker flags. After the flags you can specify more args:
# Release, Debug, RelWithDebInfo, MinSizeRel: Build configs (inclusive)
# ReleaseAll: Sets the flags of all three release builds
- # CACHE: Values are witten with SET_CACHE (see above)
+ # CACHE: Values are witten with SET_CACHE_ADVANCED
# FORCE: When writing to the cache, the values are set anyway
# Any variable names (like WIN32, MSVC, etc.): Condition (combined with AND)
# You can suffix the condition with a NOT if you wish
- # Functions:
+ # Function names:
# [ADD/SET/REMOVE]_[COMPILER/LINKER]_FLAGS
# Caution: -If you use CACHE after calling the macro without CACHE, the value
- # Will not get written unless FORCE is specified.
+ # Will not be written unless FORCE is specified.
# - Also be aware to always specify the flags in quotes.
# Example:
# REMOVE_COMPILER_FLAGS("/Gm "asdf" -q"test -foo" CXX ReleaseAll NOT UNIX)
# This will only remove the CXX (C++) flags on a non Unix system for the
# Release, RelWithDebInfo and MinSizeRel configurations. The macros should
- # be able to cope with "test -foo" that is like another flag in the string.
+ # be able to cope with "test -foo" as string argument for a flag.
#
-# Write to the cache by force, but only if the user didn't edit the value
-# Additional argument is the value (may also be a list)
-MACRO(SET_CACHE _varname _type _docstring)
- SET(_value ${ARGN})
- IF(NOT "${_type}" MATCHES "^(STRING|BOOL|PATH|FILEPATH)$")
- MESSAGE(FATAL_ERROR "${_type} is not a valid CACHE entry type")
- ENDIF()
+INCLUDE(SeparateFlags)
+INCLUDE(SetCacheAdvanced)
- IF(NOT DEFINED _INTERNAL_${_varname} OR "${_INTERNAL_${_varname}}" STREQUAL "${${_varname}}")
- SET(${_varname} "${_value}" CACHE ${_type} "${_docstring}" FORCE)
- SET(_INTERNAL_${_varname} "${_value}" CACHE INTERNAL "Do not edit in any case!")
- ENDIF()
-ENDMACRO(SET_CACHE)
+# Compiler flags, additional arguments:
+# C, CXX: Specify a language, default is both
+MACRO(SET_COMPILER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(SET "C;CXX" "" "${_flags}" "${ARGN}")
+ENDMACRO(SET_COMPILER_FLAGS)
+# Add flags (flags don't get added twice)
+MACRO(ADD_COMPILER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(APPEND "C;CXX" "" "${_flags}" "${ARGN}")
+ENDMACRO(ADD_COMPILER_FLAGS)
+# Remove flags
+MACRO(REMOVE_COMPILER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "C;CXX" "" "${_flags}" "${ARGN}")
+ENDMACRO(REMOVE_COMPILER_FLAGS)
-# Visual studio (esp. IntelliSense) doesn't like dashes to specify arguments
-# Always use foward slashes instead
-IF(MSVC)
- SET(ARGUMENT_STARTER "/")
-ELSE()
- SET(ARGUMENT_STARTER "-")
-ENDIF(MSVC)
-# Separates a string of flags. " -" or " /" denotes the start of a flag.
-# The same sequence inside double quotation marks is ignored.
-# Spaces not within quotes are cleaned meaningfully.
-# This macro cannot cope with semicolons in the flag string!
-MACRO(SEPARATE_FLAGS _flags _output_variable)
- SET(_flags_prep " ${_flags} -")
- STRING(REPLACE " " " ;" _flag_chunks ${_flags_prep}) # Max loop iterations
- SET(_flag_string)
- SET(_parsed_flags)
- # Loop is necessary because the regex engine is greedy
- FOREACH(_chunk ${_flag_chunks})
- SET(_flag_string "${_flag_string}${_chunk}")
- # Replace all " -" and " /" inside quotation marks
- STRING(REGEX REPLACE "^(([^\"]*\"[^\"]*\")*[^\"]*\"[^\"]*) [/-]([^\"]*\")"
- "\\1 at 39535493@\\3" _flag_string "${_flag_string}")
- # Extract one flag if possible
- SET(_flag)
- STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "${ARGUMENT_STARTER}\\1" _flag "${_flag_string}")
- STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "\\2" _flag_string "${_flag_string}")
- IF(NOT _flag STREQUAL _flag_string)
- LIST(APPEND _parsed_flags "${_flag}")
- ENDIF(NOT _flag STREQUAL _flag_string)
- ENDFOREACH(_chunk)
+# Linker flags, additional arguments:
+# EXE, SHARED, MODULE: Specify a linker mode, default is all three
+MACRO(SET_LINKER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(SET "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
+ENDMACRO(SET_LINKER_FLAGS)
+# Add flags (flags don't get added twice)
+MACRO(ADD_LINKER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(APPEND "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
+ENDMACRO(ADD_LINKER_FLAGS)
+# Remove flags
+MACRO(REMOVE_LINKER_FLAGS _flags)
+ _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
+ENDMACRO(REMOVE_LINKER_FLAGS)
- # Re-replace all " -" and " /" inside quotation marks
- STRING(REGEX REPLACE "@39535493@" " -" ${_output_variable} "${_parsed_flags}")
-ENDMACRO(SEPARATE_FLAGS)
# Internal macro, do not use
-# Modifies the flags according to the mode: set, add or remove
-# Also sets flags according to the CACHE and FORCE parameter.
-# If only CACHE is specified, SET_CACHE() is used.
-MACRO(_INTERNAL_PARSE_FLAGS _mode _flags _varname _write_to_cache _force)
- SEPARATE_FLAGS("${_flags}" _arg_flag_list)
-
- IF("${_mode}" STREQUAL "SET")
- # SET
- SET(_flag_list "${_arg_flag_list}")
- ELSE()
- # ADD or REMOVE
- SEPARATE_FLAGS("${${_varname}}" _flag_list)
- FOREACH(_flag ${_arg_flag_list})
- LIST(${_mode} _flag_list "${_flag}")
- ENDFOREACH(_flag)
- ENDIF()
-
- LIST(REMOVE_DUPLICATES _flag_list)
- LIST(SORT _flag_list)
- STRING(REPLACE ";" " " _flag_list "${_flag_list}")
-
- IF(_write_to_cache)
- IF(_force)
- SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)
- SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)
- ELSE()
- SET_CACHE(${_varname} STRING "${${_varname}}" "${_flag_list}")
- ENDIF()
- ELSE()
- SET(${_varname} "${_flag_list}")
- ENDIF()
-ENDMACRO(_INTERNAL_PARSE_FLAGS)
-
-# Internal macro, do not use
# Parses the given additional arguments and sets the flags to the
# corresponding variables.
MACRO(_INTERNAL_PARSE_FLAGS_ARGS _mode _keys _key_postfix _flags)
@@ -154,11 +103,11 @@
ELSE()
IF(_invert_condition)
SET(_invert_condition FALSE)
- IF(${_arg})
+ IF(${_arg})
SET(_arg_cond FALSE)
- ELSE()
+ ELSE()
SET(_arg_cond TRUE)
- ENDIF()
+ ENDIF()
ELSE()
SET(_arg_cond ${${_arg}})
ENDIF()
@@ -190,30 +139,39 @@
ENDMACRO(_INTERNAL_PARSE_FLAGS_ARGS)
-# Compiler flags, additional arguments:
-# C, CXX: Specify a language, default is both
-MACRO(SET_COMPILER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(SET "C;CXX" "" "${_flags}" "${ARGN}")
-ENDMACRO(SET_COMPILER_FLAGS)
-# Add flags (flags don't get added twice)
-MACRO(ADD_COMPILER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(APPEND "C;CXX" "" "${_flags}" "${ARGN}")
-ENDMACRO(ADD_COMPILER_FLAGS)
-# Remove flags
-MACRO(REMOVE_COMPILER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "C;CXX" "" "${_flags}" "${ARGN}")
-ENDMACRO(REMOVE_COMPILER_FLAGS)
+# Internal macro, do not use
+# Modifies the flags according to the mode: set, add or remove
+# Also sets flags according to the CACHE and FORCE parameter.
+# If only CACHE is specified, SET_CACHE_ADVANCED() is used.
+MACRO(_INTERNAL_PARSE_FLAGS _mode _flags _varname _write_to_cache _force)
+ SEPARATE_FLAGS("${_flags}" _arg_flag_list)
-# Linker flags, additional arguments:
-# EXE, SHARED, MODULE: Specify a linker mode, default is all three
-MACRO(SET_LINKER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(SET "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
-ENDMACRO(SET_LINKER_FLAGS)
-# Add flags (flags don't get added twice)
-MACRO(ADD_LINKER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(APPEND "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
-ENDMACRO(ADD_LINKER_FLAGS)
-# Remove flags
-MACRO(REMOVE_LINKER_FLAGS _flags)
- _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}")
-ENDMACRO(REMOVE_LINKER_FLAGS)
+ IF("${_mode}" STREQUAL "SET")
+ # SET
+ SET(_flag_list "${_arg_flag_list}")
+ ELSE()
+ # ADD or REMOVE
+ SEPARATE_FLAGS("${${_varname}}" _flag_list)
+ IF(NOT _flag_list)
+ SET(_flag_list "") # LIST command requires a list in any case
+ ENDIF()
+ FOREACH(_flag ${_arg_flag_list})
+ LIST(${_mode} _flag_list "${_flag}")
+ ENDFOREACH(_flag)
+ ENDIF()
+
+ LIST(REMOVE_DUPLICATES _flag_list)
+ LIST(SORT _flag_list)
+ STRING(REPLACE ";" " " _flag_list "${_flag_list}")
+
+ IF(_write_to_cache)
+ IF(_force)
+ SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)
+ SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)
+ ELSE()
+ SET_CACHE_ADVANCED(${_varname} STRING "${${_varname}}" "${_flag_list}")
+ ENDIF()
+ ELSE()
+ SET(${_varname} "${_flag_list}")
+ ENDIF()
+ENDMACRO(_INTERNAL_PARSE_FLAGS)
Modified: trunk/cmake/GenerateToluaBindings.cmake
===================================================================
--- trunk/cmake/GenerateToluaBindings.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/GenerateToluaBindings.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -47,6 +47,10 @@
PARENT_SCOPE
)
SOURCE_GROUP("Tolua" FILES ${_tolua_cxxfile} ${_tolua_hfile})
+ # Disable annoying GCC warnings
+ IF(CMAKE_COMPILER_IS_GNU)
+ SET_SOURCE_FILES_PROPERTIES(${_tolua_cxxfile} PROPERTIES COMPILE_FLAGS "-w")
+ ENDIF()
# Create temporary package file
FILE(REMOVE ${_tolua_pkgfile})
Copied: trunk/cmake/GetGCCCompilerFlags.cmake (from rev 3195, branches/pch/cmake/GetGCCCompilerFlags.cmake)
===================================================================
--- trunk/cmake/GetGCCCompilerFlags.cmake (rev 0)
+++ trunk/cmake/GetGCCCompilerFlags.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,73 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Description:
+ # Tries to return all GCC compiler flags set for a target. This also
+ # all definitions of the current directory.
+ #
+
+INCLUDE(SeparateFlags)
+
+FUNCTION(GET_GCC_COMPILER_FLAGS _target _flagsvar)
+
+ # General flags
+ STRING(TOUPPER "${CMAKE_BUILD_TYPE}" _build_type_upper)
+ SET(_flag_str "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${_build_type_upper}}")
+
+ # Include directories
+ GET_DIRECTORY_PROPERTY(_include_dirs INCLUDE_DIRECTORIES)
+ IF(_include_dirs)
+ FOREACH(_directory ${_include_dirs})
+ SET(_flag_str "${_flag_str} -I${_directory}")
+ ENDFOREACH(_directory)
+ ENDIF()
+
+ # For shared libraries linked with gcc, we have to add -fPIC
+ GET_TARGET_PROPERTY(_target_type ${_target} TYPE)
+ IF(NOT MINGW AND ${_target_type} STREQUAL SHARED_LIBRARY)
+ SET(_flag_str "${_flag_str} -fPIC")
+ ENDIF()
+
+ # Target compile flags
+ GET_TARGET_PROPERTY(_target_flags ${_target} COMPILE_FLAGS)
+ IF(_target_flags)
+ SET(_flag_str "${_flag_str} ${_target_flags}")
+ ENDIF()
+
+ # Definitions from target and directory
+ GET_DIRECTORY_PROPERTY(_directory_defs COMPILE_DEFINITIONS)
+ GET_DIRECTORY_PROPERTY(_directory_defs_build_type COMPILE_DEFINITIONS_${_build_type_upper})
+ GET_TARGET_PROPERTY(_target_defs ${_target} COMPILE_DEFINITIONS)
+ GET_TARGET_PROPERTY(_target_defs_build_type ${_target} COMPILE_DEFINITIONS_${_build_type_upper})
+ GET_TARGET_PROPERTY(_target_def_symbol ${_target} DEFINE_SYMBOL)
+ # Prefix them all with a "-D" if the property was found
+ FOREACH(_def ${_directory_defs} ${_directory_defs_build_type} ${_target_defs}
+ ${_target_defs_build_type} ${_target_def_symbol})
+ IF(_def)
+ SET(_flag_str "${_flag_str} -D${_def}")
+ ENDIF(_def)
+ ENDFOREACH(_def)
+
+ SEPARATE_FLAGS("${_flag_str}" _flags)
+ LIST(REMOVE_DUPLICATES _flags)
+ SET(${_flagsvar} ${_flags} PARENT_SCOPE)
+
+ENDFUNCTION(GET_GCC_COMPILER_FLAGS)
Deleted: trunk/cmake/InstallUtilities.cmake
===================================================================
--- trunk/cmake/InstallUtilities.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/InstallUtilities.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,34 +0,0 @@
- #
- # ORXONOX - the hottest 3D action shooter ever to exist
- # > www.orxonox.net <
- #
- # 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
- # Description:
- # Helps configuring the INSTALL command in more global way.
- # Parameters:
- # Specifiy the targets as additional parameter.
- #
-
-FUNCTION(ORXONOX_INSTALL)
- INSTALL(TARGETS ${ARGN}
- RUNTIME DESTINATION ${ORXONOX_RUNTIME_INSTALL_PATH}
- LIBRARY DESTINATION ${ORXONOX_LIBRARY_INSTALL_PATH}
- #ARCHIVE DESTINATION ${ORXONOX_ARCHIVE_INSTALL_PATH}
- )
-ENDFUNCTION(ORXONOX_INSTALL)
Modified: trunk/cmake/LibraryConfig.cmake
===================================================================
--- trunk/cmake/LibraryConfig.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/LibraryConfig.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -66,28 +66,8 @@
ELSE()
INCLUDE(PackageConfigMinGW)
INCLUDE(PackageConfigMSVC)
-
- # On Windows, DLLs have to be in the executable folder, install them
- IF(DEP_BINARY_DIR AND WIN32)
- # When installing a debug version, we really can't know which libraries
- # are used in released mode because there might be deps of deps.
- INSTALL(
- DIRECTORY ${DEP_BINARY_DIR}/
- DESTINATION bin
- CONFIGURATIONS Debug
- REGEX "^.*\\.pdb$" EXCLUDE
- )
-
- # Try to filter out all the debug libraries. If the regex doesn't do the
- # job anymore, simply adjust it.
- INSTALL(
- DIRECTORY ${DEP_BINARY_DIR}/
- DESTINATION bin
- CONFIGURATIONS Release RelWithDebInfo MinSizeRel
- REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE
- )
- ENDIF(DEP_BINARY_DIR AND WIN32)
- ENDIF(NOT DEPENDENCY_PACKAGE_DIR)
+ INCLUDE(PackageConfig) # For both msvc and mingw
+ ENDIF()
ENDIF(DEPENDENCY_PACKAGE_ENABLE)
# User script
@@ -171,7 +151,7 @@
##### Boost #####
# Expand the next statement if newer boost versions than 1.36.1 are released
-SET(Boost_ADDITIONAL_VERSIONS 1.37 1.37.0)
+SET(Boost_ADDITIONAL_VERSIONS 1.37 1.37.0 1.38 1.38.0 1.39 1.39.0)
# MSVC seems to be the only compiler requiring date_time
IF(MSVC)
FIND_PACKAGE(Boost 1.34 REQUIRED thread filesystem date_time)
Copied: trunk/cmake/PackageConfig.cmake (from rev 3195, branches/pch/cmake/PackageConfig.cmake)
===================================================================
--- trunk/cmake/PackageConfig.cmake (rev 0)
+++ trunk/cmake/PackageConfig.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,70 @@
+# General package configuration. Merely sets the include paths.
+# Library files are treated separately.
+
+# Check package version info
+# MAJOR: Interface breaking change somewhere (library version changed, etc.)
+# MINOR: Bug fix or small conformant changes
+SET(DEPENDENCY_VERSION_REQUIRED 2)
+IF(NOT EXISTS ${DEPENDENCY_PACKAGE_DIR}/version.txt)
+ SET(DEPENDENCY_VERSION 1.0)
+ELSE()
+ # Get version from file
+ FILE(READ ${DEPENDENCY_PACKAGE_DIR}/version.txt _file_content)
+ SET(_match)
+ STRING(REGEX MATCH "([0-9]+.[0-9]+)" _match ${_file_content})
+ IF(_match)
+ SET(DEPENDENCY_VERSION ${_match})
+ ELSE()
+ MESSAGE(FATAL_ERROR "The version.txt file in the dependency file has corrupt version information.")
+ ENDIF()
+ENDIF()
+
+INCLUDE(CompareVersionStrings)
+COMPARE_VERSION_STRINGS(${DEPENDENCY_VERSION} ${DEPENDENCY_VERSION_REQUIRED} _result)
+IF(NOT _result EQUAL 0)
+ MESSAGE(FATAL_ERROR "Your dependency package version is ${DEPENDENCY_VERSION}\n"
+ "Required version: ${DEPENDENCY_VERSION_REQUIRED}\n"
+ "You can get a new version from www.orxonox.net")
+ENDIF()
+
+MESSAGE(STATUS "Using library package for the dependencies.")
+
+# Include paths and other special treatments
+SET(ENV{ALUTDIR} ${DEP_INCLUDE_DIR}/freealut-1.1.0)
+SET(ENV{BOOST_ROOT} ${DEP_INCLUDE_DIR}/boost-1.37.0)
+SET(ENV{CEGUIDIR} ${DEP_INCLUDE_DIR}/cegui-0.6.2)
+SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx-2007.aug)
+SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet-1.2)
+SET(ENV{LUA_DIR} ${DEP_INCLUDE_DIR}/lua-5.1.4)
+SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg-1.1.3)
+SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis-1.2.0)
+SET(ENV{OGRE_HOME} ${DEP_INCLUDE_DIR}/ogre-1.4.9)
+SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR})
+SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal-1.1)
+LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl-8.5.2/include)
+LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib-1.2.3/include)
+
+### INSTALL ###
+# On Windows, DLLs have to be in the executable folder, install them
+IF(WIN32 AND DEP_BINARY_DIR)
+ ## DEBUG
+ # When installing a debug version, we really can't know which libraries
+ # are used in released mode because there might be deps of deps.
+ # --> Copy all of them, except the debug databases
+ INSTALL(
+ DIRECTORY ${DEP_BINARY_DIR}/
+ DESTINATION bin
+ CONFIGURATIONS Debug
+ REGEX "^.*\\.pdb$" EXCLUDE
+ )
+
+ ## RELEASE
+ # Try to filter out all the debug libraries. If the regex doesn't do the
+ # job anymore, simply adjust it.
+ INSTALL(
+ DIRECTORY ${DEP_BINARY_DIR}/
+ DESTINATION bin
+ CONFIGURATIONS Release RelWithDebInfo MinSizeRel
+ REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE
+ )
+ENDIF()
Modified: trunk/cmake/PackageConfigMSVC.cmake
===================================================================
--- trunk/cmake/PackageConfigMSVC.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/PackageConfigMSVC.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,13 +27,6 @@
IF(MSVC)
- # MAJOR: Interface breaking change somewhere or added a new library
- # MINOR: Updated a library to a new version
- # PATCH: Bug fix or smaller things
- SET(DEPENDENCY_VERSION 0.0.1)
-
- MESSAGE(STATUS "Using library package for the dependencies.")
-
# 64 bit system?
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BINARY_POSTFIX x64)
@@ -44,9 +37,6 @@
# Choose right MSVC version
STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1"
_msvc_version "${CMAKE_GENERATOR}")
- IF(MSVC71)
- SET(_msvc_version "7.1")
- ENDIF(MSVC71)
SET(DEP_INCLUDE_DIR ${DEPENDENCY_PACKAGE_DIR}/include)
SET(DEP_LIBRARY_DIR ${DEPENDENCY_PACKAGE_DIR}/lib/msvc${_msvc_version}-${BINARY_POSTFIX})
@@ -61,21 +51,15 @@
# Sets the library path for the FIND_LIBRARY
SET(CMAKE_LIBRARY_PATH ${DEP_LIBRARY_DIR})
- # Include paths and other special treatments
- SET(ENV{ALUTDIR} ${DEP_INCLUDE_DIR}/freealut-1.1.0)
- SET(ENV{BOOST_ROOT} ${DEP_INCLUDE_DIR}/boost-1.37.0)
- SET(ENV{CEGUIDIR} ${DEP_INCLUDE_DIR}/cegui-0.6.2)
- SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx-2007.aug)
- SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet-1.2)
- SET(ENV{LUA_DIR} ${DEP_INCLUDE_DIR}/lua-5.1.4)
- SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg-1.1.3)
- SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis-1.2.0)
- SET(ENV{OGRE_HOME} ${DEP_INCLUDE_DIR}/ogre-1.4.9)
- SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR})
- SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal-1.1)
- LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl-8.5.2/include)
- SET(TCL_LIBRARY ${DEP_LIBRARY_DIR}/tcl85.lib CACHE FILEPATH "")
- LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib-1.2.3/include)
- SET(ZLIB_LIBRARY ${DEP_LIBRARY_DIR}/zdll.lib CACHE FILEPATH "")
+ # Certain find scripts don't behave as ecpected to we have
+ # to specify the libraries ourselves.
+ SET(TCL_LIBRARY ${DEP_LIBRARY_DIR}/tcl85.lib CACHE FILEPATH "")
+ SET(ZLIB_LIBRARY ${DEP_LIBRARY_DIR}/zdll.lib CACHE FILEPATH "")
+ # Visual Leak Detector
+ SET(VLD_INCLUDE_DIR ${DEP_INCLUDE_DIR}/vld-1.9h CACHE PATH "")
+ SET(VLD_LIBRARY_DIR ${DEP_LIBRARY_DIR} CACHE PATH "")
+ LINK_DIRECTORIES(${VLD_LIBRARY_DIR}) # Used for auto-linking
+ MARK_AS_ADVANCED(VLD_INCLUDE_DIR VLD_LIBRARY_DIR)
+
ENDIF(MSVC)
Modified: trunk/cmake/PackageConfigMinGW.cmake
===================================================================
--- trunk/cmake/PackageConfigMinGW.cmake 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/cmake/PackageConfigMinGW.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,13 +27,6 @@
IF(MINGW)
- # MAJOR: Interface breaking change somewhere or added a new library
- # MINOR: Updated a library to a new version
- # PATCH: Bug fix or smaller things
- SET(DEPENDENCY_VERSION 0.0.1)
-
- MESSAGE(STATUS "Using library package for the dependencies.")
-
# 64 bit system?
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BINARY_POSTFIX x64)
@@ -51,21 +44,9 @@
# Sets the library path for the FIND_LIBRARY
SET(CMAKE_LIBRARY_PATH ${DEP_LIBRARY_DIR} ${DEP_BINARY_DIR})
- # Include paths and other special treatments
- SET(ENV{ALUTDIR} ${DEP_INCLUDE_DIR}/freealut-1.1.0)
- SET(ENV{BOOST_ROOT} ${DEP_INCLUDE_DIR}/boost-1.37.0)
- SET(ENV{CEGUIDIR} ${DEP_INCLUDE_DIR}/cegui-0.6.2)
- SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx-2007.aug)
- SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet-1.2)
- SET(ENV{LUA_DIR} ${DEP_INCLUDE_DIR}/lua-5.1.4)
- SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg-1.1.3)
- SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis-1.2.0)
- SET(ENV{OGRE_HOME} ${DEP_INCLUDE_DIR}/ogre-1.4.9)
- SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR})
- SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal-1.1)
- LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl-8.5.2/include)
- SET(TCL_LIBRARY ${DEP_BINARY_DIR}/tcl85.dll CACHE FILEPATH "")
- LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib-1.2.3/include)
- SET(ZLIB_LIBRARY ${DEP_BINARY_DIR}/zlib1.dll CACHE FILEPATH "")
+ # Certain find scripts don't behave as ecpected to we have
+ # to specify the libraries ourselves.
+ SET(TCL_LIBRARY ${DEP_BINARY_DIR}/tcl85.dll CACHE FILEPATH "")
+ SET(ZLIB_LIBRARY ${DEP_BINARY_DIR}/zlib1.dll CACHE FILEPATH "")
ENDIF(MINGW)
Copied: trunk/cmake/ParseMacroArguments.cmake (from rev 3195, branches/pch/cmake/ParseMacroArguments.cmake)
===================================================================
--- trunk/cmake/ParseMacroArguments.cmake (rev 0)
+++ trunk/cmake/ParseMacroArguments.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,76 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Description:
+ # Parses a list of macro arguments which are separated by keywords and
+ # writes the result to the _arg_KEYWORD variable. Switches are set to their
+ # literal name if found and the lists contain their elements.
+ # The order of the arguments is arbitrary.
+ # Note:
+ # You have to specify the switches and list_names as a
+ # semicolon separated list or all hell breaks loose!
+ # Example:
+ # The arguments BLUBB_FILES foo.cc bar.c NO_ASDF will do the following:
+ # SET(_arg_NO_ASDF _arg_NO_ASDF)
+ # SET(_arg_BLUBB_FILES foo.cc bar.c)
+ # But NO_FOO will not be set at all if it was specified as a switch
+ #
+
+MACRO(PARSE_MACRO_ARGUMENTS _switches _list_names)
+ # Parse all the arguments and set the corresponding variable
+ # If the option is just a switch, set the variable to its name for later use
+ FOREACH(_arg ${ARGN})
+ SET(_arg_found FALSE)
+
+ # Switches
+ FOREACH(_switch ${_switches})
+ IF(${_switch} STREQUAL ${_arg})
+ SET(_arg_${_switch} ${_switch})
+ SET(_arg_found TRUE)
+ # Avoid interpreting arguments after this one as options args for the previous one
+ SET(_storage_var)
+ BREAK()
+ ENDIF()
+ ENDFOREACH(_switch)
+
+ # Input options
+ IF(NOT _arg_found)
+ FOREACH(_list_name ${_list_names})
+ IF(${_list_name} STREQUAL ${_arg})
+ SET(_storage_var _arg_${_list_name})
+ SET(_arg_found TRUE)
+ BREAK()
+ ENDIF()
+ ENDFOREACH(_list_name)
+ ENDIF(NOT _arg_found)
+
+ # Arguments of an input option (like source files for SOURCE_FILES)
+ IF(NOT _arg_found)
+ IF(_storage_var)
+ # Store in variable define above in the foreach loop
+ SET(${_storage_var} ${${_storage_var}} ${_arg})
+ ELSE()
+ MESSAGE(FATAL_ERROR "ORXONOX_ADD_${_target_type} was given a non compliant argument: ${_arg}")
+ ENDIF(_storage_var)
+ ENDIF(NOT _arg_found)
+
+ ENDFOREACH(_arg)
+ENDMACRO(PARSE_MACRO_ARGUMENTS)
Copied: trunk/cmake/PrecompiledHeaderFiles.cmake (from rev 3195, branches/pch/cmake/PrecompiledHeaderFiles.cmake)
===================================================================
--- trunk/cmake/PrecompiledHeaderFiles.cmake (rev 0)
+++ trunk/cmake/PrecompiledHeaderFiles.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,161 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ #
+
+INCLUDE(GetGCCCompilerFlags)
+
+MACRO(PRECOMPILED_HEADER_FILES_PRE_TARGET _target_name _header_file_arg _sourcefile_var)
+
+ GET_FILENAME_COMPONENT(_pch_header_file ${_header_file_arg} ABSOLUTE)
+ GET_FILENAME_COMPONENT(_pch_header_filename ${_pch_header_file} NAME)
+ GET_FILENAME_COMPONENT(_pch_header_filename_we ${_pch_header_file} NAME_WE)
+
+ IF(NOT EXISTS ${_pch_header_file})
+ MESSAGE(FATAL_ERROR "Specified precompiled headerfile '${_header_file_arg}' does not exist.")
+ ENDIF()
+
+ # Extract arguments from ARGN
+ FOREACH(_arg ${ARGN})
+ IF(NOT "${_arg}" STREQUAL "EXCLUDE")
+ IF(NOT _arg_second)
+ # Source files with PCH support
+ SET(_included_files ${_included_files} ${_arg})
+ ELSE()
+ # Source files to be excluded from PCH support (easier syntax this way)
+ SET(_excluded files ${_excluded_files} ${_arg})
+ ENDIF()
+ ELSE()
+ SET(_arg_second TRUE)
+ ENDIF()
+ ENDFOREACH(_arg)
+
+ # Use ${_sourcefile_var} if no files were specified explicitely
+ IF(NOT _included_files)
+ SET(_source_files ${${_sourcefile_var}})
+ ELSE()
+ SET(_source_files ${_included_files})
+ ENDIF()
+
+ # Exclude files (if specified)
+ FOREACH(_file ${_excluded_files})
+ LIST(FIND _source_files ${_file} _list_index)
+ IF(_list_index GREATER -1)
+ LIST(REMOVE_AT _source_files _list_index)
+ ELSE()
+ MESSAGE(FATAL_ERROR "Could not exclude file ${_file} in target ${_target_name}")
+ ENDIF()
+ ENDFOREACH(_file)
+
+ LIST(FIND ${_sourcefile_var} ${_pch_header_file} _list_index)
+ IF(_list_index EQUAL -1) # Header file could already be included with GET_ALL_HEADER_FILES
+ LIST(APPEND ${_sourcefile_var} ${_pch_header_file})
+ ENDIF()
+ SOURCE_GROUP("PCH" FILES ${_pch_header_file})
+
+ IF(MSVC)
+
+ # Write and add one source file, which generates the precompiled header file
+ SET(_pch_source_file "${CMAKE_CURRENT_BINARY_DIR}/${_pch_header_filename_we}.cc")
+ IF(NOT EXISTS ${_pch_source_file})
+ FILE(WRITE ${_pch_source_file} "#include \"${_pch_header_file}\"\n")
+ ENDIF()
+ SET_SOURCE_FILES_PROPERTIES(_pch_source_file PROPERTIES GENERATED TRUE)
+ LIST(APPEND ${_sourcefile_var} ${_pch_source_file})
+ SOURCE_GROUP("PCH" FILES ${_pch_source_file})
+
+ SET(_pch_file "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${_pch_header_filename}.pch")
+ # Set compile flags for generated source file
+ SET_SOURCE_FILES_PROPERTIES(${_pch_source_file} PROPERTIES COMPILE_FLAGS "/c /Yc\"${_pch_header_file}\" /Fp\"${_pch_file}\"")
+ # Set Compile flags for the other source files
+ FOREACH(_file ${_source_files})
+ GET_SOURCE_FILE_PROPERTY(_is_header ${_file} HEADER_FILE_ONLY)
+ IF(NOT _is_header)
+ GET_SOURCE_FILE_PROPERTY(_old_flags ${_file} COMPILE_FLAGS)
+ IF(NOT _old_flags)
+ SET(_old_flags "")
+ ENDIF()
+ SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES COMPILE_FLAGS "${_old_flags} /FI\"${_pch_header_file}\" /Yu\"${_pch_header_file}\" /Fp\"${_pch_file}\"")
+ ENDIF(NOT _is_header)
+ ENDFOREACH(_file)
+
+ ELSEIF(CMAKE_COMPILER_IS_GNU)
+
+ SET(_pch_file "${CMAKE_CURRENT_BINARY_DIR}/${_pch_header_filename}.gch")
+ SET(_pch_dep_helper_file "${CMAKE_CURRENT_BINARY_DIR}/${_target_name}PCHDependencyHelper.h")
+
+ # Append the gch-dir to make sure gcc finds the pch file
+ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
+
+ # Get compiler flags of the source files (target does not yet exist!)
+ # This is just the best possible opportunity to address this dependency issue
+ GET_GCC_COMPILER_FLAGS(${_target_name} _pch_gcc_flags)
+ # Make sure we recompile the pch file even if only the flags change
+ IF(NOT "${_pch_gcc_flags}" STREQUAL "${_INTERNAL_PCH_GCC_FLAGS}")
+ SET(_INTERNAL_PCH_GCC_FLAGS "${_pch_gcc_flags}" CACHE INTERNAL "")
+ FILE(WRITE ${_pch_dep_helper_file} "/* ${_pch_gcc_flags} */")
+ ENDIF()
+
+ # Set Compile flags for the other source files
+ FOREACH(_file ${_source_files})
+ GET_SOURCE_FILE_PROPERTY(_is_header ${_file} HEADER_FILE_ONLY)
+ IF(NOT _is_header)
+ GET_SOURCE_FILE_PROPERTY(_old_flags ${_file} COMPILE_FLAGS)
+ IF(NOT _old_flags)
+ SET(_old_flags "")
+ ENDIF()
+ SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES
+ COMPILE_FLAGS "${_old_flags} -include ${_pch_header_filename}"
+ OBJECT_DEPENDS "${_pch_header_file};${_pch_file}"
+ )
+ ENDIF(NOT _is_header)
+ ENDFOREACH(_file)
+
+ ENDIF()
+
+ENDMACRO(PRECOMPILED_HEADER_FILES_PRE_TARGET)
+
+FUNCTION(PRECOMPILED_HEADER_FILES_POST_TARGET _target_name)
+ # This macro is only necessary for GCC
+ IF(CMAKE_COMPILER_IS_GNU)
+
+ # Workaround for distcc
+ IF(CMAKE_CXX_COMPILER_ARG1)
+ # remove leading space in compiler argument
+ STRING(REGEX REPLACE "^ +" "" _pch_cmake_cxx_compiler_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
+ ENDIF()
+
+ # Get compiler flags of the source files again (target exists this time)
+ GET_GCC_COMPILER_FLAGS(${_target_name} _pch_gcc_flags)
+
+ # Compile the header file
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${_pch_file}
+ COMMAND ${CMAKE_CXX_COMPILER}
+ ARGS ${pchsupport_compiler_cxx_arg1} ${_pch_gcc_flags} -c -x c++-header -o ${_pch_file} ${_pch_header_file}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS ${_pch_header_file} ${_pch_dep_helper_file}
+ IMPLICIT_DEPENDS ${_pch_header_file}
+ VERBATIM
+ )
+
+ ENDIF(CMAKE_COMPILER_IS_GNU)
+ENDFUNCTION(PRECOMPILED_HEADER_FILES_POST_TARGET)
Copied: trunk/cmake/SeparateFlags.cmake (from rev 3195, branches/pch/cmake/SeparateFlags.cmake)
===================================================================
--- trunk/cmake/SeparateFlags.cmake (rev 0)
+++ trunk/cmake/SeparateFlags.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,63 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Description:
+ # Separates a string of program flags like "--blubb -test -D AA".
+ # " -" or " /" denotes the start of a flag.
+ # The same sequence inside double quotation marks is being ignored.
+ # Spaces not within quotes are cleaned meaningfully.
+ # Note:
+ # This macro cannot cope with semicolons in the flag string!
+
+FUNCTION(SEPARATE_FLAGS _flags _output_variable)
+ # Visual studio (esp. IntelliSense) doesn't like dashes to specify arguments
+ # Always use foward slashes instead
+ IF(MSVC)
+ SET(_argument_starter "/")
+ ELSE()
+ SET(_argument_starter "-")
+ ENDIF(MSVC)
+
+ SET(_flags_prep " ${_flags} -")
+ # Separate the chunks
+ STRING(REPLACE " " " ;" _flag_chunks "${_flags_prep}") # Max loop iterations
+ SET(_flag_string)
+ SET(_parsed_flags)
+ # Loop is necessary because the regex engine is greedy
+ FOREACH(_chunk ${_flag_chunks})
+ SET(_flag_string "${_flag_string}${_chunk}")
+ # Replace all " -" and " /" inside quotation marks
+ STRING(REGEX REPLACE "^(([^\"]*\"[^\"]*\")*[^\"]*\"[^\"]*) [/-]([^\"]*\")"
+ "\\1 at 39535493@\\3" _flag_string "${_flag_string}")
+ # Extract one flag if possible
+ SET(_flag)
+ STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "${_argument_starter}\\1" _flag "${_flag_string}")
+ STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "\\2" _flag_string "${_flag_string}")
+ IF(NOT _flag STREQUAL _flag_string)
+ STRING(STRIP "${_flag}" _flag_stripped)
+ LIST(APPEND _parsed_flags "${_flag_stripped}")
+ ENDIF(NOT _flag STREQUAL _flag_string)
+ ENDFOREACH(_chunk)
+
+ # Re-replace all " -" and " /" inside quotation marks
+ STRING(REGEX REPLACE "@39535493@" " -" _parsed_flags "${_parsed_flags}")
+ SET(${_output_variable} "${_parsed_flags}" PARENT_SCOPE)
+ENDFUNCTION(SEPARATE_FLAGS)
Copied: trunk/cmake/SetCacheAdvanced.cmake (from rev 3195, branches/pch/cmake/SetCacheAdvanced.cmake)
===================================================================
--- trunk/cmake/SetCacheAdvanced.cmake (rev 0)
+++ trunk/cmake/SetCacheAdvanced.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,36 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Description:
+ # Write to the cache by force, but only if the user hasn't changed the value
+ # Additional argument is the value (may also be a list)
+
+FUNCTION(SET_CACHE_ADVANCED _varname _type _docstring)
+ SET(_value ${ARGN})
+ IF(NOT "${_type}" MATCHES "^(STRING|BOOL|PATH|FILEPATH)$")
+ MESSAGE(FATAL_ERROR "${_type} is not a valid CACHE entry type")
+ ENDIF()
+
+ IF(NOT DEFINED _INTERNAL_${_varname} OR "${_INTERNAL_${_varname}}" STREQUAL "${${_varname}}")
+ SET(${_varname} "${_value}" CACHE ${_type} "${_docstring}" FORCE)
+ SET(_INTERNAL_${_varname} "${_value}" CACHE INTERNAL "Do not edit in any case!")
+ ENDIF()
+ENDFUNCTION(SET_CACHE_ADVANCED)
Copied: trunk/cmake/TargetUtilities.cmake (from rev 3195, branches/pch/cmake/TargetUtilities.cmake)
===================================================================
--- trunk/cmake/TargetUtilities.cmake (rev 0)
+++ trunk/cmake/TargetUtilities.cmake 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,183 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # 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
+ # Description:
+ # Adds a library or an executable like ADD_LIBRARY/ADD_EXECUTABLE, but
+ # accepts a lot more input information. Simply supply the keywords
+ # described below in any order you wish.
+ #
+ # Switches: (when given --> TRUE, FALSE otherwise)
+ # FIND_HEADER_FILES: Searches the current directory for all header files
+ # and adds them to the target.
+ # EXCLUDE_FROM_ALL: Inherited from ADD_LIBRARY/ADD_EXECUTABLE
+ # ORXONOX_EXTERNAL: Specify this for third party libraries
+ # NO_DLL_INTERFACE: Link statically with MSVC
+ # NO_SOURCE_GROUPS: Don't create msvc source groups
+ # STATIC/SHARED: Inherited from ADD_LIBRARY
+ # WIN32: Inherited from ADD_EXECUTABLE
+ # PCH_NO_DEFAULT: Do not make precompiled header files default if
+ # specified with PCH_FILE
+ # Lists:
+ # LINK_LIBRARIES: Redirects to TARGET_LINK_LIBRARIES
+ # VERSION: Set version to the binary
+ # SOURCE_FILES: Source files for the target
+ # DEFINE_SYMBOL: Sets the DEFINE_SYMBOL target property
+ # TOLUA_FILES: Files with tolua interface
+ # PCH_FILE: Precompiled header file
+ # PCH_EXCLUDE: Source files to be excluded from PCH support
+ # Note:
+ # This function also installs the target!
+ # Prerequisistes:
+ # ORXONOX_DEFAULT_LINK, ORXONOX_CONFIG_FILES
+ # Parameters:
+ # _target_name, ARGN for the macro arguments
+ #
+
+INCLUDE(CapitaliseName)
+INCLUDE(GenerateToluaBindings)
+INCLUDE(ParseMacroArguments)
+INCLUDE(SourceFileUtilities)
+IF(PCH_COMPILER_SUPPORT)
+ INCLUDE(PrecompiledHeaderFiles)
+ENDIF()
+
+FUNCTION(ORXONOX_ADD_LIBRARY _target_name)
+ TU_ADD_TARGET(${_target_name} LIBRARY "STATIC;SHARED" ${ARGN})
+ENDFUNCTION(ORXONOX_ADD_LIBRARY)
+
+FUNCTION(ORXONOX_ADD_EXECUTABLE _target_name)
+ TU_ADD_TARGET(${_target_name} EXECUTABLE "WIN32" ${ARGN})
+ENDFUNCTION(ORXONOX_ADD_EXECUTABLE)
+
+
+FUNCTION(TU_ADD_TARGET _target_name _target_type _additional_switches)
+ CAPITALISE_NAME(${_target_name} _target_name_capitalised)
+
+ # Specify all possible options (either switch or with add. arguments)
+ SET(_switches FIND_HEADER_FILES EXCLUDE_FROM_ALL ORXONOX_EXTERNAL
+ NO_DLL_INTERFACE NO_SOURCE_GROUPS ${_additional_switches}
+ PCH_NO_DEFAULT)
+ SET(_list_names LINK_LIBRARIES VERSION SOURCE_FILES DEFINE_SYMBOL
+ TOLUA_FILES PCH_FILE PCH_EXCLUDE)
+ PARSE_MACRO_ARGUMENTS("${_switches}" "${_list_names}" ${ARGN})
+
+
+ # GET_HEADER_FILES
+ IF(_arg_FIND_HEADER_FILES)
+ GET_ALL_HEADER_FILES(_${target_name}_header_files)
+ ENDIF()
+
+ # Remove potential duplicates
+ SET(_${_target_name}_files ${_${target_name}_header_files} ${_arg_SOURCE_FILES})
+ LIST(REMOVE_DUPLICATES _${_target_name}_files)
+
+ # Generate the source groups
+ IF(NOT _arg_NO_SOURCE_GROUPS)
+ GENERATE_SOURCE_GROUPS(${_${_target_name}_files})
+
+ IF(NOT _arg_ORXONOX_EXTERNAL)
+ # Move the prereqs.h file to the config section
+ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_target_name_capitalised}Prereqs.h)
+ SOURCE_GROUP("Config" FILES ${_target_name_capitalised}Prereqs.h)
+ ENDIF()
+ # Add the config files in a special source group
+ LIST(APPEND _${_target_name}_files ${ORXONOX_CONFIG_FILES})
+ SOURCE_GROUP("Config" FILES ${ORXONOX_CONFIG_FILES})
+ ENDIF()
+ ENDIF(NOT _arg_NO_SOURCE_GROUPS)
+
+ # TOLUA_FILES
+ IF(_arg_TOLUA_FILES)
+ GENERATE_TOLUA_BINDINGS(${_target_name_capitalised} _${_target_name}_files
+ INPUTFILES ${_arg_TOLUA_FILES})
+ ENDIF()
+
+ # First part (pre target) of precompiled header files
+ IF(PCH_COMPILER_SUPPORT AND _arg_PCH_FILE)
+ # Provide convenient option to control PCH
+ STRING(TOUPPER "${_target_name}" _target_name_upper)
+ IF(_arg_PCH_NO_DEFAULT)
+ SET(PCH_DEFAULT FALSE)
+ ELSE()
+ SET(PCH_DEFAULT TRUE)
+ ENDIF()
+ OPTION(PCH_ENABLE_${_target_name_upper} "Enable using precompiled header files for library ${_target_name}." ${PCH_DEFAULT})
+
+ IF(PCH_ENABLE_${_target_name_upper})
+ PRECOMPILED_HEADER_FILES_PRE_TARGET(${_target_name} ${_arg_PCH_FILE} _${_target_name}_files EXCLUDE ${_arg_PCH_EXCLUDE})
+ ENDIF()
+ ENDIF()
+
+ # Certain libraries don't have dllexport/dllimport and can't be linked shared with msvc
+ IF(MSVC AND _arg_NO_DLL_INTERFACE)
+ SET(_arg_SHARED)
+ SET(_arg_STATIC STATIC)
+ ENDIF()
+
+ # Set default linking if required
+ IF(NOT _arg_SHARED AND NOT _arg_STATIC)
+ IF("${ORXONOX_DEFAULT_LINK}" STREQUAL "STATIC")
+ SET(_arg_STATIC STATIC)
+ ELSEIF("${ORXONOX_DEFAULT_LINK}" STREQUAL "SHARED")
+ SET(_arg_SHARED SHARED)
+ ENDIF()
+ ENDIF()
+
+ # Add the library/executable
+ IF("${_target_type}" STREQUAL "LIBRARY")
+ ADD_LIBRARY(${_target_name} ${_arg_STATIC} ${_arg_SHARED}
+ ${_arg_EXCLUDE_FROM_ALL} ${_${_target_name}_files})
+ ELSE()
+ ADD_EXECUTABLE(${_target_name} ${_arg_WIN32} ${_arg_EXCLUDE_FROM_ALL}
+ ${_${_target_name}_files})
+ ENDIF()
+
+ # LINK_LIBRARIES
+ IF(_arg_LINK_LIBRARIES)
+ TARGET_LINK_LIBRARIES(${_target_name} ${_arg_LINK_LIBRARIES})
+ ENDIF()
+
+ # DEFINE_SYMBOL
+ IF(_arg_DEFINE_SYMBOL)
+ SET_TARGET_PROPERTIES(${_target_name} PROPERTIES DEFINE_SYMBOL ${_arg_DEFINE_SYMBOL})
+ ENDIF()
+
+ # VERSION
+ IF(_arg_VERSION)
+ SET_TARGET_PROPERTIES(${_target_name} PROPERTIES VERSION ${_arg_VERSION})
+ ELSEIF(NOT _arg_ORXONOX_EXTERNAL)
+ SET_TARGET_PROPERTIES(${_target_name} PROPERTIES VERSION ${ORXONOX_VERSION})
+ ENDIF()
+
+ # Second part of precompiled header files
+ IF(PCH_COMPILER_SUPPORT AND PCH_ENABLE_${_target_name_upper} AND _arg_PCH_FILE)
+ PRECOMPILED_HEADER_FILES_POST_TARGET(${_target_name} ${_arg_PCH_FILE})
+ ENDIF()
+
+ IF(NOT _arg_STATIC)
+ INSTALL(TARGETS ${_target_name}
+ RUNTIME DESTINATION ${ORXONOX_RUNTIME_INSTALL_PATH}
+ LIBRARY DESTINATION ${ORXONOX_LIBRARY_INSTALL_PATH}
+ #ARCHIVE DESTINATION ${ORXONOX_ARCHIVE_INSTALL_PATH}
+ )
+ ENDIF()
+
+ENDFUNCTION(TU_ADD_TARGET)
Modified: trunk/doc/api/CMakeLists.txt
===================================================================
--- trunk/doc/api/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/doc/api/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -49,8 +49,9 @@
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in ${CMAKE_CURRENT_BINARY_DIR}/doxy.config @ONLY)
# use (configured) doxy.config from (out of place) BUILD tree:
SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/doxy.config)
+ SET(DOXY_LOGFILE ${CMAKE_CURRENT_BINARY_DIR}/doxy.log)
ELSE()
- MESSAGE(STATUS "Warning: Could not find dox.config.in in the root directory.")
+ MESSAGE(FATAL_ERROR "Warning: Could not find dox.config.in in the root directory.")
ENDIF()
ADD_CUSTOM_TARGET(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG})
@@ -63,10 +64,10 @@
IF(HTML_HELP_COMPILER)
SET(TMP ${DOXY_OUTPUT_DIR}/html/index.hhp)
STRING(REGEX REPLACE "/" "\\\\" HHP_FILE ${TMP})
- ADD_CUSTOM_TARGET(chmdoc ${HTML_HELP_COMPILER} ${HHP_FILE})
- ADD_DEPENDENCIES(chmdoc doc)
+ ADD_CUSTOM_TARGET(doc_chm ${HTML_HELP_COMPILER} ${HHP_FILE})
+ ADD_DEPENDENCIES(doc_chm doc)
# Adding a dependency somehow adds doc target as default build target
- SET_TARGET_PROPERTIES(doc chmdoc PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
+ SET_TARGET_PROPERTIES(doc doc_chm PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
ENDIF(HTML_HELP_COMPILER)
ENDIF (WIN32)
@@ -77,7 +78,7 @@
DESTINATION ${ORXONOX_DOC_INSTALL_PATH}/api
OPTIONAL
)
- # Install command always needs the directory to work
+ # Install command always needs the directory
IF(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html)
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html)
ENDIF()
Modified: trunk/doc/api/doxy.config.in
===================================================================
--- trunk/doc/api/doxy.config.in 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/doc/api/doxy.config.in 2009-06-20 07:20:47 UTC (rev 3196)
@@ -53,16 +53,6 @@
OUTPUT_LANGUAGE = English
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = YES
-
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
@@ -376,7 +366,7 @@
# The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
-ENABLED_SECTIONS =
+ENABLED_SECTIONS = YES
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consists of for it to appear in
@@ -400,6 +390,18 @@
SHOW_DIRECTORIES = YES
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the Folder
+# Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page. This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from the
# version control system). Doxygen will invoke the program by executing (via
@@ -459,7 +461,7 @@
# and error messages should be written. If left blank the output is written
# to stderr.
-WARN_LOGFILE = @DOXY_OUTPUT_DIR@/doxy.log
+WARN_LOGFILE = @DOXY_LOGFILE@
#---------------------------------------------------------------------------
# configuration options related to the input files
@@ -471,6 +473,7 @@
# with spaces.
INPUT = @CMAKE_SOURCE_DIR@/src \
+ @CMAKE_CURRENT_SOURCE_DIR@ \
@CMAKE_BINARY_DIR@/src
# If the value of the INPUT tag contains directories, you can use the
@@ -517,7 +520,7 @@
# directories that contain example code fragments that are included (see
# the \include command).
-EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/doc/examples/
+EXAMPLE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/examples/
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@@ -541,7 +544,7 @@
# directories that contain image that are included in the documentation (see
# the \image command).
-IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/images/
+IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/images/
# The INPUT_FILTER tag can be used to specify a program that doxygen should
@@ -1029,7 +1032,7 @@
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.
-PREDEFINED =
+PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
@@ -1139,7 +1142,6 @@
# Language.
UML_LOOK = NO
-# UML_LOOK = YES
# If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances.
@@ -1195,7 +1197,7 @@
# contain dot files that are included in the documentation (see the
# \dotfile command).
-DOTFILE_DIRS =
+DOTFILE_DIRS = @CMAKE_CURRENT_SOURCE_DIR@/dot
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable
@@ -1221,8 +1223,7 @@
# files in one run (i.e. multiple -o and -T options on the command line). This
# makes dot run faster, but since only newer versions of dot (>1.8.10)
# support this, this feature is disabled by default.
-# JW
-# DOT_MULTI_TARGETS = NO
+
DOT_MULTI_TARGETS = NO
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
@@ -1244,5 +1245,4 @@
# The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored.
-# JW SEARCHENGINE = NO
SEARCHENGINE = YES
Copied: trunk/doc/api/main.dox (from rev 3195, branches/pch/doc/api/main.dox)
===================================================================
--- trunk/doc/api/main.dox (rev 0)
+++ trunk/doc/api/main.dox 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,4 @@
+/**
+ at mainpage
+ Orxonox Doxygen Reference
+*/
Modified: trunk/src/CMakeLists.txt
===================================================================
--- trunk/src/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -21,17 +21,18 @@
# various macro includes
INCLUDE(FlagUtilities)
-INCLUDE(GenerateToluaBindings)
-INCLUDE(InstallUtilities)
-INCLUDE(SourceFileUtilities)
+INCLUDE(TargetUtilities)
# Use TinyXML++
ADD_COMPILER_FLAGS("-DTIXML_USE_TICPP")
# OIS dynamic linking requires macro definition, at least for Windows
ADD_COMPILER_FLAGS("-DOIS_DYNAMIC_LIB")
# Tolua binding speedup if required
-ADD_COMPILER_FLAGS("-DTOLUA_RELEASE" Release MinSizeRel TOLUA_PARSER_RELEASE)
+ADD_COMPILER_FLAGS("-DTOLUA_RELEASE" ORXONOX_RELEASE)
+# Default linking is SHARED
+SET(ORXONOX_DEFAULT_LINK SHARED)
+
################ OrxonoxConfig.h ################
# Check endianness
@@ -75,13 +76,19 @@
ADD_COMPILER_FLAGS("-DCMAKE_BUILD_TYPE=MinSizeRel" MinSizeRel)
SET(GENERATED_FILE_COMMENT
- "DO NOT EDIT THIS FILE!
+ "DO NOT EDIT THIS FILE! <br>
It has been automatically generated by CMake from OrxonoxConfig.h.in")
# Copy and configure OrxonoxConfig which gets included in every file
CONFIGURE_FILE(OrxonoxConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/OrxonoxConfig.h)
# This file only gets included by very few classes to avoid a large recompilation
CONFIGURE_FILE(SpecialConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/SpecialConfig.h)
+SET(ORXONOX_CONFIG_FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/OrxonoxConfig.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/OrxonoxConfig.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/SpecialConfig.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/SpecialConfig.h.in
+)
############## Include Directories ##############
@@ -100,6 +107,7 @@
${TCL_INCLUDE_PATH}
${DIRECTX_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
+ ${VLD_INCLUDE_DIR}
# All library includes are prefixed with the path to avoid conflicts
${CMAKE_CURRENT_SOURCE_DIR}
@@ -144,7 +152,3 @@
ADD_SUBDIRECTORY(core)
ADD_SUBDIRECTORY(network)
ADD_SUBDIRECTORY(orxonox)
-
-# Apply version info
-SET_TARGET_PROPERTIES(util core network orxonox
- PROPERTIES VERSION ${ORXONOX_VERSION})
Modified: trunk/src/OrxonoxConfig.h.in
===================================================================
--- trunk/src/OrxonoxConfig.h.in 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/OrxonoxConfig.h.in 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,12 +33,12 @@
*/
/**
- @file
- @brief
+ at file
+ at brief
Various constants for compiler, architecture and platform.
-
+ at remarks
@GENERATED_FILE_COMMENT@
- */
+*/
#ifndef _OrxonoxConfig_H__
#define _OrxonoxConfig_H__
@@ -51,7 +51,7 @@
#cmakedefine ORXONOX_PLATFORM_APPLE
#cmakedefine ORXONOX_PLATFORM_UNIX /* Apple and Linux */
-/* Determine compiler and set ORXONOX_COMP_VER */
+// Determine compiler and set ORXONOX_COMP_VER
#if defined( _MSC_VER )
# define ORXONOX_COMPILER_MSVC
# define ORXONOX_COMP_VER _MSC_VER
@@ -74,15 +74,15 @@
#endif
-/* Endianness */
+// Endianness
#cmakedefine ORXONOX_BIG_ENDIAN
#cmakedefine ORXONOX_LITTLE_ENDIAN
-/* Architecture */
+// Architecture
#cmakedefine ORXONOX_ARCH_32
#cmakedefine ORXONOX_ARCH_64
-/* See if we can use __forceinline or if we need to use __inline instead */
+// See if we can use __forceinline or if we need to use __inline instead
#cmakedefine HAVE_FORCEINLINE
#ifndef FORCEINLINE
# ifdef HAVE_FORCEINLINE
@@ -92,7 +92,7 @@
# endif
#endif
-/* Try to define function information */
+// Try to define function information
#ifndef __FUNCTIONNAME__
# ifdef ORXONOX_COMPILER_BORLAND
# define __FUNCTIONNAME__ __FUNC__
@@ -114,7 +114,9 @@
#define ORXONOX_VERSION_PATCH @ORXONOX_VERSION_PATCH@
#define ORXONOX_VERSION_NAME "@ORXONOX_VERSION_NAME@"
-#define ORXONOX_VERSION ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH)
+//! Defines version info encoded as 0xMMIIPP (M: Major version, I: Minor version, P: Patch version, all as hex)
+#define ORXONOX_VERSION \
+ ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH)
/*---------------------------------
@@ -122,12 +124,11 @@
*-------------------------------*/
#ifdef ORXONOX_PLATFORM_UNIX
-/* TODO: Check what this actually is and whether we need it or not */
+// TODO: Check what this actually is and whether we need it or not
#if 0
# ifdef ORXONOX_PLATFORM_APPLE
# define ORXONOX_PLATFORM_LIB "OrxonoxPlatform.bundle"
-# else
-/* ORXONOX_PLATFORM_LINUX */
+# else // ORXONOX_PLATFORM_LINUX
# define ORXONOX_PLATFORM_LIB "libOrxonoxPlatform.so"
# endif
#endif
@@ -141,19 +142,20 @@
/*---------------------------------
- * Special Macros
+ * Options
*-------------------------------*/
-#define MACRO_CONCATENATE_AUX(a, b) a##b
-#define MACRO_CONCATENATE(a, b) MACRO_CONCATENATE_AUX(a, b)
-#define MACRO_QUOTEME_AUX(x) #x
-#define MACRO_QUOTEME(x) MACRO_QUOTEME_AUX(x)
+/**
+ at def ORXONOX_RELEASE
+ Enables expensive (build time) optimisations and disables certain features
+*/
+#cmakedefine ORXONOX_RELEASE
/*---------------------------------
- * Includes
+ * Includes and Declarations
*-------------------------------*/
-/* Define the english written operators like and, or, xor
- * This is C++ standard, but the Microsoft compiler doesn't define them. */
+// Define the english written operators like and, or, xor
+// This is C++ standard, but the Microsoft compiler doesn't define them.
#cmakedefine HAVE_ISO646_H
#ifdef HAVE_ISO646_H
# include <iso646.h>
@@ -180,10 +182,19 @@
#endif
*/
-/* Visual Leak Detector looks for memory leaks */
-#cmakedefine VISUAL_LEAK_DETECTOR_ENABLE
-#ifdef VISUAL_LEAK_DETECTOR_ENABLE
+// Always include the memory leak detector for MSVC except for actual releases
+// Note: Although officially supported, VLD does not work with MSVC 9
+#if defined(ORXONOX_COMPILER_MSVC) && _MSC_VER < 1500 && !defined(ORXONOX_RELEASE)
# include <vld.h>
#endif
+// Forward declare the everywhere used std::string
+namespace std
+{
+ template<class _Elem> struct char_traits;
+ template<class _Ty> class allocator;
+ template<class _Elem, class _Traits, class _Ax> class basic_string;
+ typedef basic_string<char, char_traits<char>, allocator<char> > string;
+}
+
#endif /* _OrxonoxConfig_H__ */
Modified: trunk/src/SpecialConfig.h.in
===================================================================
--- trunk/src/SpecialConfig.h.in 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/SpecialConfig.h.in 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,68 +27,89 @@
*/
/**
- @file
- @brief
+ at file
+ at brief
Various constants and options that only affect very little code.
- @note
+ at note
This is merely to avoid recompiling everything when only a path changes.
-
+ at remarks
@GENERATED_FILE_COMMENT@
- */
+*/
#ifndef _SpecialConfig_H__
#define _SpecialConfig_H__
#include "OrxonoxConfig.h"
+#include <boost/preprocessor/stringize.hpp>
-/* Set whether we must suffix "ceguilua/" for the CEGUILua.h include */
+/**
+ at def CEGUILUA_USE_INTERNAL_LIBRARY
+ Set whether we must suffix "ceguilua/" for the CEGUILua.h include
+*/
#cmakedefine CEGUILUA_USE_INTERNAL_LIBRARY
-/* Defined if a precompiled depdency package was used. We then copy all libraries
- too when installing. */
+/**
+ at def DEPENDENCY_PACKAGE_ENABLE
+ Defined if a precompiled depdency package was used. We then copy all libraries
+ too when installing.
+*/
#cmakedefine DEPENDENCY_PACKAGE_ENABLE
-/* Orxonox either gets installed to the system or just into a folder.
- The latter uses relative paths. */
+/**
+ at def INSTALL_COPYABLE
+ Orxonox either gets installed to the system or just into a folder.
+ The latter uses relative paths.
+*/
#cmakedefine INSTALL_COPYABLE
-/* Using MSVC or XCode IDE */
+/**
+ at def CMAKE_CONFIGURATION_TYPES
+ Using MSVC or XCode IDE
+*/
#cmakedefine CMAKE_CONFIGURATION_TYPES
-/* Handle default ConfigValues */
+// Handle default ConfigValues
namespace orxonox
{
- const char* const ORXONOX_RUNTIME_INSTALL_PATH("@ORXONOX_RUNTIME_INSTALL_PATH@");
- const char* const ORXONOX_MEDIA_INSTALL_PATH ("@ORXONOX_MEDIA_INSTALL_PATH@");
+ // INSTALLATION PATHS
+ const char ORXONOX_RUNTIME_INSTALL_PATH[] = "@ORXONOX_RUNTIME_INSTALL_PATH@";
+ const char ORXONOX_MEDIA_INSTALL_PATH[] = "@ORXONOX_MEDIA_INSTALL_PATH@";
/* Config and Log path might be relative because they could be user and therefore runtime dependent */
- const char* const ORXONOX_CONFIG_INSTALL_PATH ("@ORXONOX_CONFIG_INSTALL_PATH@");
- const char* const ORXONOX_LOG_INSTALL_PATH ("@ORXONOX_LOG_INSTALL_PATH@");
+ const char ORXONOX_CONFIG_INSTALL_PATH[] = "@ORXONOX_CONFIG_INSTALL_PATH@";
+ const char ORXONOX_LOG_INSTALL_PATH[] = "@ORXONOX_LOG_INSTALL_PATH@";
- const char* const ORXONOX_MEDIA_DEV_PATH ("@CMAKE_MEDIA_OUTPUT_DIRECTORY@");
+ // DEVELOPMENT RUN PATHS
+ const char ORXONOX_MEDIA_DEV_PATH[] = "@CMAKE_MEDIA_OUTPUT_DIRECTORY@";
#ifdef CMAKE_CONFIGURATION_TYPES
- const char* const ORXONOX_CONFIG_DEV_PATH ("@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" MACRO_QUOTEME(CMAKE_BUILD_TYPE));
- const char* const ORXONOX_LOG_DEV_PATH ("@CMAKE_LOG_OUTPUT_DIRECTORY@/" MACRO_QUOTEME(CMAKE_BUILD_TYPE));
+ const char ORXONOX_CONFIG_DEV_PATH[] = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" BOOST_PP_STRINGIZE(CMAKE_BUILD_TYPE);
+ const char ORXONOX_LOG_DEV_PATH[] = "@CMAKE_LOG_OUTPUT_DIRECTORY@/" BOOST_PP_STRINGIZE(CMAKE_BUILD_TYPE);
#else
- const char* const ORXONOX_CONFIG_DEV_PATH ("@CMAKE_CONFIG_OUTPUT_DIRECTORY@");
- const char* const ORXONOX_LOG_DEV_PATH ("@CMAKE_LOG_OUTPUT_DIRECTORY@");
+ const char ORXONOX_CONFIG_DEV_PATH[] = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@";
+ const char ORXONOX_LOG_DEV_PATH[] = "@CMAKE_LOG_OUTPUT_DIRECTORY@";
#endif
/* OGRE Plugins */
#ifdef NDEBUG
- const char* const ORXONOX_OGRE_PLUGINS("@OGRE_PLUGINS_RELEASE@");
+ const char ORXONOX_OGRE_PLUGINS[] = "@OGRE_PLUGINS_RELEASE@";
# ifdef DEPENDENCY_PACKAGE_ENABLE
- const char* const ORXONOX_OGRE_PLUGINS_FOLDER(".");
+ const char ORXONOX_OGRE_PLUGINS_FOLDER[] = ".";
# else
- const char* const ORXONOX_OGRE_PLUGINS_FOLDER("@OGRE_PLUGINS_FOLDER_RELEASE@");
+ const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "@OGRE_PLUGINS_FOLDER_RELEASE@";
# endif
#else
- const char* const ORXONOX_OGRE_PLUGINS("@OGRE_PLUGINS_DEBUG@");
+ const char ORXONOX_OGRE_PLUGINS[] = "@OGRE_PLUGINS_DEBUG@";
# ifdef DEPENDENCY_PACKAGE_ENABLE
- const char* const ORXONOX_OGRE_PLUGINS_FOLDER(".");
+ const char ORXONOX_OGRE_PLUGINS_FOLDER[] = ".";
# else
- const char* const ORXONOX_OGRE_PLUGINS_FOLDER("@OGRE_PLUGINS_FOLDER_DEBUG@");
+ const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "@OGRE_PLUGINS_FOLDER_DEBUG@";
# endif
#endif
}
+/**
+ at def ORXONOX_USE_WINMAIN
+ Use main() or WinMain()?
+*/
+#cmakedefine ORXONOX_USE_WINMAIN
+
#endif /* _SpecialConfig_H__ */
Modified: trunk/src/bullet/CMakeLists.txt
===================================================================
--- trunk/src/bullet/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/bullet/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,17 +26,15 @@
ADD_SUBDIRECTORY(BulletDynamics)
ADD_SUBDIRECTORY(LinearMath)
-GENERATE_SOURCE_GROUPS(${BULLET_FILES})
-
# No warnings needed from third party libraries
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
-IF(MSVC)
- ADD_LIBRARY(bullet_orxonox STATIC ${BULLET_FILES})
-ELSE(MSVC)
- ADD_LIBRARY(bullet_orxonox SHARED ${BULLET_FILES})
- ORXONOX_INSTALL(bullet_orxonox)
-ENDIF(MSVC)
-
-SET_TARGET_PROPERTIES(bullet_orxonox PROPERTIES VERSION 2.73)
+ORXONOX_ADD_LIBRARY(bullet_orxonox
+ ORXONOX_EXTERNAL
+ NO_DLL_INTERFACE
+ VERSION
+ 2.74
+ SOURCE_FILES
+ ${BULLET_FILES}
+)
Modified: trunk/src/ceguilua/CMakeLists.txt
===================================================================
--- trunk/src/ceguilua/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/ceguilua/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -74,14 +74,17 @@
SET(CEGUILUA_LIBRARY ceguilua_orxonox)
SET(CEGUILUA_LIBRARY ${CEGUILUA_LIBRARY} PARENT_SCOPE)
-ADD_LIBRARY(${CEGUILUA_LIBRARY} SHARED ${CEGUILUA_FILES})
-SET_TARGET_PROPERTIES(${CEGUILUA_LIBRARY} PROPERTIES DEFINE_SYMBOL "CEGUILUA_EXPORTS")
-TARGET_LINK_LIBRARIES(${CEGUILUA_LIBRARY}
- tolua++_orxonox
- ${LUA_LIBRARIES}
- ${CEGUI_LIBRARY}
+ORXONOX_ADD_LIBRARY(${CEGUILUA_LIBRARY}
+ ORXONOX_EXTERNAL
+ NO_SOURCE_GROUPS
+ DEFINE_SYMBOL
+ "CEGUILUA_EXPORTS"
+ VERSION
+ ${CEGUI_VERSION}
+ LINK_LIBRARIES
+ tolua++_orxonox
+ ${LUA_LIBRARIES}
+ ${CEGUI_LIBRARY}
+ SOURCE_FILES
+ ${CEGUILUA_FILES}
)
-
-SET_TARGET_PROPERTIES(ceguilua_orxonox PROPERTIES VERSION ${CEGUI_VERSION})
-
-ORXONOX_INSTALL(ceguilua_orxonox)
Modified: trunk/src/core/ArgumentCompletionFunctions.cc
===================================================================
--- trunk/src/core/ArgumentCompletionFunctions.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ArgumentCompletionFunctions.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,17 +28,15 @@
#include "ArgumentCompletionFunctions.h"
-#include <iostream>
#include <map>
#include <boost/version.hpp>
#include <boost/filesystem.hpp>
-#include "CoreIncludes.h"
+#include "util/Convert.h"
+#include "util/String.h"
#include "Identifier.h"
#include "ConfigValueContainer.h"
#include "TclThreadManager.h"
-#include "util/Convert.h"
-#include "util/String.h"
// Boost 1.36 has some issues with deprecated functions that have been omitted
#if (BOOST_VERSION == 103600)
Modified: trunk/src/core/ArgumentCompletionListElement.h
===================================================================
--- trunk/src/core/ArgumentCompletionListElement.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ArgumentCompletionListElement.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,10 +31,9 @@
#include "CorePrereqs.h"
-#include <string>
#include <list>
+#include <string>
-
namespace orxonox
{
const int ACL_MODE_NORMAL = 1;
Modified: trunk/src/core/BaseObject.cc
===================================================================
--- trunk/src/core/BaseObject.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/BaseObject.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,15 +35,16 @@
#include <tinyxml/tinyxml.h>
+#include "util/String.h"
#include "CoreIncludes.h"
+#include "Event.h"
#include "EventIncludes.h"
#include "Functor.h"
-#include "XMLPort.h"
+#include "Iterator.h"
+#include "Template.h"
#include "XMLFile.h"
#include "XMLNameListener.h"
-#include "Template.h"
-#include "util/String.h"
-#include "util/mbool.h"
+#include "XMLPort.h"
namespace orxonox
{
@@ -292,8 +293,8 @@
void BaseObject::processEvent(Event& event)
{
- SetEvent(BaseObject, "activity", setActive, event);
- SetEvent(BaseObject, "visibility", setVisible, event);
+ ORXONOX_SET_EVENT(BaseObject, "activity", setActive, event);
+ ORXONOX_SET_EVENT(BaseObject, "visibility", setVisible, event);
}
void BaseObject::setMainStateName(const std::string& name)
Modified: trunk/src/core/BaseObject.h
===================================================================
--- trunk/src/core/BaseObject.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/BaseObject.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -43,15 +43,15 @@
this->functorGetMainState_ = createFunctor(&classname::getfunction)->setObject(this); \
}
-#include <map>
#include "CorePrereqs.h"
+#include <map>
+#include <list>
+
+#include "util/mbool.h"
+#include "OrxonoxClass.h"
#include "Super.h"
-#include "OrxonoxClass.h"
-#include "XMLIncludes.h"
-#include "Event.h"
-#include "util/mbool.h"
namespace orxonox
{
Modified: trunk/src/core/CMakeLists.txt
===================================================================
--- trunk/src/core/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -62,27 +62,29 @@
TclThreadManager.cc
)
ADD_SUBDIRECTORY(input)
-GET_ALL_HEADER_FILES(CORE_HDR_FILES)
-SET(CORE_FILES ${CORE_SRC_FILES} ${CORE_HDR_FILES})
-GENERATE_SOURCE_GROUPS(${CORE_FILES})
-GENERATE_TOLUA_BINDINGS(Core CORE_FILES INPUTFILES LuaBind.h CommandExecutor.h Game.h)
-
-ADD_LIBRARY(core SHARED ${CORE_FILES})
-
-SET_TARGET_PROPERTIES(core PROPERTIES DEFINE_SYMBOL "CORE_SHARED_BUILD")
-TARGET_LINK_LIBRARIES(core
- ${OGRE_LIBRARY}
- ${Boost_THREAD_LIBRARY}
- ${Boost_FILESYSTEM_LIBRARY}
- ${Boost_SYSTEM_LIBRARY}
- ${Boost_DATE_TIME_LIBRARY} # MSVC only
- ${LUA_LIBRARIES}
- cpptcl_orxonox
- ois_orxonox
- tinyxml++_orxonox
- tolua++_orxonox
- util
+ORXONOX_ADD_LIBRARY(core
+ FIND_HEADER_FILES
+ TOLUA_FILES
+ CommandExecutor.h
+ Game.h
+ LuaBind.h
+ DEFINE_SYMBOL
+ "CORE_SHARED_BUILD"
+ PCH_FILE
+ CorePrecompiledHeaders.h
+ LINK_LIBRARIES
+ ${OGRE_LIBRARY}
+ ${Boost_THREAD_LIBRARY}
+ ${Boost_FILESYSTEM_LIBRARY}
+ ${Boost_SYSTEM_LIBRARY}
+ ${Boost_DATE_TIME_LIBRARY} # MSVC only
+ ${LUA_LIBRARIES}
+ cpptcl_orxonox
+ ois_orxonox
+ tinyxml++_orxonox
+ tolua++_orxonox
+ util
+ SOURCE_FILES
+ ${CORE_SRC_FILES}
)
-
-ORXONOX_INSTALL(core)
Modified: trunk/src/core/ClassFactory.h
===================================================================
--- trunk/src/core/ClassFactory.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ClassFactory.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -40,9 +40,9 @@
#include <string>
+#include "util/Debug.h"
#include "Factory.h"
#include "Identifier.h"
-#include "util/Debug.h"
namespace orxonox
{
@@ -87,7 +87,7 @@
@return The new object
*/
template <class T>
- BaseObject* ClassFactory<T>::fabricate(BaseObject* creator)
+ inline BaseObject* ClassFactory<T>::fabricate(BaseObject* creator)
{
return ClassFactory<T>::createNewObject(creator);
}
@@ -97,7 +97,7 @@
@return The new object
*/
template <class T>
- T* ClassFactory<T>::createNewObject(BaseObject* creator)
+ inline T* ClassFactory<T>::createNewObject(BaseObject* creator)
{
return new T(creator);
}
Modified: trunk/src/core/ClassTreeMask.cc
===================================================================
--- trunk/src/core/ClassTreeMask.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ClassTreeMask.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
#include "ClassTreeMask.h"
#include "Identifier.h"
-#include "BaseObject.h"
namespace orxonox
{
Modified: trunk/src/core/ClassTreeMask.h
===================================================================
--- trunk/src/core/ClassTreeMask.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ClassTreeMask.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -74,9 +74,8 @@
#include <list>
#include <stack>
-
-#include "Iterator.h"
#include "BaseObject.h"
+#include "Iterator.h"
namespace orxonox
{
Modified: trunk/src/core/Clock.cc
===================================================================
--- trunk/src/core/Clock.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Clock.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -56,7 +56,7 @@
unsigned long timersTime = timer_->getMicroseconds();
tickTime_ = storedTime_ + timersTime;
tickDt_ = timersTime - lastTimersTime_;
- tickDtFloat_ = (float)tickDt_ / 1000000.0f;
+ tickDtFloat_ = static_cast<float>(tickDt_) / 1000000.0f;
if (timersTime > 0x7FFFFFF0)
{
Modified: trunk/src/core/Clock.h
===================================================================
--- trunk/src/core/Clock.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Clock.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,7 +38,7 @@
#define _Clock_H__
#include "CorePrereqs.h"
-#include <OgrePrerequisites.h>
+#include "util/OgreForwardRefs.h"
namespace orxonox
{
@@ -52,11 +52,11 @@
unsigned long long getMicroseconds() const { return tickTime_; }
unsigned long long getMilliseconds() const { return tickTime_ / 1000; }
- int getSeconds() const { return tickTime_ / 1000000; }
- float getSecondsPrecise() const { return (float)tickTime_ / 1000000.0f; }
+ unsigned long getSeconds() const { return static_cast<long> (tickTime_ / 1000000); }
+ float getSecondsPrecise() const { return static_cast<float>(tickTime_ / 1000000.0f); }
float getDeltaTime() const { return tickDtFloat_; }
- int getDeltaTimeMicroseconds() const { return tickDt_; }
+ long getDeltaTimeMicroseconds() const { return tickDt_; }
unsigned long long getRealMicroseconds() const;
@@ -66,7 +66,7 @@
Ogre::Timer* timer_;
unsigned long long storedTime_;
unsigned long long tickTime_;
- int tickDt_;
+ long tickDt_;
float tickDtFloat_;
unsigned long lastTimersTime_;
};
Modified: trunk/src/core/CommandEvaluation.cc
===================================================================
--- trunk/src/core/CommandEvaluation.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CommandEvaluation.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,10 +27,11 @@
*/
#include "CommandEvaluation.h"
+
+#include "util/Debug.h"
+#include "util/String.h"
#include "ConsoleCommand.h"
#include "Identifier.h"
-#include "util/Debug.h"
-#include "util/String.h"
namespace orxonox
{
Modified: trunk/src/core/CommandExecutor.cc
===================================================================
--- trunk/src/core/CommandExecutor.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CommandExecutor.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,10 @@
*/
#include "CommandExecutor.h"
+
+#include "util/Debug.h"
+#include "util/String.h"
#include "ConsoleCommand.h"
-#include "util/String.h"
-#include "util/Debug.h"
#include "Identifier.h"
#include "Language.h"
#include "TclBind.h"
Modified: trunk/src/core/CommandExecutor.h
===================================================================
--- trunk/src/core/CommandExecutor.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CommandExecutor.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,10 @@
#include "CorePrereqs.h"
#include <map>
+#include <set>
+#include <string>
+#include "util/MultiType.h"
#include "CommandEvaluation.h"
// tolua_begin
Modified: trunk/src/core/CommandLine.cc
===================================================================
--- trunk/src/core/CommandLine.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CommandLine.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,6 +29,10 @@
#include "CommandLine.h"
#include <boost/filesystem.hpp>
+
+#include "util/Convert.h"
+#include "util/Debug.h"
+#include "util/Exception.h"
#include "util/String.h"
#include "util/SubString.h"
#include "Core.h"
Modified: trunk/src/core/CommandLine.h
===================================================================
--- trunk/src/core/CommandLine.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CommandLine.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,9 @@
#define _CommandLine_H__
#include "CorePrereqs.h"
+
#include <map>
-#include "util/Convert.h"
-#include "util/Debug.h"
-#include "util/Exception.h"
+#include "util/OrxAssert.h"
#include "util/MultiType.h"
#define SetCommandLineArgument(name, defaultValue) \
Modified: trunk/src/core/ConfigFileManager.cc
===================================================================
--- trunk/src/core/ConfigFileManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConfigFileManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,10 @@
#include "ConfigFileManager.h"
-#include <cassert>
#include <boost/filesystem.hpp>
#include "util/Convert.h"
+#include "util/Math.h"
#include "util/String.h"
#include "ConsoleCommand.h"
#include "ConfigValueContainer.h"
@@ -311,7 +311,7 @@
{
// There might be an array index
unsigned int index = 0;
- if (ConvertValue(&index, line.substr(pos2 + 1, pos3 - pos2 - 1)))
+ if (convertValue(&index, line.substr(pos2 + 1, pos3 - pos2 - 1)))
{
// New array
std::list<ConfigFileEntry*>::iterator it = newsection->getEntryIterator(getStripped(line.substr(0, pos2)), index, value, false);
Modified: trunk/src/core/ConfigFileManager.h
===================================================================
--- trunk/src/core/ConfigFileManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConfigFileManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,12 +31,11 @@
#include "CorePrereqs.h"
-#include <iostream>
+#include <cassert>
#include <string>
#include <list>
#include <map>
-#include "util/Math.h"
#include "util/OrxEnum.h"
namespace orxonox
Modified: trunk/src/core/ConfigValueContainer.cc
===================================================================
--- trunk/src/core/ConfigValueContainer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConfigValueContainer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,15 +33,10 @@
#include "ConfigValueContainer.h"
-#include <fstream>
-
-#include "util/SubString.h"
#include "util/Convert.h"
+#include "util/SubString.h"
#include "Language.h"
-#include "Identifier.h"
-
-
namespace orxonox
{
const unsigned int MAX_VECTOR_INDEX = 255; // to avoid up to 4*10^9 vector entries in the config file after accidentally using a wrong argument
@@ -302,7 +297,7 @@
bool success = false;
if (token.size() > 0)
- success = ConvertValue(&index, token[0]);
+ success = convertValue(&index, token[0]);
if (!success || index < 0 || index > (signed int)MAX_VECTOR_INDEX)
{
Modified: trunk/src/core/ConfigValueContainer.h
===================================================================
--- trunk/src/core/ConfigValueContainer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConfigValueContainer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -48,7 +48,6 @@
#include <string>
#include <vector>
-#include "util/Math.h"
#include "util/MultiType.h"
#include "ConfigFileManager.h"
#include "Identifier.h"
Modified: trunk/src/core/ConsoleCommand.h
===================================================================
--- trunk/src/core/ConsoleCommand.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConsoleCommand.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,10 +31,10 @@
#include "CorePrereqs.h"
+#include "ArgumentCompletionFunctions.h"
+#include "CommandExecutor.h"
#include "Executor.h"
#include "Identifier.h"
-#include "CommandExecutor.h"
-#include "ArgumentCompletionFunctions.h"
#define SetConsoleCommand(classname, function, bCreateShortcut) \
Modified: trunk/src/core/ConsoleCommandCompilation.cc
===================================================================
--- trunk/src/core/ConsoleCommandCompilation.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConsoleCommandCompilation.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,14 @@
*/
#include "ConsoleCommandCompilation.h"
-#include "ConsoleCommand.h"
+
+#include <fstream>
+#include <set>
+#include <string>
+
#include "util/Debug.h"
#include "util/ExprParser.h"
+#include "ConsoleCommand.h"
namespace orxonox
{
@@ -164,7 +169,7 @@
{
COUT(2) << "Warning: Expression could not be parsed to the end! Remains: '" << expr.getRemains() << "'" << std::endl;
}
- return expr.getResult();
+ return static_cast<float>(expr.getResult());
}
else
{
Modified: trunk/src/core/ConsoleCommandCompilation.h
===================================================================
--- trunk/src/core/ConsoleCommandCompilation.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ConsoleCommandCompilation.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,6 @@
#include "CorePrereqs.h"
-#include <string>
-
namespace orxonox
{
_CoreExport void source(const std::string& filename);
Modified: trunk/src/core/Core.cc
===================================================================
--- trunk/src/core/Core.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Core.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,9 @@
*/
/**
- @file
- @brief Implementation of the Core class.
+ at file
+ at brief
+ Implementation of the Core singleton with its global variables (avoids boost include)
*/
#include "Core.h"
@@ -80,6 +81,7 @@
static boost::filesystem::path configPath_g; //!< Path to the config file folder
static boost::filesystem::path logPath_g; //!< Path to the log file folder
+ //! Static pointer to the singleton
Core* Core::singletonRef_s = 0;
SetCommandLineArgument(mediaPath, "").information("PATH");
@@ -364,7 +366,7 @@
static bool bInitialized = false;
if (!bInitialized && this->bInitializeRandomNumberGenerator_)
{
- srand(time(0));
+ srand(static_cast<unsigned int>(time(0)));
rand();
bInitialized = true;
}
@@ -471,6 +473,8 @@
Checks for "orxonox_dev_build.keep_me" in the executable diretory.
If found it means that this is not an installed run, hence we
don't write the logs and config files to ~/.orxonox
+ @throws
+ GeneralException
*/
void Core::checkDevBuild()
{
@@ -531,14 +535,14 @@
@brief
Checks for the log and the config directory and creates them
if necessary. Otherwise me might have problems opening those files.
+ @throws
+ orxonox::GeneralException if the directory to be created is a file.
*/
void Core::createDirectories()
{
std::vector<std::pair<boost::filesystem::path, std::string> > directories;
- directories.push_back(std::pair<boost::filesystem::path, std::string>
- (boost::filesystem::path(configPath_g), "config"));
- directories.push_back(std::pair<boost::filesystem::path, std::string>
- (boost::filesystem::path(logPath_g), "log"));
+ directories.push_back(std::make_pair(boost::filesystem::path(configPath_g), "config"));
+ directories.push_back(std::make_pair(boost::filesystem::path(logPath_g), "log"));
for (std::vector<std::pair<boost::filesystem::path, std::string> >::iterator it = directories.begin();
it != directories.end(); ++it)
Modified: trunk/src/core/Core.h
===================================================================
--- trunk/src/core/Core.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Core.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,10 @@
*/
/**
- @file
- @brief Declaration of the Core class.
-
+ at file
+ at brief
+ Declaration of the Core class.
+ at details
The Core class is a singleton, only used to configure some variables
in the core through the config-file.
*/
@@ -44,20 +45,25 @@
#include "OrxonoxClass.h"
#include "util/OutputHandler.h"
-// boost::filesystem header has quite a large tail, use forward declaration
-namespace boost { namespace filesystem
-{
- struct path_traits;
- template<class String, class Traits> class basic_path;
- typedef basic_path< std::string, path_traits> path;
-} }
-
namespace orxonox
{
- //! The Core class is a singleton, only used to configure some config-values.
+ /**
+ @brief
+ The Core class is a singleton used to configure the program basics.
+ @details
+ The class provides information about the media, config and log path.
+ It determines those by the use of platform specific functions.
+ */
class _CoreExport Core : public OrxonoxClass
{
public:
+ /**
+ @brief
+ Determines the executable path, checks for build directory runs, creates
+ the output directories and sets up the other core library singletons.
+ @throws
+ GeneralException
+ */
Core();
~Core();
@@ -75,15 +81,21 @@
static void tsetMediaPath(const std::string& path)
{ assert(singletonRef_s); singletonRef_s->_tsetMediaPath(path); }
+ //! Returns the path to the config files as boost::filesystem::path
static const boost::filesystem::path& getMediaPath();
+ //! Returns the path to the config files as boost::filesystem::path
static const boost::filesystem::path& getConfigPath();
+ //! Returns the path to the log files as boost::filesystem::path
static const boost::filesystem::path& getLogPath();
+ //! Returns the path to the data files as std::string
static std::string getMediaPathString();
+ //! Returns the path to the config files as std::string
static std::string getConfigPathString();
+ //! Returns the path to the log files as std::string
static std::string getLogPathString();
private:
- Core(const Core&);
+ Core(const Core&); //!< Don't use (undefined symbol)
void checkDevBuild();
void setExecutablePath();
Modified: trunk/src/core/CoreIncludes.h
===================================================================
--- trunk/src/core/CoreIncludes.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CoreIncludes.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -42,11 +42,11 @@
#include "CorePrereqs.h"
+#include "util/Debug.h"
#include "Identifier.h"
#include "Factory.h"
#include "ClassFactory.h"
-#include "Functor.h"
-#include "util/Debug.h"
+#include "ObjectList.h"
/**
@@ -128,12 +128,4 @@
#define ClassByID(networkID) \
orxonox::Factory::getIdentifier(networkID)
-/**
- @brief Registers a member function as callback when an object of 'type' is created.
- @param
-*/
-#define RegisterConstructionCallback(ThisClassName, TargetClassName, FunctionName) \
- orxonox::ClassIdentifier<TargetClassName>::getIdentifier()->addConstructionCallback( \
- orxonox::createFunctor(&ThisClassName::FunctionName)->setObject(this))
-
#endif /* _CoreIncludes_H__ */
Copied: trunk/src/core/CorePrecompiledHeaders.h (from rev 3195, branches/pch/src/core/CorePrecompiledHeaders.h)
===================================================================
--- trunk/src/core/CorePrecompiledHeaders.h (rev 0)
+++ trunk/src/core/CorePrecompiledHeaders.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,81 @@
+/*
+ * 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
+ Compilation of the most often used header files in the core library for MSVC
+*/
+
+#include "CorePrereqs.h"
+
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <map>
+#include <set>
+#include <sstream>
+#include <string>
+#include <vector>
+
+
+#ifdef ORXONOX_COMPILER_MSVC
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#undef max
+#undef min
+
+#include <ois/OISKeyboard.h>
+#include <ois/OISMouse.h>
+#include <ois/OISJoyStick.h>
+#include <tinyxml/ticpp.h>
+// Included by both filesystem and thread but still relatively small
+#include <boost/iterator/iterator_facade.hpp>
+
+#endif /* ORXONOX_COMPILER_MSVC */
+
+
+#include "util/Convert.h"
+#include "util/Debug.h"
+#include "util/Exception.h"
+#include "util/Math.h"
+#include "util/mbool.h"
+#include "util/MultiType.h"
+#include "util/OrxAssert.h"
+#include "util/OrxEnum.h"
+#include "util/String.h"
+#include "util/SubString.h"
+
+
+#ifdef ORXONOX_COMPILER_MSVC
+
+// A change would trigger an 80% Core rebuild anyway
+#include "Identifier.h"
+
+#endif /*ORXONOX_COMPILER_MSVC */
Modified: trunk/src/core/CorePrereqs.h
===================================================================
--- trunk/src/core/CorePrereqs.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/CorePrereqs.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,8 +36,6 @@
#include "OrxonoxConfig.h"
-#include <string>
-
//-----------------------------------------------------------------------
// Shared library settings
//-----------------------------------------------------------------------
@@ -63,130 +61,180 @@
//-----------------------------------------------------------------------
namespace orxonox
{
- namespace XMLPort
- {
- enum Mode
+ namespace XMLPort
{
- LoadObject,
- SaveObject,
- ExpandObject
- };
- }
+ enum Mode
+ {
+ LoadObject,
+ SaveObject,
+ ExpandObject
+ };
+ }
- namespace KeybindMode
- {
- enum Enum
+ namespace KeybindMode
{
- OnPress,
- OnHold,
- OnRelease,
- None
+ enum Enum
+ {
+ OnPress,
+ OnHold,
+ OnRelease,
+ None
+ };
};
- };
- typedef std::string LanguageEntryLabel;
+ typedef std::string LanguageEntryLabel;
- class ArgumentCompleter;
- class ArgumentCompletionListElement;
- class BaseFactory;
- class BaseMetaObjectListElement;
- class BaseObject;
- template <class T>
- class ClassFactory;
- template <class T>
- class ClassIdentifier;
- class ClassTreeMask;
- class ClassTreeMaskIterator;
- class ClassTreeMaskNode;
- class ClassTreeMaskObjectIterator;
- class Clock;
- class CommandEvaluation;
- class CommandExecutor;
- class CommandLine;
- class CommandLineArgument;
- class ConfigFile;
- class ConfigFileEntry;
- class ConfigFileEntryComment;
- class ConfigFileEntryValue;
- class ConfigFileManager;
- class ConfigFileSection;
- class ConfigValueContainer;
- class ConsoleCommand;
- class Core;
- struct Event;
- class EventContainer;
- class Executor;
- template <class T>
- class ExecutorMember;
- class ExecutorStatic;
- class Factory;
- class Functor;
- template <class T>
- class FunctorMember;
- class FunctorStatic;
- class Identifier;
- class IRC;
- template <class T>
- class Iterator;
- class IteratorBase;
- class Language;
- class LanguageEntry;
- class Loader;
- class LuaBind;
- class MetaObjectList;
- class MetaObjectListElement;
- class Namespace;
- class NamespaceNode;
- template <class T>
- class ObjectList;
- class ObjectListBase;
- class ObjectListBaseElement;
- template <class T>
- class ObjectListElement;
- template <class T>
- class ObjectListIterator;
- class OrxonoxClass;
- class Shell;
- class ShellListener;
- template <class T>
- class SubclassIdentifier;
- class TclBind;
- struct TclInterpreterBundle;
- class TclThreadManager;
- class Template;
- class Tickable;
- class XMLFile;
- class XMLNameListener;
- template <class T, class O>
- class XMLPortClassObjectContainer;
- template <class T>
- class XMLPortClassParamContainer;
- class XMLPortObjectContainer;
- class XMLPortParamContainer;
+ class ArgumentCompleter;
+ class ArgumentCompletionListElement;
+ class BaseFactory;
+ class BaseMetaObjectListElement;
+ class BaseObject;
+ template <class T>
+ class ClassFactory;
+ template <class T>
+ class ClassIdentifier;
+ class ClassTreeMask;
+ class ClassTreeMaskIterator;
+ class ClassTreeMaskNode;
+ class ClassTreeMaskObjectIterator;
+ class Clock;
+ class CommandEvaluation;
+ class CommandExecutor;
+ class CommandLine;
+ class CommandLineArgument;
+ class ConfigFile;
+ class ConfigFileEntry;
+ class ConfigFileEntryComment;
+ class ConfigFileEntryValue;
+ class ConfigFileManager;
+ class ConfigFileSection;
+ class ConfigValueContainer;
+ class ConsoleCommand;
+ class Core;
+ struct Event;
+ class EventContainer;
+ class Executor;
+ template <class T>
+ class ExecutorMember;
+ class ExecutorStatic;
+ class Factory;
+ class Functor;
+ template <class T>
+ class FunctorMember;
+ class FunctorStatic;
+ class Identifier;
+ class IRC;
+ template <class T>
+ class Iterator;
+ class IteratorBase;
+ class Language;
+ class LanguageEntry;
+ class Loader;
+ class LuaBind;
+ class MetaObjectList;
+ class MetaObjectListElement;
+ class Namespace;
+ class NamespaceNode;
+ template <class T>
+ class ObjectList;
+ class ObjectListBase;
+ class ObjectListBaseElement;
+ template <class T>
+ class ObjectListElement;
+ template <class T>
+ class ObjectListIterator;
+ class OrxonoxClass;
+ class Shell;
+ class ShellListener;
+ template <class T>
+ class SubclassIdentifier;
+ class TclBind;
+ struct TclInterpreterBundle;
+ class TclThreadManager;
+ class Template;
+ class Tickable;
+ class XMLFile;
+ class XMLNameListener;
+ template <class T, class O>
+ class XMLPortClassObjectContainer;
+ template <class T>
+ class XMLPortClassParamContainer;
+ class XMLPortObjectContainer;
+ class XMLPortParamContainer;
- // game states
- class Game;
- class GameState;
- struct GameStateTreeNode;
+ // game states
+ class Game;
+ class GameState;
+ struct GameStateTreeNode;
- // input
- class BaseCommand;
- class BufferedParamCommand;
- class Button;
- class CalibratorCallback;
- class ExtendedInputState;
- class HalfAxis;
- class InputBuffer;
- class InputManager;
- class InputState;
- class JoyStickHandler;
- class MouseHandler;
- class KeyBinder;
- class KeyDetector;
- class KeyHandler;
- class ParamCommand;
- class SimpleCommand;
- class SimpleInputState;
+ // input
+ class BaseCommand;
+ class BufferedParamCommand;
+ class Button;
+ class CalibratorCallback;
+ class ExtendedInputState;
+ class HalfAxis;
+ class InputBuffer;
+ class InputManager;
+ class InputState;
+ class JoyStickHandler;
+ class MouseHandler;
+ class KeyBinder;
+ class KeyDetector;
+ class KeyHandler;
+ class ParamCommand;
+ class SimpleCommand;
+ class SimpleInputState;
}
+// CppTcl
+namespace Tcl
+{
+ class interpreter;
+ class object;
+}
+
+// Boost
+namespace boost { namespace filesystem
+{
+ struct path_traits;
+ template <class String, class Traits> class basic_path;
+ typedef basic_path<std::string, path_traits> path;
+} }
+
+// TinyXML and TinyXML++
+class TiXmlString;
+class TiXmlOutStream;
+class TiXmlNode;
+class TiXmlHandle;
+class TiXmlDocument;
+class TiXmlElement;
+class TiXmlComment;
+class TiXmlUnknown;
+class TiXmlAttribute;
+class TiXmlText;
+class TiXmlDeclaration;
+class TiXmlParsingData;
+namespace ticpp
+{
+ class Document;
+ class Element;
+ class Declaration;
+ class StylesheetReference;
+ class Text;
+ class Comment;
+ class Attribute;
+}
+namespace orxonox
+{
+ using ticpp::Document;
+ using ticpp::Element;
+ using ticpp::Declaration;
+ using ticpp::StylesheetReference;
+ using ticpp::Text;
+ using ticpp::Comment;
+ using ticpp::Attribute;
+}
+
+
#endif /* _CorePrereqs_H__ */
Modified: trunk/src/core/Event.cc
===================================================================
--- trunk/src/core/Event.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Event.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,6 +27,7 @@
*/
#include "Event.h"
+
#include "BaseObject.h"
#include "Executor.h"
Modified: trunk/src/core/Event.h
===================================================================
--- trunk/src/core/Event.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Event.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#define _Event_H__
#include "CorePrereqs.h"
+#include <string>
namespace orxonox
{
Modified: trunk/src/core/EventIncludes.h
===================================================================
--- trunk/src/core/EventIncludes.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/EventIncludes.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,19 +32,19 @@
#include "CorePrereqs.h"
#include "Executor.h"
-#define SetEvent(classname, eventname, functionname, event) \
- SetEventGeneric(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject)
+#define ORXONOX_SET_EVENT(classname, eventname, functionname, event) \
+ ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject)
-#define SetEventTemplate(classname, eventname, functionname, event, ...) \
- SetEventGenericTemplate(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__)
+#define ORXONOX_SET_EVENT_TEMPLATE(classname, eventname, functionname, event, ...) \
+ ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__)
-#define SetSubclassEvent(classname, eventname, functionname, event, subclassname) \
- SetEventGeneric(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname)
+#define ORXONOX_SET_SUBCLASS_EVENT(classname, eventname, functionname, event, subclassname) \
+ ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname)
-#define SetSubclassEventTemplate(classname, eventname, functionname, event, subclassname, ...) \
- SetEventGenericTemplate(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__)
+#define ORXONOX_SET_SUBCLASS_EVENT_TEMPLATE(classname, eventname, functionname, event, subclassname, ...) \
+ ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__)
-#define SetEventGeneric(containername, classname, eventname, functionname, event, subclassname) \
+#define ORXONOX_SET_EVENT_GENERIC(containername, classname, eventname, functionname, event, subclassname) \
orxonox::EventContainer* containername = this->getEventContainer(eventname); \
if (!containername) \
{ \
@@ -56,7 +56,7 @@
event.castedOriginator_ = dynamic_cast<subclassname*>(event.originator_); \
containername->process(this, event)
-#define SetEventGenericTemplate(containername, classname, eventname, functionname, event, subclassname, ...) \
+#define ORXONOX_SET_EVENT_GENERIC_TEMPLATE(containername, classname, eventname, functionname, event, subclassname, ...) \
orxonox::EventContainer* containername = this->getEventContainer(eventname); \
if (!containername) \
{ \
Modified: trunk/src/core/Executor.cc
===================================================================
--- trunk/src/core/Executor.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Executor.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,7 @@
*/
#include "Executor.h"
-#include "util/Math.h"
+
#include "util/Convert.h"
#include "Language.h"
Modified: trunk/src/core/Executor.h
===================================================================
--- trunk/src/core/Executor.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Executor.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,11 +32,11 @@
#include "CorePrereqs.h"
+#include "util/Debug.h"
+#include "util/Math.h"
+#include "util/String.h"
#include "util/SubString.h"
-#include "util/String.h"
-#include "util/Math.h"
#include "Functor.h"
-#include "util/Debug.h"
#define EXECUTOR_PARSE_FUNCTORCALL(mode) EXECUTOR_PARSE_FUNCTORCALL##mode
Modified: trunk/src/core/Factory.cc
===================================================================
--- trunk/src/core/Factory.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Factory.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,10 @@
*/
#include "Factory.h"
+
+#include "util/Debug.h"
#include "Identifier.h"
#include "BaseObject.h"
-#include "util/Debug.h"
namespace orxonox
{
Modified: trunk/src/core/Functor.h
===================================================================
--- trunk/src/core/Functor.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Functor.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,11 +32,10 @@
#include "CorePrereqs.h"
+#include "util/Debug.h"
#include "util/MultiType.h"
#include "util/String.h"
-#include "util/Debug.h"
-
namespace orxonox
{
const unsigned int MAX_FUNCTOR_ARGUMENTS = 5;
Modified: trunk/src/core/Game.cc
===================================================================
--- trunk/src/core/Game.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Game.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,7 @@
#include "Game.h"
#include <exception>
-#include <cassert>
+#include <boost/weak_ptr.hpp>
#include "util/Debug.h"
#include "util/Exception.h"
@@ -50,15 +50,18 @@
namespace orxonox
{
+ using boost::shared_ptr;
+ using boost::weak_ptr;
+
static void stop_game()
{ Game::getInstance().stop(); }
SetConsoleCommandShortcutExternAlias(stop_game, "exit");
struct _CoreExport GameStateTreeNode
{
- GameState* state_;
- GameStateTreeNode* parent_;
- std::vector<GameStateTreeNode*> children_;
+ GameState* state_;
+ weak_ptr<GameStateTreeNode> parent_;
+ std::vector<shared_ptr<GameStateTreeNode> > children_;
};
std::map<std::string, GameState*> Game::allStates_s;
@@ -73,9 +76,6 @@
assert(singletonRef_s == 0);
singletonRef_s = this;
- this->rootStateNode_ = 0;
- this->activeStateNode_ = 0;
-
this->abort_ = false;
// reset statistics
@@ -105,10 +105,6 @@
// Destroy pretty much everyhting left
delete this->core_;
- // Delete all the created nodes
- for (std::vector<GameStateTreeNode*>::const_iterator it = this->allStateNodes_.begin(); it != this->allStateNodes_.end(); ++it)
- delete *it;
-
delete this->gameClock_;
assert(singletonRef_s);
@@ -171,8 +167,8 @@
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_)
+ std::vector<shared_ptr<GameStateTreeNode> >::iterator it = this->requestedStateNodes_.begin() + 1;
+ if (*it == this->activeStateNode_->parent_.lock())
this->unloadState(this->activeStateNode_->state_);
else // has to be child
this->loadState((*it)->state_);
@@ -193,7 +189,7 @@
(*it)->update(*this->gameClock_);
if ((*it)->getCountTickTime())
- this->addTickTime(this->gameClock_->getRealMicroseconds() - timeBeforeTick);
+ this->addTickTime(static_cast<uint32_t>(this->gameClock_->getRealMicroseconds() - timeBeforeTick));
}
// STATISTICS
@@ -215,8 +211,8 @@
}
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->avgFPS_ = static_cast<float>(framesPerPeriod) / (currentTime - this->statisticsTickTimes_.front().tickTime) * 1000000.0f;
+ this->avgTickTime_ = static_cast<float>(this->periodTickTime_) / framesPerPeriod / 1000.0f;
this->periodTime_ -= this->statisticsRefreshCycle_;
}
@@ -225,7 +221,7 @@
// UNLOAD all remaining states
while (!this->activeStates_.empty())
this->unloadState(this->activeStates_.back());
- this->activeStateNode_ = 0;
+ this->activeStateNode_.reset();
this->requestedStateNodes_.clear();
}
@@ -250,10 +246,10 @@
if (state == NULL || this->activeStateNode_ == NULL)
return;
- GameStateTreeNode* requestedNode = 0;
+ shared_ptr<GameStateTreeNode> requestedNode;
// this->requestedStateNodes_.back() is the currently active state
- GameStateTreeNode* lastRequestedNode = this->requestedStateNodes_.back();
+ shared_ptr<GameStateTreeNode> lastRequestedNode = this->requestedStateNodes_.back();
// Already the active node?
if (state == lastRequestedNode->state_)
@@ -273,12 +269,12 @@
}
// Check parent and all its grand parents
- GameStateTreeNode* currentNode = lastRequestedNode;
+ shared_ptr<GameStateTreeNode> currentNode = lastRequestedNode;
while (requestedNode == NULL && currentNode != NULL)
{
if (currentNode->state_ == state)
requestedNode = currentNode;
- currentNode = currentNode->parent_;
+ currentNode = currentNode->parent_.lock();
}
if (requestedNode == NULL)
@@ -296,8 +292,8 @@
void Game::popState()
{
- if (this->activeStateNode_ != NULL && this->requestedStateNodes_.back()->parent_)
- this->requestState(this->requestedStateNodes_.back()->parent_->state_->getName());
+ if (this->activeStateNode_ != NULL && this->requestedStateNodes_.back()->parent_.lock())
+ this->requestState(this->requestedStateNodes_.back()->parent_.lock()->state_->getName());
else
COUT(2) << "Warning: Could not pop GameState. Ignoring." << std::endl;
}
@@ -332,7 +328,7 @@
str.substr(startPos, pos - startPos), indentation));
}
unsigned int currentLevel = 0;
- GameStateTreeNode* currentNode = 0;
+ shared_ptr<GameStateTreeNode> currentNode;
for (std::vector<std::pair<std::string, unsigned> >::const_iterator it = stateStrings.begin(); it != stateStrings.end(); ++it)
{
std::string newStateName = it->first;
@@ -345,30 +341,27 @@
// root
if (this->rootStateNode_ != NULL)
ThrowException(GameState, "No two root GameStates are allowed!");
- GameStateTreeNode* newNode = new GameStateTreeNode;
- this->allStateNodes_.push_back(newNode);
+ shared_ptr<GameStateTreeNode> newNode(new GameStateTreeNode);
newNode->state_ = newState;
- newNode->parent_ = 0;
this->rootStateNode_ = newNode;
currentNode = this->rootStateNode_;
}
else if (currentNode)
{
- GameStateTreeNode* newNode = new GameStateTreeNode;
- this->allStateNodes_.push_back(newNode);
+ shared_ptr<GameStateTreeNode> newNode(new GameStateTreeNode);
newNode->state_ = newState;
if (newLevel < currentLevel)
{
// Get down the hierarchy
do
- currentNode = currentNode->parent_;
+ currentNode = currentNode->parent_.lock();
while (newLevel < --currentLevel);
}
if (newLevel == currentLevel)
{
// same level
newNode->parent_ = currentNode->parent_;
- newNode->parent_->children_.push_back(newNode);
+ newNode->parent_.lock()->children_.push_back(newNode);
}
else if (newLevel == currentLevel + 1)
{
Modified: trunk/src/core/Game.h
===================================================================
--- trunk/src/core/Game.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Game.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,10 +36,15 @@
#define _Game_H__
#include "CorePrereqs.h"
+
#include <cassert>
#include <list>
#include <map>
+#include <string>
#include <vector>
+#include <boost/shared_ptr.hpp>
+#include <boost/preprocessor/cat.hpp>
+
#include "OrxonoxClass.h"
/**
@@ -48,7 +53,7 @@
and every following paramter is a constructor argument (which is usually non existent)
*/
#define AddGameState(classname, ...) \
- static bool MACRO_CONCATENATE(bGameStateDummy_##classname, __LINE__) = orxonox::Game::addGameState(new classname(__VA_ARGS__))
+ static bool BOOST_PP_CAT(bGameStateDummy_##classname, __LINE__) = orxonox::Game::addGameState(new classname(__VA_ARGS__))
// tolua_begin
namespace orxonox
@@ -105,10 +110,9 @@
void unloadState(GameState* state);
std::vector<GameState*> activeStates_;
- GameStateTreeNode* rootStateNode_;
- GameStateTreeNode* activeStateNode_;
- std::vector<GameStateTreeNode*> requestedStateNodes_;
- std::vector<GameStateTreeNode*> allStateNodes_;
+ boost::shared_ptr<GameStateTreeNode> rootStateNode_;
+ boost::shared_ptr<GameStateTreeNode> activeStateNode_;
+ std::vector<boost::shared_ptr<GameStateTreeNode> > requestedStateNodes_;
Core* core_;
Clock* gameClock_;
Modified: trunk/src/core/GameState.cc
===================================================================
--- trunk/src/core/GameState.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/GameState.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,10 +33,10 @@
*/
#include "GameState.h"
-#include <cassert>
+
#include "util/Debug.h"
#include "util/Exception.h"
-#include "Clock.h"
+#include "util/OrxAssert.h"
namespace orxonox
{
Modified: trunk/src/core/GameState.h
===================================================================
--- trunk/src/core/GameState.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/GameState.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,9 +37,8 @@
#include "CorePrereqs.h"
-#include <string>
#include <map>
-#include "CorePrereqs.h"
+#include <string>
namespace orxonox
{
Modified: trunk/src/core/IRC.cc
===================================================================
--- trunk/src/core/IRC.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/IRC.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,13 @@
#include "IRC.h"
-#include <boost/thread/thread.hpp>
+#include <cpptcl/cpptcl.h>
+
+#include "util/Convert.h"
#include "ConsoleCommand.h"
+#include "CoreIncludes.h"
#include "TclThreadManager.h"
-#include "CoreIncludes.h"
-#include "util/Convert.h"
-
namespace orxonox
{
static const unsigned int IRC_TCL_THREADID = 1421421421;
Modified: trunk/src/core/IRC.h
===================================================================
--- trunk/src/core/IRC.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/IRC.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,7 @@
#include "CorePrereqs.h"
-#include <cpptcl/cpptcl.h>
+#include <string>
#include "OrxonoxClass.h"
namespace orxonox
Modified: trunk/src/core/Identifier.cc
===================================================================
--- trunk/src/core/Identifier.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Identifier.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,10 +35,10 @@
#include <ostream>
-#include "Factory.h"
+#include "util/String.h"
#include "ConfigValueContainer.h"
#include "ConsoleCommand.h"
-#include "CommandExecutor.h"
+#include "Factory.h"
#include "XMLPort.h"
namespace orxonox
@@ -62,7 +62,6 @@
this->bHasConfigValues_ = false;
this->bHasConsoleCommands_ = false;
- this->bHasConstructionCallback_ = false;
this->children_ = new std::set<const Identifier*>();
this->directChildren_ = new std::set<const Identifier*>();
@@ -92,8 +91,6 @@
delete (it->second);
for (std::map<std::string, XMLPortObjectContainer*>::iterator it = this->xmlportObjectContainers_.begin(); it != this->xmlportObjectContainers_.end(); ++it)
delete (it->second);
- for (std::vector<Functor*>::iterator it = this->constructionCallbacks_.begin(); it != this->constructionCallbacks_.end(); ++it)
- delete *it;
}
/**
@@ -518,38 +515,6 @@
}
/**
- @brief Adds a construction callback functor that gets called every time an object is created.
- @param functor Functor pointer to any function with no argument.
- */
- void Identifier::addConstructionCallback(Functor* functor)
- {
- for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
- {
- if (this->constructionCallbacks_[i] == functor)
- return;
- }
- this->constructionCallbacks_.push_back(functor);
- this->bHasConstructionCallback_ = true;
- }
-
- /**
- @brief Removes a construction callback functor that gets called every time an object is created.
- @param functor Functor pointer to any function with no argument.
- */
- void Identifier::removeConstructionCallback(Functor* functor)
- {
- for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
- {
- if (this->constructionCallbacks_[i] == functor)
- {
- this->constructionCallbacks_.erase(this->constructionCallbacks_.begin() + i);
- }
- }
- if (constructionCallbacks_.empty())
- this->bHasConstructionCallback_ = false;
- }
-
- /**
@brief Lists the names of all Identifiers in a std::set<const Identifier*>.
@param out The outstream
@param list The list (or set) of Identifiers
Modified: trunk/src/core/Identifier.h
===================================================================
--- trunk/src/core/Identifier.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Identifier.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -54,21 +54,17 @@
#include "CorePrereqs.h"
-#include <set>
+#include <cassert>
#include <map>
-#include <vector>
+#include <set>
#include <string>
-#include <utility>
#include <typeinfo>
-#include <cstdlib>
-#include <cassert>
+#include "util/Debug.h"
#include "MetaObjectList.h"
-#include "Iterator.h"
+#include "ObjectList.h"
+#include "ObjectListBase.h"
#include "Super.h"
-#include "Functor.h"
-#include "util/Debug.h"
-#include "util/String.h"
namespace orxonox
{
@@ -222,8 +218,6 @@
inline bool hasConfigValues() const { return this->bHasConfigValues_; }
/** @brief Returns true if this class has at least one console command. @return True if this class has at least one console command */
inline bool hasConsoleCommands() const { return this->bHasConsoleCommands_; }
- /** @brief Returns true if this class has at least one construction callback Functor registered. */
- inline bool hasConstructionCallback() const { return this->bHasConstructionCallback_; }
/** @brief Returns true, if a branch of the class-hierarchy is being created, causing all new objects to store their parents. @return The status of the class-hierarchy creation */
inline static bool isCreatingHierarchy() { return (hierarchyCreatingCounter_s > 0); }
@@ -251,9 +245,6 @@
ConsoleCommand* getConsoleCommand(const std::string& name) const;
ConsoleCommand* getLowercaseConsoleCommand(const std::string& name) const;
- void addConstructionCallback(Functor* functor);
- void removeConstructionCallback(Functor* functor);
-
void initializeClassHierarchy(std::set<const Identifier*>* parents, bool bRootClass);
static void destroyAllIdentifiers();
@@ -276,9 +267,6 @@
/** @brief Returns the direct children of the class the Identifier belongs to. @return The list of all direct children */
inline std::set<const Identifier*>& getDirectChildrenIntern() const { return (*this->directChildren_); }
- bool bHasConstructionCallback_; //!< True if at least one Functor is registered to get informed when an object of type T is created.
- std::vector<Functor*> constructionCallbacks_; //!< All construction callback Functors of this class.
-
ObjectListBase* objects_; //!< The list of all objects of this class
private:
@@ -382,7 +370,7 @@
@return The unique Identifier
*/
template <class T>
- ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier()
+ inline ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier()
{
// check if the static field has already been filled
if (ClassIdentifier<T>::classIdentifier_s == 0)
@@ -397,7 +385,7 @@
@return The Identifier
*/
template <class T>
- ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier(const std::string& name)
+ inline ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier(const std::string& name)
{
ClassIdentifier<T>* identifier = ClassIdentifier<T>::getIdentifier();
identifier->setName(name);
@@ -434,17 +422,10 @@
@param object The object to add
*/
template <class T>
- void ClassIdentifier<T>::addObject(T* object)
+ inline void ClassIdentifier<T>::addObject(T* object)
{
COUT(5) << "*** ClassIdentifier: Added object to " << this->getName() << "-list." << std::endl;
object->getMetaList().add(this->objects_, this->objects_->add(new ObjectListElement<T>(object)));
- if (this->bHasConstructionCallback_)
- {
- // Call all registered callbacks that a new object of type T has been created.
- // Do NOT deliver a T* pointer here because it's way too risky (object not yet fully created).
- for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
- (*constructionCallbacks_[i])();
- }
}
/**
Modified: trunk/src/core/Iterator.h
===================================================================
--- trunk/src/core/Iterator.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Iterator.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -46,9 +46,8 @@
#include "CorePrereqs.h"
+#include "Identifier.h"
#include "ObjectListBase.h"
-#include "ObjectListIterator.h"
-#include "OrxonoxClass.h"
namespace orxonox
{
@@ -304,7 +303,4 @@
typedef Iterator<OrxonoxClass> BaseIterator;
}
-// Include ObjectList.h so the user only has to include one file: Iterator.h
-#include "ObjectList.h"
-
#endif /* _Iterator_H__ */
Modified: trunk/src/core/Language.cc
===================================================================
--- trunk/src/core/Language.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Language.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,8 +36,8 @@
#include <fstream>
#include <boost/filesystem.hpp>
+#include "util/Debug.h"
#include "Core.h"
-#include "util/Debug.h"
namespace orxonox
{
Modified: trunk/src/core/Loader.cc
===================================================================
--- trunk/src/core/Loader.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Loader.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,17 +31,15 @@
#include <tinyxml/ticpp.h>
#include <boost/filesystem.hpp>
-#include "XMLFile.h"
+#include "util/Debug.h"
+#include "util/Exception.h"
#include "BaseObject.h"
-#include "Identifier.h"
+#include "Core.h"
#include "Iterator.h"
#include "ObjectList.h"
-#include "CoreIncludes.h"
#include "LuaBind.h"
#include "Namespace.h"
-#include "util/Debug.h"
-#include "util/Exception.h"
-#include "Core.h"
+#include "XMLFile.h"
namespace orxonox
{
Modified: trunk/src/core/Loader.h
===================================================================
--- trunk/src/core/Loader.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Loader.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,6 @@
#include "CorePrereqs.h"
#include <vector>
-
#include "ClassTreeMask.h"
namespace orxonox
Modified: trunk/src/core/LuaBind.cc
===================================================================
--- trunk/src/core/LuaBind.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/LuaBind.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,16 +30,14 @@
#include <fstream>
#include <map>
-
extern "C" {
-#include <lua.h>
#include <lualib.h>
}
#include <tolua/tolua++.h>
#include <boost/filesystem.hpp>
-#include "util/String.h"
#include "util/Debug.h"
+#include "util/String.h"
#include "ToluaBindCore.h"
#include "Core.h"
@@ -71,7 +69,7 @@
isRunning_ = false;
}
- void LuaBind::luaPrint(std::string str)
+ void LuaBind::luaPrint(const std::string& str)
{
output_ += str;
// COUT(4) << "Lua_output!:" << std::endl << str << std::endl << "***" << std::endl;
@@ -83,7 +81,7 @@
@param filename The filename of the file
@param luaTags if true, the loaded file gets stripped off luaTags
*/
- void LuaBind::loadFile(std::string filename, bool luaTags)
+ void LuaBind::loadFile(const std::string& filename, bool luaTags)
{
boost::filesystem::path filepath(filename);
@@ -116,7 +114,7 @@
COUT(5) << "ParsedSourceCode: " << luaSource_ << std::endl;
}
- void LuaBind::loadString(std::string code)
+ void LuaBind::loadString(const std::string& code)
{
luaSource_ = code;
output_ = "";
Modified: trunk/src/core/LuaBind.h
===================================================================
--- trunk/src/core/LuaBind.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/LuaBind.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,14 +37,12 @@
#include "CorePrereqs.h"
+#include <cassert>
+#include <string>
extern "C" {
#include <lua.h>
}
-#include <cassert>
-#include <list>
-#include <string>
-
// tolua_begin
namespace orxonox
{
@@ -63,19 +61,19 @@
inline static LuaBind& getInstance() { assert(singletonRef_s); return *LuaBind::singletonRef_s; } // tolua_export
- void loadFile(std::string filename, bool luaTags);
- void loadString(std::string code);
+ void loadFile(const std::string& filename, bool luaTags);
+ void loadString(const std::string& code);
//void init(lua_State *state_);
//void xmlToLua();
void run();
- void luaPrint(std::string str); // tolua_export
+ void luaPrint(const std::string& str); // tolua_export
#if LUA_VERSION_NUM != 501
static const char * lua_Chunkreader(lua_State *L, void *data, size_t *size);
#endif
inline lua_State* getLuaState() { return luaState_; };
- inline std::string getLuaOutput() { return output_; };
+ inline const std::string& getLuaOutput() { return output_; };
//inline std::string* getFileString() { return &fileString_; };
inline void clearLuaOutput() { output_ = ""; }
Modified: trunk/src/core/MetaObjectList.cc
===================================================================
--- trunk/src/core/MetaObjectList.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/MetaObjectList.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,10 @@
*/
#include "MetaObjectList.h"
+
+#include "util/Debug.h"
+#include "Identifier.h"
#include "ObjectListBase.h"
-#include "Identifier.h"
-#include "util/Debug.h"
namespace orxonox
{
Modified: trunk/src/core/Namespace.cc
===================================================================
--- trunk/src/core/Namespace.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Namespace.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,6 +27,9 @@
*/
#include "Namespace.h"
+
+#include <set>
+
#include "NamespaceNode.h"
#include "CoreIncludes.h"
#include "XMLPort.h"
Modified: trunk/src/core/Namespace.h
===================================================================
--- trunk/src/core/Namespace.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Namespace.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,8 @@
#include "CorePrereqs.h"
-#include <map>
-
-#include "XMLIncludes.h"
+#include <set>
+#include <string>
#include "BaseObject.h"
namespace orxonox
Modified: trunk/src/core/ObjectListBase.cc
===================================================================
--- trunk/src/core/ObjectListBase.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ObjectListBase.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,13 +34,12 @@
Newly created objects are added through the RegisterObject-macro in its constructor.
*/
-#include <set>
-
-#include "CorePrereqs.h"
-
#include "ObjectListBase.h"
+
+#include <set>
#include "Identifier.h"
#include "Iterator.h"
+#include "ObjectListIterator.h"
namespace orxonox
{
Modified: trunk/src/core/ObjectListBase.h
===================================================================
--- trunk/src/core/ObjectListBase.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ObjectListBase.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,10 +37,11 @@
#ifndef _ObjectListBase_H__
#define _ObjectListBase_H__
+#include "CorePrereqs.h"
+
#include <vector>
+#include "OrxonoxClass.h"
-#include "CorePrereqs.h"
-
namespace orxonox
{
// ###############################
@@ -138,9 +139,9 @@
inline Identifier* getIdentifier() const { return this->identifier_; }
private:
- Identifier* identifier_; //!< The Iterator owning this list
- ObjectListBaseElement* first_; //!< The first element in the list
- ObjectListBaseElement* last_; //!< The last element in the list
+ Identifier* identifier_; //!< The Iterator owning this list
+ ObjectListBaseElement* first_; //!< The first element in the list
+ ObjectListBaseElement* last_; //!< The last element in the list
std::vector<void*> iterators_; //!< A list of Iterators pointing on an element in this list
std::vector<void*> objectListIterators_; //!< A list of ObjectListIterators pointing on an element in this list
};
Modified: trunk/src/core/ObjectListIterator.h
===================================================================
--- trunk/src/core/ObjectListIterator.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/ObjectListIterator.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file Iterator.h
+ @file
@brief Definition and implementation of the Iterator class.
The ObjectListIterator of a given class allows to iterate through the
@@ -46,7 +46,8 @@
#define _ObjectListIterator_H__
#include "CorePrereqs.h"
-#include "ObjectListBase.h"
+#include "Identifier.h"
+#include "ObjectList.h"
namespace orxonox
{
@@ -229,7 +230,4 @@
};
}
-// Include ObjectList.h so the user only has to include one file: Iterator.h
-#include "ObjectList.h"
-
#endif /* _ObjectListIterator_H__ */
Modified: trunk/src/core/OrxonoxClass.cc
===================================================================
--- trunk/src/core/OrxonoxClass.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/OrxonoxClass.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,6 +32,7 @@
*/
#include "OrxonoxClass.h"
+
#include "MetaObjectList.h"
#include "Identifier.h"
Modified: trunk/src/core/OrxonoxClass.h
===================================================================
--- trunk/src/core/OrxonoxClass.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/OrxonoxClass.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,9 +38,7 @@
#define _OrxonoxClass_H__
#include "CorePrereqs.h"
-
#include <set>
-#include <string>
namespace orxonox
{
Modified: trunk/src/core/Shell.cc
===================================================================
--- trunk/src/core/Shell.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Shell.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,12 +27,13 @@
*/
#include "Shell.h"
+
+#include "util/OutputHandler.h"
#include "CommandExecutor.h"
#include "CoreIncludes.h"
#include "ConfigValueIncludes.h"
#include "Core.h"
#include "ConsoleCommand.h"
-#include "util/OutputHandler.h"
#define SHELL_UPDATE_LISTENERS(function) \
for (std::list<ShellListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ) \
Modified: trunk/src/core/Shell.h
===================================================================
--- trunk/src/core/Shell.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Shell.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,9 @@
#include "CorePrereqs.h"
+#include <cassert>
#include <list>
+#include <string>
#include <vector>
#include "OrxonoxClass.h"
Modified: trunk/src/core/Super.h
===================================================================
--- trunk/src/core/Super.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Super.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -66,12 +66,9 @@
#ifndef _Super_H__
#define _Super_H__
-#include <iostream>
-
#include "CorePrereqs.h"
#include "util/Debug.h"
-#include "XMLIncludes.h"
#include "Event.h"
///////////////////////
Modified: trunk/src/core/TclBind.cc
===================================================================
--- trunk/src/core/TclBind.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/TclBind.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,15 @@
#include "TclBind.h"
-#include <iostream>
+#include <exception>
#include <string>
+#include <cpptcl/cpptcl.h>
+
+#include "util/Debug.h"
+#include "util/String.h"
+#include "CommandExecutor.h"
#include "ConsoleCommand.h"
-#include "CommandExecutor.h"
#include "TclThreadManager.h"
-#include "util/Debug.h"
-#include "util/String.h"
namespace orxonox
{
Modified: trunk/src/core/TclBind.h
===================================================================
--- trunk/src/core/TclBind.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/TclBind.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,8 @@
#include "CorePrereqs.h"
-#include <cpptcl/cpptcl.h>
+#include <cassert>
+#include <string>
namespace orxonox
{
Modified: trunk/src/core/TclThreadManager.cc
===================================================================
--- trunk/src/core/TclThreadManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/TclThreadManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,21 +28,18 @@
#include "TclThreadManager.h"
-#include <iostream>
-#include <string>
-#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
#include <OgreTimer.h>
+#include <cpptcl/cpptcl.h>
+#include "util/Convert.h"
+#include "util/Debug.h"
#include "Clock.h"
-#include "CoreIncludes.h"
-#include "ConsoleCommand.h"
#include "CommandExecutor.h"
+#include "ConsoleCommand.h"
+#include "CoreIncludes.h"
#include "TclBind.h"
-#include "util/Debug.h"
-#include "util/Convert.h"
-
namespace orxonox
{
const unsigned int TCLTHREADMANAGER_MAX_QUEUE_LENGTH = 100;
Modified: trunk/src/core/TclThreadManager.h
===================================================================
--- trunk/src/core/TclThreadManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/TclThreadManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,15 +31,13 @@
#include "CorePrereqs.h"
-#include <queue>
-#include <map>
#include <list>
-
-#include <boost/thread/mutex.hpp>
+#include <map>
+#include <string>
#include <boost/thread/condition.hpp>
+#include <boost/thread/mutex.hpp>
#include <boost/thread/thread.hpp>
-#include <cpptcl/cpptcl.h>
#include "core/OrxonoxClass.h"
namespace orxonox
Modified: trunk/src/core/Template.cc
===================================================================
--- trunk/src/core/Template.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Template.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,18 +28,21 @@
#include "Template.h"
+#include <tinyxml/tinyxml.h>
#include <tinyxml/ticpp.h>
+#include "util/Debug.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "util/Debug.h"
namespace orxonox
{
CreateFactory(Template);
- Template::Template(BaseObject* creator) : BaseObject(creator), xmlelement_("")
+ Template::Template(BaseObject* creator) : BaseObject(creator)
{
+ this->xmlelement_ = new TiXmlElement("");
+
RegisterObject(Template);
this->bIsLink_ = false;
@@ -51,6 +54,7 @@
Template::~Template()
{
Template::getTemplateMap().erase(this->getName());
+ delete this->xmlelement_;
}
void Template::XMLPort(Element& xmlelement, XMLPort::Mode mode)
@@ -89,6 +93,11 @@
}
}
+ void Template::setXMLElement(const TiXmlElement& xmlelement)
+ {
+ *this->xmlelement_ = xmlelement;
+ }
+
const TiXmlElement& Template::getXMLElement() const
{
if (this->bIsLink_)
@@ -114,7 +123,7 @@
}
}
- return this->xmlelement_;
+ return *this->xmlelement_;
}
void Template::setBaseclass(const std::string& baseclass)
Modified: trunk/src/core/Template.h
===================================================================
--- trunk/src/core/Template.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/Template.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,10 @@
#ifndef _Template_H__
#define _Template_H__
-#include <map>
-
#include "CorePrereqs.h"
-#include <tinyxml/tinyxml.h>
+#include <map>
+#include <string>
#include "BaseObject.h"
namespace orxonox
@@ -57,8 +56,7 @@
inline bool getLoadDefaults() const
{ return this->bLoadDefaults_; }
- inline void setXMLElement(const TiXmlElement& xmlelement)
- { this->xmlelement_ = xmlelement; }
+ void setXMLElement(const TiXmlElement& xmlelement);
const TiXmlElement& getXMLElement() const;
void setBaseclass(const std::string& baseclass);
@@ -74,7 +72,7 @@
static void apply(const std::string& name, BaseObject* object);
private:
- TiXmlElement xmlelement_;
+ TiXmlElement* xmlelement_;
std::string link_;
std::string baseclass_;
Identifier* baseclassIdentifier_;
Modified: trunk/src/core/XMLFile.h
===================================================================
--- trunk/src/core/XMLFile.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/XMLFile.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,6 @@
#include "CorePrereqs.h"
#include <string>
-
#include "ClassTreeMask.h"
namespace orxonox
Deleted: trunk/src/core/XMLIncludes.h
===================================================================
--- trunk/src/core/XMLIncludes.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/XMLIncludes.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,73 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-/**
- @file
- @brief Forward declarations of some XML classes.
-*/
-
-#include "CorePrereqs.h"
-
-//-----------------------------------------------------------------------
-// Forward declarations
-//-----------------------------------------------------------------------
-
-class TiXmlString;
-class TiXmlOutStream;
-class TiXmlNode;
-class TiXmlHandle;
-class TiXmlDocument;
-class TiXmlElement;
-class TiXmlComment;
-class TiXmlUnknown;
-class TiXmlAttribute;
-class TiXmlText;
-class TiXmlDeclaration;
-class TiXmlParsingData;
-
-namespace ticpp
-{
- class Document;
- class Element;
- class Declaration;
- class StylesheetReference;
- class Text;
- class Comment;
- class Attribute;
-}
-
-namespace orxonox
-{
- using ticpp::Document;
- using ticpp::Element;
- using ticpp::Declaration;
- using ticpp::StylesheetReference;
- using ticpp::Text;
- using ticpp::Comment;
- using ticpp::Attribute;
-}
Modified: trunk/src/core/XMLPort.cc
===================================================================
--- trunk/src/core/XMLPort.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/XMLPort.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,10 +27,9 @@
*/
#include "XMLPort.h"
-#include "Language.h"
+
#include "Loader.h"
#include "Namespace.h"
-#include "CoreIncludes.h"
namespace orxonox
{
@@ -39,6 +38,6 @@
// ################################
bool XMLPortObjectContainer::identifierIsIncludedInLoaderMask(const Identifier* identifier)
{
- return ((!this->bApplyLoaderMask_) || identifier->isA(Class(Namespace)) || Loader::currentMask_s.isIncluded(identifier));
+ return ((!this->bApplyLoaderMask_) || identifier->isA(ClassIdentifier<Namespace>::getIdentifier()) || Loader::currentMask_s.isIncluded(identifier));
}
}
Modified: trunk/src/core/XMLPort.h
===================================================================
--- trunk/src/core/XMLPort.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/XMLPort.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -43,13 +43,16 @@
#include "CorePrereqs.h"
#include <cassert>
+#include <string>
#include <tinyxml/ticpp.h>
+
#include "util/Debug.h"
#include "util/Exception.h"
#include "util/MultiType.h"
-#include "XMLIncludes.h"
+#include "util/OrxAssert.h"
+#include "Factory.h"
+#include "Identifier.h"
#include "Executor.h"
-#include "CoreIncludes.h"
#include "BaseObject.h"
// ------------
@@ -175,7 +178,7 @@
@brief This is the generic XMLPort param macro, which is used by all six specialized macros above.
*/
#define XMLPortParamGeneric(containername, classname, objectclass, object, paramname, loadexecutor, saveexecutor, xmlelement, mode) \
- orxonox::XMLPortClassParamContainer<objectclass>* containername = (orxonox::XMLPortClassParamContainer<objectclass>*)(ClassIdentifier<classname>::getIdentifier()->getXMLPortParamContainer(paramname)); \
+ orxonox::XMLPortClassParamContainer<objectclass>* containername = static_cast<orxonox::XMLPortClassParamContainer<objectclass>*>(ClassIdentifier<classname>::getIdentifier()->getXMLPortParamContainer(paramname)); \
if (!containername) \
{ \
containername = new orxonox::XMLPortClassParamContainer<objectclass>(std::string(paramname), ClassIdentifier<classname>::getIdentifier(), loadexecutor, saveexecutor); \
@@ -544,10 +547,10 @@
{
for (ticpp::Iterator<ticpp::Element> child = xmlsubelement->FirstChildElement(false); child != child.end(); child++)
{
- Identifier* identifier = ClassByString(child->Value());
+ Identifier* identifier = Factory::getIdentifier(child->Value());
if (identifier)
{
- if (identifier->isA(Class(O)))
+ if (identifier->isA(ClassIdentifier<O>::getIdentifier()))
{
if (identifier->isLoadable())
{
@@ -605,7 +608,7 @@
}
else
{
- COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << Class(O)->getName() << "'." << std::endl;
+ COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << ClassIdentifier<O>::getIdentifier()->getName() << "'." << std::endl;
}
}
else
@@ -625,7 +628,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: " << object->getName() << ") in " << object->getFilename() << ":" << std::endl;
+ COUT(1) << "An error occurred in XMLPort.h while loading a '" << ClassIdentifier<O>::getIdentifier()->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/CMakeLists.txt
===================================================================
--- trunk/src/core/input/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,6 +1,5 @@
ADD_SOURCE_FILES(CORE_SRC_FILES
Button.cc
- CalibratorCallback.cc
ExtendedInputState.cc
HalfAxis.cc
InputBuffer.cc
Deleted: trunk/src/core/input/CalibratorCallback.cc
===================================================================
--- trunk/src/core/input/CalibratorCallback.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/CalibratorCallback.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,47 +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:
- * ...
- *
- */
-
-/**
- at file
- at brief
- Implementation of the different input handlers.
-*/
-
-#include "CalibratorCallback.h"
-#include "InputManager.h"
-
-namespace orxonox
-{
- void CalibratorCallback::keyPressed(const orxonox::KeyEvent &evt)
- {
- if (evt.key == KeyCode::Return)
- {
- //InputManager::setInputState(InputManager::IS_NOCALIBRATE);
- }
- }
-}
Deleted: trunk/src/core/input/CalibratorCallback.h
===================================================================
--- trunk/src/core/input/CalibratorCallback.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/CalibratorCallback.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,58 +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:
- * ...
- *
- */
-
-/**
- at file
- at brief
- Different definitions of input processing.
-*/
-
-#ifndef _CalibratorCallback_H__
-#define _CalibratorCallback_H__
-
-#include "core/CorePrereqs.h"
-#include "InputInterfaces.h"
-
-namespace orxonox
-{
- class _CoreExport CalibratorCallback : public KeyHandler
- {
- public:
- CalibratorCallback() { }
- ~CalibratorCallback() { }
-
- private:
- void keyPressed (const KeyEvent& evt);
- void keyReleased(const KeyEvent& evt) { }
- void keyHeld (const KeyEvent& evt) { }
-
- void updateInput(float dt) { }
- };
-}
-
-#endif /* _CalibratorCallback_H__ */
Modified: trunk/src/core/input/ExtendedInputState.cc
===================================================================
--- trunk/src/core/input/ExtendedInputState.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/ExtendedInputState.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,7 @@
#include "ExtendedInputState.h"
#include <cassert>
-#include "util/Debug.h"
+#include "core/Executor.h"
namespace orxonox
{
@@ -456,4 +456,16 @@
this->bHandlersChanged_ = true;
}
+
+ void ExtendedInputState::onEnter()
+ {
+ if (executorOnEnter_)
+ (*executorOnEnter_)();
+ }
+
+ void ExtendedInputState::onLeave()
+ {
+ if (executorOnLeave_)
+ (*executorOnLeave_)();
+ }
}
Modified: trunk/src/core/input/ExtendedInputState.h
===================================================================
--- trunk/src/core/input/ExtendedInputState.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/ExtendedInputState.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,7 +37,6 @@
#include "core/CorePrereqs.h"
#include <vector>
-
#include "InputInterfaces.h"
#include "InputState.h"
@@ -88,6 +87,9 @@
void numberOfJoySticksChanged(unsigned int n);
void update();
+ void onEnter();
+ void onLeave();
+
std::vector<KeyHandler*> keyHandlers_;
std::vector<MouseHandler*> mouseHandlers_;
std::vector<std::vector<JoyStickHandler*> > joyStickHandlers_;
Modified: trunk/src/core/input/HalfAxis.h
===================================================================
--- trunk/src/core/input/HalfAxis.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/HalfAxis.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,6 +36,7 @@
#define _HalfAxis_H__
#include "core/CorePrereqs.h"
+
#include "Button.h"
#include "InputCommands.h"
Modified: trunk/src/core/input/InputBuffer.cc
===================================================================
--- trunk/src/core/input/InputBuffer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputBuffer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,6 @@
#include "InputBuffer.h"
-#include <iostream>
-
#include "util/Clipboard.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
@@ -56,7 +54,7 @@
setConfigValues();
}
- InputBuffer::InputBuffer(const std::string allowedChars)
+ InputBuffer::InputBuffer(const std::string& allowedChars)
{
RegisterRootObject(InputBuffer);
Modified: trunk/src/core/input/InputBuffer.h
===================================================================
--- trunk/src/core/input/InputBuffer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputBuffer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,8 @@
#include "core/CorePrereqs.h"
-#include <string>
#include <list>
-
+#include <string>
#include "core/OrxonoxClass.h"
#include "InputInterfaces.h"
@@ -79,7 +78,7 @@
public:
InputBuffer();
~InputBuffer();
- InputBuffer(const std::string allowedChars);
+ InputBuffer(const std::string& allowedChars);
void setConfigValues();
@@ -144,7 +143,7 @@
void updated();
void updated(const char& update, bool bSingleInput);
- inline std::string get() const
+ inline const std::string& get() const
{ return this->buffer_; }
inline unsigned int getSize() const
{ return this->buffer_.size(); }
Modified: trunk/src/core/input/InputCommands.cc
===================================================================
--- trunk/src/core/input/InputCommands.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputCommands.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,7 +34,6 @@
#include "InputCommands.h"
#include "util/Math.h"
-#include "core/CommandExecutor.h"
namespace orxonox
{
Modified: trunk/src/core/input/InputInterfaces.h
===================================================================
--- trunk/src/core/input/InputInterfaces.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputInterfaces.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,9 +37,9 @@
#include "core/CorePrereqs.h"
-#include "ois/OISKeyboard.h"
-#include "ois/OISMouse.h"
-#include "ois/OISJoyStick.h"
+#include <ois/OISKeyboard.h>
+#include <ois/OISMouse.h>
+#include <ois/OISJoyStick.h>
#include "util/Math.h"
namespace orxonox
Modified: trunk/src/core/input/InputManager.cc
===================================================================
--- trunk/src/core/input/InputManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,33 +37,30 @@
#include <climits>
#include <cassert>
+#include <ois/OISException.h>
+#include <ois/OISInputManager.h>
-#include "ois/OISException.h"
-#include "ois/OISInputManager.h"
-#include "core/ConsoleCommand.h"
-
-// HACK
-#ifdef ORXONOX_PLATFORM_LINUX
-# include "ois/linux/LinuxMouse.h"
-#endif
-
+#include "util/Convert.h"
#include "util/Exception.h"
+#include "util/Debug.h"
#include "core/Clock.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
-#include "core/CommandExecutor.h"
+#include "core/ConsoleCommand.h"
#include "core/CommandLine.h"
-#include "util/Debug.h"
#include "InputBuffer.h"
-#include "KeyBinder.h"
#include "KeyDetector.h"
-#include "CalibratorCallback.h"
#include "InputState.h"
#include "SimpleInputState.h"
#include "ExtendedInputState.h"
#include "JoyStickDeviceNumberListener.h"
+// HACK (include this as last, X11 seems to define some macros...)
+#ifdef ORXONOX_PLATFORM_LINUX
+# include <ois/linux/LinuxMouse.h>
+#endif
+
namespace orxonox
{
SetConsoleCommand(InputManager, calibrate, true);
@@ -366,8 +363,8 @@
for (unsigned int i = 0; i < configValueVectorSize; ++i)
{
- list[i] = omni_cast<int>(ConfigFileManager::getInstance().getValue(
- ConfigFileType::JoyStickCalibration, sectionName, valueName, i, omni_cast<std::string>(defaultValue), false));
+ list[i] = multi_cast<int>(ConfigFileManager::getInstance().getValue(
+ ConfigFileType::JoyStickCalibration, sectionName, valueName, i, multi_cast<std::string>(defaultValue), false));
}
// fill the rest with default values
@@ -402,18 +399,18 @@
{
// Generate some sort of execution unique id per joy stick
std::string id = "JoyStick_";
- id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Button)) + "_";
- id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Axis)) + "_";
- id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Slider)) + "_";
- id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_POV)) + "_";
- id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Vector3)) + "_";
+ id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Button)) + "_";
+ id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Axis)) + "_";
+ id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Slider)) + "_";
+ id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_POV)) + "_";
+ id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Vector3)) + "_";
id += joySticks_[iJoyStick]->vendor();
for (unsigned int i = 0; i < iJoyStick; ++i)
{
if (id == joyStickIDs_[i])
{
// Two joysticks are probably equal --> add the index as well
- id += "_" + omni_cast<std::string>(iJoyStick);
+ id += "_" + multi_cast<std::string>(iJoyStick);
}
}
joyStickIDs_[iJoyStick] = id;
@@ -496,17 +493,17 @@
if (joyStickMinValues_[iJoyStick][i] == INT_MAX)
joyStickMinValues_[iJoyStick][i] = -32768;
ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration,
- this->joyStickIDs_[iJoyStick], "MinValue", i, omni_cast<std::string>(joyStickMinValues_[iJoyStick][i]), false);
+ this->joyStickIDs_[iJoyStick], "MinValue", i, multi_cast<std::string>(joyStickMinValues_[iJoyStick][i]), false);
// Maximum values
if (joyStickMaxValues_[iJoyStick][i] == INT_MIN)
joyStickMaxValues_[iJoyStick][i] = 32767;
ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration,
- this->joyStickIDs_[iJoyStick], "MaxValue", i, omni_cast<std::string>(joyStickMaxValues_[iJoyStick][i]), false);
+ this->joyStickIDs_[iJoyStick], "MaxValue", i, multi_cast<std::string>(joyStickMaxValues_[iJoyStick][i]), false);
// Middle values
ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration,
- this->joyStickIDs_[iJoyStick], "MiddleValue", i, omni_cast<std::string>(joyStickMiddleValues_[iJoyStick][i]), false);
+ this->joyStickIDs_[iJoyStick], "MiddleValue", i, multi_cast<std::string>(joyStickMiddleValues_[iJoyStick][i]), false);
}
}
@@ -1168,7 +1165,7 @@
}
else
{
- float fValue = value - joyStickCalibrations_[iJoyStick].middleValue[axis];
+ float fValue = static_cast<float>(value - joyStickCalibrations_[iJoyStick].middleValue[axis]);
if (fValue > 0.0f)
fValue *= joyStickCalibrations_[iJoyStick].positiveCoeff[axis];
else
Modified: trunk/src/core/input/InputManager.h
===================================================================
--- trunk/src/core/input/InputManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -39,8 +39,13 @@
#include "core/CorePrereqs.h"
#include <map>
+#include <set>
+#include <string>
#include <vector>
-#include <stack>
+#include <ois/OISKeyboard.h>
+#include <ois/OISMouse.h>
+#include <ois/OISJoyStick.h>
+
#include "util/Math.h"
#include "util/OrxEnum.h"
#include "core/OrxonoxClass.h"
Modified: trunk/src/core/input/InputState.h
===================================================================
--- trunk/src/core/input/InputState.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/InputState.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,7 +38,6 @@
#include <string>
#include <vector>
-#include "core/Executor.h"
#include "InputInterfaces.h"
namespace orxonox
@@ -62,8 +61,8 @@
bool handlersChanged() { return this->bHandlersChanged_; }
void resetHandlersChanged() { bHandlersChanged_ = false; }
- virtual void onEnter() { if (executorOnEnter_) (*executorOnEnter_)(); }
- virtual void onLeave() { if (executorOnLeave_) (*executorOnLeave_)(); }
+ virtual void onEnter() = 0;
+ virtual void onLeave() = 0;
virtual void registerOnEnter(Executor* executor) { executorOnEnter_ = executor; }
virtual void unRegisterOnEnter() { executorOnEnter_ = 0; }
@@ -91,11 +90,11 @@
protected:
InputState()
: bHandlersChanged_(false)
+ , executorOnEnter_(0)
+ , executorOnLeave_(0)
, priority_(0)
, bAlwaysGetsInput_(false)
, bTransparent_(false)
- , executorOnEnter_(0)
- , executorOnLeave_(0)
{ }
virtual ~InputState() { }
@@ -107,6 +106,8 @@
}
bool bHandlersChanged_;
+ Executor* executorOnEnter_;
+ Executor* executorOnLeave_;
private:
void setNumOfJoySticks(unsigned int n)
@@ -122,9 +123,6 @@
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-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/KeyBinder.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,9 +33,6 @@
#include "KeyBinder.h"
-#include <fstream>
-#include <string>
-
#include "util/Convert.h"
#include "util/Debug.h"
#include "core/ConfigValueIncludes.h"
@@ -319,14 +316,14 @@
if (mouseRelative_[i] < 0)
{
mouseAxes_[2*i + 0].absVal_
- = -mouseRelative_[i] / deriveTime_ * 0.0005 * mouseSensitivityDerived_;
+ = -mouseRelative_[i] / deriveTime_ * 0.0005f * mouseSensitivityDerived_;
mouseAxes_[2*i + 1].absVal_ = 0.0f;
}
else if (mouseRelative_[i] > 0)
{
mouseAxes_[2*i + 0].absVal_ = 0.0f;
mouseAxes_[2*i + 1].absVal_
- = mouseRelative_[i] / deriveTime_ * 0.0005 * mouseSensitivityDerived_;
+ = mouseRelative_[i] / deriveTime_ * 0.0005f * mouseSensitivityDerived_;
}
else
{
Modified: trunk/src/core/input/KeyBinder.h
===================================================================
--- trunk/src/core/input/KeyBinder.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/KeyBinder.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,8 +37,9 @@
#include "core/CorePrereqs.h"
+#include <cassert>
+#include <string>
#include <vector>
-#include <cassert>
#include "InputInterfaces.h"
#include "Button.h"
Modified: trunk/src/core/input/KeyDetector.cc
===================================================================
--- trunk/src/core/input/KeyDetector.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/KeyDetector.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,11 +33,9 @@
*/
#include "KeyDetector.h"
+
#include "util/Debug.h"
#include "core/CoreIncludes.h"
-#include "core/CommandExecutor.h"
-#include "core/CommandEvaluation.h"
-#include "InputCommands.h"
#include "Button.h"
namespace orxonox
Modified: trunk/src/core/input/KeyDetector.h
===================================================================
--- trunk/src/core/input/KeyDetector.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/KeyDetector.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,6 +37,7 @@
#include "core/CorePrereqs.h"
+#include <string>
#include "KeyBinder.h"
namespace orxonox
Modified: trunk/src/core/input/SimpleInputState.cc
===================================================================
--- trunk/src/core/input/SimpleInputState.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/SimpleInputState.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,6 +33,7 @@
*/
#include "SimpleInputState.h"
+#include "core/Executor.h"
namespace orxonox
{
@@ -147,4 +148,16 @@
// inform InputManager that there might be changes in EMPTY_HANDLER situation
bHandlersChanged_ = true;
}
+
+ void SimpleInputState::onEnter()
+ {
+ if (executorOnEnter_)
+ (*executorOnEnter_)();
+ }
+
+ void SimpleInputState::onLeave()
+ {
+ if (executorOnLeave_)
+ (*executorOnLeave_)();
+ }
}
Modified: trunk/src/core/input/SimpleInputState.h
===================================================================
--- trunk/src/core/input/SimpleInputState.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/core/input/SimpleInputState.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -79,6 +79,9 @@
void update();
void numberOfJoySticksChanged(unsigned int n);
+ void onEnter();
+ void onLeave();
+
KeyHandler* keyHandler_;
MouseHandler* mouseHandler_;
std::vector<JoyStickHandler*> joyStickHandler_;
Modified: trunk/src/cpptcl/CMakeLists.txt
===================================================================
--- trunk/src/cpptcl/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/cpptcl/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,19 +30,18 @@
details/methods.h
details/methods_v.h
)
-GENERATE_SOURCE_GROUPS(${CPPTCL_FILES})
# No warnings needed from third party libraries
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
-IF(MSVC)
- ADD_LIBRARY(cpptcl_orxonox STATIC ${CPPTCL_FILES})
-ELSE()
- ADD_LIBRARY(cpptcl_orxonox SHARED ${CPPTCL_FILES})
- ORXONOX_INSTALL(cpptcl_orxonox)
-ENDIF()
-
-TARGET_LINK_LIBRARIES(cpptcl_orxonox ${TCL_LIBRARY})
-
-SET_TARGET_PROPERTIES(cpptcl_orxonox PROPERTIES VERSION 1.1.3)
+ORXONOX_ADD_LIBRARY(cpptcl_orxonox
+ ORXONOX_EXTERNAL
+ NO_DLL_INTERFACE
+ VERSION
+ 1.1.3
+ LINK_LIBRARIES
+ ${TCL_LIBRARY}
+ SOURCE_FILES
+ ${CPPTCL_FILES}
+)
Modified: trunk/src/network/CMakeLists.txt
===================================================================
--- trunk/src/network/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,19 +36,19 @@
)
ADD_SUBDIRECTORY(packet)
ADD_SUBDIRECTORY(synchronisable)
-GET_ALL_HEADER_FILES(NETWORK_HDR_FILES)
-SET(NETWORK_FILES ${NETWORK_SRC_FILES} ${NETWORK_HDR_FILES})
-GENERATE_SOURCE_GROUPS(${NETWORK_FILES})
-
-ADD_LIBRARY(network SHARED ${NETWORK_FILES})
-SET_TARGET_PROPERTIES(network PROPERTIES DEFINE_SYMBOL "NETWORK_SHARED_BUILD")
-TARGET_LINK_LIBRARIES(network
- ${ZLIB_LIBRARY}
- ${ENET_LIBRARY}
- ${Boost_THREAD_LIBRARY}
- util
- core
+ORXONOX_ADD_LIBRARY(network
+ FIND_HEADER_FILES
+ DEFINE_SYMBOL
+ "NETWORK_SHARED_BUILD"
+ PCH_FILE
+ NetworkPrecompiledHeaders.h
+ LINK_LIBRARIES
+ ${ZLIB_LIBRARY}
+ ${ENET_LIBRARY}
+ ${Boost_THREAD_LIBRARY}
+ util
+ core
+ SOURCE_FILES
+ ${NETWORK_SRC_FILES}
)
-
-ORXONOX_INSTALL(network)
Modified: trunk/src/network/GamestateClient.cc
===================================================================
--- trunk/src/network/GamestateClient.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/GamestateClient.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
#include "core/CoreIncludes.h"
#include "core/BaseObject.h"
-#include "core/Iterator.h"
#include "synchronisable/Synchronisable.h"
#include "synchronisable/NetworkCallbackManager.h"
#include "packet/Acknowledgement.h"
Modified: trunk/src/network/Host.h
===================================================================
--- trunk/src/network/Host.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/Host.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,7 @@
namespace orxonox {
- const int CLIENTID_SERVER = 0;
+ const unsigned int CLIENTID_SERVER = 0;
const unsigned int NETWORK_FREQUENCY = 30;
const float NETWORK_PERIOD = 1.0f/NETWORK_FREQUENCY;
Modified: trunk/src/network/NetworkFunction.h
===================================================================
--- trunk/src/network/NetworkFunction.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/NetworkFunction.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,9 @@
#include <string>
#include <map>
#include <cassert>
+#include <boost/preprocessor/cat.hpp>
#include "util/MultiType.h"
+#include "core/Functor.h"
#include "synchronisable/Synchronisable.h"
#include "OrxonoxConfig.h"
#include "FunctionCallManager.h"
@@ -213,9 +215,9 @@
}
#define registerStaticNetworkFunction( functionPointer ) \
- static void* MACRO_CONCATENATE( NETWORK_FUNCTION_, __LINE__ ) = registerStaticNetworkFunctionFct( functionPointer, #functionPointer );
+ static void* BOOST_PP_CAT( NETWORK_FUNCTION_, __LINE__ ) = registerStaticNetworkFunctionFct( functionPointer, #functionPointer );
#define registerMemberNetworkFunction( class, function ) \
- static void* MACRO_CONCATENATE( NETWORK_FUNCTION_##class, __LINE__ ) = registerMemberNetworkFunctionFct<class>( &class::function, #class "_" #function);
+ static void* BOOST_PP_CAT( NETWORK_FUNCTION_##class, __LINE__ ) = registerMemberNetworkFunctionFct<class>( &class::function, #class "_" #function);
// call it with functionPointer, clientID, args
#define callStaticNetworkFunction( functionPointer, ...) \
{ \
Copied: trunk/src/network/NetworkPrecompiledHeaders.h (from rev 3195, branches/pch/src/network/NetworkPrecompiledHeaders.h)
===================================================================
--- trunk/src/network/NetworkPrecompiledHeaders.h (rev 0)
+++ trunk/src/network/NetworkPrecompiledHeaders.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,69 @@
+/*
+ * 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
+ Compilation of the most often used header files in the network library
+*/
+
+#include "NetworkPrereqs.h"
+
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <map>
+#include <set>
+#include <sstream>
+#include <string>
+#include <vector>
+
+
+#ifdef ORXONOX_COMPILER_MSVC
+
+#define WIN32_LEAN_AND_MEAN
+#include <enet/enet.h>
+#undef max
+#undef min
+
+// Too larg PCH file if you include this and only 10% faster
+//#include <boost/thread/recursive_mutex.hpp>
+
+#include "util/CRC32.h"
+#include "util/Debug.h"
+#include "util/Math.h"
+#include "util/mbool.h"
+#include "util/MultiType.h"
+#include "util/String.h"
+
+#include "core/Core.h"
+#include "core/CoreIncludes.h"
+#include "core/Functor.h"
+#include "core/GameMode.h"
+
+#endif /* ORXONOX_COMPILER_MSVC */
Modified: trunk/src/network/Server.cc
===================================================================
--- trunk/src/network/Server.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/Server.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -53,7 +53,6 @@
#include "core/Clock.h"
#include "core/ConsoleCommand.h"
#include "core/CoreIncludes.h"
-#include "core/Iterator.h"
#include "packet/Chat.h"
#include "packet/Packet.h"
#include "packet/Welcome.h"
Deleted: trunk/src/network/TODO
===================================================================
--- trunk/src/network/TODO 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/TODO 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,15 +0,0 @@
-TODO:
-
-- change ConnectionManager clientlist [done]
-- change gamestatemanager clientlist [done]
-- put them together into ClientInformation [done]
-
-- do better gamestate-update/snapshot-handling [partially done]
-- integrate ClientInformation into gamestatemanager [done]
-
-- write dummyserver and dummyclient (chat system) [done]
-
-- include GameStateClient into Client and write processGamestate (also packetdecoder (virtual))
-- create object with worldentity .....
-
-- try and error ;)
\ No newline at end of file
Modified: trunk/src/network/packet/Gamestate.cc
===================================================================
--- trunk/src/network/packet/Gamestate.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/network/packet/Gamestate.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,6 @@
#include "../TrafficControl.h"
#include "core/GameMode.h"
#include "core/CoreIncludes.h"
-#include "core/Iterator.h"
Modified: trunk/src/ogreceguirenderer/CMakeLists.txt
===================================================================
--- trunk/src/ogreceguirenderer/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/ogreceguirenderer/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,19 +26,20 @@
OgreCEGUIResourceProvider.cpp
OgreCEGUITexture.cpp
)
-GENERATE_SOURCE_GROUPS(${OCR_FILES})
# No warnings needed from third party libraries
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
-ADD_LIBRARY(ogreceguirenderer_orxonox SHARED ${OCR_FILES})
-SET_TARGET_PROPERTIES(ogreceguirenderer_orxonox PROPERTIES DEFINE_SYMBOL "OGRE_GUIRENDERER_EXPORTS")
-TARGET_LINK_LIBRARIES(ogreceguirenderer_orxonox
- ${OGRE_LIBRARY}
- ${CEGUI_LIBRARY}
+ORXONOX_ADD_LIBRARY(ogreceguirenderer_orxonox
+ ORXONOX_EXTERNAL
+ LINK_LIBRARIES
+ ${OGRE_LIBRARY}
+ ${CEGUI_LIBRARY}
+ DEFINE_SYMBOL
+ "OGRE_GUIRENDERER_EXPORTS"
+ VERSION
+ 1.4.9
+ SOURCE_FILES
+ ${OCR_FILES}
)
-
-SET_TARGET_PROPERTIES(ogreceguirenderer_orxonox PROPERTIES VERSION 1.4.9)
-
-ORXONOX_INSTALL(ogreceguirenderer_orxonox)
Modified: trunk/src/ois/CMakeLists.txt
===================================================================
--- trunk/src/ois/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/ois/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -49,21 +49,22 @@
ADD_SUBDIRECTORY(linux)
ENDIF()
-GENERATE_SOURCE_GROUPS(${OIS_FILES})
-
# No warnings needed from third party libraries
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
INCLUDE_DIRECTORIES(.)
-ADD_LIBRARY(ois_orxonox SHARED ${OIS_FILES})
-SET_TARGET_PROPERTIES(ois_orxonox PROPERTIES DEFINE_SYMBOL "OIS_NONCLIENT_BUILD")
+ORXONOX_ADD_LIBRARY(ois_orxonox
+ ORXONOX_EXTERNAL
+ DEFINE_SYMBOL
+ "OIS_NONCLIENT_BUILD"
+ VERSION
+ 1.2
+ SOURCE_FILES
+ ${OIS_FILES}
+)
IF(WIN32)
TARGET_LINK_LIBRARIES(ois_orxonox ${DIRECTX_LIBRARIES})
ENDIF()
-
-SET_TARGET_PROPERTIES(ois_orxonox PROPERTIES VERSION 1.2)
-
-ORXONOX_INSTALL(ois_orxonox)
Modified: trunk/src/orxonox/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,44 +27,56 @@
)
ADD_SUBDIRECTORY(gamestates)
ADD_SUBDIRECTORY(gui)
+ADD_SUBDIRECTORY(interfaces)
ADD_SUBDIRECTORY(objects)
ADD_SUBDIRECTORY(overlays)
+ADD_SUBDIRECTORY(sound)
ADD_SUBDIRECTORY(tools)
-ADD_SUBDIRECTORY(sound)
-GET_ALL_HEADER_FILES(ORXONOX_HDR_FILES)
-SET(ORXONOX_FILES ${ORXONOX_SRC_FILES} ${ORXONOX_HDR_FILES})
-GENERATE_SOURCE_GROUPS(${ORXONOX_FILES})
-GENERATE_TOLUA_BINDINGS(Orxonox ORXONOX_FILES INPUTFILES gui/GUIManager.h objects/quest/QuestManager.h objects/quest/QuestDescription.h objects/pickup/PickupInventory.h objects/pickup/BaseItem.h)
+# Translate argument
+IF(ORXONOX_USE_WINMAIN)
+ SET(ORXONOX_WIN32 WIN32)
+ENDIF()
-ADD_EXECUTABLE(orxonox ${ORXONOX_FILES})
+ORXONOX_ADD_EXECUTABLE(orxonox
+ FIND_HEADER_FILES
+ TOLUA_FILES
+ gui/GUIManager.h
+ objects/pickup/BaseItem.h
+ objects/pickup/PickupInventory.h
+ objects/quest/QuestDescription.h
+ objects/quest/QuestManager.h
+ PCH_FILE
+ OrxonoxPrecompiledHeaders.h
+ PCH_NO_DEFAULT
+ # When defined as WIN32 this removes the console window on Windows
+ ${ORXONOX_WIN32}
+ LINK_LIBRARIES
+ ${OGRE_LIBRARY}
+ ${CEGUI_LIBRARY}
+ ${LUA_LIBRARIES}
+ ${CEGUILUA_LIBRARY}
+ ${Boost_SYSTEM_LIBRARY}
+ ${OPENAL_LIBRARY}
+ ${ALUT_LIBRARY}
+ ${VORBISFILE_LIBRARY}
+ ${VORBIS_LIBRARY}
+ ${OGG_LIBRARY}
+ ogreceguirenderer_orxonox
+ tinyxml++_orxonox
+ tolua++_orxonox
+ bullet_orxonox
+ util
+ core
+ network
+ SOURCE_FILES ${ORXONOX_SRC_FILES}
+)
+
GET_TARGET_PROPERTY(_exec_loc orxonox LOCATION)
GET_FILENAME_COMPONENT(_exec_name ${_exec_loc} NAME)
SET(ORXONOX_EXECUTABLE_NAME ${_exec_name} CACHE INTERNAL "")
-TARGET_LINK_LIBRARIES(orxonox
- ${OGRE_LIBRARY}
- ${CEGUI_LIBRARY}
- ${LUA_LIBRARIES}
- ${CEGUILUA_LIBRARY}
- ${Boost_SYSTEM_LIBRARY}
- ${OPENAL_LIBRARY}
- ${ALUT_LIBRARY}
- ${VORBISFILE_LIBRARY}
- ${VORBIS_LIBRARY}
- ${OGG_LIBRARY}
- ogreceguirenderer_orxonox
- tinyxml++_orxonox
- tolua++_orxonox
- bullet_orxonox
- util
- core
- network
-)
-ORXONOX_INSTALL(orxonox)
-
-
# When using Visual Studio we want to use the output directory as working
# directory and we also want to specify where the external dlls
# (lua, ogre, etc.) are. The problem hereby is that these information cannot
@@ -80,5 +92,5 @@
ENDIF()
STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1"
VISUAL_STUDIO_VERSION_SIMPLE "${CMAKE_GENERATOR}")
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox.vcproj.user" "${CMAKE_CURRENT_BINARY_DIR}/orxonox.vcproj.user")
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox.vcproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox.vcproj.user")
ENDIF(MSVC)
Modified: trunk/src/orxonox/CameraManager.cc
===================================================================
--- trunk/src/orxonox/CameraManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/CameraManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,16 +29,14 @@
#include <OgreSceneManager.h>
#include <OgreViewport.h>
-#include <OgreCamera.h>
#include <OgreCompositorManager.h>
-#include <OgreResource.h>
+#include "util/String.h"
#include "core/GameMode.h"
-#include "core/Iterator.h"
+#include "core/ObjectList.h"
+#include "tools/Shader.h"
#include "objects/worldentities/Camera.h"
#include "objects/Scene.h"
-#include "tools/Shader.h"
-#include "util/String.h"
#include "gui/GUIManager.h"
namespace orxonox
Modified: trunk/src/orxonox/CameraManager.h
===================================================================
--- trunk/src/orxonox/CameraManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/CameraManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -39,7 +39,7 @@
#include <cassert>
#include <list>
-#include <OgrePrerequisites.h>
+#include "util/OgreForwardRefs.h"
namespace orxonox
{
@@ -54,17 +54,17 @@
void requestFocus(Camera* camera);
void releaseFocus(Camera* camera);
+ void useCamera(Ogre::Camera* camera);
+
static CameraManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
static CameraManager* getInstancePtr() { return singletonRef_s; }
- void useCamera(Ogre::Camera* camera);
-
private:
- CameraManager(const CameraManager&);
+ CameraManager(const CameraManager&); // don't use
- std::list<Camera*> cameraList_;
- Ogre::Viewport* viewport_;
- Ogre::Camera* fallbackCamera_;
+ std::list<Camera*> cameraList_;
+ Ogre::Viewport* viewport_;
+ Ogre::Camera* fallbackCamera_;
static CameraManager* singletonRef_s;
};
Modified: trunk/src/orxonox/GraphicsManager.cc
===================================================================
--- trunk/src/orxonox/GraphicsManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/GraphicsManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -51,7 +51,6 @@
#include <OgreWindowEventUtilities.h>
#include "SpecialConfig.h"
-#include "util/Debug.h"
#include "util/Exception.h"
#include "util/String.h"
#include "util/SubString.h"
@@ -62,9 +61,12 @@
#include "core/Core.h"
#include "core/Game.h"
#include "core/GameMode.h"
-#include "tools/WindowEventListener.h"
#include "tools/ParticleInterface.h"
+#include "interfaces/WindowEventListener.h"
+// HACK!
+#include "overlays/map/Map.h"
+
namespace orxonox
{
class _OrxonoxExport OgreWindowEventListener : public Ogre::WindowEventListener
@@ -87,8 +89,6 @@
, renderWindow_(0)
, viewport_(0)
, ogreWindowEventListener_(0)
- , avgTickTime_(0.0f)
- , avgFramesPerSecond_(0.0f)
{
RegisterObject(GraphicsManager);
@@ -144,6 +144,9 @@
// Ogre::RenderSystem* renderer = this->ogreRoot_->getRenderSystem();
// renderer->destroyRenderWindow("Orxonox");
+ // HACK! This fixes an exit crash
+ Map::hackDestroyMap();
+
// unload all compositors
Ogre::CompositorManager::getSingleton().removeAll();
Modified: trunk/src/orxonox/GraphicsManager.h
===================================================================
--- trunk/src/orxonox/GraphicsManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/GraphicsManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,10 +38,9 @@
#include "OrxonoxPrereqs.h"
-#include <string>
#include <cassert>
+#include <string>
#include <OgreLog.h>
-
#include "core/OrxonoxClass.h"
namespace orxonox
@@ -65,14 +64,15 @@
inline unsigned int getDetailLevelParticle() const
{ return this->detailLevelParticle_; }
- inline Ogre::Viewport* getViewport() const
+ inline Ogre::Viewport* getViewport()
{ return this->viewport_; }
inline Ogre::RenderWindow* getRenderWindow()
{ return this->renderWindow_; }
void setCamera(Ogre::Camera* camera);
- static GraphicsManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
+ inline static GraphicsManager& getInstance()
+ { assert(singletonRef_s); return *singletonRef_s; }
private:
GraphicsManager(GraphicsManager&); // don't mess with singletons
@@ -100,10 +100,6 @@
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
Modified: trunk/src/orxonox/LevelManager.cc
===================================================================
--- trunk/src/orxonox/LevelManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/LevelManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
#include "LevelManager.h"
+#include <map>
#include "PlayerManager.h"
#include "objects/Level.h"
#include "objects/infos/HumanPlayer.h"
Modified: trunk/src/orxonox/LevelManager.h
===================================================================
--- trunk/src/orxonox/LevelManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/LevelManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include <cassert>
#include <list>
-#include <map>
-#include <cassert>
namespace orxonox
{
@@ -56,6 +55,7 @@
void activateNextLevel();
std::list<Level*> levels_s;
+
static LevelManager* singletonRef_s;
};
}
Modified: trunk/src/orxonox/Main.cc
===================================================================
--- trunk/src/orxonox/Main.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/Main.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,17 +27,14 @@
*
*/
- /**
- @mainpage Orxonox Documentation
- */
+/**
+ at file
+ at brief
+ Entry point of the program.
+*/
- /**
- @file
- @brief Entry point of the program.
- */
+#include "OrxonoxPrereqs.h"
-#include "OrxonoxConfig.h"
-
#include "util/Debug.h"
#include "core/Identifier.h"
#include "core/Game.h"
@@ -46,7 +43,11 @@
@brief
Main method. Game starts here (except for static initialisations).
*/
+#ifdef ORXONOX_USE_WINMAIN
+INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
+#else
int main(int argc, char** argv)
+#endif
{
{
orxonox::Game orxonox(argc, argv);
Copied: trunk/src/orxonox/OrxonoxPrecompiledHeaders.h (from rev 3195, branches/pch/src/orxonox/OrxonoxPrecompiledHeaders.h)
===================================================================
--- trunk/src/orxonox/OrxonoxPrecompiledHeaders.h (rev 0)
+++ trunk/src/orxonox/OrxonoxPrecompiledHeaders.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,100 @@
+/*
+ * 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
+ Compilation of the most often used header files in the orxonox executable
+*/
+
+#include "OrxonoxPrereqs.h"
+
+#include <deque>
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <map>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <string>
+#include <vector>
+
+// Prevent headers from including winsock.h that messes with winsock2.h from ENet
+#define WIN32_LEAN_AND_MEAN
+
+
+#ifdef ORXONOX_COMPILER_MSVC
+
+// Note: Numbers after the include specify the number of times included (2009-06-19)
+// The sizes in MB was just to see how much the MSVC9 PCH file increases for Ogre includes
+#include <OgreMaterial.h> // 33, 2.7MB
+#include <OgreRenderable.h> // 32, 2.6MB
+#include <OgreSingleton.h> // 28, 0.0MB
+#include <OgreSceneNode.h> // 25, 1.1MB
+#include <OgreTexture.h> // 25, 0.2MB (1.1MB)
+#include <OgreMovableObject.h> // 22, 1.3MB
+#include <OgreResourceGroupManager.h> // 21, 1.4MB
+#include <OgreTechnique.h> // 18, 1.2MB
+//#include <OgreSceneManager.h> // 16, 7.4MB
+
+#endif
+
+
+//#include <boost/preprocessor/cat.hpp> // 15
+//#include <boost/shared_ptr.hpp> // 13
+#include <LinearMath/btMotionState.h>
+#include <tinyxml/ticpp.h>
+
+// Just in case some header included windows.h
+#undef min
+#undef max
+
+//--------- Orxonox files --------
+//--------------------------------
+
+//#include "util/Convert.h" // 24
+#include "util/Debug.h"
+#include "util/Exception.h"
+#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
+#include "util/OrxAssert.h"
+#include "util/String.h"
+#include "util/SubString.h"
+
+#include "core/BaseObject.h"
+//#include "core/ConfigValueIncludes.h" // 19
+//#include "core/ConsoleCommand.h" // 15
+#include "core/Core.h"
+#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
+#include "core/XMLPort.h"
+
+#include "network/synchronisable/Synchronisable.h"
+//#include "network/ClientInformation.h" // 26
+//#include "network/ClientConnectionListener.h" // 24
Modified: trunk/src/orxonox/OrxonoxPrereqs.h
===================================================================
--- trunk/src/orxonox/OrxonoxPrereqs.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/OrxonoxPrereqs.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -246,13 +246,12 @@
class Shader;
template <class T>
class Timer;
- class DynamicLines;
- class DynamicRenderable;
// overlays
class BarColour;
class DebugFPSText;
class DebugRTRText;
+ class GUIOverlay;
class HUDBar;
class HUDNavigation;
class HUDRadar;
@@ -287,14 +286,14 @@
namespace Ogre
{
- // some got forgotten in OgrePrerequisites
- class BorderPanelOverlayElement;
- class PanelOverlayElement;
- class TextAreaOverlayElement;
+ // OGRE Wiki adapted code
+ class DynamicLines;
+ class DynamicRenderable;
}
namespace CEGUI
{
+ class DefaultLogger;
class LuaScriptModule;
class OgreCEGUIRenderer;
@@ -303,7 +302,6 @@
}
// Bullet Physics Engine
-
class btTransform;
class btVector3;
@@ -323,7 +321,13 @@
class btCollisionDispatcher;
class btSequentialImpulseConstraintSolver;
-// lua
+// ALUT
+typedef struct ALCcontext_struct ALCcontext;
+typedef struct ALCdevice_struct ALCdevice;
+typedef unsigned int ALuint;
+typedef int ALint;
+
+// Lua
struct lua_State;
#endif /* _OrxonoxPrereqs_H__ */
Modified: trunk/src/orxonox/PawnManager.cc
===================================================================
--- trunk/src/orxonox/PawnManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/PawnManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,6 @@
#include "core/CoreIncludes.h"
#include "objects/worldentities/pawns/Pawn.h"
-
namespace orxonox
{
PawnManager* PawnManager::singletonRef_s = 0;
Modified: trunk/src/orxonox/PawnManager.h
===================================================================
--- trunk/src/orxonox/PawnManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/PawnManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,7 @@
#define _PawnManager_H__
#include "OrxonoxPrereqs.h"
-#include "objects/Tickable.h"
+#include "interfaces/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/PlayerManager.cc
===================================================================
--- trunk/src/orxonox/PlayerManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/PlayerManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,11 @@
#include "PlayerManager.h"
-#include "LevelManager.h"
+#include "core/CoreIncludes.h"
#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
#include "objects/Level.h"
#include "objects/infos/HumanPlayer.h"
+#include "LevelManager.h"
namespace orxonox
{
Modified: trunk/src/orxonox/PlayerManager.h
===================================================================
--- trunk/src/orxonox/PlayerManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/PlayerManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -43,8 +43,8 @@
PlayerManager();
virtual ~PlayerManager();
- static PlayerManager& getInstance()
- { assert(singletonRef_s); return *singletonRef_s; }
+ inline static PlayerManager& getInstance()
+ { assert(singletonRef_s); return *singletonRef_s; }
PlayerInfo* getClient(unsigned int clientID) const;
inline const std::map<unsigned int, PlayerInfo*>& getClients() const
Modified: trunk/src/orxonox/gamestates/GSClient.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSClient.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSClient.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,7 @@
#include "GSClient.h"
-#include "core/input/InputManager.h"
+#include "util/Exception.h"
#include "core/Clock.h"
#include "core/CommandLine.h"
#include "core/Game.h"
Modified: trunk/src/orxonox/gamestates/GSClient.h
===================================================================
--- trunk/src/orxonox/gamestates/GSClient.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSClient.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#define _GSClient_H__
#include "OrxonoxPrereqs.h"
+
#include "core/GameState.h"
#include "network/NetworkPrereqs.h"
Modified: trunk/src/orxonox/gamestates/GSDedicated.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSDedicated.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSDedicated.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,14 +28,13 @@
#include "GSDedicated.h"
+#include "util/Debug.h"
+#include "util/Sleep.h"
#include "core/Clock.h"
#include "core/CommandLine.h"
#include "core/Game.h"
#include "core/GameMode.h"
-#include "core/Iterator.h"
#include "network/Server.h"
-#include "objects/Tickable.h"
-#include "util/Sleep.h"
namespace orxonox
{
Modified: trunk/src/orxonox/gamestates/GSDedicated.h
===================================================================
--- trunk/src/orxonox/gamestates/GSDedicated.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSDedicated.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#define _GSDedicated_H__
#include "OrxonoxPrereqs.h"
+
#include "core/GameState.h"
#include "network/NetworkPrereqs.h"
Modified: trunk/src/orxonox/gamestates/GSGraphics.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSGraphics.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSGraphics.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,8 +27,9 @@
*/
/**
- @file
- @brief Implementation of Graphics GameState class.
+ at file
+ at brief
+ Implementation of Graphics GameState class.
*/
#include "GSGraphics.h"
@@ -36,7 +37,6 @@
#include <boost/filesystem.hpp>
#include <OgreRenderWindow.h>
-#include "util/Debug.h"
#include "core/ConfigValueIncludes.h"
#include "core/Clock.h"
#include "core/ConsoleCommand.h"
@@ -51,6 +51,7 @@
#include "core/XMLFile.h"
#include "overlays/console/InGameConsole.h"
#include "gui/GUIManager.h"
+#include "sound/SoundManager.h"
#include "GraphicsManager.h"
namespace orxonox
@@ -63,6 +64,7 @@
, console_(0)
, guiManager_(0)
, graphicsManager_(0)
+ , soundManager_(0)
, masterKeyBinder_(0)
, masterInputState_(0)
, debugOverlay_(0)
@@ -94,6 +96,7 @@
\li manages render window
\li creates input manager
\li loads master key bindings
+ \li loads the SoundManager
\li loads ingame console
\li loads GUI interface (GUIManager)
\li creates console command to toggle GUI
@@ -128,6 +131,9 @@
masterKeyBinder_->loadBindings("masterKeybindings.ini");
masterInputState_->setKeyHandler(masterKeyBinder_);
+ // Load the SoundManager
+ soundManager_ = new SoundManager();
+
// Load the InGameConsole
console_ = new InGameConsole();
console_->initialise(renderWindow->getWidth(), renderWindow->getHeight());
@@ -172,6 +178,8 @@
Loader::unload(this->debugOverlay_);
delete this->debugOverlay_;
+ delete this->soundManager_;
+
delete this->inputManager_;
this->inputManager_ = 0;
Modified: trunk/src/orxonox/gamestates/GSGraphics.h
===================================================================
--- trunk/src/orxonox/gamestates/GSGraphics.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSGraphics.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,24 +26,25 @@
*
*/
- /**
- @file
- @brief Declaration of the Graphics GameState class.
- */
+/**
+ at file
+ at brief
+ Declaration of the Graphics GameState class.
+*/
#ifndef _GSGraphics_H__
#define _GSGraphics_H__
#include "OrxonoxPrereqs.h"
+
#include "core/GameState.h"
-#include "tools/WindowEventListener.h"
+#include "interfaces/WindowEventListener.h"
namespace orxonox
{
/**
- @class GSGraphics
@brief
- Game state used when displaying graphics of any kind
+ Game state used when displaying graphics of any kind. Another blubb resides here.
This game state is only left out if we start a dedicated server where no graphics are present.
*/
@@ -70,6 +71,7 @@
InGameConsole* console_;
GUIManager* guiManager_; //!< Interface to GUI
GraphicsManager* graphicsManager_; //!< Interface to Ogre
+ SoundManager* soundManager_; //!< Keeps track of SoundBase objects
KeyBinder* masterKeyBinder_; //!< Key binder for master key bindings
SimpleInputState* masterInputState_; //!< Special input state for master input
Modified: trunk/src/orxonox/gamestates/GSIOConsole.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSIOConsole.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSIOConsole.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,9 +29,6 @@
#include "GSIOConsole.h"
#include <iostream>
-#include <OgreFrameListener.h>
-#include <OgreRoot.h>
-#include <OgreTimer.h>
#include "core/ConsoleCommand.h"
#include "core/Game.h"
Modified: trunk/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSLevel.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSLevel.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,25 +32,26 @@
#include "core/input/InputManager.h"
#include "core/input/SimpleInputState.h"
#include "core/input/KeyBinder.h"
-#include "core/Loader.h"
-#include "core/XMLFile.h"
-#include "core/CommandExecutor.h"
+#include "core/Clock.h"
+#include "core/CommandLine.h"
#include "core/ConsoleCommand.h"
-#include "core/CommandLine.h"
#include "core/ConfigValueIncludes.h"
-#include "core/Core.h"
#include "core/CoreIncludes.h"
#include "core/Game.h"
#include "core/GameMode.h"
-#include "objects/Tickable.h"
+#include "core/Core.h"
+#include "core/Loader.h"
+#include "core/XMLFile.h"
+
+#include "interfaces/Tickable.h"
#include "objects/Radar.h"
+#include "objects/quest/QuestManager.h"
+#include "overlays/notifications/NotificationManager.h"
+#include "gui/GUIManager.h"
#include "CameraManager.h"
#include "GraphicsManager.h"
#include "LevelManager.h"
#include "PlayerManager.h"
-#include "gui/GUIManager.h"
-#include "objects/quest/QuestManager.h"
-#include "overlays/notifications/NotificationManager.h"
namespace orxonox
{
@@ -147,14 +148,14 @@
{
if (show)
{
- GUIManager::getInstancePtr()->showGUI("inGameTest");
- GUIManager::getInstancePtr()->executeCode("showCursor()");
+ GUIManager::getInstance().showGUI("inGameTest");
+ GUIManager::getInstance().executeCode("showCursor()");
InputManager::getInstance().requestEnterState("guiMouseOnly");
}
else
{
- GUIManager::getInstancePtr()->executeCode("hideGUI(\"inGameTest\")");
- GUIManager::getInstancePtr()->executeCode("hideCursor()");
+ GUIManager::getInstance().executeCode("hideGUI(\"inGameTest\")");
+ GUIManager::getInstance().executeCode("hideCursor()");
InputManager::getInstance().requestLeaveState("guiMouseOnly");
}
}
Modified: trunk/src/orxonox/gamestates/GSLevel.h
===================================================================
--- trunk/src/orxonox/gamestates/GSLevel.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSLevel.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,8 @@
#define _GSLevel_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
#include "core/OrxonoxClass.h"
#include "core/GameState.h"
@@ -47,7 +49,6 @@
void update(const Clock& time);
static void showIngameGUI(bool show);
- static void setLevel(std::string levelName);
static XMLFile* startFile_s;
@@ -68,7 +69,7 @@
CameraManager* cameraManager_; //!< camera manager for this level
LevelManager* levelManager_; //!< global level manager
PlayerManager* playerManager_; //!< player manager for this level
- QuestManager* questManager_;
+ QuestManager* questManager_;
NotificationManager* notificationManager_;
//##### ConfigValues #####
Modified: trunk/src/orxonox/gamestates/GSMainMenu.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSMainMenu.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSMainMenu.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,17 +28,17 @@
#include "GSMainMenu.h"
-//#include <OgreViewport.h>
#include <OgreSceneManager.h>
+
+#include "core/input/InputManager.h"
+#include "core/input/SimpleInputState.h"
+#include "core/Game.h"
#include "core/Clock.h"
#include "core/ConsoleCommand.h"
-#include "core/Game.h"
-#include "core/input/InputManager.h"
-#include "core/input/SimpleInputState.h"
+#include "objects/Scene.h"
#include "gui/GUIManager.h"
-#include "objects/Scene.h"
+#include "sound/SoundMainMenu.h"
#include "GraphicsManager.h"
-#include "sound/SoundMainMenu.h"
namespace orxonox
{
Modified: trunk/src/orxonox/gamestates/GSMainMenu.h
===================================================================
--- trunk/src/orxonox/gamestates/GSMainMenu.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSMainMenu.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,8 @@
#define _GSMainMenu_H__
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
+
+#include "util/OgreForwardRefs.h"
#include "core/GameState.h"
namespace orxonox
Modified: trunk/src/orxonox/gamestates/GSRoot.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSRoot.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSRoot.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,16 +28,14 @@
#include "GSRoot.h"
-#include "util/Exception.h"
-#include "util/Debug.h"
#include "core/Clock.h"
-#include "core/Game.h"
-#include "core/GameMode.h"
#include "core/CommandLine.h"
#include "core/ConsoleCommand.h"
-#include "tools/TimeFactorListener.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
#include "tools/Timer.h"
-#include "objects/Tickable.h"
+#include "interfaces/TimeFactorListener.h"
+#include "interfaces/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/gamestates/GSRoot.h
===================================================================
--- trunk/src/orxonox/gamestates/GSRoot.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSRoot.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,6 @@
#include "OrxonoxPrereqs.h"
#include "core/GameState.h"
-#include "core/OrxonoxClass.h"
namespace orxonox
{
Modified: trunk/src/orxonox/gamestates/GSServer.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSServer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSServer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
#include "GSServer.h"
+#include "util/Debug.h"
#include "core/CommandLine.h"
#include "core/Game.h"
#include "core/GameMode.h"
Modified: trunk/src/orxonox/gamestates/GSServer.h
===================================================================
--- trunk/src/orxonox/gamestates/GSServer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSServer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#define _GSServer_H__
#include "OrxonoxPrereqs.h"
+
#include "core/GameState.h"
#include "network/NetworkPrereqs.h"
Modified: trunk/src/orxonox/gamestates/GSStandalone.cc
===================================================================
--- trunk/src/orxonox/gamestates/GSStandalone.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gamestates/GSStandalone.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,8 @@
#include "GSStandalone.h"
-#include <OgreViewport.h>
-#include <OgreCamera.h>
#include "core/Game.h"
#include "core/GameMode.h"
-#include "core/ConsoleCommand.h"
-#include "gui/GUIManager.h"
-#include "GraphicsManager.h"
namespace orxonox
{
Modified: trunk/src/orxonox/gui/GUIManager.cc
===================================================================
--- trunk/src/orxonox/gui/GUIManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gui/GUIManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -23,23 +23,28 @@
* Reto Grieder
* Benjamin Knecht
* Co-authors:
+ * ...
*
- *
*/
/**
- @file
- @brief
- Implementation of the GUIManager class.
+ at file
+ at brief
+ Implementation of the GUIManager class.
*/
#include "GUIManager.h"
-#include <boost/filesystem/path.hpp>
-#include <OgreRenderWindow.h>
-#include <CEGUI.h>
+extern "C" {
+#include <lua.h>
+}
#include <CEGUIDefaultLogger.h>
+#include <CEGUIExceptions.h>
+#include <CEGUIInputEvent.h>
+#include <CEGUIResourceProvider.h>
+#include <CEGUISystem.h>
#include <ogreceguirenderer/OgreCEGUIRenderer.h>
+
#include "SpecialConfig.h" // Configures the macro below
#ifdef CEGUILUA_USE_INTERNAL_LIBRARY
# include <ceguilua/CEGUILua.h>
@@ -48,19 +53,15 @@
#endif
#include "util/Exception.h"
-#include "core/ConsoleCommand.h"
#include "core/Core.h"
#include "core/Clock.h"
#include "ToluaBindCore.h"
#include "ToluaBindOrxonox.h"
#include "core/Loader.h"
-extern "C" {
-#include <lua.h>
-}
-
namespace orxonox
{
+ static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button);
GUIManager* GUIManager::singletonRef_s = 0;
GUIManager::GUIManager()
@@ -138,9 +139,8 @@
this->luaState_ = this->scriptModule_->getLuaState();
// Create our own logger to specify the filepath
- boost::filesystem::path ceguiLogFilepath(Core::getLogPath() / "cegui.log");
this->ceguiLogger_ = new DefaultLogger();
- this->ceguiLogger_->setLogFilename(ceguiLogFilepath.string());
+ this->ceguiLogger_->setLogFilename(Core::getLogPathString() + "cegui.log");
// set the log level according to ours (translate by subtracting 1)
this->ceguiLogger_->setLoggingLevel(
(LoggingLevel)(Core::getSoftDebugLevel(OutputHandler::LD_Logfile) - 1));
@@ -270,7 +270,7 @@
@return
Returns false if the Overlay was already present.
*/
- bool GUIManager::registerOverlay(std::string name, GUIOverlay* overlay)
+ bool GUIManager::registerOverlay(const std::string& name, GUIOverlay* overlay)
{
return (this->guiOverlays_.insert(std::pair<std::string, GUIOverlay*>(name, overlay))).second;
}
@@ -283,7 +283,7 @@
@return
Returns a pointer to the GUIOverlay.
*/
- GUIOverlay* GUIManager::getOverlay(std::string name)
+ GUIOverlay* GUIManager::getOverlay(const std::string& name)
{
return (this->guiOverlays_.find(name))->second;
}
@@ -339,6 +339,15 @@
}
}
+ void GUIManager::keyPressed(const KeyEvent& evt)
+ {
+ guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text);
+ }
+ void GUIManager::keyReleased(const KeyEvent& evt)
+ {
+ guiSystem_->injectKeyUp(evt.key);
+ }
+
/**
@brief
Function receiving a mouse button pressed event.
@@ -383,6 +392,15 @@
}
}
+ void GUIManager::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
+ {
+ guiSystem_->injectMouseMove(static_cast<float>(rel.x), static_cast<float>(rel.y));
+ }
+ void GUIManager::mouseScrolled(int abs, int rel)
+ {
+ guiSystem_->injectMouseWheelChange(static_cast<float>(rel));
+ }
+
/**
@brief
converts mouse event code to CEGUI event code
@@ -393,7 +411,7 @@
Simple convertion from mouse event code in Orxonox to the one used in CEGUI.
*/
- inline CEGUI::MouseButton GUIManager::convertButton(MouseButtonCode::ByEnum button)
+ static inline CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button)
{
switch (button)
{
Modified: trunk/src/orxonox/gui/GUIManager.h
===================================================================
--- trunk/src/orxonox/gui/GUIManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/gui/GUIManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -21,31 +21,30 @@
*
* Author:
* Reto Grieder
- * Co-authors:
* Benjamin Knecht
+ * Co-authors:
+ * ...
*
*/
/**
- @file
- @brief Declaration of the GUIManager class.
+ at file
+ at brief
+ Declaration of the GUIManager class.
*/
#ifndef _GUIManager_H__
#define _GUIManager_H__
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
+
+#include <map>
+#include <string>
#include <CEGUIForwardRefs.h>
-#include <CEGUIInputEvent.h>
-#include <CEGUISystem.h>
+
+#include "util/OgreForwardRefs.h"
#include "core/input/InputInterfaces.h"
-#include <map>
-#include "overlays/GUIOverlay.h"
-// Forward declaration
-namespace CEGUI { class DefaultLogger; }
-
// tolua_begin
namespace orxonox
{
@@ -88,8 +87,8 @@
void showGUI(const std::string& name);
void executeCode(const std::string& str);
- bool registerOverlay(std::string name, GUIOverlay* overlay); //!< Register a GUIOverlay with the GUIManager.
- GUIOverlay* getOverlay(std::string name); // Get the GUIOverlay of the GUI with the given name.
+ bool registerOverlay(const std::string& name, GUIOverlay* overlay); //!< Register a GUIOverlay with the GUIManager.
+ GUIOverlay* getOverlay(const std::string& name); // Get the GUIOverlay of the GUI with the given name.
void setCamera(Ogre::Camera* camera);
@@ -104,27 +103,21 @@
void loadLuaCode();
// keyHandler functions
- void keyPressed (const KeyEvent& evt)
- { guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text); }
- void keyReleased(const KeyEvent& evt)
- { guiSystem_->injectKeyUp(evt.key); }
+ void keyPressed (const KeyEvent& evt);
+ void keyReleased(const KeyEvent& evt);
void keyHeld (const KeyEvent& evt) { }
// mouseHandler functions
void mouseButtonPressed (MouseButtonCode::ByEnum id);
void mouseButtonReleased(MouseButtonCode::ByEnum id);
void mouseButtonHeld (MouseButtonCode::ByEnum id) { }
- void mouseMoved (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
- { guiSystem_->injectMouseMove(rel.x, rel.y); }
- void mouseScrolled (int abs, int rel)
- { guiSystem_->injectMouseWheelChange(rel);}
+ void mouseMoved (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize);
+ void mouseScrolled (int abs, int rel);
void updateInput(float dt) { }
void updateKey (float dt) { }
void updateMouse(float dt) { }
- static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button);
-
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
Deleted: trunk/src/orxonox/interfaces/CMakeLists.txt
===================================================================
--- branches/pch/src/orxonox/interfaces/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,4 +0,0 @@
-ADD_SOURCE_FILES(ORXONOX_SRC_FILES
- InterfaceCompilation.cc
- RadarViewable.cc
-)
Copied: trunk/src/orxonox/interfaces/CMakeLists.txt (from rev 3195, branches/pch/src/orxonox/interfaces/CMakeLists.txt)
===================================================================
--- trunk/src/orxonox/interfaces/CMakeLists.txt (rev 0)
+++ trunk/src/orxonox/interfaces/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,4 @@
+ADD_SOURCE_FILES(ORXONOX_SRC_FILES
+ InterfaceCompilation.cc
+ RadarViewable.cc
+)
Deleted: trunk/src/orxonox/interfaces/GametypeMessageListener.h
===================================================================
--- branches/pch/src/orxonox/interfaces/GametypeMessageListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/GametypeMessageListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,49 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#ifndef _GametypeMessageListener_H__
-#define _GametypeMessageListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport GametypeMessageListener : virtual public OrxonoxClass
- {
- public:
- GametypeMessageListener();
- virtual ~GametypeMessageListener() {}
-
- virtual void announcemessage(const GametypeInfo* gtinfo, const std::string& message) {}
- virtual void killmessage(const GametypeInfo* gtinfo, const std::string& message) {}
- virtual void deathmessage(const GametypeInfo* gtinfo, const std::string& message) {}
- };
-}
-
-#endif /* _GametypeMessageListener_H__ */
Copied: trunk/src/orxonox/interfaces/GametypeMessageListener.h (from rev 3195, branches/pch/src/orxonox/interfaces/GametypeMessageListener.h)
===================================================================
--- trunk/src/orxonox/interfaces/GametypeMessageListener.h (rev 0)
+++ trunk/src/orxonox/interfaces/GametypeMessageListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,49 @@
+/*
+ * 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:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+#ifndef _GametypeMessageListener_H__
+#define _GametypeMessageListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ class _OrxonoxExport GametypeMessageListener : virtual public OrxonoxClass
+ {
+ public:
+ GametypeMessageListener();
+ virtual ~GametypeMessageListener() {}
+
+ virtual void announcemessage(const GametypeInfo* gtinfo, const std::string& message) {}
+ virtual void killmessage(const GametypeInfo* gtinfo, const std::string& message) {}
+ virtual void deathmessage(const GametypeInfo* gtinfo, const std::string& message) {}
+ };
+}
+
+#endif /* _GametypeMessageListener_H__ */
Deleted: trunk/src/orxonox/interfaces/InterfaceCompilation.cc
===================================================================
--- branches/pch/src/orxonox/interfaces/InterfaceCompilation.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/InterfaceCompilation.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,122 +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:
- * ...
- *
- */
-
-/**
- at file
- at brief
- Compiles all the interfaces (except RadarViewable) with mostly just a constructor.
-*/
-
-#include "GametypeMessageListener.h"
-#include "PawnListener.h"
-#include "RadarListener.h"
-#include "Rewardable.h"
-#include "TeamColourable.h"
-#include "Tickable.h"
-#include "TimeFactorListener.h"
-#include "WindowEventListener.h"
-
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- //----------------------------
- // GametypeMessageListener
- //----------------------------
- GametypeMessageListener::GametypeMessageListener()
- {
- RegisterRootObject(GametypeMessageListener);
- }
-
- //----------------------------
- // PawnListener
- //----------------------------
- /**
- @brief Constructor for the PawnListener.
- */
- PawnListener::PawnListener()
- {
- RegisterRootObject(PawnListener);
- }
-
- //----------------------------
- // RadarListener
- //----------------------------
- RadarListener::RadarListener()
- {
- RegisterRootObject(RadarListener);
- }
-
- //----------------------------
- // TeamColourable
- //----------------------------
- TeamColourable::TeamColourable()
- {
- RegisterRootObject(TeamColourable);
- }
-
- //----------------------------
- // TimeFactorListener
- //----------------------------
- float TimeFactorListener::timefactor_s = 1.0f;
-
- TimeFactorListener::TimeFactorListener()
- {
- RegisterRootObject(TimeFactorListener);
- }
-
- //----------------------------
- // Tickable
- //----------------------------
- /**
- @brief Constructor: Registers the object in the Tickable-list
- */
- Tickable::Tickable()
- {
- RegisterRootObject(Tickable);
- }
-
- //----------------------------
- // WindowEventListener
- //----------------------------
- /**
- @brief Constructor for the WindowEventListener.
- */
- WindowEventListener::WindowEventListener()
- {
- RegisterRootObject(WindowEventListener);
- }
-
- //----------------------------
- // Rewardable
- //----------------------------
- Rewardable::Rewardable()
- {
- RegisterObject(Rewardable);
- }
-}
Copied: trunk/src/orxonox/interfaces/InterfaceCompilation.cc (from rev 3195, branches/pch/src/orxonox/interfaces/InterfaceCompilation.cc)
===================================================================
--- trunk/src/orxonox/interfaces/InterfaceCompilation.cc (rev 0)
+++ trunk/src/orxonox/interfaces/InterfaceCompilation.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,122 @@
+/*
+ * 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
+ Compiles all the interfaces (except RadarViewable) with mostly just a constructor.
+*/
+
+#include "GametypeMessageListener.h"
+#include "PawnListener.h"
+#include "RadarListener.h"
+#include "Rewardable.h"
+#include "TeamColourable.h"
+#include "Tickable.h"
+#include "TimeFactorListener.h"
+#include "WindowEventListener.h"
+
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+ //----------------------------
+ // GametypeMessageListener
+ //----------------------------
+ GametypeMessageListener::GametypeMessageListener()
+ {
+ RegisterRootObject(GametypeMessageListener);
+ }
+
+ //----------------------------
+ // PawnListener
+ //----------------------------
+ /**
+ @brief Constructor for the PawnListener.
+ */
+ PawnListener::PawnListener()
+ {
+ RegisterRootObject(PawnListener);
+ }
+
+ //----------------------------
+ // RadarListener
+ //----------------------------
+ RadarListener::RadarListener()
+ {
+ RegisterRootObject(RadarListener);
+ }
+
+ //----------------------------
+ // TeamColourable
+ //----------------------------
+ TeamColourable::TeamColourable()
+ {
+ RegisterRootObject(TeamColourable);
+ }
+
+ //----------------------------
+ // TimeFactorListener
+ //----------------------------
+ float TimeFactorListener::timefactor_s = 1.0f;
+
+ TimeFactorListener::TimeFactorListener()
+ {
+ RegisterRootObject(TimeFactorListener);
+ }
+
+ //----------------------------
+ // Tickable
+ //----------------------------
+ /**
+ @brief Constructor: Registers the object in the Tickable-list
+ */
+ Tickable::Tickable()
+ {
+ RegisterRootObject(Tickable);
+ }
+
+ //----------------------------
+ // WindowEventListener
+ //----------------------------
+ /**
+ @brief Constructor for the WindowEventListener.
+ */
+ WindowEventListener::WindowEventListener()
+ {
+ RegisterRootObject(WindowEventListener);
+ }
+
+ //----------------------------
+ // Rewardable
+ //----------------------------
+ Rewardable::Rewardable()
+ {
+ RegisterObject(Rewardable);
+ }
+}
Deleted: trunk/src/orxonox/interfaces/PawnListener.h
===================================================================
--- branches/pch/src/orxonox/interfaces/PawnListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/PawnListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,47 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#ifndef _PawnListener_H__
-#define _PawnListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport PawnListener : virtual public OrxonoxClass
- {
- public:
- PawnListener();
- virtual ~PawnListener() {}
-
- virtual void destroyedPawn(Pawn* pawn) = 0;
- };
-}
-
-#endif /* _PawnListener_H__ */
Copied: trunk/src/orxonox/interfaces/PawnListener.h (from rev 3195, branches/pch/src/orxonox/interfaces/PawnListener.h)
===================================================================
--- trunk/src/orxonox/interfaces/PawnListener.h (rev 0)
+++ trunk/src/orxonox/interfaces/PawnListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,47 @@
+/*
+ * 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:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+#ifndef _PawnListener_H__
+#define _PawnListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ class _OrxonoxExport PawnListener : virtual public OrxonoxClass
+ {
+ public:
+ PawnListener();
+ virtual ~PawnListener() {}
+
+ virtual void destroyedPawn(Pawn* pawn) = 0;
+ };
+}
+
+#endif /* _PawnListener_H__ */
Deleted: trunk/src/orxonox/interfaces/RadarListener.h
===================================================================
--- branches/pch/src/orxonox/interfaces/RadarListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/RadarListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,49 +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 _RadarListener_H__
-#define _RadarListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport RadarListener : virtual public OrxonoxClass
- {
- public:
- RadarListener();
- virtual ~RadarListener() { }
-
- virtual void displayObject(RadarViewable* viewable, bool bIsMarked) = 0;
- virtual float getRadarSensitivity() const = 0;
- virtual void radarTick(float dt) = 0;
- };
-}
-
-#endif /* _RadarListener_H__ */
Copied: trunk/src/orxonox/interfaces/RadarListener.h (from rev 3195, branches/pch/src/orxonox/interfaces/RadarListener.h)
===================================================================
--- trunk/src/orxonox/interfaces/RadarListener.h (rev 0)
+++ trunk/src/orxonox/interfaces/RadarListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,49 @@
+/*
+ * 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 _RadarListener_H__
+#define _RadarListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ class _OrxonoxExport RadarListener : virtual public OrxonoxClass
+ {
+ public:
+ RadarListener();
+ virtual ~RadarListener() { }
+
+ virtual void displayObject(RadarViewable* viewable, bool bIsMarked) = 0;
+ virtual float getRadarSensitivity() const = 0;
+ virtual void radarTick(float dt) = 0;
+ };
+}
+
+#endif /* _RadarListener_H__ */
Deleted: trunk/src/orxonox/interfaces/RadarViewable.cc
===================================================================
--- branches/pch/src/orxonox/interfaces/RadarViewable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/RadarViewable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,169 +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 "RadarViewable.h"
-
-#include <OgreSceneManager.h>
-#include <OgreSceneNode.h>
-#include <OgreEntity.h>
-
-#include "util/String.h"
-#include "core/CoreIncludes.h"
-#include "tools/DynamicLines.h"
-#include "objects/worldentities/WorldEntity.h"
-#include "objects/Radar.h"
-#include "overlays/map/Map.h"
-
-namespace orxonox
-{
- /**
- @brief Constructor.
- */
- RadarViewable::RadarViewable()
- : MapNode_(NULL)
- , MapEntity_(NULL)
- , line_(NULL)
- , LineNode_(NULL)
- , radarObjectCamouflage_(0.0f)
- , radarObjectShape_(Dot)
- , radarObjectDescription_("staticObject")
- {
- RegisterRootObject(RadarViewable);
-
- this->bVisibility_ = true;
- this->isHumanShip_ = false;
-
- this->uniqueId_=getUniqueNumberString();
-/*
- if(Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr())
- {
- this->addEntity();
- }
-
- */
- }
-
-
- RadarViewable::~RadarViewable()
- {
- if (this->isHumanShip_ && MapNode_)
- MapNode_->removeAllChildren();
-
- if (MapNode_)
- delete MapNode_;
-
- if (MapEntity_)
- delete MapEntity_;
-
- if (line_)
- delete line_;
-
- if (LineNode_)
- delete LineNode_;
- }
-
- void RadarViewable::addMapEntity()
- { //TODO Check shape and add accordantly
- if( this->MapNode_ && !this->MapEntity_ && Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr() )
- {
- COUT(0) << "Adding " << this->uniqueId_ << " to Map.\n";
- this->MapEntity_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createEntity( this->uniqueId_, "drone.mesh");
- /*this->line_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createManualObject(this->uniqueId_ + "_l");
- this->line_->begin("Map/line_", Ogre::RenderOperation::OT_LINE_STRIP);
- //line_->position(0, -it->getRVWorldPosition().y, 0);
- //this->line_->position(0, -20, 0);
- this->line_->position(0, 0, -10); //Front Arrow
- this->line_->position(0, 0, 0);
-
- this->line_->end(); */
- this->line_ = new Ogre::DynamicLines(Ogre::RenderOperation::OT_LINE_LIST);
- this->line_->addPoint( Vector3(0,0,0) );
- this->line_->addPoint( Vector3(0,0,0) );
-
- this->MapNode_->attachObject( this->MapEntity_ );
-
- this->LineNode_ = this->MapNode_->createChildSceneNode();
- this->LineNode_->attachObject( this->line_ );
- }
- else
- {
- COUT(0) << "Unable to load " << this->uniqueId_ << " to Map.\n";
- }
- }
-
- void RadarViewable::updateMapPosition()
- {
- if( this->MapNode_ )
- {
- this->MapNode_->setPosition( this->getRVWorldPosition() );
- this->MapNode_->translate( this->getRVOrientedVelocity(), (Ogre::Node::TransformSpace)3 );
- this->MapNode_->setOrientation( this->getWorldEntity()->getOrientation() );
-//Vector3 v = this->getRVWorldPosition();
- //this->line_->setPoint(1, Vector3(0,v.y,0) );
- this->line_->setPoint(1, Vector3( 0, static_cast<float>(static_cast<int>( -Map::getSingletonPtr()->movablePlane_->getDistance( this->getRVWorldPosition() ) ) ) ,0 ));
- this->line_->update();
- if( Map::getSingletonPtr()->playerShipNode_ )
- this->LineNode_->setDirection( Map::getSingletonPtr()->playerShipNode_->getLocalAxes().GetColumn(1) ,Ogre::Node::TS_WORLD,Vector3::UNIT_Y);
- }
- }
-
- void RadarViewable::setRadarObjectDescription(const std::string& str)
- {
- Radar* radar = Radar::getInstancePtr();
- if (radar)
- this->radarObjectShape_ = radar->addObjectDescription(str);
- else
- {
- CCOUT(2) << "Attempting to access the radar, but the radar is non existent." << std::endl;
- }
- this->radarObjectDescription_ = str;
- }
-
- const Vector3& RadarViewable::getRVWorldPosition() const
- {
- const WorldEntity* object = this->getWorldEntity();
- validate(object);
- return object->getWorldPosition();
- }
-
- Vector3 RadarViewable::getRVOrientedVelocity() const
- {
- const WorldEntity* object = this->getWorldEntity();
- validate(object);
- return object->getWorldOrientation() * object->getVelocity();
- }
-
- void RadarViewable::validate(const WorldEntity* object) const
- {
- if (!object)
- {
- COUT(1) << "Assertation: Every RadarViewable has to be assigned a WorldEntity pointer!" << std::endl;
- assert(0);
- }
- }
-}
Copied: trunk/src/orxonox/interfaces/RadarViewable.cc (from rev 3195, branches/pch/src/orxonox/interfaces/RadarViewable.cc)
===================================================================
--- trunk/src/orxonox/interfaces/RadarViewable.cc (rev 0)
+++ trunk/src/orxonox/interfaces/RadarViewable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,169 @@
+/*
+ * 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 "RadarViewable.h"
+
+#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
+#include <OgreEntity.h>
+
+#include "util/String.h"
+#include "core/CoreIncludes.h"
+#include "tools/DynamicLines.h"
+#include "objects/worldentities/WorldEntity.h"
+#include "objects/Radar.h"
+#include "overlays/map/Map.h"
+
+namespace orxonox
+{
+ /**
+ @brief Constructor.
+ */
+ RadarViewable::RadarViewable()
+ : MapNode_(NULL)
+ , MapEntity_(NULL)
+ , line_(NULL)
+ , LineNode_(NULL)
+ , radarObjectCamouflage_(0.0f)
+ , radarObjectShape_(Dot)
+ , radarObjectDescription_("staticObject")
+ {
+ RegisterRootObject(RadarViewable);
+
+ this->bVisibility_ = true;
+ this->isHumanShip_ = false;
+
+ this->uniqueId_=getUniqueNumberString();
+/*
+ if(Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr())
+ {
+ this->addEntity();
+ }
+
+ */
+ }
+
+
+ RadarViewable::~RadarViewable()
+ {
+ if (this->isHumanShip_ && MapNode_)
+ MapNode_->removeAllChildren();
+
+ if (MapNode_)
+ delete MapNode_;
+
+ if (MapEntity_)
+ delete MapEntity_;
+
+ if (line_)
+ delete line_;
+
+ if (LineNode_)
+ delete LineNode_;
+ }
+
+ void RadarViewable::addMapEntity()
+ { //TODO Check shape and add accordantly
+ if( this->MapNode_ && !this->MapEntity_ && Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr() )
+ {
+ COUT(0) << "Adding " << this->uniqueId_ << " to Map.\n";
+ this->MapEntity_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createEntity( this->uniqueId_, "drone.mesh");
+ /*this->line_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createManualObject(this->uniqueId_ + "_l");
+ this->line_->begin("Map/line_", Ogre::RenderOperation::OT_LINE_STRIP);
+ //line_->position(0, -it->getRVWorldPosition().y, 0);
+ //this->line_->position(0, -20, 0);
+ this->line_->position(0, 0, -10); //Front Arrow
+ this->line_->position(0, 0, 0);
+
+ this->line_->end(); */
+ this->line_ = new Ogre::DynamicLines(Ogre::RenderOperation::OT_LINE_LIST);
+ this->line_->addPoint( Vector3(0,0,0) );
+ this->line_->addPoint( Vector3(0,0,0) );
+
+ this->MapNode_->attachObject( this->MapEntity_ );
+
+ this->LineNode_ = this->MapNode_->createChildSceneNode();
+ this->LineNode_->attachObject( this->line_ );
+ }
+ else
+ {
+ COUT(0) << "Unable to load " << this->uniqueId_ << " to Map.\n";
+ }
+ }
+
+ void RadarViewable::updateMapPosition()
+ {
+ if( this->MapNode_ )
+ {
+ this->MapNode_->setPosition( this->getRVWorldPosition() );
+ this->MapNode_->translate( this->getRVOrientedVelocity(), (Ogre::Node::TransformSpace)3 );
+ this->MapNode_->setOrientation( this->getWorldEntity()->getOrientation() );
+//Vector3 v = this->getRVWorldPosition();
+ //this->line_->setPoint(1, Vector3(0,v.y,0) );
+ this->line_->setPoint(1, Vector3( 0, static_cast<float>(static_cast<int>( -Map::getSingletonPtr()->movablePlane_->getDistance( this->getRVWorldPosition() ) ) ) ,0 ));
+ this->line_->update();
+ if( Map::getSingletonPtr()->playerShipNode_ )
+ this->LineNode_->setDirection( Map::getSingletonPtr()->playerShipNode_->getLocalAxes().GetColumn(1) ,Ogre::Node::TS_WORLD,Vector3::UNIT_Y);
+ }
+ }
+
+ void RadarViewable::setRadarObjectDescription(const std::string& str)
+ {
+ Radar* radar = Radar::getInstancePtr();
+ if (radar)
+ this->radarObjectShape_ = radar->addObjectDescription(str);
+ else
+ {
+ CCOUT(2) << "Attempting to access the radar, but the radar is non existent." << std::endl;
+ }
+ this->radarObjectDescription_ = str;
+ }
+
+ const Vector3& RadarViewable::getRVWorldPosition() const
+ {
+ const WorldEntity* object = this->getWorldEntity();
+ validate(object);
+ return object->getWorldPosition();
+ }
+
+ Vector3 RadarViewable::getRVOrientedVelocity() const
+ {
+ const WorldEntity* object = this->getWorldEntity();
+ validate(object);
+ return object->getWorldOrientation() * object->getVelocity();
+ }
+
+ void RadarViewable::validate(const WorldEntity* object) const
+ {
+ if (!object)
+ {
+ COUT(1) << "Assertation: Every RadarViewable has to be assigned a WorldEntity pointer!" << std::endl;
+ assert(0);
+ }
+ }
+}
Deleted: trunk/src/orxonox/interfaces/RadarViewable.h
===================================================================
--- branches/pch/src/orxonox/interfaces/RadarViewable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/RadarViewable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,130 +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 _RadarViewable_H__
-#define _RadarViewable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include <string>
-#include <cassert>
-
-#include "util/Math.h"
-#include "util/OgreForwardRefs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- /**
- @brief Interface for receiving window events.
- */
- class _OrxonoxExport RadarViewable : virtual public OrxonoxClass
- {
- public:
- enum Shape
- {
- Square,
- Dot,
- Triangle
- };
-
-
- public:
- RadarViewable();
- virtual ~RadarViewable();
-
- inline void setRadarObjectCamouflage(float camouflage)
- { this->radarObjectCamouflage_ = camouflage; }
- inline float getRadarObjectCamouflage() const
- { return this->radarObjectCamouflage_; }
-
- inline void setRadarObjectColour(const ColourValue& colour)
- { this->radarObjectColour_ = colour; }
- inline const ColourValue& getRadarObjectColour() const
- { return this->radarObjectColour_; }
-
- void setRadarObjectDescription(const std::string& str);
- inline const std::string& getRadarObjectDescription() const
- { return this->radarObjectDescription_; }
-
- inline void setRadarVisibility(bool b)
- { this->bVisibility_ = b; }
- inline bool getRadarVisibility() const
- { return this->bVisibility_; }
-
- virtual const WorldEntity* getWorldEntity() const = 0;
-
- const Vector3& getRVWorldPosition() const;
- Vector3 getRVOrientedVelocity() const;
-
- inline void setRadarObjectShape(Shape shape)
- { this->radarObjectShape_ = shape; }
- inline Shape getRadarObjectShape() const
- { return this->radarObjectShape_; }
-
-/*
- inline void setMapNode(Ogre::SceneNode * node)
- { this->MapNode_ = node; }
- inline Ogre::SceneNode * getMapNode() const
- { return this->MapNode_; }
- inline void setMapEntity(Ogre::Entity * ent)
- { this->MapEntity_ = ent; }
- inline Ogre::Entity * getMapEntity() const
- { return this->MapEntity_; }
-*/
- //Used for Map
- Ogre::SceneNode * MapNode_;
- Ogre::Entity * MapEntity_;
- Ogre::DynamicLines* line_;
- Ogre::SceneNode * LineNode_;
- void addMapEntity();
- void updateMapPosition();
- bool isHumanShip_;
- inline const std::string& getUniqueId()
- {
- return this->uniqueId_;
- }
- //friend class Map;
-
- private:
- void validate(const WorldEntity* object) const;
- bool bVisibility_;
- //Map
- std::string uniqueId_;
-
-
- //Radar
- float radarObjectCamouflage_;
- Shape radarObjectShape_;
- std::string radarObjectDescription_;
- ColourValue radarObjectColour_;
-
- };
-}
-
-#endif /* _RadarViewable_H__ */
Copied: trunk/src/orxonox/interfaces/RadarViewable.h (from rev 3195, branches/pch/src/orxonox/interfaces/RadarViewable.h)
===================================================================
--- trunk/src/orxonox/interfaces/RadarViewable.h (rev 0)
+++ trunk/src/orxonox/interfaces/RadarViewable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,130 @@
+/*
+ * 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 _RadarViewable_H__
+#define _RadarViewable_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include <cassert>
+
+#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ /**
+ @brief Interface for receiving window events.
+ */
+ class _OrxonoxExport RadarViewable : virtual public OrxonoxClass
+ {
+ public:
+ enum Shape
+ {
+ Square,
+ Dot,
+ Triangle
+ };
+
+
+ public:
+ RadarViewable();
+ virtual ~RadarViewable();
+
+ inline void setRadarObjectCamouflage(float camouflage)
+ { this->radarObjectCamouflage_ = camouflage; }
+ inline float getRadarObjectCamouflage() const
+ { return this->radarObjectCamouflage_; }
+
+ inline void setRadarObjectColour(const ColourValue& colour)
+ { this->radarObjectColour_ = colour; }
+ inline const ColourValue& getRadarObjectColour() const
+ { return this->radarObjectColour_; }
+
+ void setRadarObjectDescription(const std::string& str);
+ inline const std::string& getRadarObjectDescription() const
+ { return this->radarObjectDescription_; }
+
+ inline void setRadarVisibility(bool b)
+ { this->bVisibility_ = b; }
+ inline bool getRadarVisibility() const
+ { return this->bVisibility_; }
+
+ virtual const WorldEntity* getWorldEntity() const = 0;
+
+ const Vector3& getRVWorldPosition() const;
+ Vector3 getRVOrientedVelocity() const;
+
+ inline void setRadarObjectShape(Shape shape)
+ { this->radarObjectShape_ = shape; }
+ inline Shape getRadarObjectShape() const
+ { return this->radarObjectShape_; }
+
+/*
+ inline void setMapNode(Ogre::SceneNode * node)
+ { this->MapNode_ = node; }
+ inline Ogre::SceneNode * getMapNode() const
+ { return this->MapNode_; }
+ inline void setMapEntity(Ogre::Entity * ent)
+ { this->MapEntity_ = ent; }
+ inline Ogre::Entity * getMapEntity() const
+ { return this->MapEntity_; }
+*/
+ //Used for Map
+ Ogre::SceneNode * MapNode_;
+ Ogre::Entity * MapEntity_;
+ Ogre::DynamicLines* line_;
+ Ogre::SceneNode * LineNode_;
+ void addMapEntity();
+ void updateMapPosition();
+ bool isHumanShip_;
+ inline const std::string& getUniqueId()
+ {
+ return this->uniqueId_;
+ }
+ //friend class Map;
+
+ private:
+ void validate(const WorldEntity* object) const;
+ bool bVisibility_;
+ //Map
+ std::string uniqueId_;
+
+
+ //Radar
+ float radarObjectCamouflage_;
+ Shape radarObjectShape_;
+ std::string radarObjectDescription_;
+ ColourValue radarObjectColour_;
+
+ };
+}
+
+#endif /* _RadarViewable_H__ */
Deleted: trunk/src/orxonox/interfaces/Rewardable.h
===================================================================
--- branches/pch/src/orxonox/interfaces/Rewardable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/Rewardable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -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:
- * Damian 'Mozork' Frick
- * Co-authors:
- * ...
- *
- */
-
-/**
- @file
- @brief Definition of the Rewardable class.
-*/
-
-#ifndef _Rewardable_H__
-#define _Rewardable_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- /**
- @brief
- Rewardable is an Interface, that can be implemented by any object to enable it to be given as reward to a player through QuestEffects. (With the AddReward effect.)
-
- It just needs to inherit form Rewardable, and implement the reward() method.
- @author
- Damian 'Mozork' Frick
- */
- class _OrxonoxExport Rewardable : public OrxonoxClass
- {
- public:
- Rewardable();
- virtual ~Rewardable() {}
-
- /**
- @brief
- Method to transcribe a rewardable object to the player.
- Must be implemented by every class inheriting from Rewardable.
- @param player
- A pointer to the ControllableEntity, do whatever you want with it.
- @return
- Return true if successful.
- */
- virtual bool reward(PlayerInfo* player) = 0;
-
- };
-}
-
-#endif /* _Rewardable_H__ */
Copied: trunk/src/orxonox/interfaces/Rewardable.h (from rev 3195, branches/pch/src/orxonox/interfaces/Rewardable.h)
===================================================================
--- trunk/src/orxonox/interfaces/Rewardable.h (rev 0)
+++ trunk/src/orxonox/interfaces/Rewardable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,70 @@
+/*
+ * 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:
+ * Damian 'Mozork' Frick
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file
+ @brief Definition of the Rewardable class.
+*/
+
+#ifndef _Rewardable_H__
+#define _Rewardable_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ /**
+ @brief
+ Rewardable is an Interface, that can be implemented by any object to enable it to be given as reward to a player through QuestEffects. (With the AddReward effect.)
+
+ It just needs to inherit form Rewardable, and implement the reward() method.
+ @author
+ Damian 'Mozork' Frick
+ */
+ class _OrxonoxExport Rewardable : public OrxonoxClass
+ {
+ public:
+ Rewardable();
+ virtual ~Rewardable() {}
+
+ /**
+ @brief
+ Method to transcribe a rewardable object to the player.
+ Must be implemented by every class inheriting from Rewardable.
+ @param player
+ A pointer to the ControllableEntity, do whatever you want with it.
+ @return
+ Return true if successful.
+ */
+ virtual bool reward(PlayerInfo* player) = 0;
+
+ };
+}
+
+#endif /* _Rewardable_H__ */
Deleted: trunk/src/orxonox/interfaces/TeamColourable.h
===================================================================
--- branches/pch/src/orxonox/interfaces/TeamColourable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/TeamColourable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,49 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#ifndef _TeamColourable_H__
-#define _TeamColourable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "util/UtilPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport TeamColourable : virtual public OrxonoxClass
- {
- public:
- virtual void setTeamColour(const ColourValue& colour) = 0;
-
- protected:
- TeamColourable();
- };
-}
-
-#endif /* _TeamColourable_H__ */
Copied: trunk/src/orxonox/interfaces/TeamColourable.h (from rev 3195, branches/pch/src/orxonox/interfaces/TeamColourable.h)
===================================================================
--- trunk/src/orxonox/interfaces/TeamColourable.h (rev 0)
+++ trunk/src/orxonox/interfaces/TeamColourable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,49 @@
+/*
+ * 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:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+#ifndef _TeamColourable_H__
+#define _TeamColourable_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "util/UtilPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ class _OrxonoxExport TeamColourable : virtual public OrxonoxClass
+ {
+ public:
+ virtual void setTeamColour(const ColourValue& colour) = 0;
+
+ protected:
+ TeamColourable();
+ };
+}
+
+#endif /* _TeamColourable_H__ */
Deleted: trunk/src/orxonox/interfaces/Tickable.h
===================================================================
--- branches/pch/src/orxonox/interfaces/Tickable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/Tickable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,68 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-/*!
- @file
- @brief Declaration of the Tickable interface.
-
- The Tickable interface provides a tick(dt) function, that gets called every frame.
- float dt is the time since the last frame in seconds.
-
- Attention:
- Classes derived from a Tickable that want to have a tick(dt) function on their part, MUST call the
- parent::tick(dt) function explicitly in their implementation of tick(dt) because it's a virtual function.
-*/
-
-#ifndef _Tickable_H__
-#define _Tickable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "core/OrxonoxClass.h"
-#include "core/Super.h"
-
-namespace orxonox
-{
- //! The Tickable interface provides a tick(dt) function, that gets called every frame.
- class _OrxonoxExport Tickable : virtual public OrxonoxClass
- {
- public:
- /**
- @brief Gets called every frame.
- @param dt The time since the last frame in seconds
- */
- virtual void tick(float dt) = 0;
-
- protected:
- Tickable();
- };
-
- SUPER_FUNCTION(1, Tickable, tick, true);
-}
-
-#endif /* _Tickable_H__ */
Copied: trunk/src/orxonox/interfaces/Tickable.h (from rev 3195, branches/pch/src/orxonox/interfaces/Tickable.h)
===================================================================
--- trunk/src/orxonox/interfaces/Tickable.h (rev 0)
+++ trunk/src/orxonox/interfaces/Tickable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -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:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+/*!
+ @file
+ @brief Declaration of the Tickable interface.
+
+ The Tickable interface provides a tick(dt) function, that gets called every frame.
+ float dt is the time since the last frame in seconds.
+
+ Attention:
+ Classes derived from a Tickable that want to have a tick(dt) function on their part, MUST call the
+ parent::tick(dt) function explicitly in their implementation of tick(dt) because it's a virtual function.
+*/
+
+#ifndef _Tickable_H__
+#define _Tickable_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/OrxonoxClass.h"
+#include "core/Super.h"
+
+namespace orxonox
+{
+ //! The Tickable interface provides a tick(dt) function, that gets called every frame.
+ class _OrxonoxExport Tickable : virtual public OrxonoxClass
+ {
+ public:
+ /**
+ @brief Gets called every frame.
+ @param dt The time since the last frame in seconds
+ */
+ virtual void tick(float dt) = 0;
+
+ protected:
+ Tickable();
+ };
+
+ SUPER_FUNCTION(1, Tickable, tick, true);
+}
+
+#endif /* _Tickable_H__ */
Deleted: trunk/src/orxonox/interfaces/TimeFactorListener.h
===================================================================
--- branches/pch/src/orxonox/interfaces/TimeFactorListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/TimeFactorListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,55 +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 _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__ */
Copied: trunk/src/orxonox/interfaces/TimeFactorListener.h (from rev 3195, branches/pch/src/orxonox/interfaces/TimeFactorListener.h)
===================================================================
--- trunk/src/orxonox/interfaces/TimeFactorListener.h (rev 0)
+++ trunk/src/orxonox/interfaces/TimeFactorListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,55 @@
+/*
+ * 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__ */
Deleted: trunk/src/orxonox/interfaces/WindowEventListener.h
===================================================================
--- branches/pch/src/orxonox/interfaces/WindowEventListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/interfaces/WindowEventListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,57 +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 _WindowEventListener_H__
-#define _WindowEventListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- /**
- @brief Interface for receiving window events.
- */
- class _OrxonoxExport WindowEventListener : virtual public OrxonoxClass
- {
- public:
- WindowEventListener();
- virtual ~WindowEventListener() { }
-
- /** Window has moved position */
- virtual void windowMoved() { }
-
- /** Window has resized */
- virtual void windowResized(unsigned int newWidth, unsigned int newHeight) { }
-
- /** Window has lost/gained focus */
- virtual void windowFocusChanged() { }
- };
-}
-
-#endif /* _WindowEventListener_H__ */
Copied: trunk/src/orxonox/interfaces/WindowEventListener.h (from rev 3195, branches/pch/src/orxonox/interfaces/WindowEventListener.h)
===================================================================
--- trunk/src/orxonox/interfaces/WindowEventListener.h (rev 0)
+++ trunk/src/orxonox/interfaces/WindowEventListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,57 @@
+/*
+ * 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 _WindowEventListener_H__
+#define _WindowEventListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+ /**
+ @brief Interface for receiving window events.
+ */
+ class _OrxonoxExport WindowEventListener : virtual public OrxonoxClass
+ {
+ public:
+ WindowEventListener();
+ virtual ~WindowEventListener() { }
+
+ /** Window has moved position */
+ virtual void windowMoved() { }
+
+ /** Window has resized */
+ virtual void windowResized(unsigned int newWidth, unsigned int newHeight) { }
+
+ /** Window has lost/gained focus */
+ virtual void windowFocusChanged() { }
+ };
+}
+
+#endif /* _WindowEventListener_H__ */
Modified: trunk/src/orxonox/objects/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/objects/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -2,14 +2,9 @@
EventListener.cc
EventDispatcher.cc
EventTarget.cc
- GametypeMessageListener.cc
GlobalShader.cc
Level.cc
Radar.cc
- RadarListener.cc
- RadarViewable.cc
- Teamcolourable.cc
- Tickable.cc
Scene.cc
Script.cc
)
Modified: trunk/src/orxonox/objects/EventDispatcher.cc
===================================================================
--- trunk/src/orxonox/objects/EventDispatcher.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventDispatcher.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,6 @@
#include "core/CoreIncludes.h"
#include "core/EventIncludes.h"
#include "core/XMLPort.h"
-#include "core/EventIncludes.h"
#include "EventTarget.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/EventDispatcher.h
===================================================================
--- trunk/src/orxonox/objects/EventDispatcher.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventDispatcher.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,8 @@
#define _EventDispatcher_H__
#include "OrxonoxPrereqs.h"
+
+#include <list>
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/EventListener.cc
===================================================================
--- trunk/src/orxonox/objects/EventListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,7 +29,6 @@
#include "EventListener.h"
#include "core/CoreIncludes.h"
-#include "core/EventIncludes.h"
#include "core/XMLPort.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/EventListener.h
===================================================================
--- trunk/src/orxonox/objects/EventListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,8 @@
#define _EventListener_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
#include "core/BaseObject.h"
#include "core/XMLNameListener.h"
Modified: trunk/src/orxonox/objects/EventTarget.cc
===================================================================
--- trunk/src/orxonox/objects/EventTarget.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventTarget.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,7 @@
*/
#include "EventTarget.h"
-
#include "core/CoreIncludes.h"
-#include "core/EventIncludes.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/EventTarget.h
===================================================================
--- trunk/src/orxonox/objects/EventTarget.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/EventTarget.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#define _EventTarget_H__
#include "OrxonoxPrereqs.h"
+
#include "core/BaseObject.h"
#include "core/XMLNameListener.h"
Deleted: trunk/src/orxonox/objects/GametypeMessageListener.cc
===================================================================
--- trunk/src/orxonox/objects/GametypeMessageListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/GametypeMessageListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,41 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#include "GametypeMessageListener.h"
-
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- GametypeMessageListener::GametypeMessageListener()
- {
- RegisterRootObject(GametypeMessageListener);
- }
-}
-
-
Deleted: trunk/src/orxonox/objects/GametypeMessageListener.h
===================================================================
--- trunk/src/orxonox/objects/GametypeMessageListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/GametypeMessageListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,50 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#ifndef _GametypeMessageListener_H__
-#define _GametypeMessageListener_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport GametypeMessageListener : virtual public OrxonoxClass
- {
- public:
- GametypeMessageListener();
- virtual ~GametypeMessageListener() {}
-
- virtual void announcemessage(const GametypeInfo* gtinfo, const std::string& message) {}
- virtual void killmessage(const GametypeInfo* gtinfo, const std::string& message) {}
- virtual void deathmessage(const GametypeInfo* gtinfo, const std::string& message) {}
- };
-}
-
-#endif /* _GametypeMessageListener_H__ */
Modified: trunk/src/orxonox/objects/GlobalShader.cc
===================================================================
--- trunk/src/orxonox/objects/GlobalShader.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/GlobalShader.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,10 @@
#include "GlobalShader.h"
+#include "util/Exception.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
-#include "util/Exception.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/Level.cc
===================================================================
--- trunk/src/orxonox/objects/Level.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Level.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,21 +28,20 @@
#include "Level.h"
+#include "util/Math.h"
+#include "core/Core.h"
#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
#include "core/Loader.h"
-#include "core/XMLFile.h"
#include "core/Template.h"
-#include "core/Core.h"
+#include "core/XMLFile.h"
+#include "core/XMLPort.h"
-#include "LevelManager.h"
#include "objects/infos/PlayerInfo.h"
#include "objects/gametypes/Gametype.h"
#include "overlays/OverlayGroup.h"
#include "sound/SoundBase.h"
+#include "LevelManager.h"
-#include "util/Math.h"
-
namespace orxonox
{
CreateFactory(Level);
Modified: trunk/src/orxonox/objects/Level.h
===================================================================
--- trunk/src/orxonox/objects/Level.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Level.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,10 @@
#include "OrxonoxPrereqs.h"
+#include <list>
+#include <string>
+#include "core/BaseObject.h"
#include "network/synchronisable/Synchronisable.h"
-#include "core/BaseObject.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/Radar.cc
===================================================================
--- trunk/src/orxonox/objects/Radar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Radar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,17 +27,18 @@
*/
/**
- @file
- @brief
+ at file
+ at brief
*/
#include "Radar.h"
-#include <cfloat>
+
#include <cassert>
-#include "core/CoreIncludes.h"
+
+//#include "util/Math.h"
#include "core/ConsoleCommand.h"
-#include "core/Iterator.h"
-#include "RadarListener.h"
+#include "core/ObjectList.h"
+#include "interfaces/RadarListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/Radar.h
===================================================================
--- trunk/src/orxonox/objects/Radar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Radar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,8 +27,8 @@
*/
/**
- @file
- @brief
+ at file
+ at brief
*/
#ifndef _Radar_H__
@@ -38,11 +38,11 @@
#include <map>
#include <string>
-#include "core/Iterator.h"
-#include "core/OrxonoxClass.h"
-#include "objects/Tickable.h"
-#include "RadarViewable.h"
+#include "core/ObjectListIterator.h"
+#include "interfaces/RadarViewable.h"
+#include "interfaces/Tickable.h"
+
namespace orxonox
{
/**
Deleted: trunk/src/orxonox/objects/RadarListener.cc
===================================================================
--- trunk/src/orxonox/objects/RadarListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/RadarListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,38 +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 "RadarListener.h"
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- RadarListener::RadarListener()
- {
- RegisterRootObject(RadarListener);
- }
-}
Deleted: trunk/src/orxonox/objects/RadarListener.h
===================================================================
--- trunk/src/orxonox/objects/RadarListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/RadarListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,49 +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 _RadarListener_H__
-#define _RadarListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport RadarListener : virtual public OrxonoxClass
- {
- public:
- RadarListener();
- virtual ~RadarListener() { }
-
- virtual void displayObject(RadarViewable* viewable, bool bIsMarked) = 0;
- virtual float getRadarSensitivity() const = 0;
- virtual void radarTick(float dt) = 0;
- };
-}
-
-#endif /* _RadarListener_H__ */
Deleted: trunk/src/orxonox/objects/RadarViewable.cc
===================================================================
--- trunk/src/orxonox/objects/RadarViewable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/RadarViewable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,159 +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 "RadarViewable.h"
-
-#include "util/Debug.h"
-#include "util/Exception.h"
-#include "core/CoreIncludes.h"
-#include "objects/worldentities/WorldEntity.h"
-#include "objects/Radar.h"
-#include "util/String.h"
-#include <OgreManualObject.h>
-#include "overlays/map/Map.h"
-#include "orxonox/tools/DynamicLines.h"
-
-namespace orxonox
-{
- /**
- @brief Constructor.
- */
- RadarViewable::RadarViewable()
- : MapNode_(NULL)
- , MapEntity_(NULL)
- , line_(NULL)
- , LineNode_(NULL)
- , radarObjectCamouflage_(0.0f)
- , radarObjectShape_(Dot)
- , radarObjectDescription_("staticObject")
- {
- RegisterRootObject(RadarViewable);
-
- this->bVisibility_ = true;
- this->isHumanShip_ = false;
-
- this->uniqueId_=getUniqueNumberString();
-/*
- if(Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr())
- {
- this->addEntity();
- }
-
- */
- }
-
-
- RadarViewable::~RadarViewable()
- {
- if (this->isHumanShip_ && MapNode_)
- MapNode_->removeAllChildren();
-
- if (MapNode_)
- delete MapNode_;
-
- if (MapEntity_)
- delete MapEntity_;
-
- if (line_)
- delete line_;
-
- if (LineNode_)
- delete LineNode_;
- }
-
- void RadarViewable::addMapEntity()
- { //TODO Check shape and add accordantly
- if( this->MapNode_ && !this->MapEntity_ && Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr() )
- {
- COUT(0) << "Adding " << this->uniqueId_ << " to Map.\n";
- this->MapEntity_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createEntity( this->uniqueId_, "drone.mesh");
- /*this->line_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createManualObject(this->uniqueId_ + "_l");
- this->line_->begin("Map/line_", Ogre::RenderOperation::OT_LINE_STRIP);
- //line_->position(0, -it->getRVWorldPosition().y, 0);
- //this->line_->position(0, -20, 0);
- this->line_->position(0, 0, -10); //Front Arrow
- this->line_->position(0, 0, 0);
-
- this->line_->end(); */
- this->line_ = new DynamicLines(Ogre::RenderOperation::OT_LINE_LIST);
- this->line_->addPoint( Vector3(0,0,0) );
- this->line_->addPoint( Vector3(0,0,0) );
-
- this->MapNode_->attachObject( this->MapEntity_ );
-
- this->LineNode_ = this->MapNode_->createChildSceneNode();
- this->LineNode_->attachObject( this->line_ );
- }
- else
- {
- COUT(0) << "Unable to load " << this->uniqueId_ << " to Map.\n";
- }
- }
-
- void RadarViewable::updateMapPosition()
- {
- if( this->MapNode_ )
- {
- this->MapNode_->setPosition( this->getRVWorldPosition() );
- this->MapNode_->translate( this->getRVOrientedVelocity(), (Ogre::Node::TransformSpace)3 );
- this->MapNode_->setOrientation( this->getWorldEntity()->getOrientation() );
-//Vector3 v = this->getRVWorldPosition();
- //this->line_->setPoint(1, Vector3(0,v.y,0) );
- this->line_->setPoint(1, Vector3( 0, (int) -Map::getSingletonPtr()->movablePlane_->getDistance( this->getRVWorldPosition() ) ,0 ));
- this->line_->update();
- if( Map::getSingletonPtr()->playerShipNode_ )
- this->LineNode_->setDirection( Map::getSingletonPtr()->playerShipNode_->getLocalAxes().GetColumn(1) ,Ogre::Node::TS_WORLD,Vector3::UNIT_Y);
- }
- }
-
- void RadarViewable::setRadarObjectDescription(const std::string& str)
- {
- Radar* radar = Radar::getInstancePtr();
- if (radar)
- this->radarObjectShape_ = radar->addObjectDescription(str);
- else
- {
- CCOUT(2) << "Attempting to access the radar, but the radar is non existent." << std::endl;
- }
- this->radarObjectDescription_ = str;
- }
-
- const Vector3& RadarViewable::getRVWorldPosition() const
- {
- const WorldEntity* object = this->getWorldEntity();
- validate(object);
- return object->getWorldPosition();
- }
-
- Vector3 RadarViewable::getRVOrientedVelocity() const
- {
- const WorldEntity* object = this->getWorldEntity();
- validate(object);
- return object->getWorldOrientation() * object->getVelocity();
- }
-}
Deleted: trunk/src/orxonox/objects/RadarViewable.h
===================================================================
--- trunk/src/orxonox/objects/RadarViewable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/RadarViewable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,142 +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 _RadarViewable_H__
-#define _RadarViewable_H__
-
-#include "OrxonoxPrereqs.h"
-#include <string>
-#include <cassert>
-#include "util/Math.h"
-#include "util/Debug.h"
-#include "core/OrxonoxClass.h"
-
-#include <string>
-#include <OgreSceneNode.h>
-#include <OgreEntity.h>
-#include <OgreManualObject.h>
-#include "orxonox/tools/DynamicLines.h"
-
-namespace orxonox
-{
- /**
- @brief Interface for receiving window events.
- */
- class _OrxonoxExport RadarViewable : virtual public OrxonoxClass
- {
- public:
- enum Shape
- {
- Square,
- Dot,
- Triangle
- };
-
-
- public:
- RadarViewable();
- virtual ~RadarViewable();
-
- inline void setRadarObjectCamouflage(float camouflage)
- { this->radarObjectCamouflage_ = camouflage; }
- inline float getRadarObjectCamouflage() const
- { return this->radarObjectCamouflage_; }
-
- inline void setRadarObjectColour(const ColourValue& colour)
- { this->radarObjectColour_ = colour; }
- inline const ColourValue& getRadarObjectColour() const
- { return this->radarObjectColour_; }
-
- void setRadarObjectDescription(const std::string& str);
- inline const std::string& getRadarObjectDescription() const
- { return this->radarObjectDescription_; }
-
- inline void setRadarVisibility(bool b)
- { this->bVisibility_ = b; }
- inline bool getRadarVisibility() const
- { return this->bVisibility_; }
-
- virtual const WorldEntity* getWorldEntity() const = 0;
-
- const Vector3& getRVWorldPosition() const;
- Vector3 getRVOrientedVelocity() const;
-
- inline void setRadarObjectShape(Shape shape)
- { this->radarObjectShape_ = shape; }
- inline Shape getRadarObjectShape() const
- { return this->radarObjectShape_; }
-
-/*
- inline void setMapNode(Ogre::SceneNode * node)
- { this->MapNode_ = node; }
- inline Ogre::SceneNode * getMapNode() const
- { return this->MapNode_; }
- inline void setMapEntity(Ogre::Entity * ent)
- { this->MapEntity_ = ent; }
- inline Ogre::Entity * getMapEntity() const
- { return this->MapEntity_; }
-*/
- //Used for Map
- Ogre::SceneNode * MapNode_;
- Ogre::Entity * MapEntity_;
- DynamicLines* line_;
- Ogre::SceneNode * LineNode_;
- void addMapEntity();
- void updateMapPosition();
- bool isHumanShip_;
- inline std::string getUniqueId()
- {
- return this->uniqueId_;
- }
- //friend class Map;
-
- private:
- void validate(const WorldEntity* object) const
- {
- if (!object)
- {
- COUT(1) << "Assertation: Every RadarViewable has to be assigned a WorldEntity pointer!" << std::endl;
- assert(0);
- }
- }
-
- bool bVisibility_;
- //Map
- std::string uniqueId_;
-
-
- //Radar
- float radarObjectCamouflage_;
- Shape radarObjectShape_;
- std::string radarObjectDescription_;
- ColourValue radarObjectColour_;
-
- };
-}
-
-#endif /* _RadarViewable_H__ */
Modified: trunk/src/orxonox/objects/Scene.cc
===================================================================
--- trunk/src/orxonox/objects/Scene.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Scene.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,13 +30,14 @@
#include "Scene.h"
#include <OgreRoot.h>
+#include <OgreSceneManager.h>
#include <OgreSceneManagerEnumerator.h>
#include <OgreSceneNode.h>
-#include "BulletCollision/BroadphaseCollision/btAxisSweep3.h"
-#include "BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h"
-#include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
-#include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h"
+#include <BulletCollision/BroadphaseCollision/btAxisSweep3.h>
+#include <BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h>
+#include <BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h>
+#include <BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h>
#include "core/CoreIncludes.h"
#include "core/GameMode.h"
@@ -57,16 +58,9 @@
if (GameMode::showsGraphics())
{
- if (Ogre::Root::getSingletonPtr())
- {
- this->sceneManager_ = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC);
- this->rootSceneNode_ = this->sceneManager_->getRootSceneNode();
- }
- else
- {
- this->sceneManager_ = 0;
- this->rootSceneNode_ = 0;
- }
+ assert(Ogre::Root::getSingletonPtr());
+ this->sceneManager_ = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC);
+ this->rootSceneNode_ = this->sceneManager_->getRootSceneNode();
}
else
{
@@ -93,14 +87,10 @@
{
if (this->isInitialized())
{
- if (Ogre::Root::getSingletonPtr())
- {
+ if (GameMode::showsGraphics())
Ogre::Root::getSingleton().destroySceneManager(this->sceneManager_);
- }
- else if (!GameMode::showsGraphics())
- {
+ else
delete this->sceneManager_;
- }
this->setPhysicalWorld(false);
}
@@ -111,7 +101,7 @@
SUPER(Scene, XMLPort, xmlelement, mode);
XMLPortParam(Scene, "skybox", setSkybox, getSkybox, xmlelement, mode);
- XMLPortParam(Scene, "ambientlight", setAmbientLight, getAmbientLight, xmlelement, mode).defaultValues(ColourValue(0.2, 0.2, 0.2, 1));
+ XMLPortParam(Scene, "ambientlight", setAmbientLight, getAmbientLight, xmlelement, mode).defaultValues(ColourValue(0.2f, 0.2f, 0.2f, 1.0f));
XMLPortParam(Scene, "shadow", setShadow, getShadow, xmlelement, mode).defaultValues(true);
XMLPortParam(Scene, "gravity", setGravity, getGravity, xmlelement, mode);
@@ -138,7 +128,7 @@
if (range.length() < 10.0f)
{
CCOUT(2) << "Warning: Setting the negative world range to a very small value: "
- << omni_cast<std::string>(range) << std::endl;
+ << multi_cast<std::string>(range) << std::endl;
}
if (this->hasPhysics())
{
@@ -157,7 +147,7 @@
if (range.length() < 10.0f)
{
CCOUT(2) << "Warning: Setting the positive world range to a very small value: "
- << omni_cast<std::string>(range) << std::endl;
+ << multi_cast<std::string>(range) << std::endl;
}
if (this->hasPhysics())
{
@@ -175,7 +165,7 @@
{
this->gravity_ = gravity;
if (this->hasPhysics())
- this->physicalWorld_->setGravity(omni_cast<btVector3>(this->gravity_));
+ this->physicalWorld_->setGravity(multi_cast<btVector3>(this->gravity_));
}
void Scene::setPhysicalWorld(bool wantPhysics)
@@ -186,13 +176,13 @@
// Note: These are all little known default classes and values.
// It would require further investigation to properly dertermine the right choices.
this->broadphase_ = new bt32BitAxisSweep3(
- omni_cast<btVector3>(this->negativeWorldRange_), omni_cast<btVector3>(this->positiveWorldRange_));
+ multi_cast<btVector3>(this->negativeWorldRange_), multi_cast<btVector3>(this->positiveWorldRange_));
this->collisionConfig_ = new btDefaultCollisionConfiguration();
this->dispatcher_ = new btCollisionDispatcher(this->collisionConfig_);
this->solver_ = new btSequentialImpulseConstraintSolver();
this->physicalWorld_ = new btDiscreteDynamicsWorld(this->dispatcher_, this->broadphase_, this->solver_, this->collisionConfig_);
- this->physicalWorld_->setGravity(omni_cast<btVector3>(this->gravity_));
+ this->physicalWorld_->setGravity(multi_cast<btVector3>(this->gravity_));
// also set the collision callback variable.
// Note: This is a global variable which we assign a static function.
Modified: trunk/src/orxonox/objects/Scene.h
===================================================================
--- trunk/src/orxonox/objects/Scene.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Scene.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,10 +32,15 @@
#include "OrxonoxPrereqs.h"
+#include <list>
+#include <set>
+#include <string>
+
+#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
+#include "core/BaseObject.h"
#include "network/synchronisable/Synchronisable.h"
-#include "core/BaseObject.h"
-#include "util/Math.h"
-#include "objects/Tickable.h"
+#include "interfaces/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/Script.cc
===================================================================
--- trunk/src/orxonox/objects/Script.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Script.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,8 @@
#include "Script.h"
-#include "util/Debug.h"
+#include <tinyxml/ticpp.h>
#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
#include "core/LuaBind.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/Script.h
===================================================================
--- trunk/src/orxonox/objects/Script.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Script.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "core/BaseObject.h"
namespace orxonox
Deleted: trunk/src/orxonox/objects/Teamcolourable.cc
===================================================================
--- trunk/src/orxonox/objects/Teamcolourable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Teamcolourable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,38 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#include "Teamcolourable.h"
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- Teamcolourable::Teamcolourable()
- {
- RegisterRootObject(Teamcolourable);
- }
-}
Deleted: trunk/src/orxonox/objects/Teamcolourable.h
===================================================================
--- trunk/src/orxonox/objects/Teamcolourable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Teamcolourable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,49 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#ifndef _Teamcolourable_H__
-#define _Teamcolourable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "util/Math.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
- class _OrxonoxExport Teamcolourable : virtual public OrxonoxClass
- {
- public:
- virtual void setTeamColour(const ColourValue& colour) = 0;
-
- protected:
- Teamcolourable();
- };
-}
-
-#endif /* _Teamcolourable_H__ */
Modified: trunk/src/orxonox/objects/Test.h
===================================================================
--- trunk/src/orxonox/objects/Test.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Test.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,7 @@
#include "OrxonoxPrereqs.h"
#include "core/BaseObject.h"
#include "network/synchronisable/Synchronisable.h"
-#include "Tickable.h"
+#include "interfaces/Tickable.h"
typedef int TYPE;
Deleted: trunk/src/orxonox/objects/Tickable.cc
===================================================================
--- trunk/src/orxonox/objects/Tickable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Tickable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,42 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-#include "Tickable.h"
-#include "core/CoreIncludes.h"
-#include "core/ConsoleCommand.h"
-
-namespace orxonox
-{
- /**
- @brief Constructor: Registers the object in the Tickable-list
- */
- Tickable::Tickable()
- {
- RegisterRootObject(Tickable);
- }
-}
Deleted: trunk/src/orxonox/objects/Tickable.h
===================================================================
--- trunk/src/orxonox/objects/Tickable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/Tickable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,68 +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:
- * Fabian 'x3n' Landau
- * Co-authors:
- * ...
- *
- */
-
-/*!
- @file
- @brief Declaration of the Tickable interface.
-
- The Tickable interface provides a tick(dt) function, that gets called every frame.
- float dt is the time since the last frame in seconds.
-
- Attention:
- Classes derived from a Tickable that want to have a tick(dt) function on their part, MUST call the
- parent::tick(dt) function explicitly in their implementation of tick(dt) because it's a virtual function.
-*/
-
-#ifndef _Tickable_H__
-#define _Tickable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "core/OrxonoxClass.h"
-#include "core/Super.h"
-
-namespace orxonox
-{
- //! The Tickable interface provides a tick(dt) function, that gets called every frame.
- class _OrxonoxExport Tickable : virtual public OrxonoxClass
- {
- public:
- /**
- @brief Gets called every frame.
- @param dt The time since the last frame in seconds
- */
- virtual void tick(float dt) = 0;
-
- protected:
- Tickable();
- };
-
- SUPER_FUNCTION(1, Tickable, tick, true);
-}
-
-#endif /* _Tickable_H__ */
Modified: trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,7 @@
#include "BoxCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btBoxShape.h"
+#include <BulletCollision/CollisionShapes/btBoxShape.h>
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
@@ -71,6 +71,6 @@
btCollisionShape* BoxCollisionShape::createNewShape() const
{
- return new btBoxShape(omni_cast<btVector3>(this->halfExtents_));
+ return new btBoxShape(multi_cast<btVector3>(this->halfExtents_));
}
}
Modified: trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
#include "CollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,10 @@
#include "CollisionShape.h"
-#include "BulletCollision/CollisionShapes/btCollisionShape.h"
+#include <BulletCollision/CollisionShapes/btCollisionShape.h>
-#include "util/Exception.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/BulletConversions.h"
-
#include "objects/worldentities/WorldEntity.h"
#include "CompoundCollisionShape.h"
#include "WorldEntityCollisionShape.h"
@@ -128,8 +125,8 @@
bool CollisionShape::hasTransform() const
{
- return (!this->position_.positionEquals(Vector3(0, 0, 0), 0.001) ||
- !this->orientation_.equals(Quaternion(1,0,0,0), Degree(0.1)));
+ return (!this->position_.positionEquals(Vector3(0, 0, 0), 0.001f) ||
+ !this->orientation_.equals(Quaternion(1,0,0,0), Degree(0.1f)));
}
void CollisionShape::setScale3D(const Vector3& scale)
Modified: trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,8 @@
#include "CompoundCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btCompoundShape.h"
+#include <BulletCollision/CollisionShapes/btCompoundShape.h>
-#include "util/Exception.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "tools/BulletConversions.h"
@@ -88,7 +87,7 @@
if (shape->getCollisionShape())
{
// Only actually attach if we didn't pick a CompoundCollisionShape with no content
- btTransform transf(omni_cast<btQuaternion>(shape->getOrientation()), omni_cast<btVector3>(shape->getPosition()));
+ btTransform transf(multi_cast<btQuaternion>(shape->getOrientation()), multi_cast<btVector3>(shape->getPosition()));
this->compoundShape_->addChildShape(transf, shape->getCollisionShape());
this->updatePublicShape();
@@ -133,7 +132,7 @@
if (shape->getCollisionShape())
{
// Only actually attach if we didn't pick a CompoundCollisionShape with no content
- btTransform transf(omni_cast<btQuaternion>(shape->getOrientation()), omni_cast<btVector3>(shape->getPosition()));
+ btTransform transf(multi_cast<btQuaternion>(shape->getOrientation()), multi_cast<btVector3>(shape->getPosition()));
this->compoundShape_->addChildShape(transf, shape->getCollisionShape());
it->second = shape->getCollisionShape();
}
Modified: trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
-#include <vector>
#include <cassert>
+#include <map>
#include "CollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,10 @@
#include "ConeCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btConeShape.h"
+#include <BulletCollision/CollisionShapes/btConeShape.h>
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/BulletConversions.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _ConeCollisionShape_H__
#include "OrxonoxPrereqs.h"
-
#include "CollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,7 @@
#include "PlaneCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"
+#include <BulletCollision/CollisionShapes/btStaticPlaneShape.h>
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
@@ -71,6 +71,6 @@
btCollisionShape* PlaneCollisionShape::createNewShape() const
{
- return new btStaticPlaneShape(omni_cast<btVector3>(this->normal_), this->offset_);
+ return new btStaticPlaneShape(multi_cast<btVector3>(this->normal_), this->offset_);
}
}
Modified: trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
#include "CollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,10 @@
#include "SphereCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btSphereShape.h"
+#include <BulletCollision/CollisionShapes/btSphereShape.h>
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/BulletConversions.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _SphereCollisionShape_H__
#include "OrxonoxPrereqs.h"
-
#include "CollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.cc
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,9 @@
#include "WorldEntityCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btCompoundShape.h"
+#include <BulletCollision/CollisionShapes/btCompoundShape.h>
-#include "util/Exception.h"
+#include "util/OrxAssert.h"
#include "core/CoreIncludes.h"
#include "objects/worldentities/WorldEntity.h"
Modified: trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.h
===================================================================
--- trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _WorldEntityCollisionShape_H__
#include "OrxonoxPrereqs.h"
-
#include "CompoundCollisionShape.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/controllers/AIController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/AIController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/AIController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
#include "AIController.h"
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/Executor.h"
#include "objects/worldentities/ControllableEntity.h"
@@ -106,7 +107,7 @@
if (this->bHasTargetPosition_)
this->moveToTargetPosition();
- if (this->getControllableEntity() && this->bShooting_ && this->isCloseAtTarget(1000) && this->isLookingAtTarget(Ogre::Math::PI / 20.0))
+ if (this->getControllableEntity() && this->bShooting_ && this->isCloseAtTarget(1000) && this->isLookingAtTarget(Ogre::Math::PI / 20.0f))
this->getControllableEntity()->fire(0);
SUPER(AIController, tick, dt);
Modified: trunk/src/orxonox/objects/controllers/AIController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/AIController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/AIController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
+#include "interfaces/Tickable.h"
#include "ArtificialController.h"
-#include "objects/Tickable.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/ArtificialController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/ArtificialController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/ArtificialController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,10 +31,9 @@
#include "core/CoreIncludes.h"
#include "objects/worldentities/ControllableEntity.h"
#include "objects/worldentities/pawns/Pawn.h"
-
+#include "objects/worldentities/pawns/TeamBaseMatchBase.h"
#include "objects/gametypes/TeamDeathmatch.h"
#include "objects/controllers/WaypointPatrolController.h"
-#include "objects/worldentities/pawns/TeamBaseMatchBase.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/ArtificialController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/ArtificialController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/ArtificialController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
+#include "interfaces/PawnListener.h"
#include "Controller.h"
-#include "objects/worldentities/pawns/Pawn.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/Controller.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/Controller.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/Controller.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,7 @@
*/
#include "Controller.h"
-
#include "core/CoreIncludes.h"
-#include "overlays/OverlayGroup.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/Controller.h
===================================================================
--- trunk/src/orxonox/objects/controllers/Controller.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/Controller.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _Controller_H__
#include "OrxonoxPrereqs.h"
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/controllers/HumanController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/HumanController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/HumanController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -191,4 +191,12 @@
if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
HumanController::localController_s->controllableEntity_->dropItems();
}
+
+ Pawn* HumanController::getLocalControllerEntityAsPawn()
+ {
+ if (HumanController::localController_s)
+ return dynamic_cast<Pawn*>(HumanController::localController_s->getControllableEntity());
+ else
+ return NULL;
+ }
}
Modified: trunk/src/orxonox/objects/controllers/HumanController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/HumanController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/HumanController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,7 @@
#define _HumanController_H__
#include "OrxonoxPrereqs.h"
-
-#include "util/Math.h"
#include "Controller.h"
-#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
@@ -68,15 +65,7 @@
static inline HumanController* getLocalControllerSingleton()
{ return HumanController::localController_s; }
- static inline Pawn* getLocalControllerEntityAsPawn()
- {
- if (HumanController::localController_s) {
- return dynamic_cast<Pawn*>(HumanController::localController_s->getControllableEntity());
- } else {
- return NULL;
- }
- }
-
+ static Pawn* getLocalControllerEntityAsPawn();
//friend class, for mouselook
friend class Map;
Modified: trunk/src/orxonox/objects/controllers/PongAI.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/PongAI.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/PongAI.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,15 +30,15 @@
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
+#include "tools/Timer.h"
#include "objects/worldentities/ControllableEntity.h"
#include "objects/worldentities/PongBall.h"
-#include "tools/Timer.h"
namespace orxonox
{
CreateUnloadableFactory(PongAI);
- const static float MAX_REACTION_TIME = 0.4;
+ const static float MAX_REACTION_TIME = 0.4f;
PongAI::PongAI(BaseObject* creator) : Controller(creator)
{
@@ -48,8 +48,8 @@
this->ballDirection_ = Vector2::ZERO;
this->ballEndPosition_ = 0;
this->randomOffset_ = 0;
- this->relHysteresisOffset_ = 0.02;
- this->strength_ = 0.5;
+ this->relHysteresisOffset_ = 0.02f;
+ this->strength_ = 0.5f;
this->movement_ = 0;
this->oldMove_ = 0;
this->bOscillationAvoidanceActive_ = false;
@@ -170,7 +170,7 @@
// exp < 1 -> position is more likely a large number
// The position shouln't be larger than 0.5 (50% of the bat-length from the middle is the end)
- position *= 0.48;
+ position *= 0.48f;
// Both sides are equally probable
position *= rndsgn();
@@ -189,7 +189,7 @@
this->ballEndPosition_ = position.z + velocity.z / velocity.x * (-position.x + dimension.x / 2 * sgn(velocity.x));
// Calculate bounces
- for (float limit = 0.35; limit < this->strength_ || this->strength_ > 0.99; limit += 0.4)
+ for (float limit = 0.35f; limit < this->strength_ || this->strength_ > 0.99f; limit += 0.4f)
{
// Calculate a random prediction error, based on the vertical speed of the ball and the strength of the AI
float randomError = rnd(-1, 1) * dimension.y * (velocity.z / velocity.x / PongBall::MAX_REL_Z_VELOCITY) * (1 - this->strength_);
Modified: trunk/src/orxonox/objects/controllers/PongAI.h
===================================================================
--- trunk/src/orxonox/objects/controllers/PongAI.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/PongAI.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,10 +32,9 @@
#include "OrxonoxPrereqs.h"
#include <list>
-
-#include "Controller.h"
-#include "objects/Tickable.h"
#include "util/Math.h"
+#include "interfaces/Tickable.h"
+#include "Controller.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/ScriptController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/ScriptController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/ScriptController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "ScriptController.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
@@ -38,8 +37,4 @@
{
RegisterObject(ScriptController);
}
-
- ScriptController::~ScriptController()
- {
- }
}
Modified: trunk/src/orxonox/objects/controllers/ScriptController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/ScriptController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/ScriptController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _ScriptController_H__
#include "OrxonoxPrereqs.h"
-
#include "ArtificialController.h"
namespace orxonox
@@ -39,10 +38,8 @@
{
public:
ScriptController(BaseObject* creator);
- virtual ~ScriptController();
+ virtual ~ScriptController() { }
- protected:
-
private:
};
}
Modified: trunk/src/orxonox/objects/controllers/WaypointController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/WaypointController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/WaypointController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,7 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+#include "objects/worldentities/ControllableEntity.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/WaypointController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/WaypointController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/WaypointController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,8 @@
#include "OrxonoxPrereqs.h"
#include <vector>
-
+#include "interfaces/Tickable.h"
#include "ArtificialController.h"
-#include "objects/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/WaypointPatrolController.cc
===================================================================
--- trunk/src/orxonox/objects/controllers/WaypointPatrolController.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/WaypointPatrolController.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,10 @@
#include "WaypointPatrolController.h"
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/controllers/WaypointPatrolController.h
===================================================================
--- trunk/src/orxonox/objects/controllers/WaypointPatrolController.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/controllers/WaypointPatrolController.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
#include "WaypointController.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/gametypes/Asteroids.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/Asteroids.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Asteroids.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,9 @@
#include "Asteroids.h"
#include "core/CoreIncludes.h"
-#include "objects/infos/PlayerInfo.h"
+#include "network/Host.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include "network/Host.h"
-
namespace orxonox
{
CreateUnloadableFactory(Asteroids);
Modified: trunk/src/orxonox/objects/gametypes/Asteroids.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/Asteroids.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Asteroids.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _Asteroids_H__
#include "OrxonoxPrereqs.h"
-
#include "Gametype.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/gametypes/Deathmatch.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/Deathmatch.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Deathmatch.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,10 @@
#include "Deathmatch.h"
#include "core/CoreIncludes.h"
+#include "network/Host.h"
#include "objects/infos/PlayerInfo.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include "network/Host.h"
-
namespace orxonox
{
CreateUnloadableFactory(Deathmatch);
Modified: trunk/src/orxonox/objects/gametypes/Deathmatch.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/Deathmatch.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Deathmatch.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _Deathmatch_H__
#include "OrxonoxPrereqs.h"
-
#include "Gametype.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/gametypes/Gametype.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/Gametype.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Gametype.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,19 +28,19 @@
#include "Gametype.h"
-#include <cstdlib>
-#include <ctime>
-
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
-#include "core/Template.h"
#include "core/GameMode.h"
-#include "overlays/OverlayGroup.h"
+
#include "objects/infos/PlayerInfo.h"
#include "objects/infos/Bot.h"
+#include "objects/worldentities/Camera.h"
+#include "objects/worldentities/ControllableEntity.h"
+#include "objects/worldentities/SpawnPoint.h"
#include "objects/worldentities/pawns/Spectator.h"
-#include "objects/worldentities/SpawnPoint.h"
-#include "objects/worldentities/Camera.h"
+#include "objects/worldentities/pawns/Pawn.h"
+#include "overlays/OverlayGroup.h"
namespace orxonox
{
@@ -286,7 +286,7 @@
{
if (this->spawnpoints_.size() > 0)
{
- unsigned int randomspawn = (unsigned int)rnd(this->spawnpoints_.size());
+ unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(this->spawnpoints_.size())));
unsigned int index = 0;
for (std::set<SpawnPoint*>::const_iterator it = this->spawnpoints_.begin(); it != this->spawnpoints_.end(); ++it)
{
Modified: trunk/src/orxonox/objects/gametypes/Gametype.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/Gametype.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Gametype.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,11 +32,12 @@
#include "OrxonoxPrereqs.h"
#include <map>
+#include <set>
+#include <string>
#include "core/BaseObject.h"
#include "core/Identifier.h"
-#include "objects/worldentities/ControllableEntity.h"
-#include "objects/Tickable.h"
+#include "interfaces/Tickable.h"
#include "objects/infos/GametypeInfo.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/gametypes/Pong.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/Pong.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Pong.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,13 +29,10 @@
#include "Pong.h"
#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
#include "core/Executor.h"
-#include "objects/worldentities/Model.h"
#include "objects/worldentities/PongCenterpoint.h"
#include "objects/worldentities/PongBall.h"
#include "objects/worldentities/PongBat.h"
-#include "objects/infos/HumanPlayer.h"
#include "objects/infos/PongBot.h"
#include "objects/controllers/PongAI.h"
Modified: trunk/src/orxonox/objects/gametypes/Pong.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/Pong.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/Pong.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
#include "Deathmatch.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,9 @@
#include "TeamBaseMatch.h"
+#include "core/CoreIncludes.h"
+#include "core/Executor.h"
#include "objects/worldentities/pawns/TeamBaseMatchBase.h"
-#include "core/CoreIncludes.h"
#include "objects/infos/PlayerInfo.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/gametypes/TeamBaseMatch.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/TeamBaseMatch.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/TeamBaseMatch.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,8 +32,8 @@
#include "OrxonoxPrereqs.h"
#include <set>
+#include "tools/Timer.h"
#include "TeamDeathmatch.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/gametypes/TeamDeathmatch.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/TeamDeathmatch.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/TeamDeathmatch.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,9 @@
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
-#include "objects/Teamcolourable.h"
+#include "interfaces/TeamColourable.h"
#include "objects/worldentities/TeamSpawnPoint.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
@@ -52,10 +53,10 @@
static ColourValue colours[] =
{
- ColourValue(1.0, 0.3, 0.3),
- ColourValue(0.3, 0.3, 1.0),
- ColourValue(0.3, 1.0, 0.3),
- ColourValue(1.0, 1.0, 0.0)
+ ColourValue(1.0f, 0.3f, 0.3f),
+ ColourValue(0.3f, 0.3f, 1.0f),
+ ColourValue(0.3f, 1.0f, 0.3f),
+ ColourValue(1.0f, 1.0f, 0.0f)
};
static std::vector<ColourValue> defaultcolours(colours, colours + sizeof(colours) / sizeof(ColourValue));
@@ -137,7 +138,7 @@
if (teamSpawnPoints.size() > 0)
{
- unsigned int randomspawn = (unsigned int)rnd(teamSpawnPoints.size());
+ unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size())));
unsigned int index = 0;
for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)
{
@@ -167,9 +168,9 @@
std::set<WorldEntity*> pawnAttachments = pawn->getAttachedObjects();
for (std::set<WorldEntity*>::iterator it = pawnAttachments.begin(); it != pawnAttachments.end(); ++it)
{
- if ((*it)->isA(Class(Teamcolourable)))
+ if ((*it)->isA(Class(TeamColourable)))
{
- Teamcolourable* tc = dynamic_cast<Teamcolourable*>(*it);
+ TeamColourable* tc = dynamic_cast<TeamColourable*>(*it);
tc->setTeamColour(this->teamcolours_[it_player->second]);
}
}
Modified: trunk/src/orxonox/objects/gametypes/TeamDeathmatch.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/TeamDeathmatch.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/TeamDeathmatch.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include <map>
#include <vector>
-
#include "Deathmatch.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/gametypes/UnderAttack.cc
===================================================================
--- trunk/src/orxonox/objects/gametypes/UnderAttack.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/UnderAttack.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,10 @@
#include "UnderAttack.h"
+#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
-#include "util/Convert.h"
#include "network/Host.h"
-
#include "objects/worldentities/pawns/Destroyer.h"
#include "objects/infos/PlayerInfo.h"
Modified: trunk/src/orxonox/objects/gametypes/UnderAttack.h
===================================================================
--- trunk/src/orxonox/objects/gametypes/UnderAttack.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/gametypes/UnderAttack.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/PawnListener.h"
#include "TeamDeathmatch.h"
-#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/infos/Bot.cc
===================================================================
--- trunk/src/orxonox/objects/infos/Bot.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/Bot.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,12 +28,12 @@
#include "Bot.h"
+#include "util/Math.h"
#include "core/GameMode.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "objects/gametypes/Gametype.h"
#include "objects/controllers/AIController.h"
-#include "util/Math.h"
namespace orxonox
{
@@ -65,7 +65,7 @@
void Bot::setConfigValues()
{
- static std::string names[] =
+ static const std::string names[] =
{
"Dr. Julius No",
"Rosa Klebb",
Modified: trunk/src/orxonox/objects/infos/Bot.h
===================================================================
--- trunk/src/orxonox/objects/infos/Bot.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/Bot.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,8 @@
#define _Bot_H__
#include "OrxonoxPrereqs.h"
+
#include <vector>
-
#include "PlayerInfo.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/infos/GametypeInfo.cc
===================================================================
--- trunk/src/orxonox/objects/infos/GametypeInfo.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/GametypeInfo.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,7 @@
#include "core/GameMode.h"
#include "network/NetworkFunction.h"
#include "network/Host.h"
-#include "objects/GametypeMessageListener.h"
+#include "interfaces/GametypeMessageListener.h"
namespace orxonox
{
@@ -67,7 +67,7 @@
registerVariable(this->hudtemplate_, variableDirection::toclient);
}
- void GametypeInfo::sendAnnounceMessage(const std::string& message) const
+ void GametypeInfo::sendAnnounceMessage(const std::string& message)
{
if (GameMode::isMaster())
{
@@ -76,7 +76,7 @@
}
}
- void GametypeInfo::sendAnnounceMessage(const std::string& message, unsigned int clientID) const
+ void GametypeInfo::sendAnnounceMessage(const std::string& message, unsigned int clientID)
{
if (GameMode::isMaster())
{
@@ -87,7 +87,7 @@
}
}
- void GametypeInfo::sendKillMessage(const std::string& message, unsigned int clientID) const
+ void GametypeInfo::sendKillMessage(const std::string& message, unsigned int clientID)
{
if (GameMode::isMaster())
{
@@ -98,7 +98,7 @@
}
}
- void GametypeInfo::sendDeathMessage(const std::string& message, unsigned int clientID) const
+ void GametypeInfo::sendDeathMessage(const std::string& message, unsigned int clientID)
{
if (GameMode::isMaster())
{
@@ -109,19 +109,19 @@
}
}
- void GametypeInfo::dispatchAnnounceMessage(const std::string& message) const
+ void GametypeInfo::dispatchAnnounceMessage(const std::string& message)
{
for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it)
it->announcemessage(this, message);
}
- void GametypeInfo::dispatchKillMessage(const std::string& message) const
+ void GametypeInfo::dispatchKillMessage(const std::string& message)
{
for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it)
it->killmessage(this, message);
}
- void GametypeInfo::dispatchDeathMessage(const std::string& message) const
+ void GametypeInfo::dispatchDeathMessage(const std::string& message)
{
for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it)
it->deathmessage(this, message);
Modified: trunk/src/orxonox/objects/infos/GametypeInfo.h
===================================================================
--- trunk/src/orxonox/objects/infos/GametypeInfo.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/GametypeInfo.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "Info.h"
namespace orxonox
@@ -58,14 +59,14 @@
inline const std::string& getHUDTemplate() const
{ return this->hudtemplate_; }
- void sendAnnounceMessage(const std::string& message) const;
- void sendAnnounceMessage(const std::string& message, unsigned int clientID) const;
- void sendKillMessage(const std::string& message, unsigned int clientID) const;
- void sendDeathMessage(const std::string& message, unsigned int clientID) const;
+ void sendAnnounceMessage(const std::string& message);
+ void sendAnnounceMessage(const std::string& message, unsigned int clientID);
+ void sendKillMessage(const std::string& message, unsigned int clientID);
+ void sendDeathMessage(const std::string& message, unsigned int clientID);
- void dispatchAnnounceMessage(const std::string& message) const;
- void dispatchKillMessage(const std::string& message) const;
- void dispatchDeathMessage(const std::string& message) const;
+ void dispatchAnnounceMessage(const std::string& message);
+ void dispatchKillMessage(const std::string& message);
+ void dispatchDeathMessage(const std::string& message);
private:
bool bStarted_;
Modified: trunk/src/orxonox/objects/infos/HumanPlayer.cc
===================================================================
--- trunk/src/orxonox/objects/infos/HumanPlayer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/HumanPlayer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,9 @@
#include "HumanPlayer.h"
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
+#include "core/GameMode.h"
#include "network/ClientInformation.h"
#include "network/Host.h"
#include "objects/controllers/HumanController.h"
@@ -142,12 +142,12 @@
float HumanPlayer::getPing() const
{
- return ClientInformation::findClient(this->getClientID())->getRTT();
+ return static_cast<float>(ClientInformation::findClient(this->getClientID())->getRTT());
}
float HumanPlayer::getPacketLossRatio() const
{
- return ClientInformation::findClient(this->getClientID())->getPacketLoss();
+ return static_cast<float>(ClientInformation::findClient(this->getClientID())->getPacketLoss());
}
void HumanPlayer::setClientID(unsigned int clientID)
Modified: trunk/src/orxonox/objects/infos/HumanPlayer.h
===================================================================
--- trunk/src/orxonox/objects/infos/HumanPlayer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/HumanPlayer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "PlayerInfo.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/infos/Info.cc
===================================================================
--- trunk/src/orxonox/objects/infos/Info.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/Info.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "Info.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/infos/PlayerInfo.cc
===================================================================
--- trunk/src/orxonox/objects/infos/PlayerInfo.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/PlayerInfo.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,6 +33,7 @@
#include "core/CoreIncludes.h"
#include "network/ClientInformation.h"
#include "objects/gametypes/Gametype.h"
+#include "objects/worldentities/ControllableEntity.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/infos/PongBot.h
===================================================================
--- trunk/src/orxonox/objects/infos/PongBot.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/infos/PongBot.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _PongBot_H__
#include "OrxonoxPrereqs.h"
-
#include "Bot.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/items/Engine.cc
===================================================================
--- trunk/src/orxonox/objects/items/Engine.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/Engine.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,13 @@
#include "Engine.h"
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
#include "objects/worldentities/pawns/SpaceShip.h"
+#include "objects/pickup/ModifierType.h"
#include "tools/Shader.h"
#include "sound/SoundBase.h"
Modified: trunk/src/orxonox/objects/items/Engine.h
===================================================================
--- trunk/src/orxonox/objects/items/Engine.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/Engine.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "Item.h"
-#include "objects/Tickable.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/items/Item.cc
===================================================================
--- trunk/src/orxonox/objects/items/Item.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/Item.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "Item.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
@@ -36,8 +35,4 @@
{
RegisterObject(Item);
}
-
- Item::~Item()
- {
- }
}
Modified: trunk/src/orxonox/objects/items/Item.h
===================================================================
--- trunk/src/orxonox/objects/items/Item.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/Item.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -40,7 +40,7 @@
{
public:
Item(BaseObject* creator);
- virtual ~Item();
+ virtual ~Item() {}
};
}
Modified: trunk/src/orxonox/objects/items/MultiStateEngine.cc
===================================================================
--- trunk/src/orxonox/objects/items/MultiStateEngine.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/MultiStateEngine.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,8 @@
#include "MultiStateEngine.h"
+#include "core/CoreIncludes.h"
#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/worldentities/pawns/SpaceShip.h"
Modified: trunk/src/orxonox/objects/items/MultiStateEngine.h
===================================================================
--- trunk/src/orxonox/objects/items/MultiStateEngine.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/items/MultiStateEngine.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include <list>
#include "Engine.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/pickup/BaseItem.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/BaseItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/BaseItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,8 +33,6 @@
#include "BaseItem.h"
-#include "PickupCollection.h"
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/worldentities/pawns/Pawn.h"
@@ -54,7 +52,7 @@
this->setGUIImage("");
this->setGUIText("");
}
- //! Deconstructor.
+ //! Destructor.
BaseItem::~BaseItem()
{
}
@@ -104,5 +102,8 @@
return true;
}
- const std::string& BaseItem::getGUIText() const { return this->guiText_; }
+ const std::string& BaseItem::getGUIText() const
+ {
+ return this->guiText_;
+ }
}
Modified: trunk/src/orxonox/objects/pickup/BaseItem.h
===================================================================
--- trunk/src/orxonox/objects/pickup/BaseItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/BaseItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,6 +36,7 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "core/BaseObject.h"
// tolua_begin
Modified: trunk/src/orxonox/objects/pickup/DroppedItem.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/DroppedItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/DroppedItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,14 @@
#include "DroppedItem.h"
+#include "util/Math.h"
+#include "core/CoreIncludes.h"
+#include "core/Executor.h"
#include "BaseItem.h"
+#include "objects/worldentities/Billboard.h"
+#include "objects/worldentities/Model.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include "objects/worldentities/Model.h"
-#include "objects/worldentities/Billboard.h"
-#include "core/CoreIncludes.h"
-
namespace orxonox
{
CreateFactory(DroppedItem);
Modified: trunk/src/orxonox/objects/pickup/DroppedItem.h
===================================================================
--- trunk/src/orxonox/objects/pickup/DroppedItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/DroppedItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,7 @@
/**
@file
- @brief Definition of BaseItem (base-class for items/pickups).
+ @brief Definition of DroppedItem
*/
#ifndef _DroppedItem_H__
@@ -36,9 +36,9 @@
#include "OrxonoxPrereqs.h"
-#include "objects/Tickable.h"
+#include "tools/Timer.h"
+#include "interfaces/Tickable.h"
#include "objects/worldentities/StaticEntity.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/EquipmentItem.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/EquipmentItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/EquipmentItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,6 @@
*/
#include "EquipmentItem.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
@@ -45,8 +44,4 @@
{
RegisterObject(EquipmentItem);
}
- //! Deconstructor.
- EquipmentItem::~EquipmentItem()
- {
- }
}
Modified: trunk/src/orxonox/objects/pickup/EquipmentItem.h
===================================================================
--- trunk/src/orxonox/objects/pickup/EquipmentItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/EquipmentItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,7 +37,6 @@
#include "OrxonoxPrereqs.h"
#include "BaseItem.h"
-
namespace orxonox
{
/**
@@ -48,7 +47,7 @@
{
public:
EquipmentItem(BaseObject* creator);
- virtual ~EquipmentItem();
+ virtual ~EquipmentItem() {}
};
}
Modified: trunk/src/orxonox/objects/pickup/ModifierPickup.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/ModifierPickup.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/ModifierPickup.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,11 +32,9 @@
*/
#include "ModifierPickup.h"
-#include "PickupCollection.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/pickup/ModifierPickup.h
===================================================================
--- trunk/src/orxonox/objects/pickup/ModifierPickup.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/ModifierPickup.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,13 +34,14 @@
#ifndef _ModifierPickup_H__
#define _ModifierPickup_H__
+#include "OrxonoxPrereqs.h"
+
#include <climits>
+#include <map>
-#include "OrxonoxPrereqs.h"
-
+#include "orxonox/tools/Timer.h"
+#include "ModifierType.h"
#include "PassiveItem.h"
-#include "ModifierType.h"
-#include "orxonox/tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/ModifierType.h
===================================================================
--- trunk/src/orxonox/objects/pickup/ModifierType.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/ModifierType.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,6 +34,8 @@
#ifndef _ModifierType_H__
#define _ModifierType_H__
+#include "OrxonoxPrereqs.h"
+
namespace orxonox
{
namespace ModifierType
Modified: trunk/src/orxonox/objects/pickup/PassiveItem.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/PassiveItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PassiveItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "PassiveItem.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
@@ -40,8 +39,4 @@
{
RegisterObject(PassiveItem);
}
- //! Deconstructor.
- PassiveItem::~PassiveItem()
- {
- }
}
Modified: trunk/src/orxonox/objects/pickup/PassiveItem.h
===================================================================
--- trunk/src/orxonox/objects/pickup/PassiveItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PassiveItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,6 @@
#define _PassiveItem_H__
#include "OrxonoxPrereqs.h"
-
#include "BaseItem.h"
namespace orxonox
@@ -48,7 +47,7 @@
{
public:
PassiveItem(BaseObject* creator);
- virtual ~PassiveItem();
+ virtual ~PassiveItem() {}
};
}
Modified: trunk/src/orxonox/objects/pickup/PickupCollection.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupCollection.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupCollection.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,13 +33,11 @@
#include "PickupCollection.h"
-#include "BaseItem.h"
+#include "core/CoreIncludes.h"
#include "EquipmentItem.h"
#include "PassiveItem.h"
#include "UsableItem.h"
-#include "core/CoreIncludes.h"
-
namespace orxonox
{
typedef std::pair<std::multimap<std::string, BaseItem*>::iterator, std::multimap<std::string, BaseItem*>::iterator> item_range;
Modified: trunk/src/orxonox/objects/pickup/PickupCollection.h
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupCollection.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupCollection.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,12 +36,11 @@
#include "OrxonoxPrereqs.h"
-#include <map>
#include <deque>
+#include <map>
#include <string>
#include "util/Math.h"
-
#include "ModifierType.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/pickup/PickupInventory.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupInventory.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupInventory.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,24 +28,24 @@
#include "PickupInventory.h"
-#include "EquipmentItem.h"
-#include "PassiveItem.h"
-#include "UsableItem.h"
+#include <CEGUIImage.h>
+#include <CEGUIImageset.h>
+#include <CEGUIImagesetManager.h>
+#include <CEGUIWindow.h>
+#include <CEGUIWindowManager.h>
+#include <elements/CEGUITabControl.h>
#include "core/ConsoleCommand.h"
#include "core/input/InputManager.h"
-
#include "gui/GUIManager.h"
#include "objects/controllers/HumanController.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include <CEGUIImage.h>
-#include <CEGUIImageset.h>
-#include <CEGUIImagesetManager.h>
-#include <CEGUIWindow.h>
-#include <CEGUIWindowManager.h>
-#include <elements/CEGUITabControl.h>
+#include "EquipmentItem.h"
+#include "PassiveItem.h"
+#include "UsableItem.h"
+
namespace orxonox
{
SetConsoleCommandShortcut(PickupInventory, toggleInventory);
@@ -85,14 +85,14 @@
void PickupInventory::toggleInventory()
{
if(PickupInventory::getSingleton()->isVisible()) {
- GUIManager::getInstancePtr()->executeCode("hideGUI(\"PickupInventory\")");
- GUIManager::getInstancePtr()->executeCode("hideCursor()");
+ GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")");
+ GUIManager::getInstance().executeCode("hideCursor()");
InputManager::getInstance().requestLeaveState("guiMouseOnly");
}
else
{
- GUIManager::getInstancePtr()->showGUI("PickupInventory");
- GUIManager::getInstancePtr()->executeCode("showCursor()");
+ GUIManager::getInstance().showGUI("PickupInventory");
+ GUIManager::getInstance().executeCode("showCursor()");
InputManager::getInstance().requestEnterState("guiMouseOnly");
}
PickupInventory::getSingleton()->setVisible(!PickupInventory::getSingleton()->isVisible());
Modified: trunk/src/orxonox/objects/pickup/PickupInventory.h
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupInventory.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupInventory.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,10 +36,9 @@
#include "OrxonoxPrereqs.h"
+#include <CEGUIForwardRefs.h>
#include "core/BaseObject.h"
-namespace CEGUI { class Window; class WindowManager; class Image; }
-
// tolua_begin
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/PickupSpawner.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupSpawner.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupSpawner.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,16 +32,17 @@
*/
#include "PickupSpawner.h"
+
#include "BaseItem.h"
-#include "PickupInventory.h" // HACK; Only for hack, remove later
-#include "gui/GUIManager.h" // HACK; see above
#include "core/CoreIncludes.h"
+#include "core/Template.h"
#include "core/XMLPort.h"
-#include "core/Template.h"
-
+#include "gui/GUIManager.h" // HACK; see below
#include "objects/worldentities/pawns/Pawn.h"
+#include "PickupInventory.h" // HACK; Only for hack, remove later
+
namespace orxonox
{
const float PickupSpawner::bounceSpeed_s = 6.0f;
@@ -94,8 +95,8 @@
// & load the GUI itself too, along with some empty windows
// = even less delays
- GUIManager::getInstancePtr()->showGUI("PickupInventory");
- GUIManager::getInstancePtr()->executeCode("hideGUI(\"PickupInventory\")");
+ GUIManager::getInstance().showGUI("PickupInventory");
+ GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")");
PickupInventory::getSingleton();
}
/**
Modified: trunk/src/orxonox/objects/pickup/PickupSpawner.h
===================================================================
--- trunk/src/orxonox/objects/pickup/PickupSpawner.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/PickupSpawner.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,9 +36,10 @@
#include "OrxonoxPrereqs.h"
-#include "objects/Tickable.h"
+#include <string>
+#include "tools/Timer.h"
+#include "interfaces/Tickable.h"
#include "objects/worldentities/StaticEntity.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/UsableItem.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/UsableItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/UsableItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,7 +32,6 @@
*/
#include "UsableItem.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
@@ -45,8 +44,4 @@
{
RegisterObject(UsableItem);
}
- //! Deconstructor.
- UsableItem::~UsableItem()
- {
- }
}
Modified: trunk/src/orxonox/objects/pickup/UsableItem.h
===================================================================
--- trunk/src/orxonox/objects/pickup/UsableItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/UsableItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,6 @@
#define _UsableItem_H__
#include "OrxonoxPrereqs.h"
-
#include "BaseItem.h"
namespace orxonox
@@ -48,7 +47,7 @@
{
public:
UsableItem(BaseObject* creator);
- virtual ~UsableItem();
+ virtual ~UsableItem() { }
/**
@brief Method invoked when the item is being used.
Modified: trunk/src/orxonox/objects/pickup/items/HealthImmediate.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/items/HealthImmediate.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/HealthImmediate.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,10 +33,9 @@
#include "HealthImmediate.h"
-#include "objects/worldentities/pawns/Pawn.h"
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/items/HealthImmediate.h
===================================================================
--- trunk/src/orxonox/objects/pickup/items/HealthImmediate.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/HealthImmediate.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,6 @@
#define _HealthImmediate_H__
#include "OrxonoxPrereqs.h"
-
#include "objects/pickup/PassiveItem.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/pickup/items/HealthUsable.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/items/HealthUsable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/HealthUsable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,12 +32,12 @@
*/
#include "HealthUsable.h"
-#include "objects/pickup/DroppedItem.h"
-#include "objects/worldentities/pawns/Pawn.h"
-
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+#include "objects/pickup/DroppedItem.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/items/HealthUsable.h
===================================================================
--- trunk/src/orxonox/objects/pickup/items/HealthUsable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/HealthUsable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,12 +34,10 @@
#ifndef _HealthUsable_H__
#define _HealthUsable_H__
-#include <climits>
-
#include "OrxonoxPrereqs.h"
+#include <climits>
#include "objects/pickup/UsableItem.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/items/Jump.cc
===================================================================
--- trunk/src/orxonox/objects/pickup/items/Jump.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/Jump.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,12 +32,11 @@
*/
#include "Jump.h"
-#include "objects/pickup/DroppedItem.h"
-#include "objects/worldentities/pawns/Pawn.h"
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+#include "objects/pickup/DroppedItem.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/pickup/items/Jump.h
===================================================================
--- trunk/src/orxonox/objects/pickup/items/Jump.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/pickup/items/Jump.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,8 +38,9 @@
#include "OrxonoxPrereqs.h"
+#include <climits>
+#include "util/Math.h"
#include "objects/pickup/UsableItem.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/quest/AddQuest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/AddQuest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddQuest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,20 +27,15 @@
*/
/**
- @file AddQuest.cc
+ @file
@brief Implementation of the AddQuest class.
*/
#include "AddQuest.h"
-#include <string>
-
-#include "core/CoreIncludes.h"
#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/CoreIncludes.h"
#include "QuestManager.h"
-#include "QuestDescription.h"
#include "Quest.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/AddQuest.h
===================================================================
--- trunk/src/orxonox/objects/quest/AddQuest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddQuest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file AddQuest.h
+ @file
@brief Definition of the AddQuest class.
*/
@@ -35,10 +35,6 @@
#define _AddQuest_H__
#include "OrxonoxPrereqs.h"
-
-#include <string>
-
-#include "core/XMLPort.h"
#include "ChangeQuestStatus.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/AddQuestHint.cc
===================================================================
--- trunk/src/orxonox/objects/quest/AddQuestHint.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddQuestHint.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,15 @@
*/
/**
- @file AddQuestHint.cc
+ @file
@brief Implementation of the AddQuestHint class.
*/
#include "AddQuestHint.h"
-#include "core/CoreIncludes.h"
#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
#include "QuestManager.h"
#include "QuestItem.h"
#include "QuestHint.h"
Modified: trunk/src/orxonox/objects/quest/AddQuestHint.h
===================================================================
--- trunk/src/orxonox/objects/quest/AddQuestHint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddQuestHint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file AddQuestHint.h
+ @file
@brief Definition of the AddQuestHint class.
*/
@@ -37,7 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <string>
-
#include "QuestEffect.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/AddReward.cc
===================================================================
--- trunk/src/orxonox/objects/quest/AddReward.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddReward.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,17 +27,16 @@
*/
/**
- @file AddReward.cc
+ @file
@brief Implementation of the AddReward class.
*/
#include "AddReward.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "interfaces/Rewardable.h"
-#include "orxonox/objects/infos/PlayerInfo.h"
-#include "Rewardable.h"
-
namespace orxonox
{
CreateFactory(AddReward);
Modified: trunk/src/orxonox/objects/quest/AddReward.h
===================================================================
--- trunk/src/orxonox/objects/quest/AddReward.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/AddReward.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file AddReward.h
+ @file
@brief Definition of the AddReward class.
*/
@@ -37,8 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <list>
-
-#include "core/XMLPort.h"
#include "QuestEffect.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/objects/quest/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -16,5 +16,4 @@
QuestListener.cc
QuestManager.cc
QuestNotification.cc
- Rewardable.cc
)
Modified: trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc
===================================================================
--- trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,14 +27,14 @@
*/
/**
- @file ChangeQuestStatus.cc
+ @file
@brief Implementation of the ChangeQuestStatus class.
*/
#include "ChangeQuestStatus.h"
#include "core/CoreIncludes.h"
-
+#include "core/XMLPort.h"
#include "QuestItem.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/ChangeQuestStatus.h
===================================================================
--- trunk/src/orxonox/objects/quest/ChangeQuestStatus.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/ChangeQuestStatus.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file ChangeQuestStatus.h
+ @file
@brief Definition of the ChangeQuestStatus class.
*/
@@ -37,8 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <string>
-
-#include "core/XMLPort.h"
#include "QuestEffect.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/CompleteQuest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/CompleteQuest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/CompleteQuest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,14 @@
*/
/**
- @file CompleteQuest.cc
+ @file
@brief Implementation of the CompleteQuest class.
*/
#include "CompleteQuest.h"
#include "core/CoreIncludes.h"
-#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/XMLPort.h"
#include "QuestManager.h"
#include "Quest.h"
Modified: trunk/src/orxonox/objects/quest/CompleteQuest.h
===================================================================
--- trunk/src/orxonox/objects/quest/CompleteQuest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/CompleteQuest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file CompleteQuest.h
+ @file
@brief Definition of the CompleteQuest class.
*/
@@ -35,10 +35,6 @@
#define _CompleteQuest_H__
#include "OrxonoxPrereqs.h"
-
-#include <string>
-
-#include "core/XMLPort.h"
#include "ChangeQuestStatus.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/FailQuest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/FailQuest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/FailQuest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,14 @@
*/
/**
- @file FailQuest.cc
+ @file
@brief Implementation of the FailQuest class.
*/
#include "FailQuest.h"
#include "core/CoreIncludes.h"
-#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/XMLPort.h"
#include "QuestManager.h"
#include "Quest.h"
Modified: trunk/src/orxonox/objects/quest/FailQuest.h
===================================================================
--- trunk/src/orxonox/objects/quest/FailQuest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/FailQuest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file FailQuest.h
+ @file
@brief Definition of the FailQuest class.
*/
@@ -35,10 +35,6 @@
#define _FailQuest_H__
#include "OrxonoxPrereqs.h"
-
-#include <string>
-
-#include "core/XMLPort.h"
#include "ChangeQuestStatus.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/GlobalQuest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/GlobalQuest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/GlobalQuest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,17 +27,14 @@
*/
/**
- @file GlobalQuest.cc
+ @file
@brief Implementation of the GlobalQuest class.
*/
#include "GlobalQuest.h"
-#include "orxonox/objects/infos/PlayerInfo.h"
#include "core/CoreIncludes.h"
-#include "core/Super.h"
-#include "util/Exception.h"
-
+#include "core/XMLPort.h"
#include "QuestEffect.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/GlobalQuest.h
===================================================================
--- trunk/src/orxonox/objects/quest/GlobalQuest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/GlobalQuest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file GlobalQuest.h
+ @file
@brief Definition of the GlobalQuest class.
*/
@@ -36,10 +36,8 @@
#include "OrxonoxPrereqs.h"
-#include <set>
#include <list>
-
-#include "core/XMLPort.h"
+#include <set>
#include "Quest.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/LocalQuest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/LocalQuest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/LocalQuest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,17 +27,14 @@
*/
/**
- @file LocalQuest.cc
+ @file
@brief Implementation of the LocalQuest class.
*/
#include "LocalQuest.h"
#include "core/CoreIncludes.h"
-#include "core/Super.h"
-#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/XMLPort.h"
#include "QuestEffect.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/LocalQuest.h
===================================================================
--- trunk/src/orxonox/objects/quest/LocalQuest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/LocalQuest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file LocalQuest.h
+ @file
@brief Definition of the LocalQuest class.
*/
@@ -37,9 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <map>
-#include <string>
-
-#include "core/XMLPort.h"
#include "Quest.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/Quest.cc
===================================================================
--- trunk/src/orxonox/objects/quest/Quest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/Quest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,15 +27,14 @@
*/
/**
- @file Quest.cc
+ @file
@brief Implementation of the Quest class.
*/
#include "Quest.h"
#include "core/CoreIncludes.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/XMLPort.h"
#include "QuestManager.h"
#include "QuestDescription.h"
#include "QuestHint.h"
Modified: trunk/src/orxonox/objects/quest/Quest.h
===================================================================
--- trunk/src/orxonox/objects/quest/Quest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/Quest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file Quest.h
+ @file
@brief Definition of the Quest class.
The Quest is the parent class of LocalQuest and GlobalQuest.
*/
@@ -38,10 +38,6 @@
#include "OrxonoxPrereqs.h"
#include <list>
-#include <string>
-
-#include "core/XMLPort.h"
-
#include "QuestItem.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestDescription.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestDescription.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestDescription.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestDescription.cc
+ @file
@brief Implementation of the QuestDescription class.
*/
@@ -35,6 +35,7 @@
#include "QuestDescription.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
#include "QuestNotification.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestDescription.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestDescription.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestDescription.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestDescription.h
+ @file
@brief Definition of the QuestDescription class.
*/
@@ -37,9 +37,7 @@
#include "OrxonoxPrereqs.h"
#include <string>
-
#include "core/BaseObject.h"
-#include "core/XMLPort.h"
// tolua_begin
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestEffect.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestEffect.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestEffect.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,13 @@
*/
/**
- @file QuestEffect.cc
+ @file
@brief Implementation of the QuestEffect class.
*/
#include "QuestEffect.h"
-
#include "core/CoreIncludes.h"
-#include "orxonox/objects/infos/PlayerInfo.h"
-
namespace orxonox
{
/**
Modified: trunk/src/orxonox/objects/quest/QuestEffect.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestEffect.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestEffect.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestEffect.h
+ @file
@brief Definition of the QuestEffect class.
*/
@@ -37,7 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <list>
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestEffectBeacon.cc
+ @file
@brief Implementation of the QuestEffectBeacon class.
*/
@@ -35,10 +35,7 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "core/Event.h"
#include "core/EventIncludes.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
#include "orxonox/objects/worldentities/pawns/Pawn.h"
#include "orxonox/objects/worldentities/triggers/PlayerTrigger.h"
#include "QuestEffect.h"
@@ -88,7 +85,7 @@
{
SUPER(QuestEffectBeacon, processEvent, event);
- SetSubclassEvent(QuestEffectBeacon, "execute", execute, event, PlayerTrigger);
+ ORXONOX_SET_SUBCLASS_EVENT(QuestEffectBeacon, "execute", execute, event, PlayerTrigger);
}
/**
Modified: trunk/src/orxonox/objects/quest/QuestEffectBeacon.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestEffectBeacon.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestEffectBeacon.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestEffectBeacon.h
+ @file
@brief Definition of the QuestEffectBeacon class.
*/
@@ -36,6 +36,7 @@
#include "OrxonoxPrereqs.h"
+#include <list>
#include "orxonox/objects/worldentities/StaticEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestHint.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestHint.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestHint.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,14 @@
*/
/**
- @file QuestHint.cc
+ @file
@brief Implementation of the QuestHint class.
*/
#include "QuestHint.h"
#include "core/CoreIncludes.h"
-#include "util/Exception.h"
-
-#include "orxonox/objects/infos/PlayerInfo.h"
+#include "core/XMLPort.h"
#include "QuestManager.h"
#include "QuestDescription.h"
#include "Quest.h"
Modified: trunk/src/orxonox/objects/quest/QuestHint.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestHint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestHint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestHint.h
+ @file
@brief Definition of the QuestHint class.
*/
@@ -37,9 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <map>
-#include <string>
-
-#include "core/XMLPort.h"
#include "QuestItem.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestItem.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestItem.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestItem.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,14 +27,14 @@
*/
/**
- @file QuestItem.cc
+ @file
@brief Implementation of the QuestItem class.
*/
#include "QuestItem.h"
#include "core/CoreIncludes.h"
-
+#include "core/XMLPort.h"
#include "QuestDescription.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestItem.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestItem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestItem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestItem.h
+ @file
@brief Definition of the QuestItem class.
The QuestItem is the parent class of Quest and QuestHint.
*/
@@ -39,9 +39,7 @@
#include "OrxonoxPrereqs.h"
#include <string>
-
#include "core/BaseObject.h"
-#include "core/XMLPort.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/quest/QuestListener.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestListener.cc
+ @file
@brief Implementation of the QuestListener class.
*/
@@ -35,8 +35,6 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "util/Exception.h"
-
#include "Quest.h"
#include "QuestManager.h"
@@ -163,7 +161,7 @@
@return
Return the mode of the QuestListener. Can be eighter 'all', 'start', 'fail' or 'complete'.
*/
- const std::string QuestListener::getMode(void)
+ std::string QuestListener::getMode(void)
{
if(this->mode_ == questListenerMode::all)
{
@@ -190,6 +188,17 @@
/**
@brief
+ Get the questId of the Quest the QuestListener reacts to.
+ @return
+ Returns the questId of the Quest the QuestListener reacts to.
+ */
+ const std::string & QuestListener::getQuestId(void)
+ {
+ return this->quest_->getId();
+ }
+
+ /**
+ @brief
Executes the QuestListener, resp. fires an Event.
@return
Returns true if successful.
Modified: trunk/src/orxonox/objects/quest/QuestListener.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestListener.h
+ @file
@brief Definition of the QuestListener class.
*/
@@ -38,11 +38,8 @@
#include <string>
#include <list>
-
#include "core/BaseObject.h"
-#include "Quest.h"
-
namespace orxonox
{
namespace questListenerMode
@@ -89,15 +86,9 @@
bool setQuestId(const std::string & id); //!< Sets the questId of the Quest the QuestListener reacts to.
bool setMode(const std::string & mode); //!< Sets the mode of the QuestListener.
- const std::string getMode(void); //!< Get the mode of the QuestListener.
+ std::string getMode(void); //!< Get the mode of the QuestListener.
- /**
- @brief Get the questId of the Quest the QuestListener reacts to.
- @return Returns the questId of the Quest the QuestListener reacts to.
- */
- inline const std::string & getQuestId(void)
- { return this->quest_->getId(); }
-
+ const std::string & getQuestId(void);
bool execute(void); //!< Executes the QuestListener, resp. fires an Event.
private:
Modified: trunk/src/orxonox/objects/quest/QuestManager.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,21 +27,22 @@
*/
/**
- @file QuestManager.cc
+ @file
@brief Implementation of the QuestManager class.
*/
#include "QuestManager.h"
+#include "util/Exception.h"
#include "core/CoreIncludes.h"
-#include "core/ConsoleCommand.h"
-#include "core/input/InputManager.h"
+#include "gui/GUIManager.h"
-#include "util/Exception.h"
-#include "gui/GUIManager.h"
#include "objects/infos/PlayerInfo.h"
+#include "objects/infos/PlayerInfo.h"
+#include "overlays/GUIOverlay.h"
#include "Quest.h"
#include "QuestHint.h"
+#include "QuestItem.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/quest/QuestManager.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file QuestManager.h
+ @file
@brief Definition of the QuestManager class.
*/
@@ -36,13 +36,10 @@
#include "OrxonoxPrereqs.h"
-#include <map>
#include <list>
+#include <map>
#include <string>
-
#include "core/OrxonoxClass.h"
-#include "orxonox/objects/infos/PlayerInfo.h"
-#include "overlays/GUIOverlay.h"
// tolua_begin
namespace orxonox
Modified: trunk/src/orxonox/objects/quest/QuestNotification.cc
===================================================================
--- trunk/src/orxonox/objects/quest/QuestNotification.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestNotification.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,11 +27,8 @@
*/
#include "QuestNotification.h"
-
#include "core/CoreIncludes.h"
-#include "orxonox/overlays/notifications/Notification.h"
-
namespace orxonox {
const std::string QuestNotification::SENDER = "questsystem";
Modified: trunk/src/orxonox/objects/quest/QuestNotification.h
===================================================================
--- trunk/src/orxonox/objects/quest/QuestNotification.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/QuestNotification.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,8 @@
#include "OrxonoxPrereqs.h"
#include <string>
+#include "overlays/notifications/Notification.h"
-#include "orxonox/overlays/notifications/Notification.h"
-
namespace orxonox {
/**
Deleted: trunk/src/orxonox/objects/quest/Rewardable.cc
===================================================================
--- trunk/src/orxonox/objects/quest/Rewardable.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/Rewardable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,58 +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:
- * Damian 'Mozork' Frick
- * Co-authors:
- * ...
- *
- */
-
-/**
- @file Rewardable.cc
- @brief Implementation of the Rewardable class.
-*/
-
-#include "Rewardable.h"
-
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- /**
- @brief
- Constructor. Registers the object.
- */
- Rewardable::Rewardable(BaseObject* creator) : BaseObject(creator)
- {
- RegisterObject(Rewardable);
- }
-
- /**
- @brief
- Destructor,
- */
- Rewardable::~Rewardable()
- {
- }
-
-
-}
Deleted: trunk/src/orxonox/objects/quest/Rewardable.h
===================================================================
--- trunk/src/orxonox/objects/quest/Rewardable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/quest/Rewardable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,72 +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:
- * Damian 'Mozork' Frick
- * Co-authors:
- * ...
- *
- */
-
-/**
- @file Rewardable.h
- @brief Definition of the Rewardable class.
-*/
-
-#ifndef _Rewardable_H__
-#define _Rewardable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "core/BaseObject.h"
-
-namespace orxonox
-{
- /**
- @brief
- Rewardable is an Interface, that can be implemented by any object to enable it to be given as reward to a player through QuestEffects. (With the AddReward effect.)
-
- It just needs to inherit form Rewardable, and implement the reward() method.
- @author
- Damian 'Mozork' Frick
- */
- class _OrxonoxExport Rewardable : public BaseObject
- {
- public:
- Rewardable(BaseObject* creator);
- virtual ~Rewardable();
-
- /**
- @brief
- Method to transcribe a rewardable object to the player.
- Must be implemented by every class inheriting from Rewardable.
- @param player
- A pointer to the ControllableEntity, do whatever you want with it.
- @return
- Return true if successful.
- */
- virtual bool reward(PlayerInfo* player) = 0;
-
- };
-
-}
-
-#endif /* _Rewardable_H__ */
Modified: trunk/src/orxonox/objects/weaponsystem/DefaultWeaponmodeLink.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/DefaultWeaponmodeLink.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/DefaultWeaponmodeLink.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "WeaponSystem.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/Munition.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/Munition.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/Munition.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,7 +28,6 @@
*/
#include "Munition.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/Munition.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/Munition.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/Munition.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
#include "OrxonoxPrereqs.h"
#include <map>
-
#include "core/BaseObject.h"
#include "tools/Timer.h"
Modified: trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,10 +29,8 @@
#include "MuzzleFlash.h"
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-#include "util/Math.h"
+#include "core/Executor.h"
namespace orxonox
{
@@ -41,7 +39,7 @@
MuzzleFlash::MuzzleFlash(BaseObject* creator) : Billboard(creator)
{
RegisterObject(MuzzleFlash);
- this->setScale(0.1);
+ this->setScale(0.1f);
this->delayTimer_.setTimer(0.1f, false, this, createExecutor(createFunctor(&MuzzleFlash::destroy)));
Modified: trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,10 @@
#define _MuzzleFlash_H__
#include "OrxonoxPrereqs.h"
+
+#include "tools/Timer.h"
#include "objects/worldentities/Billboard.h"
-#include "tools/Timer.h"
-
namespace orxonox
{
class _OrxonoxExport MuzzleFlash : public Billboard
Modified: trunk/src/orxonox/objects/weaponsystem/Weapon.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/Weapon.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/Weapon.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,10 @@
#define _Weapon_H__
#include "OrxonoxPrereqs.h"
-#include "objects/worldentities/StaticEntity.h"
+#include <map>
#include "tools/Timer.h"
+#include "objects/worldentities/StaticEntity.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/WeaponMode.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/WeaponMode.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/WeaponMode.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,11 +31,12 @@
#define _WeaponMode_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include "util/Math.h"
#include "core/BaseObject.h"
-
+#include "core/Identifier.h"
#include "tools/Timer.h"
-#include "core/Identifier.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/WeaponPack.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/WeaponPack.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/WeaponPack.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,8 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "objects/worldentities/pawns/Pawn.h"
#include "Weapon.h"
-#include "WeaponSlot.h"
#include "WeaponSystem.h"
#include "DefaultWeaponmodeLink.h"
Modified: trunk/src/orxonox/objects/weaponsystem/WeaponPack.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/WeaponPack.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/WeaponPack.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
#include "OrxonoxPrereqs.h"
#include <set>
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/WeaponSet.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/WeaponSet.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/WeaponSet.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
#include "OrxonoxPrereqs.h"
#include <map>
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/WeaponSystem.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/WeaponSystem.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/WeaponSystem.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,10 +32,9 @@
#include "OrxonoxPrereqs.h"
-#include <set>
#include <map>
+#include <set>
#include <vector>
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/munitions/FusionMunition.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/munitions/FusionMunition.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/munitions/FusionMunition.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "FusionMunition.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/munitions/LaserMunition.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/munitions/LaserMunition.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/munitions/LaserMunition.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "LaserMunition.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,6 @@
*/
#include "ReplenishingMunition.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,9 @@
#define _ReplenishingMunition_H__
#include "OrxonoxPrereqs.h"
+
+#include "tools/Timer.h"
#include "objects/weaponsystem/Munition.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,8 @@
#include "BillboardProjectile.h"
-#include <OgreBillboardSet.h>
-
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "objects/Scene.h"
namespace orxonox
@@ -45,7 +43,7 @@
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);
+ this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(0.5f, 0.5f, 0.7f, 0.8f), 1);
this->attachOgreObject(this->billboard_.getBillboardSet());
}
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
+#include "tools/BillboardSet.h"
#include "Projectile.h"
-#include "tools/BillboardSet.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,12 +28,8 @@
#include "LightningGunProjectile.h"
-#include <OgreBillboardSet.h>
-
-#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
-#include "objects/Scene.h"
#include "util/Convert.h"
+#include "core/CoreIncludes.h"
namespace orxonox
{
@@ -45,7 +41,7 @@
this->textureIndex_ = 1;
this->maxTextureIndex_ = 8;
- this->textureTimer_.setTimer(0.01, true, this, createExecutor(createFunctor(&LightningGunProjectile::changeTexture)));
+ this->textureTimer_.setTimer(0.01f, true, this, createExecutor(createFunctor(&LightningGunProjectile::changeTexture)));
registerVariables();
}
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "tools/Timer.h"
-
#include "BillboardProjectile.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,12 +28,9 @@
#include "ParticleProjectile.h"
-#include <OgreParticleSystem.h>
#include <OgreParticleEmitter.h>
-
-#include "core/GameMode.h"
+#include "tools/ParticleInterface.h"
#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
#include "objects/Scene.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,7 @@
#define _ParticleProjectile_H__
#include "OrxonoxPrereqs.h"
-
#include "BillboardProjectile.h"
-#include "tools/ParticleInterface.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,18 +28,13 @@
#include "Projectile.h"
-#include <OgreBillboard.h>
-
#include "core/CoreIncludes.h"
-#include "core/Executor.h"
#include "core/ConfigValueIncludes.h"
-#include "core/Iterator.h"
-#include "tools/ParticleInterface.h"
-
-#include "objects/worldentities/Model.h"
-#include "objects/worldentities/ParticleSpawner.h"
-#include "objects/collisionshapes/SphereCollisionShape.h"
+#include "core/Executor.h"
#include "core/GameMode.h"
+#include "objects/collisionshapes/SphereCollisionShape.h"
+#include "objects/worldentities/pawns/Pawn.h"
+#include "objects/worldentities/ParticleSpawner.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
+#include "interfaces/PawnListener.h"
#include "objects/worldentities/MovableEntity.h"
-#include "objects/worldentities/pawns/Pawn.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,12 @@
#include "EnergyDrink.h"
#include "core/CoreIncludes.h"
+#include "core/Executor.h"
#include "core/XMLPort.h"
-#include "objects/weaponsystem/projectiles/ParticleProjectile.h"
#include "objects/worldentities/Model.h"
-#include "objects/weaponsystem/MuzzleFlash.h"
+#include "objects/weaponsystem/projectiles/Projectile.h"
+#include "objects/weaponsystem/MuzzleFlash.h"
#include "objects/weaponsystem/Weapon.h"
#include "objects/weaponsystem/WeaponPack.h"
#include "objects/weaponsystem/WeaponSystem.h"
@@ -70,11 +71,6 @@
this->material_ = material;
}
- std::string& EnergyDrink::getMaterial()
- {
- return this->material_;
- }
-
void EnergyDrink::setDelay(float d)
{
this->delay_ = d;
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#define _EnergyDrink_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include "tools/Timer.h"
#include "objects/weaponsystem/WeaponMode.h"
-#include "tools/Timer.h"
namespace orxonox
{
@@ -46,7 +48,8 @@
private:
void setMaterial(const std::string& material);
- std::string& getMaterial();
+ inline const std::string& getMaterial()
+ { return this->material_; }
void setDelay(float d);
float getDelay() const;
void shot();
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/FusionFire.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/FusionFire.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/FusionFire.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
#include "FusionFire.h"
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "objects/weaponsystem/projectiles/BillboardProjectile.h"
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,12 @@
#include "HsW01.h"
#include "core/CoreIncludes.h"
+#include "core/Executor.h"
#include "core/XMLPort.h"
-#include "objects/weaponsystem/projectiles/ParticleProjectile.h"
#include "objects/worldentities/Model.h"
+
+#include "objects/weaponsystem/projectiles/Projectile.h"
#include "objects/weaponsystem/MuzzleFlash.h"
-
#include "objects/weaponsystem/Weapon.h"
#include "objects/weaponsystem/WeaponPack.h"
#include "objects/weaponsystem/WeaponSystem.h"
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.h
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,9 @@
#define _HsW01_H__
#include "OrxonoxPrereqs.h"
+
+#include "tools/Timer.h"
#include "objects/weaponsystem/WeaponMode.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/LaserFire.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/LaserFire.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/LaserFire.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#include "core/CoreIncludes.h"
#include "objects/weaponsystem/projectiles/ParticleProjectile.h"
-
#include "objects/weaponsystem/Weapon.h"
#include "objects/weaponsystem/WeaponPack.h"
#include "objects/weaponsystem/WeaponSystem.h"
Modified: trunk/src/orxonox/objects/weaponsystem/weaponmodes/LightningGun.cc
===================================================================
--- trunk/src/orxonox/objects/weaponsystem/weaponmodes/LightningGun.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/weaponsystem/weaponmodes/LightningGun.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,17 +29,11 @@
#include "LightningGun.h"
#include "core/CoreIncludes.h"
-
-#include "objects/worldentities/Billboard.h"
-
+#include "objects/weaponsystem/projectiles/LightningGunProjectile.h"
#include "objects/weaponsystem/Weapon.h"
#include "objects/weaponsystem/WeaponPack.h"
#include "objects/weaponsystem/WeaponSystem.h"
-#include "objects/weaponsystem/projectiles/LightningGunProjectile.h"
-
-#include "util/Math.h"
-
namespace orxonox
{
CreateFactory(LightningGun);
Modified: trunk/src/orxonox/objects/worldentities/Attacher.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Attacher.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Attacher.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,9 @@
#include "OrxonoxPrereqs.h"
#include <list>
-
+#include <string>
+#include "core/XMLNameListener.h"
#include "objects/worldentities/StaticEntity.h"
-#include "core/XMLNameListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Backlight.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Backlight.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Backlight.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,13 +30,13 @@
#include <OgreRibbonTrail.h>
#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
+#include "util/Exception.h"
+#include "core/CoreIncludes.h"
#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
-#include "core/Executor.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
-#include "util/Exception.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Backlight.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Backlight.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Backlight.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#define _Backlight_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include "interfaces/TimeFactorListener.h"
#include "FadingBillboard.h"
-#include "tools/TimeFactorListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/BigExplosion.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/BigExplosion.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/BigExplosion.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,21 +27,18 @@
*/
#include "BigExplosion.h"
-#include "MovableEntity.h"
-#include "Model.h"
-#include <OgreParticleSystem.h>
-#include <OgreSceneNode.h>
-#include <sstream>
+//#include <sstream>
-#include "core/GameMode.h"
+#include "util/Exception.h"
#include "core/CoreIncludes.h"
-#include "core/Executor.h"
#include "core/CommandExecutor.h"
-#include "objects/Scene.h"
+#include "core/Executor.h"
+#include "core/GameMode.h"
#include "tools/ParticleInterface.h"
+#include "objects/Scene.h"
#include "objects/worldentities/ParticleSpawner.h"
-#include "util/Exception.h"
+#include "Model.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/BigExplosion.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/BigExplosion.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/BigExplosion.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,11 +30,10 @@
#define _BigExplosion_H__
#include "OrxonoxPrereqs.h"
-#include <string>
-
-#include "MovableEntity.h"
+#include <string>
#include "tools/Timer.h"
+#include "MovableEntity.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Billboard.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Billboard.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Billboard.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,9 @@
#include "Billboard.h"
-#include <OgreBillboardSet.h>
-
#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
#include "core/GameMode.h"
+#include "core/XMLPort.h"
#include "objects/Scene.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/Billboard.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Billboard.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Billboard.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,14 +30,15 @@
#define _Billboard_H__
#include "OrxonoxPrereqs.h"
-#include "StaticEntity.h"
+
#include "util/Math.h"
#include "tools/BillboardSet.h"
-#include "objects/Teamcolourable.h"
+#include "interfaces/TeamColourable.h"
+#include "StaticEntity.h"
namespace orxonox
{
- class _OrxonoxExport Billboard : public StaticEntity, public Teamcolourable
+ class _OrxonoxExport Billboard : public StaticEntity, public TeamColourable
{
public:
Billboard(BaseObject* creator);
Modified: trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,9 @@
#include "BlinkingBillboard.h"
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "core/XMLPort.h"
-#include "util/Math.h"
namespace orxonox
{
@@ -79,9 +78,9 @@
{
this->time_ += dt;
if (this->bQuadratic_)
- this->setScale(this->amplitude_ * square(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_)));
+ this->setScale(this->amplitude_ * static_cast<float>(square(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_))));
else
- this->setScale(this->amplitude_ * sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_));
+ this->setScale(this->amplitude_ * static_cast<float>(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_)));
}
}
}
Modified: trunk/src/orxonox/objects/worldentities/BlinkingBillboard.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/BlinkingBillboard.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/BlinkingBillboard.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#define _BlinkingBillboard_H__
#include "OrxonoxPrereqs.h"
+
+#include "util/Math.h"
+#include "interfaces/Tickable.h"
#include "Billboard.h"
-#include "objects/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Camera.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Camera.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Camera.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,14 +28,12 @@
#include "Camera.h"
-#include <string>
-#include <cassert>
-
#include <OgreCamera.h>
#include <OgreSceneManager.h>
#include <OgreSceneNode.h>
#include "util/Exception.h"
+#include "util/String.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "objects/Scene.h"
Modified: trunk/src/orxonox/objects/worldentities/Camera.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Camera.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Camera.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
+#include "util/OgreForwardRefs.h"
+#include "interfaces/Tickable.h"
#include "objects/worldentities/StaticEntity.h"
-#include "objects/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/CameraPosition.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/CameraPosition.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/CameraPosition.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,6 @@
#include "CameraPosition.h"
-#include <OgreCamera.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "Camera.h"
Modified: trunk/src/orxonox/objects/worldentities/CameraPosition.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/CameraPosition.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/CameraPosition.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _CameraPosition_H__
#include "OrxonoxPrereqs.h"
-
#include "objects/worldentities/StaticEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ControllableEntity.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ControllableEntity.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,12 +29,12 @@
#include "ControllableEntity.h"
#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "core/GameMode.h"
#include "core/XMLPort.h"
-#include "core/Template.h"
#include "objects/Scene.h"
#include "objects/infos/PlayerInfo.h"
Modified: trunk/src/orxonox/objects/worldentities/ControllableEntity.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/ControllableEntity.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ControllableEntity.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,10 @@
#define _ControllableEntity_H__
#include "OrxonoxPrereqs.h"
+
+#include <list>
+#include <string>
+#include "util/Math.h"
#include "MobileEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,14 +28,12 @@
#include "ExplosionChunk.h"
-#include <OgreParticleSystem.h>
-
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
#include "core/Executor.h"
+#include "core/GameMode.h"
+#include "util/Exception.h"
#include "objects/Scene.h"
#include "tools/ParticleInterface.h"
-#include "util/Exception.h"
namespace orxonox
{
@@ -152,12 +150,12 @@
Vector3 change(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1));
change.normalise();
- change *= rnd(0.4, 0.8);
+ change *= rnd(0.4f, 0.8f);
Vector3 velocity = this->getVelocity();
velocity.normalise();
velocity += change;
velocity.normalise();
- velocity *= length * rnd(0.8, 1.0);
+ velocity *= length * rnd(0.8f, 1.0f);
this->setVelocity(velocity);
}
Modified: trunk/src/orxonox/objects/worldentities/ExplosionChunk.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/ExplosionChunk.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ExplosionChunk.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
#include "MovableEntity.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/FadingBillboard.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/FadingBillboard.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/FadingBillboard.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,7 +29,6 @@
#include "FadingBillboard.h"
#include "core/CoreIncludes.h"
-#include "core/Executor.h"
#include "core/XMLPort.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/FadingBillboard.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/FadingBillboard.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/FadingBillboard.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,9 +30,11 @@
#define _FadingBillboard_H__
#include "OrxonoxPrereqs.h"
+
+#include "util/Math.h"
+#include "tools/Timer.h"
+#include "interfaces/Tickable.h"
#include "Billboard.h"
-#include "objects/Tickable.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/ForceField.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ForceField.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ForceField.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,9 @@
*/
#include "ForceField.h"
-#include "core/XMLPort.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
#include "objects/worldentities/MobileEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/ForceField.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/ForceField.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ForceField.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#ifndef _ForceField_H__
#define _ForceField_H__
+#include "OrxonoxPrereqs.h"
+
+#include "interfaces/Tickable.h"
#include "StaticEntity.h"
-#include "objects/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Light.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Light.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Light.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,15 +28,14 @@
#include "Light.h"
-#include <sstream>
-#include <cassert>
-
#include <OgreSceneManager.h>
+#include <OgreLight.h>
+#include <boost/static_assert.hpp>
#include "util/String.h"
#include "util/Exception.h"
+#include "core/CoreIncludes.h"
#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
@@ -44,6 +43,11 @@
{
CreateFactory(Light);
+ // Be sure we don't do bad conversions
+ BOOST_STATIC_ASSERT((int)Ogre::Light::LT_POINT == (int)Light::LT_POINT);
+ BOOST_STATIC_ASSERT((int)Ogre::Light::LT_DIRECTIONAL == (int)Light::LT_DIRECTIONAL);
+ BOOST_STATIC_ASSERT((int)Ogre::Light::LT_SPOTLIGHT == (int)Light::LT_SPOTLIGHT);
+
Light::Light(BaseObject* creator) : StaticEntity(creator)
{
RegisterObject(Light);
@@ -51,7 +55,7 @@
this->light_ = 0;
this->diffuse_ = ColourValue::White;
this->specular_ = ColourValue::White;
- this->type_ = Ogre::Light::LT_POINT;
+ this->type_ = Light::LT_POINT;
this->attenuation_ = Vector4(100000, 1, 0, 0);
this->spotlightRange_ = Vector3(40.0f, 30.0f, 1.0f);
@@ -135,24 +139,24 @@
void Light::setTypeString(const std::string& type)
{
if (type == "point")
- this->setType(Ogre::Light::LT_POINT);
+ this->setType(Light::LT_POINT);
else if (type == "directional")
- this->setType(Ogre::Light::LT_DIRECTIONAL);
+ this->setType(Light::LT_DIRECTIONAL);
else if (type == "spotlight")
- this->setType(Ogre::Light::LT_SPOTLIGHT);
+ this->setType(Light::LT_SPOTLIGHT);
else
- this->setType(Ogre::Light::LT_POINT);
+ this->setType(Light::LT_POINT);
}
std::string Light::getTypeString() const
{
switch (this->type_)
{
- case Ogre::Light::LT_DIRECTIONAL:
+ case Light::LT_DIRECTIONAL:
return "directional";
- case Ogre::Light::LT_SPOTLIGHT:
+ case Light::LT_SPOTLIGHT:
return "spotlight";
- case Ogre::Light::LT_POINT:
+ case Light::LT_POINT:
default:
return "point";
}
@@ -162,7 +166,7 @@
{
if (this->light_)
{
- this->light_->setType(this->type_);
+ this->light_->setType(static_cast<Ogre::Light::LightTypes>(this->type_));
if (this->type_ != Ogre::Light::LT_DIRECTIONAL)
this->updateAttenuation();
Modified: trunk/src/orxonox/objects/worldentities/Light.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Light.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Light.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,19 +30,28 @@
#define _Light_H__
#include "OrxonoxPrereqs.h"
-#include "StaticEntity.h"
#include <string>
-#include <OgreLight.h>
-
#include "util/Math.h"
-#include "objects/Teamcolourable.h"
+#include "interfaces/TeamColourable.h"
+#include "StaticEntity.h"
namespace orxonox
{
- class _OrxonoxExport Light : public StaticEntity, public Teamcolourable
+ class _OrxonoxExport Light : public StaticEntity, public TeamColourable
{
public:
+ enum LightTypes // Copy from the Ogre enum
+ {
+ /// Point light sources give off light equally in all directions, so require only position not direction
+ LT_POINT,
+ /// Directional lights simulate parallel light beams from a distant source, hence have direction but no position
+ LT_DIRECTIONAL,
+ /// Spotlights simulate a cone of light from a source so require position and direction, plus extra values for falloff
+ LT_SPOTLIGHT
+ };
+
+ public:
Light(BaseObject* creator);
virtual ~Light();
@@ -54,9 +63,9 @@
inline Ogre::Light* getLight()
{ return this->light_; }
- inline void setType(Ogre::Light::LightTypes type)
+ inline void setType(Light::LightTypes type)
{ this->type_ = type; this->updateType(); }
- inline Ogre::Light::LightTypes getType() const
+ inline Light::LightTypes getType() const
{ return this->type_; }
inline void setDiffuseColour(const ColourValue& colour)
@@ -132,7 +141,7 @@
void updateSpotlightRange();
Ogre::Light* light_;
- Ogre::Light::LightTypes type_;
+ LightTypes type_;
ColourValue diffuse_;
ColourValue specular_;
Vector4 attenuation_;
Modified: trunk/src/orxonox/objects/worldentities/MobileEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/MobileEntity.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/MobileEntity.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,14 +29,10 @@
#include "MobileEntity.h"
#include <OgreSceneNode.h>
-#include "BulletDynamics/Dynamics/btRigidBody.h"
+#include <BulletDynamics/Dynamics/btRigidBody.h>
-#include "util/Debug.h"
-#include "util/MathConvert.h"
-#include "util/Exception.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "objects/Scene.h"
namespace orxonox
@@ -95,7 +91,7 @@
this->angularVelocity_.y += angularAcceleration_.y * dt;
this->angularVelocity_.z += angularAcceleration_.z * dt;
// Calculate new orientation with quaternion derivative. This is about 30% faster than with angle/axis method.
- float mult = dt * 0.5;
+ float mult = dt * 0.5f;
// TODO: this could be optimized by writing it out. The calls currently create 4 new Quaternions!
Quaternion newOrientation(0.0f, this->angularVelocity_.x * mult, this->angularVelocity_.y * mult, this->angularVelocity_.z * mult);
newOrientation = this->node_->getOrientation() + newOrientation * this->node_->getOrientation();
Modified: trunk/src/orxonox/objects/worldentities/MobileEntity.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/MobileEntity.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/MobileEntity.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
+#include "interfaces/Tickable.h"
#include "WorldEntity.h"
-#include "objects/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Model.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Model.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Model.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,11 +26,12 @@
*
*/
+#include "Model.h"
#include <OgreEntity.h>
-#include "Model.h"
+
+#include "core/CoreIncludes.h"
#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
Modified: trunk/src/orxonox/objects/worldentities/Model.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Model.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Model.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#define _Model_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include "tools/Mesh.h"
#include "StaticEntity.h"
-#include "tools/Mesh.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/MovableEntity.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/MovableEntity.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,9 +30,9 @@
#include "MovableEntity.h"
#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
#include "core/Executor.h"
#include "core/GameMode.h"
+#include "core/XMLPort.h"
#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/MovableEntity.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/MovableEntity.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/MovableEntity.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,9 +32,10 @@
#include "OrxonoxPrereqs.h"
-#include "MobileEntity.h"
+#include "util/Math.h"
#include "network/ClientConnectionListener.h"
#include "tools/Timer.h"
+#include "MobileEntity.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,13 +33,11 @@
#include "ParticleEmitter.h"
-#include <OgreParticleSystem.h>
-
-#include "tools/ParticleInterface.h"
#include "util/Exception.h"
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "core/XMLPort.h"
+#include "tools/ParticleInterface.h"
#include "objects/Scene.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/ParticleEmitter.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/ParticleEmitter.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ParticleEmitter.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,6 +30,8 @@
#define _ParticleEmitter_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
#include "StaticEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -74,7 +74,7 @@
{
SUPER(ParticleSpawner, processEvent, event);
- SetEvent(ParticleSpawner, "spawn", spawn, event);
+ ORXONOX_SET_EVENT(ParticleSpawner, "spawn", spawn, event);
}
void ParticleSpawner::configure(float lifetime, float startdelay, float destroydelay, bool autodestroy)
Modified: trunk/src/orxonox/objects/worldentities/ParticleSpawner.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/ParticleSpawner.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/ParticleSpawner.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
#include "ParticleEmitter.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/Planet.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/Planet.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Planet.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,19 +28,16 @@
#include "Planet.h"
-#include <math.h>
-
#include <OgreEntity.h>
#include <OgreBillboardSet.h>
-#include <OgreHardwareVertexBuffer.h>
-#include <OgreMeshManager.h>
+#include <OgreProgressiveMesh.h>
#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "core/XMLPort.h"
#include "objects/Scene.h"
+#include "Camera.h"
#include "CameraManager.h"
-#include "Camera.h"
-#include "GraphicsManager.h"
namespace orxonox
{
@@ -69,18 +66,21 @@
if(!this->isVisible())
return;
- Camera* activeCamera = CameraManager::getInstance().getActiveCamera();
- if(activeCamera)
+ if (GameMode::showsGraphics())
{
- float distance = this->getPosition().distance( activeCamera->getWorldPosition() );
- // COUT(2) << distance << std::endl;
- float planetRadius = this->getScale();
+ Camera* activeCamera = CameraManager::getInstance().getActiveCamera();
+ if(activeCamera)
+ {
+ float distance = this->getPosition().distance( activeCamera->getWorldPosition() );
+ // COUT(2) << distance << std::endl;
+ float planetRadius = this->getScale();
- float newScale = 2 * distance / sqrt(distance*distance - planetRadius*planetRadius);
- float tempTest = newScale*(1+float(this->atmosphereSize)/float(this->imageSize));
- newScale = tempTest;
+ float newScale = 2 * distance / sqrt(distance*distance - planetRadius*planetRadius);
+ float tempTest = newScale*(1+float(this->atmosphereSize)/float(this->imageSize));
+ newScale = tempTest;
- this->billboard_.getBillboardSet()->setDefaultDimensions(newScale, newScale);
+ this->billboard_.getBillboardSet()->setDefaultDimensions(newScale, newScale);
+ }
}
SUPER(Planet, tick, dt);
@@ -90,18 +90,18 @@
{
float scaleFactor = this->getScale();
- this->distList.push_back(10.0*scaleFactor);
- this->distList.push_back(19.0*scaleFactor);
- this->distList.push_back(27.0*scaleFactor);
- this->distList.push_back(34.0*scaleFactor);
- this->distList.push_back(40.0*scaleFactor);
- this->distList.push_back(45.0*scaleFactor);
- this->distList.push_back(49.0*scaleFactor);
- this->distList.push_back(52.0*scaleFactor);
- this->distList.push_back(54.0*scaleFactor);
- this->distList.push_back(55.0*scaleFactor);
+ this->distList.push_back(10.0f*scaleFactor);
+ this->distList.push_back(19.0f*scaleFactor);
+ this->distList.push_back(27.0f*scaleFactor);
+ this->distList.push_back(34.0f*scaleFactor);
+ this->distList.push_back(40.0f*scaleFactor);
+ this->distList.push_back(45.0f*scaleFactor);
+ this->distList.push_back(49.0f*scaleFactor);
+ this->distList.push_back(52.0f*scaleFactor);
+ this->distList.push_back(54.0f*scaleFactor);
+ this->distList.push_back(55.0f*scaleFactor);
- float reductionValue = 0.2;
+ float reductionValue = 0.2f;
this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, reductionValue);
billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->atmosphere_, Vector3(0,0,0));
@@ -144,11 +144,14 @@
{
SUPER(Planet, XMLPort, xmlelement, mode);
- XMLPortParam(Planet, "atmosphere", setAtmosphere, getAtmosphere, xmlelement, mode).defaultValues("planet/Atmosphere");
- XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode);
- XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode);
- XMLPortParam(Planet, "mesh", setMeshSource, getMeshSource, xmlelement, mode);
- XMLPortParam(Planet, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true);
+ if (GameMode::showsGraphics())
+ {
+ XMLPortParam(Planet, "atmosphere", setAtmosphere, getAtmosphere, xmlelement, mode).defaultValues("planet/Atmosphere");
+ XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode);
+ XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode);
+ XMLPortParam(Planet, "mesh", setMeshSource, getMeshSource, xmlelement, mode);
+ XMLPortParam(Planet, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true);
+ }
}
void Planet::registerVariables()
Modified: trunk/src/orxonox/objects/worldentities/Planet.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/Planet.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/Planet.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,12 +31,10 @@
#include "OrxonoxPrereqs.h"
-#include <OgreMesh.h>
-
+#include <string>
#include "tools/BillboardSet.h"
#include "tools/Mesh.h"
#include "MovableEntity.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -107,7 +105,7 @@
Mesh mesh_;
float atmosphereSize;
float imageSize;
- Ogre::Mesh::LodDistanceList distList;
+ std::vector<float> distList;
BillboardSet billboard_;
bool bCastShadows_;
Modified: trunk/src/orxonox/objects/worldentities/PongBall.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/PongBall.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/PongBall.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "core/CoreIncludes.h"
#include "core/GameMode.h"
#include "objects/gametypes/Gametype.h"
+#include "objects/worldentities/PongBat.h"
#include "sound/SoundBase.h"
namespace orxonox
@@ -48,7 +49,7 @@
this->batID_ = new unsigned int[2];
this->batID_[0] = OBJECTID_UNKNOWN;
this->batID_[1] = OBJECTID_UNKNOWN;
- this->relMercyOffset_ = 0.05;
+ this->relMercyOffset_ = 0.05f;
this->registerVariables();
@@ -101,7 +102,7 @@
{
if (position.x > this->fieldWidth_ / 2 && this->bat_[1])
{
- distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10) / 2);
+ distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2);
if (fabs(distance) <= 1)
{
position.x = this->fieldWidth_ / 2;
@@ -121,7 +122,7 @@
}
if (position.x < -this->fieldWidth_ / 2 && this->bat_[0])
{
- distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10) / 2);
+ distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2);
if (fabs(distance) <= 1)
{
position.x = -this->fieldWidth_ / 2;
@@ -171,7 +172,7 @@
{
if (position.x > this->fieldWidth_ / 2 && this->bat_[1])
{
- distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10) / 2);
+ distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2);
if (fabs(distance) <= 1)
{
position.x = this->fieldWidth_ / 2;
@@ -182,7 +183,7 @@
}
if (position.x < -this->fieldWidth_ / 2 && this->bat_[0])
{
- distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10) / 2);
+ distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2);
if (fabs(distance) <= 1)
{
position.x = -this->fieldWidth_ / 2;
@@ -216,4 +217,21 @@
this->setVelocity(velocity);
}
}
+
+ void PongBall::setBats(PongBat** bats)
+ {
+ this->bat_ = bats;
+ this->batID_[0] = this->bat_[0]->getObjectID();
+ this->batID_[1] = this->bat_[1]->getObjectID();
+ }
+
+ void PongBall::applyBats()
+ {
+ if (!this->bat_)
+ this->bat_ = new PongBat*[2];
+ if (this->batID_[0] != OBJECTID_UNKNOWN)
+ this->bat_[0] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[0]));
+ if (this->batID_[1] != OBJECTID_UNKNOWN)
+ this->bat_[1] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[1]));
+ }
}
Modified: trunk/src/orxonox/objects/worldentities/PongBall.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/PongBall.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/PongBall.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
#include "objects/worldentities/MovableEntity.h"
-#include "objects/worldentities/PongBat.h"
namespace orxonox
{
@@ -62,12 +62,9 @@
float getBatLength() const
{ return this->batlength_; }
- void setBats(PongBat** bats)
- { this->bat_ = bats; this->batID_[0] = this->bat_[0]->getObjectID(); this->batID_[1] = this->bat_[1]->getObjectID(); }
+ void setBats(PongBat** bats);
+ void applyBats();
- void applyBats()
- { if(!this->bat_) this->bat_ = new PongBat*[2]; if(this->batID_[0] != OBJECTID_UNKNOWN) this->bat_[0] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[0])); if(this->batID_[1] != OBJECTID_UNKNOWN) this->bat_[1] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[1])); }
-
static const float MAX_REL_Z_VELOCITY;
private:
Modified: trunk/src/orxonox/objects/worldentities/PongBat.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/PongBat.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/PongBat.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _PongBat_H__
#include "OrxonoxPrereqs.h"
-
#include "objects/worldentities/ControllableEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/PongCenterpoint.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/PongCenterpoint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/PongCenterpoint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include <string>
+#include <util/Math.h>
#include "objects/worldentities/StaticEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/SpawnPoint.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/SpawnPoint.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/SpawnPoint.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,8 +29,10 @@
#include "SpawnPoint.h"
#include "core/CoreIncludes.h"
+#include "core/Template.h"
#include "core/XMLPort.h"
#include "objects/gametypes/Gametype.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
@@ -70,6 +72,12 @@
this->template_ = Template::getTemplate(name);
}
+ void SpawnPoint::setTemplate(Template* temp)
+ {
+ this->template_ = temp;
+ this->templatename_ = temp->getName();
+ }
+
Pawn* SpawnPoint::spawn()
{
Pawn* entity = this->spawnclass_.fabricate(this);
Modified: trunk/src/orxonox/objects/worldentities/SpawnPoint.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/SpawnPoint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/SpawnPoint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "core/Identifier.h"
-#include "core/Template.h"
-#include "objects/worldentities/pawns/Pawn.h"
#include "objects/worldentities/StaticEntity.h"
namespace orxonox
@@ -51,8 +50,7 @@
inline Identifier* getSpawnClass() const
{ return this->spawnclass_; }
- inline void setTemplate(Template* temp)
- { this->template_ = temp; this->templatename_ = temp->getName(); }
+ void setTemplate(Template* temp);
inline Template* getTemplate() const
{ return this->template_; }
Modified: trunk/src/orxonox/objects/worldentities/StaticEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/StaticEntity.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/StaticEntity.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,9 +30,8 @@
#include "StaticEntity.h"
#include <OgreSceneNode.h>
-#include "BulletDynamics/Dynamics/btRigidBody.h"
-
-#include "util/Exception.h"
+#include <BulletDynamics/Dynamics/btRigidBody.h>
+#include "util/OrxAssert.h"
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/TeamSpawnPoint.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/TeamSpawnPoint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/TeamSpawnPoint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include "objects/worldentities/pawns/Pawn.h"
#include "SpawnPoint.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/WorldEntity.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/WorldEntity.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/WorldEntity.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,16 +29,20 @@
#include "WorldEntity.h"
-#include <cassert>
+#include <OgreBillboardSet.h>
+#include <OgreCamera.h>
+#include <OgreEntity.h>
+#include <OgreParticleSystem.h>
+#include <OgreSceneManager.h>
#include <OgreSceneNode.h>
-#include <OgreSceneManager.h>
-#include "BulletDynamics/Dynamics/btRigidBody.h"
+#include <BulletDynamics/Dynamics/btRigidBody.h>
+#include <boost/static_assert.hpp>
+#include "util/OrxAssert.h"
+#include "util/Convert.h"
#include "util/Exception.h"
-#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "objects/Scene.h"
#include "objects/collisionshapes/WorldEntityCollisionShape.h"
@@ -51,6 +55,11 @@
const Vector3 WorldEntity::DOWN = Vector3::NEGATIVE_UNIT_Y;
const Vector3 WorldEntity::UP = Vector3::UNIT_Y;
+ // Be sure we don't do bad conversions
+ BOOST_STATIC_ASSERT((int)Ogre::Node::TS_LOCAL == (int)WorldEntity::Local);
+ BOOST_STATIC_ASSERT((int)Ogre::Node::TS_PARENT == (int)WorldEntity::Parent);
+ BOOST_STATIC_ASSERT((int)Ogre::Node::TS_WORLD == (int)WorldEntity::World);
+
/**
@brief
Creates a new WorldEntity that may immediately be used.
@@ -462,15 +471,27 @@
//! Attaches an Ogre::MovableObject to this WorldEntity.
void WorldEntity::attachOgreObject(Ogre::MovableObject* object)
- {
- this->node_->attachObject(object);
- }
+ { this->node_->attachObject(object); }
+ void WorldEntity::attachOgreObject(Ogre::BillboardSet* object)
+ { this->node_->attachObject(object); }
+ void WorldEntity::attachOgreObject(Ogre::Camera* object)
+ { this->node_->attachObject(object); }
+ void WorldEntity::attachOgreObject(Ogre::Entity* object)
+ { this->node_->attachObject(object); }
+ void WorldEntity::attachOgreObject(Ogre::ParticleSystem* object)
+ { this->node_->attachObject(object); }
//! Detaches an Ogre::MovableObject from this WorldEntity.
void WorldEntity::detachOgreObject(Ogre::MovableObject* object)
- {
- this->node_->detachObject(object);
- }
+ { this->node_->detachObject(object); }
+ void WorldEntity::detachOgreObject(Ogre::BillboardSet* object)
+ { this->node_->detachObject(object); }
+ void WorldEntity::detachOgreObject(Ogre::Camera* object)
+ { this->node_->detachObject(object); }
+ void WorldEntity::detachOgreObject(Ogre::Entity* object)
+ { this->node_->detachObject(object); }
+ void WorldEntity::detachOgreObject(Ogre::ParticleSystem* object)
+ { this->node_->detachObject(object); }
//! Detaches an Ogre::MovableObject (by string) from this WorldEntity.
Ogre::MovableObject* WorldEntity::detachOgreObject(const Ogre::String& name)
@@ -500,7 +521,7 @@
}
// Note: These functions are placed in WorldEntity.h as inline functions for the release build.
-#ifndef NDEBUG
+#ifndef ORXONOX_RELEASE
const Vector3& WorldEntity::getPosition() const
{
return this->node_->getPosition();
@@ -573,20 +594,20 @@
@brief
Translates this WorldEntity by a vector.
@param relativeTo
- @see TransformSpace::Enum
+ @see WorldEntity::TransformSpace
*/
- void WorldEntity::translate(const Vector3& distance, TransformSpace::Enum relativeTo)
+ void WorldEntity::translate(const Vector3& distance, TransformSpace relativeTo)
{
switch (relativeTo)
{
- case TransformSpace::Local:
+ case WorldEntity::Local:
// position is relative to parent so transform downwards
this->setPosition(this->getPosition() + this->getOrientation() * distance);
break;
- case TransformSpace::Parent:
+ case WorldEntity::Parent:
this->setPosition(this->getPosition() + distance);
break;
- case TransformSpace::World:
+ case WorldEntity::World:
// position is relative to parent so transform upwards
if (this->node_->getParent())
setPosition(getPosition() + (node_->getParent()->_getDerivedOrientation().Inverse() * distance)
@@ -601,20 +622,20 @@
@brief
Rotates this WorldEntity by a quaternion.
@param relativeTo
- @see TransformSpace::Enum
+ @see WorldEntity::TransformSpace
*/
- void WorldEntity::rotate(const Quaternion& rotation, TransformSpace::Enum relativeTo)
+ void WorldEntity::rotate(const Quaternion& rotation, TransformSpace relativeTo)
{
switch(relativeTo)
{
- case TransformSpace::Local:
+ case WorldEntity::Local:
this->setOrientation(this->getOrientation() * rotation);
break;
- case TransformSpace::Parent:
+ case WorldEntity::Parent:
// Rotations are normally relative to local axes, transform up
this->setOrientation(rotation * this->getOrientation());
break;
- case TransformSpace::World:
+ case WorldEntity::World:
// Rotations are normally relative to local axes, transform up
this->setOrientation(this->getOrientation() * this->getWorldOrientation().Inverse()
* rotation * this->getWorldOrientation());
@@ -626,22 +647,22 @@
@brief
Makes this WorldEntity look a specific target location.
@param relativeTo
- @see TransformSpace::Enum
+ @see WorldEntity::TransformSpace
@param localDirectionVector
The vector which normally describes the natural direction of the object, usually -Z.
*/
- void WorldEntity::lookAt(const Vector3& target, TransformSpace::Enum relativeTo, const Vector3& localDirectionVector)
+ void WorldEntity::lookAt(const Vector3& target, TransformSpace relativeTo, const Vector3& localDirectionVector)
{
- Vector3 origin;
+ Vector3 origin(0, 0, 0);
switch (relativeTo)
{
- case TransformSpace::Local:
+ case WorldEntity::Local:
origin = Vector3::ZERO;
break;
- case TransformSpace::Parent:
+ case WorldEntity::Parent:
origin = this->getPosition();
break;
- case TransformSpace::World:
+ case WorldEntity::World:
origin = this->getWorldPosition();
break;
}
@@ -652,25 +673,14 @@
@brief
Makes this WorldEntity look in specific direction.
@param relativeTo
- @see TransformSpace::Enum
+ @see WorldEntity::TransformSpace
@param localDirectionVector
The vector which normally describes the natural direction of the object, usually -Z.
*/
- void WorldEntity::setDirection(const Vector3& direction, TransformSpace::Enum relativeTo, const Vector3& localDirectionVector)
+ void WorldEntity::setDirection(const Vector3& direction, TransformSpace relativeTo, const Vector3& localDirectionVector)
{
Quaternion savedOrientation(this->getOrientation());
- Ogre::Node::TransformSpace ogreRelativeTo;
- switch (relativeTo)
- {
- case TransformSpace::Local:
- ogreRelativeTo = Ogre::Node::TS_LOCAL; break;
- case TransformSpace::Parent:
- ogreRelativeTo = Ogre::Node::TS_PARENT; break;
- case TransformSpace::World:
- ogreRelativeTo = Ogre::Node::TS_WORLD; break;
- default: OrxAssert(false, "Faulty TransformSpace::Enum assigned.");
- }
- this->node_->setDirection(direction, ogreRelativeTo, localDirectionVector);
+ this->node_->setDirection(direction, static_cast<Ogre::Node::TransformSpace>(relativeTo), localDirectionVector);
Quaternion newOrientation(this->node_->getOrientation());
this->node_->setOrientation(savedOrientation);
this->setOrientation(newOrientation);
@@ -771,10 +781,10 @@
this->physicalBody_->setCollisionFlags(this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT & !btCollisionObject::CF_KINEMATIC_OBJECT);
break;
case Kinematic:
- this->physicalBody_->setCollisionFlags(this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT | btCollisionObject::CF_KINEMATIC_OBJECT);
+ this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT) | btCollisionObject::CF_KINEMATIC_OBJECT);
break;
case Static:
- this->physicalBody_->setCollisionFlags(this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT | btCollisionObject::CF_STATIC_OBJECT);
+ this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT) | btCollisionObject::CF_STATIC_OBJECT);
break;
case None:
assert(false); // Doesn't happen
Modified: trunk/src/orxonox/objects/worldentities/WorldEntity.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/WorldEntity.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/WorldEntity.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,14 +32,13 @@
#include "OrxonoxPrereqs.h"
-#ifdef NDEBUG
-#include <OgreSceneNode.h>
-#else
-#include <OgrePrerequisites.h>
+#ifdef ORXONOX_RELEASE
+# include <OgreSceneNode.h>
#endif
-#include "LinearMath/btMotionState.h"
+#include <LinearMath/btMotionState.h>
#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
#include "core/BaseObject.h"
#include "network/synchronisable/Synchronisable.h"
@@ -74,6 +73,22 @@
friend class Scene;
public:
+ // Define our own transform space enum to avoid Ogre includes here
+ /**
+ @brief
+ Enumeration denoting the spaces which a transform can be relative to.
+ */
+ enum TransformSpace
+ {
+ //! Transform is relative to the local space
+ Local,
+ //! Transform is relative to the space of the parent node
+ Parent,
+ //! Transform is relative to world space
+ World
+ };
+
+ public:
WorldEntity(BaseObject* creator);
virtual ~WorldEntity();
@@ -96,8 +111,8 @@
const Vector3& getPosition() const;
const Vector3& getWorldPosition() const;
- void translate(const Vector3& distance, TransformSpace::Enum relativeTo = TransformSpace::Parent);
- inline void translate(float x, float y, float z, TransformSpace::Enum relativeTo = TransformSpace::Parent)
+ void translate(const Vector3& distance, TransformSpace relativeTo = WorldEntity::Parent);
+ inline void translate(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Parent)
{ this->translate(Vector3(x, y, z), relativeTo); }
virtual inline const Vector3& getVelocity() const
@@ -113,20 +128,20 @@
const Quaternion& getOrientation() const;
const Quaternion& getWorldOrientation() const;
- void rotate(const Quaternion& rotation, TransformSpace::Enum relativeTo = TransformSpace::Local);
- inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
+ void rotate(const Quaternion& rotation, TransformSpace relativeTo = WorldEntity::Local);
+ inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
{ this->rotate(Quaternion(angle, axis), relativeTo); }
- inline void yaw(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
+ inline void yaw(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); }
- inline void pitch(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
+ inline void pitch(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); }
- inline void roll(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
+ inline void roll(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); }
- void lookAt(const Vector3& target, TransformSpace::Enum relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
- void setDirection(const Vector3& direction, TransformSpace::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
- inline void setDirection(float x, float y, float z, TransformSpace::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
+ void lookAt(const Vector3& target, TransformSpace relativeTo = WorldEntity::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+ void setDirection(const Vector3& direction, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+ inline void setDirection(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
{ this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); }
virtual void setScale3D(const Vector3& scale);
@@ -156,8 +171,18 @@
inline const std::set<WorldEntity*>& getAttachedObjects() const
{ return this->children_; }
- void attachOgreObject(Ogre::MovableObject* object);
- void detachOgreObject(Ogre::MovableObject* object);
+ void attachOgreObject(Ogre::MovableObject* object);
+ void attachOgreObject(Ogre::BillboardSet* object);
+ void attachOgreObject(Ogre::Camera* object);
+ void attachOgreObject(Ogre::Entity* object);
+ void attachOgreObject(Ogre::ParticleSystem* object);
+
+ void detachOgreObject(Ogre::MovableObject* object);
+ void detachOgreObject(Ogre::BillboardSet* object);
+ void detachOgreObject(Ogre::Camera* object);
+ void detachOgreObject(Ogre::Entity* object);
+ void detachOgreObject(Ogre::ParticleSystem* object);
+
Ogre::MovableObject* detachOgreObject(const Ogre::String& name);
inline void attachToParent(WorldEntity* parent)
@@ -426,7 +451,7 @@
};
// Inline heavily used functions for release builds. In debug, we better avoid including OgreSceneNode here.
-#ifdef NDEBUG
+#ifdef ORXONOX_RELEASE
inline const Vector3& WorldEntity::getPosition() const
{ return this->node_->getPosition(); }
inline const Quaternion& WorldEntity::getOrientation() const
Modified: trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,23 +28,23 @@
#include "Pawn.h"
-#include "core/GameMode.h"
#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "core/XMLPort.h"
-#include "util/Math.h"
+#include "network/NetworkFunction.h"
+
+#include "interfaces/PawnListener.h"
#include "PawnManager.h"
#include "objects/infos/PlayerInfo.h"
#include "objects/gametypes/Gametype.h"
#include "objects/worldentities/ParticleSpawner.h"
#include "objects/worldentities/ExplosionChunk.h"
#include "objects/worldentities/BigExplosion.h"
-
#include "objects/weaponsystem/WeaponSystem.h"
#include "objects/weaponsystem/WeaponSlot.h"
#include "objects/weaponsystem/WeaponPack.h"
#include "objects/weaponsystem/WeaponSet.h"
-#include "network/NetworkFunction.h"
namespace orxonox
{
@@ -372,13 +372,4 @@
ControllableEntity::startLocalHumanControl();
this->isHumanShip_ = true;
}
-
-
- ///////////////////
- // Pawn Listener //
- ///////////////////
- PawnListener::PawnListener()
- {
- RegisterRootObject(PawnListener);
- }
}
Modified: trunk/src/orxonox/objects/worldentities/pawns/Pawn.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Pawn.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/Pawn.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,8 +30,10 @@
#define _Pawn_H__
#include "OrxonoxPrereqs.h"
+
+#include <string>
+#include "interfaces/RadarViewable.h"
#include "objects/worldentities/ControllableEntity.h"
-#include "objects/RadarViewable.h"
#include "objects/pickup/PickupCollection.h"
namespace orxonox
@@ -146,15 +148,6 @@
inline void setWeaponSystem(WeaponSystem* weaponsystem)
{ this->weaponSystem_ = weaponsystem; }
};
-
- class _OrxonoxExport PawnListener : virtual public OrxonoxClass
- {
- public:
- PawnListener();
- virtual ~PawnListener() {}
-
- virtual void destroyedPawn(Pawn* pawn) = 0;
- };
}
#endif /* _Pawn_H__ */
Modified: trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,8 @@
#include "SpaceShip.h"
-#include "BulletDynamics/Dynamics/btRigidBody.h"
+#include <BulletDynamics/Dynamics/btRigidBody.h>
-#include "util/Math.h"
-#include "util/Exception.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "core/Template.h"
Modified: trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,9 @@
#include "OrxonoxPrereqs.h"
-#include "LinearMath/btVector3.h"
-
+#include <string>
+#include <LinearMath/btVector3.h>
+#include "util/Math.h"
#include "Pawn.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,19 +28,13 @@
#include "Spectator.h"
-#include <OgreBillboardSet.h>
-
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "core/GameMode.h"
-#include "objects/worldentities/Model.h"
+
+#include "tools/BillboardSet.h"
#include "objects/Scene.h"
#include "objects/infos/PlayerInfo.h"
-#include "objects/gametypes/Gametype.h"
-#include "tools/BillboardSet.h"
-#include "overlays/OverlayText.h"
-#include "overlays/OverlayGroup.h"
-#include "util/Convert.h"
namespace orxonox
{
@@ -64,7 +58,7 @@
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);
+ this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0f, 1.0f, 0.8f), Vector3(0, 20, 0), 1);
if (this->greetingFlare_->getBillboardSet())
this->attachOgreObject(this->greetingFlare_->getBillboardSet());
this->greetingFlare_->setVisible(false);
Modified: trunk/src/orxonox/objects/worldentities/pawns/Spectator.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/Spectator.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/Spectator.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,6 +31,7 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
#include "objects/worldentities/ControllableEntity.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,9 +28,11 @@
#include "TeamBaseMatchBase.h"
+
#include "core/CoreIncludes.h"
+#include "interfaces/PawnListener.h"
+#include "interfaces/TeamColourable.h"
#include "objects/gametypes/TeamBaseMatch.h"
-#include "objects/Teamcolourable.h"
namespace orxonox
{
@@ -79,9 +81,9 @@
std::set<WorldEntity*> attachments = this->getAttachedObjects();
for (std::set<WorldEntity*>::iterator it = attachments.begin(); it != attachments.end(); ++it)
{
- if ((*it)->isA(Class(Teamcolourable)))
+ if ((*it)->isA(Class(TeamColourable)))
{
- Teamcolourable* tc = dynamic_cast<Teamcolourable*>(*it);
+ TeamColourable* tc = dynamic_cast<TeamColourable*>(*it);
tc->setTeamColour(colour);
}
}
Modified: trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,12 +29,12 @@
#ifndef _TeamBaseMatchBase_H__
#define _TeamBaseMatchBase_H__
+#include "OrxonoxPrereqs.h"
+
#include "Pawn.h"
namespace orxonox
{
-
-
namespace BaseState
{
enum Enum
Modified: trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,9 +30,8 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "objects/gametypes/Asteroids.h"
-#include "orxonox/objects/worldentities/pawns/Pawn.h"
+#include "objects/worldentities/pawns/Pawn.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,8 +34,10 @@
#ifndef _CheckPoint_H__
#define _CheckPoint_H__
+#include "OrxonoxPrereqs.h"
+
+#include "interfaces/RadarViewable.h"
#include "DistanceTrigger.h"
-#include "objects/RadarViewable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,8 @@
#include "DistanceTrigger.h"
-#include <OgreNode.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
#include "orxonox/objects/worldentities/pawns/Pawn.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,15 +29,12 @@
#ifndef _DistanceTrigger_H__
#define _DistanceTrigger_H__
-#include "PlayerTrigger.h"
+#include "OrxonoxPrereqs.h"
#include <set>
-
#include "core/ClassTreeMask.h"
-#include "core/BaseObject.h"
+#include "PlayerTrigger.h"
-#include "orxonox/objects/worldentities/ControllableEntity.h"
-
namespace orxonox
{
class _OrxonoxExport DistanceTrigger : public PlayerTrigger
Modified: trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -50,7 +50,7 @@
{
SUPER(EventTrigger, processEvent, event);
- SetEvent(EventTrigger, "trigger", trigger, event);
+ ORXONOX_SET_EVENT(EventTrigger, "trigger", trigger, event);
}
bool EventTrigger::isTriggered(TriggerMode mode)
Modified: trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,11 +29,9 @@
#ifndef _EventTrigger_H__
#define _EventTrigger_H__
+#include "OrxonoxPrereqs.h"
#include "Trigger.h"
-#include "core/ClassTreeMask.h"
-#include "core/BaseObject.h"
-
namespace orxonox
{
class _OrxonoxExport EventTrigger : public Trigger
Modified: trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,7 +33,6 @@
*/
#include "PlayerTrigger.h"
-
#include "core/CoreIncludes.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,7 +36,6 @@
#define _PlayerTrigger_H__
#include "OrxonoxPrereqs.h"
-
#include "Trigger.h"
namespace orxonox
Modified: trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,13 +28,10 @@
#include "Trigger.h"
-#include <OgreBillboard.h>
-#include <OgreBillboardSet.h>
-#include "util/Debug.h"
#include "core/CoreIncludes.h"
#include "core/ConsoleCommand.h"
-#include "core/XMLPort.h"
#include "core/GameMode.h"
+#include "core/XMLPort.h"
#include "objects/Scene.h"
namespace orxonox
@@ -236,7 +233,7 @@
bool Trigger::switchState()
{
if (( (this->latestState_ & 2) && this->bStayActive_ && (this->remainingActivations_ <= 0))
- || (!(this->latestState_ & 2)) && (this->remainingActivations_ == 0))
+ || (!(this->latestState_ & 2) && (this->remainingActivations_ == 0)))
return false;
else
{
Modified: trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
===================================================================
--- trunk/src/orxonox/objects/worldentities/triggers/Trigger.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/objects/worldentities/triggers/Trigger.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,14 +29,14 @@
#ifndef _Trigger_H__
#define _Trigger_H__
+#include "OrxonoxPrereqs.h"
+
#include <set>
#include <queue>
-#include "OrxonoxPrereqs.h"
-
-#include "objects/Tickable.h"
+#include "tools/BillboardSet.h"
+#include "interfaces/Tickable.h"
#include "objects/worldentities/StaticEntity.h"
-#include "tools/BillboardSet.h"
namespace orxonox
{
Deleted: trunk/src/orxonox/orxonox.vcproj.user
===================================================================
--- trunk/src/orxonox/orxonox.vcproj.user 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/orxonox.vcproj.user 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioUserFile
- ProjectType="Visual C++"
- Version="${VISUAL_STUDIO_VERSION_SIMPLE}.00"
- ShowAllFiles="false"
- >
- <Configurations>
- <Configuration
- Name="Debug|${MSVC_PLATFORM}"
- >
- <DebugSettings
- WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
- Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="Release|${MSVC_PLATFORM}"
- >
- <DebugSettings
- WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
- Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="MinSizeRel|${MSVC_PLATFORM}"
- >
- <DebugSettings
- WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
- Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="RelWithDebInfo|${MSVC_PLATFORM}"
- >
- <DebugSettings
- WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
- Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
- EnvironmentMerge="true"
- />
- </Configuration>
- </Configurations>
-</VisualStudioUserFile>
Copied: trunk/src/orxonox/orxonox.vcproj.user.in (from rev 3195, branches/pch/src/orxonox/orxonox.vcproj.user.in)
===================================================================
--- trunk/src/orxonox/orxonox.vcproj.user.in (rev 0)
+++ trunk/src/orxonox/orxonox.vcproj.user.in 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="${VISUAL_STUDIO_VERSION_SIMPLE}.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Debug|${MSVC_PLATFORM}"
+ >
+ <DebugSettings
+ WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
+ Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
+ EnvironmentMerge="true"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|${MSVC_PLATFORM}"
+ >
+ <DebugSettings
+ WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
+ Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
+ EnvironmentMerge="true"
+ />
+ </Configuration>
+ <Configuration
+ Name="MinSizeRel|${MSVC_PLATFORM}"
+ >
+ <DebugSettings
+ WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
+ Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
+ EnvironmentMerge="true"
+ />
+ </Configuration>
+ <Configuration
+ Name="RelWithDebInfo|${MSVC_PLATFORM}"
+ >
+ <DebugSettings
+ WorkingDirectory="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$(OutDir)"
+ Environment="Path=${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}"
+ EnvironmentMerge="true"
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
Modified: trunk/src/orxonox/overlays/FadeoutText.cc
===================================================================
--- trunk/src/orxonox/overlays/FadeoutText.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/FadeoutText.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,7 +29,7 @@
#include "FadeoutText.h"
#include <OgreTextAreaOverlayElement.h>
-
+#include "util/Math.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
Modified: trunk/src/orxonox/overlays/FadeoutText.h
===================================================================
--- trunk/src/orxonox/overlays/FadeoutText.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/FadeoutText.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/GUIOverlay.cc
===================================================================
--- trunk/src/orxonox/overlays/GUIOverlay.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/GUIOverlay.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,12 +27,15 @@
*/
#include "GUIOverlay.h"
+
#include <string>
#include <sstream>
+
#include "core/input/InputManager.h"
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "gui/GUIManager.h"
-#include "../gui/GUIManager.h"
-
namespace orxonox
{
CreateFactory(GUIOverlay);
@@ -52,7 +55,7 @@
XMLPortParam(GUIOverlay, "guiname", setGUIName, getGUIName, xmlElement, mode);
- GUIManager::getInstancePtr()->registerOverlay(this->guiName_, this);
+ GUIManager::getInstance().registerOverlay(this->guiName_, this);
}
void GUIOverlay::changedVisibility()
@@ -65,14 +68,14 @@
std::stringstream out;
out << (long)this;
str = out.str();
- GUIManager::getInstancePtr()->executeCode("showCursor()");
+ GUIManager::getInstance().executeCode("showCursor()");
InputManager::getInstance().requestEnterState("guiMouseOnly");
- GUIManager::getInstancePtr()->executeCode("showGUI(\"" + this->guiName_ + "\", " + str + ")");
+ GUIManager::getInstance().executeCode("showGUI(\"" + this->guiName_ + "\", " + str + ")");
}
else
{
- GUIManager::getInstancePtr()->executeCode("hideGUI(\"" + this->guiName_ + "\")");
- GUIManager::getInstancePtr()->executeCode("hideCursor()");
+ GUIManager::getInstance().executeCode("hideGUI(\"" + this->guiName_ + "\")");
+ GUIManager::getInstance().executeCode("hideCursor()");
InputManager::getInstance().requestLeaveState("guiMouseOnly");
}
}
Modified: trunk/src/orxonox/overlays/GUIOverlay.h
===================================================================
--- trunk/src/orxonox/overlays/GUIOverlay.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/GUIOverlay.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,14 +29,11 @@
#ifndef _GUIOverlay_H__
#define _GUIOverlay_H__
+#include "OrxonoxPrereqs.h"
+#include <string>
#include "OrxonoxOverlay.h"
-#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-
-#include "core/XMLPort.h"
-
namespace orxonox
{
class _OrxonoxExport GUIOverlay : public OrxonoxOverlay
Modified: trunk/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- trunk/src/orxonox/overlays/OrxonoxOverlay.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OrxonoxOverlay.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -214,11 +214,11 @@
float angle = this->angle_.valueDegrees();
if (angle < 0.0)
angle = -angle;
- angle -= 180.0 * (int)(angle / 180.0);
+ angle -= 180.0f * (int)(angle / 180.0);
// take the reverse if angle is about 90 degrees
float tempAspect;
- if (angle > 89.0 && angle < 91.0)
+ if (angle > 89.0f && angle < 91.0f)
{
tempAspect = 1.0 / this->windowAspectRatio_;
rotState_ = Vertical;
@@ -230,14 +230,14 @@
}
else
{
- tempAspect = 1.0;
+ tempAspect = 1.0f;
rotState_ = Inbetween;
}
// note: this is only an approximation that is mostly valid when the
// magnitude of the width is about the magnitude of the height.
// Correctly we would have to take the square root of width*height
- this->sizeCorrection_.x = 2.0 / (tempAspect + 1.0);
+ this->sizeCorrection_.x = 2.0f / (tempAspect + 1.0f);
this->sizeCorrection_.y = tempAspect * this->sizeCorrection_.x;
}
else
Modified: trunk/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- trunk/src/orxonox/overlays/OrxonoxOverlay.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OrxonoxOverlay.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,10 +36,12 @@
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include "tools/WindowEventListener.h"
+#include <string>
+
#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
#include "core/BaseObject.h"
+#include "interfaces/WindowEventListener.h"
namespace orxonox
{
@@ -133,10 +135,10 @@
void setSize(const Vector2& size) { this->size_ = size; this->sizeChanged(); }
//! Gets the current size that was set (uncorrected)
- const Vector2& getSize() const { return this->size_; }
+ const Vector2& getSize() const { return this->size_; }
//! Gets the actual size of the overlay on the screen (corrected)
- Vector2 getActualSize() const { return this->size_ * this->sizeCorrection_; }
+ Vector2 getActualSize() const { return this->size_ * this->sizeCorrection_; }
//! Gets the current size correction (default: 1.0, 1.0)
const Vector2& getSizeCorrection() const { return this->sizeCorrection_; }
@@ -197,7 +199,7 @@
Vector2 position_; //!< Position of the pickPoint on the screen.
Vector2 pickPoint_; //!< Point on the overlay to pick when translating
Degree angle_; //!< Rotation angle of the overlay
- RotationState rotState_; //!< horizontal, vertical or inbetween
+ RotationState rotState_; //!< horizontal, vertical or inbetween
private:
void windowResized(unsigned int newWidth, unsigned int newHeight);
Modified: trunk/src/orxonox/overlays/OverlayGroup.cc
===================================================================
--- trunk/src/orxonox/overlays/OverlayGroup.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OverlayGroup.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,10 +33,8 @@
#include "OverlayGroup.h"
-#include "util/Debug.h"
#include "core/ConsoleCommand.h"
#include "core/CoreIncludes.h"
-#include "core/Iterator.h"
#include "core/XMLPort.h"
#include "OrxonoxOverlay.h"
Modified: trunk/src/orxonox/overlays/OverlayGroup.h
===================================================================
--- trunk/src/orxonox/overlays/OverlayGroup.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OverlayGroup.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,9 +37,9 @@
#include "OrxonoxPrereqs.h"
#include <set>
-#include <OgrePrerequisites.h>
+#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
#include "core/BaseObject.h"
-#include "util/Math.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/OverlayText.cc
===================================================================
--- trunk/src/orxonox/overlays/OverlayText.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OverlayText.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,15 +30,22 @@
#include <OgreOverlayManager.h>
#include <OgrePanelOverlayElement.h>
+#include <OgreTextAreaOverlayElement.h>
+#include <boost/static_assert.hpp>
#include "util/String.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
+
namespace orxonox
{
CreateFactory(OverlayText);
+ BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Left == (int)OverlayText::Left);
+ BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Center == (int)OverlayText::Center);
+ BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Right == (int)OverlayText::Right);
+
OverlayText::OverlayText(BaseObject* creator)
: OrxonoxOverlay(creator)
{
@@ -75,20 +82,14 @@
XMLPortParam(OverlayText, "spacewidth", setSpaceWidth, getSpaceWidth, xmlElement, mode);
}
- void OverlayText::setFont(const std::string& font)
- {
- if (font != "")
- this->text_->setFontName(font);
- }
-
void OverlayText::setAlignmentString(const std::string& alignment)
{
if (alignment == "right")
- this->setAlignment(Ogre::TextAreaOverlayElement::Right);
+ this->setAlignment(OverlayText::Right);
else if (alignment == "center")
- this->setAlignment(Ogre::TextAreaOverlayElement::Center);
+ this->setAlignment(OverlayText::Center);
else // "left" and default
- this->setAlignment(Ogre::TextAreaOverlayElement::Left);
+ this->setAlignment(OverlayText::Left);
}
std::string OverlayText::getAlignmentString() const
@@ -119,4 +120,51 @@
positionChanged();
}
+
+ void OverlayText::setCaption(const std::string& caption)
+ {
+ this->text_->setCaption(caption);
+ this->changedCaption();
+ }
+ std::string OverlayText::getCaption() const
+ {
+ return this->text_->getCaption();
+ }
+
+ void OverlayText::setFont(const std::string& font)
+ {
+ if (font != "")
+ this->text_->setFontName(font);
+ }
+ const std::string& OverlayText::getFont() const
+ {
+ return this->text_->getFontName();
+ }
+
+ void OverlayText::setSpaceWidth(float width)
+ {
+ this->text_->setSpaceWidth(width);
+ }
+ float OverlayText::getSpaceWidth() const
+ {
+ return this->text_->getSpaceWidth();
+ }
+
+ void OverlayText::setColour(const ColourValue& colour)
+ {
+ this->text_->setColour(colour); this->changedColour();
+ }
+ const ColourValue& OverlayText::getColour() const
+ {
+ return this->text_->getColour();
+ }
+
+ void OverlayText::setAlignment(OverlayText::Alignment alignment)
+ {
+ this->text_->setAlignment(static_cast<Ogre::TextAreaOverlayElement::Alignment>(alignment));
+ }
+ OverlayText::Alignment OverlayText::getAlignment() const
+ {
+ return static_cast<OverlayText::Alignment>(this->text_->getAlignment());
+ }
}
Modified: trunk/src/orxonox/overlays/OverlayText.h
===================================================================
--- trunk/src/orxonox/overlays/OverlayText.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/OverlayText.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,8 +32,8 @@
#include "OrxonoxPrereqs.h"
#include <string>
-#include <OgrePrerequisites.h>
-#include <OgreTextAreaOverlayElement.h>
+#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
#include "OrxonoxOverlay.h"
namespace orxonox
@@ -41,25 +41,32 @@
class _OrxonoxExport OverlayText : public OrxonoxOverlay
{
public:
+ enum Alignment
+ {
+ Left,
+ Right,
+ Center
+ };
+
OverlayText(BaseObject* creator);
virtual ~OverlayText();
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
- inline void setCaption(const std::string& caption) { this->text_->setCaption(caption); this->changedCaption(); }
- inline std::string getCaption() const { return this->text_->getCaption(); }
+ void setCaption(const std::string& caption);
+ std::string getCaption() const;
void setFont(const std::string& font);
- inline const std::string& getFont() const { return this->text_->getFontName(); }
+ const std::string& getFont() const;
- inline void setSpaceWidth(float width) { this->text_->setSpaceWidth(width); }
- inline float getSpaceWidth() const { return this->text_->getSpaceWidth(); }
+ void setSpaceWidth(float width);
+ float getSpaceWidth() const;
- inline void setColour(const ColourValue& colour) { this->text_->setColour(colour); this->changedColour(); }
- inline const ColourValue& getColour() const { return this->text_->getColour(); }
+ void setColour(const ColourValue& colour);
+ const ColourValue& getColour() const;
- inline void setAlignment(Ogre::TextAreaOverlayElement::Alignment alignment) { this->text_->setAlignment(alignment); }
- inline Ogre::TextAreaOverlayElement::Alignment getAlignment() const { return this->text_->getAlignment(); }
+ void setAlignment(OverlayText::Alignment alignment);
+ OverlayText::Alignment getAlignment() const;
void setAlignmentString(const std::string& alignment);
std::string getAlignmentString() const;
Modified: trunk/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- trunk/src/orxonox/overlays/console/InGameConsole.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/console/InGameConsole.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,12 +34,14 @@
#include <OgreOverlayElement.h>
#include <OgreOverlayManager.h>
#include <OgreOverlayContainer.h>
+#include <OgreBorderPanelOverlayElement.h>
+#include <OgreTextAreaOverlayElement.h>
#include <OgreFontManager.h>
#include <OgreFont.h>
#include "util/Math.h"
#include "util/Convert.h"
-#include "util/Debug.h"
+#include "util/UTFStringConversions.h"
#include "core/Clock.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
@@ -465,14 +467,14 @@
while (output.size() > this->maxCharsPerLine_)
{
++linesUsed;
- this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output.substr(0, this->maxCharsPerLine_)));
+ this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output.substr(0, this->maxCharsPerLine_)));
output.erase(0, this->maxCharsPerLine_);
output.insert(0, 1, ' ');
if (linesUsed > numLinesShifted_ || alwaysShift)
this->shiftLines();
this->colourLine(level, index);
}
- this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output));
+ this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output));
this->displayedText_ = output;
this->numLinesShifted_ = linesUsed;
}
@@ -490,7 +492,7 @@
else
this->inputWindowStart_ = 0;
this->displayedText_ = output;
- this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output));
+ this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output));
}
}
}
@@ -605,22 +607,4 @@
{
InGameConsole::getInstance().deactivate();
}
-
- /**
- @brief Converts a string into an Ogre::UTFString.
- @param s The string to convert
- @return The converted string
- */
- /*static*/ Ogre::UTFString InGameConsole::convert2UTF(const std::string& text)
- {
- Ogre::UTFString utf;
- Ogre::UTFString::code_point cp;
- for (unsigned int i = 0; i < text.size(); ++i)
- {
- cp = text[i];
- cp &= 0xFF;
- utf.append(1, cp);
- }
- return utf;
- }
}
Modified: trunk/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- trunk/src/orxonox/overlays/console/InGameConsole.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/console/InGameConsole.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,18 +31,15 @@
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include <OgreBorderPanelOverlayElement.h>
-#include <OgreTextAreaOverlayElement.h>
+#include <string>
+#include "util/OgreForwardRefs.h"
#include "core/Shell.h"
-#include "core/OrxonoxClass.h"
-#include "tools/WindowEventListener.h"
+#include "interfaces/WindowEventListener.h"
-
namespace orxonox
{
- class _OrxonoxExport InGameConsole : virtual public OrxonoxClass, public ShellListener, public WindowEventListener
+ class _OrxonoxExport InGameConsole : public ShellListener, public WindowEventListener
{
public: // functions
InGameConsole();
@@ -60,8 +57,6 @@
static void openConsole();
static void closeConsole();
- static Ogre::UTFString convert2UTF(const std::string& text);
-
private: // functions
InGameConsole(const InGameConsole& other);
Modified: trunk/src/orxonox/overlays/debug/DebugFPSText.cc
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugFPSText.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/debug/DebugFPSText.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
#include "DebugFPSText.h"
-#include <OgreTextAreaOverlayElement.h>
+
#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/Game.h"
@@ -50,6 +50,6 @@
SUPER(DebugFPSText, tick, dt);
float fps = Game::getInstance().getAvgFPS();
- this->setCaption(convertToString(fps));
+ this->setCaption(multi_cast<std::string>(fps));
}
}
Modified: trunk/src/orxonox/overlays/debug/DebugFPSText.h
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugFPSText.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/debug/DebugFPSText.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -40,7 +40,7 @@
{
public:
DebugFPSText(BaseObject* creator);
- ~DebugFPSText();
+ virtual ~DebugFPSText();
virtual void tick(float dt);
};
Modified: trunk/src/orxonox/overlays/debug/DebugRTRText.cc
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugRTRText.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/debug/DebugRTRText.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,9 @@
*/
#include "DebugRTRText.h"
-#include <OgreTextAreaOverlayElement.h>
+
+#include "util/Convert.h"
#include "core/CoreIncludes.h"
-#include "util/Convert.h"
#include "core/Game.h"
namespace orxonox
@@ -50,6 +50,6 @@
SUPER(DebugRTRText, tick, dt);
float rtr = Game::getInstance().getAvgTickTime();
- this->setCaption(convertToString(rtr));
+ this->setCaption(multi_cast<std::string>(rtr));
}
}
Modified: trunk/src/orxonox/overlays/debug/DebugRTRText.h
===================================================================
--- trunk/src/orxonox/overlays/debug/DebugRTRText.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/debug/DebugRTRText.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -40,7 +40,7 @@
{
public:
DebugRTRText(BaseObject* creator);
- ~DebugRTRText();
+ virtual ~DebugRTRText();
virtual void tick(float dt);
};
Modified: trunk/src/orxonox/overlays/hud/AnnounceMessage.h
===================================================================
--- trunk/src/orxonox/overlays/hud/AnnounceMessage.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/AnnounceMessage.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/GametypeMessageListener.h"
#include "overlays/FadeoutText.h"
-#include "objects/GametypeMessageListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/hud/ChatOverlay.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/ChatOverlay.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/ChatOverlay.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,21 +28,19 @@
#include "ChatOverlay.h"
+#include <string>
#include <OgreTextAreaOverlayElement.h>
+#include "util/Convert.h"
+#include "util/UTFStringConversions.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
#include "core/Executor.h"
-#include "network/ClientInformation.h"
-
-#include "PlayerManager.h"
-#include "objects/infos/PlayerInfo.h"
-#include "overlays/console/InGameConsole.h"
#include "tools/Timer.h"
+#include "objects/infos/PlayerInfo.h"
+#include "PlayerManager.h"
-#include "util/Convert.h"
-
namespace orxonox
{
CreateFactory(ChatOverlay);
@@ -85,7 +83,7 @@
text = message;
}
- this->messages_.push_back(InGameConsole::convert2UTF(text));
+ this->messages_.push_back(multi_cast<Ogre::UTFString>(text));
COUT(0) << "Chat: " << text << std::endl;
new Timer<ChatOverlay>(this->displayTime_, false, this, createExecutor(createFunctor(&ChatOverlay::dropMessage)), true);
Modified: trunk/src/orxonox/overlays/hud/ChatOverlay.h
===================================================================
--- trunk/src/orxonox/overlays/hud/ChatOverlay.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/ChatOverlay.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,7 +31,8 @@
#include "OrxonoxPrereqs.h"
-#include <OgreTextAreaOverlayElement.h>
+#include <list>
+#include <OgreUTFString.h>
#include "network/ChatListener.h"
#include "overlays/OverlayText.h"
@@ -42,7 +43,7 @@
{
public:
ChatOverlay(BaseObject* creator);
- ~ChatOverlay();
+ virtual ~ChatOverlay();
void setConfigValues();
Modified: trunk/src/orxonox/overlays/hud/DeathMessage.h
===================================================================
--- trunk/src/orxonox/overlays/hud/DeathMessage.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/DeathMessage.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/GametypeMessageListener.h"
#include "overlays/FadeoutText.h"
-#include "objects/GametypeMessageListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/hud/GametypeStatus.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/GametypeStatus.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/GametypeStatus.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,10 +28,8 @@
#include "GametypeStatus.h"
-#include <OgreTextAreaOverlayElement.h>
-
-#include "core/CoreIncludes.h"
#include "util/Convert.h"
+#include "core/CoreIncludes.h"
#include "objects/infos/GametypeInfo.h"
#include "objects/infos/PlayerInfo.h"
#include "objects/worldentities/ControllableEntity.h"
Modified: trunk/src/orxonox/overlays/hud/GametypeStatus.h
===================================================================
--- trunk/src/orxonox/overlays/hud/GametypeStatus.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/GametypeStatus.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -40,7 +40,7 @@
{
public:
GametypeStatus(BaseObject* creator);
- ~GametypeStatus();
+ virtual ~GametypeStatus();
virtual void tick(float dt);
virtual void changedOwner();
Modified: trunk/src/orxonox/overlays/hud/HUDBar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDBar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDBar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,6 +33,7 @@
#include <OgreOverlayManager.h>
#include <OgreMaterialManager.h>
#include <OgreTechnique.h>
+#include <OgrePass.h>
#include <OgrePanelOverlayElement.h>
#include "util/Convert.h"
@@ -76,7 +77,7 @@
this->textureUnitState_ = material->getTechnique(0)->getPass(0)->createTextureUnitState();
this->textureUnitState_->setTextureName("bar2.tga");
// use the default colour
- this->textureUnitState_->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, ColourValue(0.2, 0.7, 0.2));
+ this->textureUnitState_->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, ColourValue(0.2f, 0.7f, 0.2f));
this->bar_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
.createOverlayElement("Panel", "HUDBar_bar_" + getUniqueNumberString()));
Modified: trunk/src/orxonox/overlays/hud/HUDBar.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDBar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDBar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,8 +34,11 @@
#include "OrxonoxPrereqs.h"
#include <map>
-#include <OgrePrerequisites.h>
+#include <vector>
+
#include "util/Math.h"
+#include "util/OgreForwardRefs.h"
+#include "core/BaseObject.h"
#include "overlays/OrxonoxOverlay.h"
namespace orxonox
@@ -44,7 +47,7 @@
{
public:
BarColour(BaseObject* creator);
- ~BarColour() { }
+ virtual ~BarColour() { }
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
Modified: trunk/src/orxonox/overlays/hud/HUDHealthBar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDHealthBar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDHealthBar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,15 +28,11 @@
#include "HUDHealthBar.h"
-#include <OgreOverlayManager.h>
-#include <OgrePanelOverlayElement.h>
-
+#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include "objects/items/Engine.h"
#include "overlays/OverlayGroup.h"
-#include "util/Convert.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/hud/HUDHealthBar.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDHealthBar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDHealthBar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,10 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
+#include "interfaces/Tickable.h"
+#include "overlays/OverlayText.h"
#include "HUDBar.h"
-#include "objects/Tickable.h"
-#include "overlays/OverlayText.h"
namespace orxonox
{
@@ -41,7 +42,7 @@
{
public:
HUDHealthBar(BaseObject* creator);
- ~HUDHealthBar();
+ virtual ~HUDHealthBar();
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
virtual void tick(float dt);
@@ -63,9 +64,9 @@
inline bool getTextUseBarColour() const
{ return this->bUseBarColour_; }
- inline void setTextAlignment(Ogre::TextAreaOverlayElement::Alignment alignment)
+ inline void setTextAlignment(OverlayText::Alignment alignment)
{ this->textoverlay_->setAlignment(alignment); }
- inline Ogre::TextAreaOverlayElement::Alignment getTextAlignment() const
+ inline OverlayText::Alignment getTextAlignment() const
{ return this->textoverlay_->getAlignment(); }
void setTextAlignmentString(const std::string& alignment)
Modified: trunk/src/orxonox/overlays/hud/HUDNavigation.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDNavigation.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDNavigation.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
#include "HUDNavigation.h"
+#include <string>
#include <OgreOverlayManager.h>
#include <OgreTextAreaOverlayElement.h>
#include <OgrePanelOverlayElement.h>
@@ -35,7 +36,6 @@
#include "util/Math.h"
#include "util/String.h"
#include "util/Convert.h"
-#include "core/ConsoleCommand.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "objects/Radar.h"
Modified: trunk/src/orxonox/overlays/hud/HUDNavigation.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDNavigation.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDNavigation.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,9 +31,9 @@
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
+#include "util/OgreForwardRefs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -41,7 +41,7 @@
{
public:
HUDNavigation(BaseObject* creator);
- ~HUDNavigation();
+ virtual ~HUDNavigation();
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
virtual void tick(float dt);
Modified: trunk/src/orxonox/overlays/hud/HUDRadar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDRadar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDRadar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,13 +34,11 @@
#include "util/Math.h"
#include "util/String.h"
-#include "core/ConsoleCommand.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "objects/Radar.h"
+#include "tools/TextureGenerator.h"
#include "objects/worldentities/WorldEntity.h"
#include "objects/worldentities/pawns/Pawn.h"
-#include "tools/TextureGenerator.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/hud/HUDRadar.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDRadar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDRadar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,12 +32,13 @@
#include "OrxonoxPrereqs.h"
+#include <map>
#include <vector>
-#include <map>
-#include <OgrePrerequisites.h>
+
+#include "util/OgreForwardRefs.h"
+#include "interfaces/RadarListener.h"
+#include "interfaces/RadarViewable.h"
#include "overlays/OrxonoxOverlay.h"
-#include "objects/RadarListener.h"
-#include "objects/RadarViewable.h"
namespace orxonox
{
@@ -45,7 +46,7 @@
{
public:
HUDRadar(BaseObject* creator);
- ~HUDRadar();
+ virtual ~HUDRadar();
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
virtual void changedOwner();
Modified: trunk/src/orxonox/overlays/hud/HUDSpeedBar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDSpeedBar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDSpeedBar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,6 +28,7 @@
*/
#include "HUDSpeedBar.h"
+
#include "core/CoreIncludes.h"
#include "objects/worldentities/pawns/SpaceShip.h"
#include "objects/items/Engine.h"
Modified: trunk/src/orxonox/overlays/hud/HUDSpeedBar.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDSpeedBar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDSpeedBar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,8 +32,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "HUDBar.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -41,7 +41,7 @@
{
public:
HUDSpeedBar(BaseObject* creator);
- ~HUDSpeedBar();
+ virtual ~HUDSpeedBar();
virtual void tick(float dt);
virtual void changedOwner();
Modified: trunk/src/orxonox/overlays/hud/HUDTimer.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDTimer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDTimer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,45 +28,45 @@
#include "HUDTimer.h"
+#include "util/Convert.h"
#include "core/CoreIncludes.h"
-#include "util/Convert.h"
#include "objects/worldentities/ControllableEntity.h"
#include "objects/gametypes/Gametype.h"
namespace orxonox
{
- CreateFactory(HUDTimer);
+ CreateFactory(HUDTimer);
- HUDTimer::HUDTimer(BaseObject* creator) : OverlayText(creator)
- {
- RegisterObject(HUDTimer);
+ HUDTimer::HUDTimer(BaseObject* creator) : OverlayText(creator)
+ {
+ RegisterObject(HUDTimer);
- this->owner_ = 0;
- }
+ this->owner_ = 0;
+ }
- HUDTimer::~HUDTimer()
- {
- }
+ HUDTimer::~HUDTimer()
+ {
+ }
- void HUDTimer::tick(float dt)
- {
- SUPER(HUDTimer, tick, dt);
+ void HUDTimer::tick(float dt)
+ {
+ SUPER(HUDTimer, tick, dt);
- Gametype* gametype = this->getGametype();
-
- if(gametype)
- {
- if (gametype->getTimerIsActive())
- {
- this->setCaption(convertToString((int)gametype->getTime() + 1));
- }
+ Gametype* gametype = this->getGametype();
+
+ if (gametype)
+ {
+ if (gametype->getTimerIsActive())
+ {
+ this->setCaption(convertToString((int)gametype->getTime() + 1));
+ }
+ }
}
- }
- void HUDTimer::changedOwner()
- {
- SUPER(HUDTimer, changedOwner);
+ void HUDTimer::changedOwner()
+ {
+ SUPER(HUDTimer, changedOwner);
- this->owner_ = dynamic_cast<ControllableEntity*>(this->getOwner());
- }
+ this->owner_ = dynamic_cast<ControllableEntity*>(this->getOwner());
+ }
}
Modified: trunk/src/orxonox/overlays/hud/HUDTimer.h
===================================================================
--- trunk/src/orxonox/overlays/hud/HUDTimer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/HUDTimer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,23 +31,23 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
- class _OrxonoxExport HUDTimer : public OverlayText, public Tickable
- {
+ class _OrxonoxExport HUDTimer : public OverlayText, public Tickable
+ {
public:
- HUDTimer(BaseObject* creator);
- ~HUDTimer();
+ HUDTimer(BaseObject* creator);
+ virtual ~HUDTimer();
- virtual void tick(float dt);
+ virtual void tick(float dt);
- virtual void changedOwner();
+ virtual void changedOwner();
- private:
+ private:
ControllableEntity* owner_;
- };
+ };
}
#endif /* _HUDTimer_H__ */
Modified: trunk/src/orxonox/overlays/hud/KillMessage.h
===================================================================
--- trunk/src/orxonox/overlays/hud/KillMessage.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/KillMessage.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/GametypeMessageListener.h"
#include "overlays/FadeoutText.h"
-#include "objects/GametypeMessageListener.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/hud/PongScore.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/PongScore.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/PongScore.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,11 +28,9 @@
#include "PongScore.h"
-#include <OgreTextAreaOverlayElement.h>
-
+#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "util/Convert.h"
#include "objects/gametypes/Pong.h"
#include "objects/infos/PlayerInfo.h"
Modified: trunk/src/orxonox/overlays/hud/PongScore.h
===================================================================
--- trunk/src/orxonox/overlays/hud/PongScore.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/PongScore.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -40,7 +40,7 @@
{
public:
PongScore(BaseObject* creator);
- ~PongScore();
+ virtual ~PongScore();
virtual void tick(float dt);
virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
Modified: trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,8 +28,6 @@
#include "TeamBaseMatchScore.h"
-#include <OgreTextAreaOverlayElement.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "util/Convert.h"
Modified: trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.h
===================================================================
--- trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,8 @@
#include "OrxonoxPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OverlayText.h"
-#include "objects/Tickable.h"
namespace orxonox
{
@@ -40,7 +40,7 @@
{
public:
TeamBaseMatchScore(BaseObject* creator);
- ~TeamBaseMatchScore();
+ virtual ~TeamBaseMatchScore();
virtual void tick(float dt);
virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
Modified: trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.cc
===================================================================
--- trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -46,7 +46,7 @@
this->text_ = new OverlayText(this);
this->text_->setFont("Monofur");
- this->text_->setTextSize(0.04);
+ this->text_->setTextSize(0.04f);
this->text_->setAlignmentString("center");
this->text_->setColour(ColourValue::White);
this->text_->setPickPoint(Vector2(0.5, 0));
Modified: trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.h
===================================================================
--- trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,8 +31,9 @@
#include "OrxonoxPrereqs.h"
+#include "util/Math.h"
+#include "tools/Timer.h"
#include "HUDHealthBar.h"
-#include "tools/Timer.h"
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/map/Map.cc
===================================================================
--- trunk/src/orxonox/overlays/map/Map.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/map/Map.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -23,38 +23,39 @@
* Si Sun
*
*/
+
#include "Map.h"
#include <string>
-#include "util/String.h"
+
+#include <OgreBorderPanelOverlayElement.h>
+#include <OgreCamera.h>
+#include <OgreEntity.h>
+#include <OgreHardwarePixelBuffer.h>
+#include <OgreMaterialManager.h>
+#include <OgreMovablePlane.h>
+#include <OgreOverlay.h>
+#include <OgreOverlayContainer.h>
+#include <OgreOverlayManager.h>
+#include <OgrePass.h>
+#include <OgreRenderTexture.h>
+#include <OgreResourceGroupManager.h>
+#include <OgreRoot.h>
#include <OgreSceneManager.h>
#include <OgreSceneNode.h>
-#include <OgreEntity.h>
-#include <OgreNode.h>
-
-
-#include <OgreRenderWindow.h>
-#include <OgreRenderTexture.h>
+#include <OgreTechnique.h>
#include <OgreTexture.h>
+#include <OgreTextureManager.h>
#include <OgreViewport.h>
-#include <OgreMaterialManager.h>
-#include <OgreRoot.h>
-#include <OgreHardwarePixelBuffer.h>
-#include "objects/worldentities/ControllableEntity.h"
-#include "objects/worldentities/CameraPosition.h"
-
-#include <OgreOverlay.h>
-#include <OgreMovablePlane.h>
-#include <OgreOverlayElement.h>
-#include <OgreOverlayManager.h>
-#include <OgreOverlayContainer.h>
+#include "core/ConsoleCommand.h"
#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
-#include "core/ConsoleCommand.h"
+#include "core/XMLPort.h"
+#include "interfaces/RadarViewable.h"
#include "objects/Scene.h"
-#include "objects/RadarViewable.h"
#include "objects/controllers/HumanController.h"
+#include "objects/worldentities/CameraPosition.h"
+#include "objects/worldentities/ControllableEntity.h"
namespace orxonox
{
@@ -263,7 +264,7 @@
}*/
}
- Ogre::MaterialPtr Map::createRenderCamera(Ogre::Camera * cam, std::string matName)
+ Ogre::MaterialPtr Map::createRenderCamera(Ogre::Camera * cam, const std::string& matName)
{
Ogre::TexturePtr rttTex = Ogre::TextureManager::getSingleton().createManual(matName+"_tex", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::TEX_TYPE_2D, 512, 512, 0, Ogre::PF_R8G8B8, Ogre::TU_RENDERTARGET);
@@ -399,6 +400,12 @@
}
}
+ // HACK!
+ void Map::hackDestroyMap()
+ {
+ Map::OverlayMaterial_.setNull();
+ }
+
void Map::tick(float dt)
{
//Debug
Modified: trunk/src/orxonox/overlays/map/Map.h
===================================================================
--- trunk/src/orxonox/overlays/map/Map.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/map/Map.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -24,29 +24,17 @@
*
*/
-#ifndef _MAP_H__
-#define _MAP_H__
+#ifndef _Map_H__
+#define _Map_H__
-#include <string>
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include <OgreSceneManager.h>
-#include <OgreSceneNode.h>
-#include <OgreEntity.h>
-#include <OgreOverlay.h>
-#include <OgreOverlayElement.h>
-#include <OgreOverlayManager.h>
-#include <OgreOverlayContainer.h>
-#include <OgreMovablePlane.h>
-#include <OgreBorderPanelOverlayElement.h>
-#include <OgreTextAreaOverlayElement.h>
+#include <OgreMaterial.h>
+#include "util/UtilPrereqs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
-
-
namespace orxonox
{
class _OrxonoxExport Map : public OrxonoxOverlay, public Tickable
@@ -54,15 +42,17 @@
public: // functions
Map(BaseObject* creator);
- ~Map();
+ virtual ~Map();
virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
virtual void tick(float dt);
virtual void changedOwner();
- static Ogre::MaterialPtr createRenderCamera(Ogre::Camera * cam, std::string matName);
+ static Ogre::MaterialPtr createRenderCamera(Ogre::Camera * cam, const std::string& matName);
static void openMap();
+ // HACK!
+ static void hackDestroyMap();
//Not yet implemented
static const int maxRange_s=1000;
@@ -125,4 +115,4 @@
};
}
-#endif /* _MAP_H__ */
+#endif /* _Map_H__ */
Modified: trunk/src/orxonox/overlays/notifications/Notification.cc
===================================================================
--- trunk/src/orxonox/overlays/notifications/Notification.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/Notification.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,15 +27,13 @@
*/
/**
- @file Notification.cc
+ @file
@brief Implementation of the Notification class.
*/
#include "Notification.h"
#include "core/CoreIncludes.h"
-#include "util/Exception.h"
-
#include "NotificationManager.h"
namespace orxonox
@@ -47,6 +45,7 @@
*/
Notification::Notification(BaseObject* creator) : BaseObject(creator)
{
+ RegisterObject(Notification);
this->initialize();
}
@@ -75,8 +74,6 @@
*/
void Notification::initialize(void)
{
- RegisterObject(Notification);
-
this->message_ = "";
this->sender_ = NotificationManager::NONE;
this->sent_ = false;
Modified: trunk/src/orxonox/overlays/notifications/Notification.h
===================================================================
--- trunk/src/orxonox/overlays/notifications/Notification.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/Notification.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file Notification.h
+ @file
@brief Definition of the Notification class.
*/
@@ -37,7 +37,6 @@
#include "OrxonoxPrereqs.h"
#include <string>
-
#include "core/BaseObject.h"
namespace orxonox
Modified: trunk/src/orxonox/overlays/notifications/NotificationManager.cc
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,15 @@
*/
/**
- @file NotificationManager.cc
+ @file
@brief Implementation of the NotificationManager class.
*/
#include "NotificationManager.h"
-#include "core/CoreIncludes.h"
-
#include <set>
+#include "core/CoreIncludes.h"
#include "Notification.h"
#include "NotificationQueue.h"
Modified: trunk/src/orxonox/overlays/notifications/NotificationManager.h
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file NotificationManager.h
+ @file
@brief Definition of the NotificationManager class.
*/
@@ -36,14 +36,11 @@
#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
+#include <ctime>
#include <map>
#include <string>
-#include <ctime>
+#include "core/OrxonoxClass.h"
-#include "NotificationOverlay.h"
-
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/notifications/NotificationOverlay.cc
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationOverlay.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationOverlay.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,19 +27,14 @@
*/
/**
- @file NotificationOverlay.cc
+ @file
@brief Implementation of the NotificationOverlay class.
*/
#include "NotificationOverlay.h"
-#include <OgreOverlayManager.h>
-#include <OgreTextAreaOverlayElement.h>
-#include <OgrePanelOverlayElement.h>
-
-#include "core/CoreIncludes.h"
#include "util/Exception.h"
-
+#include "core/CoreIncludes.h"
#include "Notification.h"
#include "NotificationQueue.h"
@@ -52,6 +47,7 @@
*/
NotificationOverlay::NotificationOverlay(BaseObject* creator) : OverlayText(creator)
{
+ RegisterObject(NotificationOverlay);
this->initialize();
}
@@ -86,8 +82,6 @@
*/
void NotificationOverlay::initialize(void)
{
- RegisterObject(NotificationOverlay);
-
this->queue_ = NULL;
}
@@ -132,7 +126,7 @@
@brief
Clips the input message so that it meets the requirements for the maximal length of Notifications given by the NotificationQueue.
*/
- const std::string NotificationOverlay::clipMessage(const std::string & message)
+ std::string NotificationOverlay::clipMessage(const std::string & message)
{
if(message.length() <= (unsigned int)this->queue_->getNotificationLength()) //!< If the message is not too long.
return message;
Modified: trunk/src/orxonox/overlays/notifications/NotificationOverlay.h
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationOverlay.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationOverlay.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file NotificationOverlay.h
+ @file
@brief Definition of the NotificationOverlay class.
*/
@@ -37,13 +37,9 @@
#include "OrxonoxPrereqs.h"
+#include <string>
#include "orxonox/overlays/OverlayText.h"
-#include <string>
-#include <set>
-#include <OgrePrerequisites.h>
-#include <OgreTextAreaOverlayElement.h>
-
namespace orxonox
{
@@ -71,7 +67,7 @@
{ this->setTextSize(size); }
protected:
- const std::string clipMessage(const std::string & message); //!< Clips the input message if too long.
+ std::string clipMessage(const std::string & message); //!< Clips the input message if too long.
private:
NotificationQueue* queue_; //!< The NotificationQeue this overlay belongs to.
Modified: trunk/src/orxonox/overlays/notifications/NotificationQueue.cc
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationQueue.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationQueue.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,23 +27,18 @@
*/
/**
- @file NotificationQueue.cc
+ @file
@brief Implementation of the NotificationQueue class.
*/
#include "NotificationQueue.h"
-#include <OgreOverlayManager.h>
-#include <OgreTextAreaOverlayElement.h>
-#include <list>
-#include <iostream>
#include <sstream>
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-
-#include "Notification.h"
#include "NotificationOverlay.h"
+#include "NotificationManager.h"
namespace orxonox
{
@@ -52,7 +47,7 @@
const std::string NotificationQueue::DEFAULT_FONT = "VeraMono";
const Vector2 NotificationQueue::DEFAULT_POSITION = Vector2(0.0,0.0);
- const float NotificationQueue::DEFAULT_FONT_SIZE = 0.025;
+ const float NotificationQueue::DEFAULT_FONT_SIZE = 0.025f;
/**
@brief
@@ -60,6 +55,7 @@
*/
NotificationQueue::NotificationQueue(BaseObject* creator) : OverlayGroup(creator)
{
+ RegisterObject(NotificationQueue);
this->initialize();
}
@@ -80,8 +76,6 @@
*/
void NotificationQueue::initialize(void)
{
- RegisterObject(NotificationQueue);
-
this->size_ = 0;
this->tickTime_ = 0.0;
Modified: trunk/src/orxonox/overlays/notifications/NotificationQueue.h
===================================================================
--- trunk/src/orxonox/overlays/notifications/NotificationQueue.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/notifications/NotificationQueue.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,7 +27,7 @@
*/
/**
- @file NotificationQueue.h
+ @file
@brief Definition of the NotificationQueue class.
*/
@@ -36,19 +36,15 @@
#include "OrxonoxPrereqs.h"
-#include <string>
-#include <set>
-#include <OgreOverlayManager.h>
-#include <OgreTextAreaOverlayElement.h>
-#include <OgrePanelOverlayElement.h>
-#include <map>
#include <ctime>
+#include <map>
+#include <set>
+#include <string>
-#include "orxonox/overlays/OverlayGroup.h"
-#include "orxonox/objects/Tickable.h"
+#include "util/Math.h"
+#include "interfaces/Tickable.h"
+#include "overlays/OverlayGroup.h"
-#include "NotificationManager.h"
-
namespace orxonox
{
Modified: trunk/src/orxonox/overlays/stats/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/overlays/stats/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -2,5 +2,4 @@
CreateLines.cc
Scoreboard.cc
Stats.cc
- StatsTest.cc
)
Modified: trunk/src/orxonox/overlays/stats/CreateLines.cc
===================================================================
--- trunk/src/orxonox/overlays/stats/CreateLines.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/CreateLines.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,17 +26,6 @@
#include "CreateLines.h"
-#include <string>
-#include <OgreOverlay.h>
-#include <OgreOverlayElement.h>
-#include <OgreOverlayManager.h>
-#include <OgreOverlayContainer.h>
-
-#include "util/Convert.h"
-#include "util/Debug.h"
-#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
-
#include "overlays/OverlayText.h"
#include "overlays/stats/Stats.h"
Modified: trunk/src/orxonox/overlays/stats/CreateLines.h
===================================================================
--- trunk/src/orxonox/overlays/stats/CreateLines.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/CreateLines.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,16 +27,8 @@
#ifndef _CreateLines_H__
#define _CreateLines_H__
-
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include <OgreBorderPanelOverlayElement.h>
-#include <OgreTextAreaOverlayElement.h>
-#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
-
-
namespace orxonox
{
class _OrxonoxExport CreateLines
Modified: trunk/src/orxonox/overlays/stats/Scoreboard.cc
===================================================================
--- trunk/src/orxonox/overlays/stats/Scoreboard.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/Scoreboard.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,16 +26,8 @@
#include "Scoreboard.h"
-#include <string>
-#include <OgreOverlay.h>
-#include <OgreOverlayElement.h>
-#include <OgreOverlayManager.h>
-#include <OgreOverlayContainer.h>
-
#include "util/Convert.h"
-#include "util/Debug.h"
#include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
#include "objects/gametypes/Gametype.h"
#include "objects/infos/PlayerInfo.h"
#include "CreateLines.h"
@@ -100,9 +92,9 @@
unsigned int index = 0;
for (std::map<PlayerInfo*, Player>::const_iterator it = playerList.begin(); it != playerList.end(); ++it)
{
- this->lines_[index]->setPlayerName(omni_cast<std::string>(it->first->getName()));
- this->lines_[index]->setScore(omni_cast<std::string>(it->second.frags_));
- this->lines_[index]->setDeaths(omni_cast<std::string>(it->second.killed_));
+ this->lines_[index]->setPlayerName(multi_cast<std::string>(it->first->getName()));
+ this->lines_[index]->setScore(multi_cast<std::string>(it->second.frags_));
+ this->lines_[index]->setDeaths(multi_cast<std::string>(it->second.killed_));
index++;
}
Modified: trunk/src/orxonox/overlays/stats/Scoreboard.h
===================================================================
--- trunk/src/orxonox/overlays/stats/Scoreboard.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/Scoreboard.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,19 +29,16 @@
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include <OgreBorderPanelOverlayElement.h>
-#include <OgreTextAreaOverlayElement.h>
+#include <string>
+#include <vector>
+#include "interfaces/Tickable.h"
#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
-
namespace orxonox
{
class _OrxonoxExport Scoreboard : public OrxonoxOverlay, public Tickable
{
-
public: // functions
Scoreboard(BaseObject* creator);
virtual ~Scoreboard() {}
Modified: trunk/src/orxonox/overlays/stats/Stats.cc
===================================================================
--- trunk/src/orxonox/overlays/stats/Stats.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/Stats.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,13 +29,10 @@
#include "Stats.h"
#include <string>
-#include <OgreOverlay.h>
-#include <OgreOverlayElement.h>
#include <OgreOverlayManager.h>
-#include <OgreOverlayContainer.h>
+#include <OgreBorderPanelOverlayElement.h>
-#include "util/Convert.h"
-#include "util/Debug.h"
+#include "util/String.h"
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
Modified: trunk/src/orxonox/overlays/stats/Stats.h
===================================================================
--- trunk/src/orxonox/overlays/stats/Stats.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/Stats.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,16 +29,12 @@
#ifndef _Stats_H__
#define _Stats_H__
-
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
-#include <OgreBorderPanelOverlayElement.h>
-#include <OgreTextAreaOverlayElement.h>
+#include "util/OgreForwardRefs.h"
+#include "interfaces/Tickable.h"
#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
-
namespace orxonox
{
class _OrxonoxExport Stats : public OrxonoxOverlay, public Tickable
Deleted: trunk/src/orxonox/overlays/stats/StatsTest.cc
===================================================================
--- trunk/src/orxonox/overlays/stats/StatsTest.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/StatsTest.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,51 +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 "StatsTest.h"
-
-#include <OgreTextAreaOverlayElement.h>
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- CreateFactory(StatsTest);
-
- StatsTest::StatsTest(BaseObject* creator)
- : OrxonoxOverlay(creator)
- {
- RegisterObject(StatsTest);
- }
-
- StatsTest::~StatsTest()
- {
- }
-
- void StatsTest::tick(float dt)
- {
- }
-}
Deleted: trunk/src/orxonox/overlays/stats/StatsTest.h
===================================================================
--- trunk/src/orxonox/overlays/stats/StatsTest.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/overlays/stats/StatsTest.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,48 +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 _StatsTest_H__
-#define _StatsTest_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "overlays/OrxonoxOverlay.h"
-#include "objects/Tickable.h"
-
-namespace orxonox
-{
- class _OrxonoxExport StatsTest : public OrxonoxOverlay, public Tickable
- {
- public:
- StatsTest(BaseObject* creator);
- ~StatsTest();
-
- virtual void tick(float dt);
- };
-}
-#endif /* _StatsTest_H__ */
Modified: trunk/src/orxonox/sound/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/sound/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,8 +1,4 @@
ADD_SOURCE_FILES(ORXONOX_SRC_FILES
- SoundManager.h
- SoundBase.h
- SoundMainMenu.h
-
SoundManager.cc
SoundBase.cc
SoundMainMenu.cc
Modified: trunk/src/orxonox/sound/SoundBase.cc
===================================================================
--- trunk/src/orxonox/sound/SoundBase.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundBase.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -25,32 +25,28 @@
* ...
*
*/
+
+#include "SoundBase.h"
+
+#include <string>
#include <vector>
#include <AL/alut.h>
#include <vorbis/vorbisfile.h>
-#include "orxonox/objects/worldentities/WorldEntity.h"
#include "util/Math.h"
-#include "SoundBase.h"
-#include "SoundManager.h"
#include "core/Core.h"
+#include "orxonox/objects/worldentities/WorldEntity.h"
+#include "SoundManager.h"
namespace orxonox
{
- SoundManager* SoundBase::soundmanager_s = NULL;
-
SoundBase::SoundBase(WorldEntity* entity)
{
- if(SoundBase::soundmanager_s == NULL)
- {
- SoundBase::soundmanager_s = new SoundManager();
- }
-
this->source_ = 0;
this->buffer_ = 0;
this->entity_ = entity;
- SoundBase::soundmanager_s->addSound(this);
+ SoundManager::getInstance().addSound(this);
}
SoundBase::~SoundBase()
@@ -140,7 +136,7 @@
bool SoundBase::loadFile(std::string filename) {
filename = Core::getMediaPathString() + "/audio/" + filename;
- if(!SoundBase::soundmanager_s->isSoundAvailable())
+ if(!SoundManager::getInstance().isSoundAvailable())
{
COUT(3) << "Sound: not available, skipping " << filename << std::endl;
return false;
@@ -178,7 +174,7 @@
return state;
}
- ALuint SoundBase::loadOggFile(std::string filename)
+ ALuint SoundBase::loadOggFile(const std::string& filename)
{
char inbuffer[4096];
std::vector<char> outbuffer;
Modified: trunk/src/orxonox/sound/SoundBase.h
===================================================================
--- trunk/src/orxonox/sound/SoundBase.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundBase.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -25,13 +25,11 @@
* ...
*
*/
-#ifndef _SOUNDBASE_H__
-#define _SOUNDBASE_H__
+#ifndef _SoundBase_H__
+#define _SoundBase_H__
-#include <AL/al.h>
-#include <string>
-
#include "OrxonoxPrereqs.h"
+#include <cstring> // define NULL
namespace orxonox
{
@@ -59,15 +57,13 @@
bool loadFile(std::string filename);
private:
- ALuint loadOggFile(std::string filename);
+ ALuint loadOggFile(const std::string& filename);
ALuint source_;
ALuint buffer_;
WorldEntity* entity_;
ALint getSourceState();
-
- static SoundManager* soundmanager_s;
}; // class SoundBase
} // namepsace orxonox
-#endif // _SOUNDBASE_H__
+#endif /* _SoundBase_H__ */
Modified: trunk/src/orxonox/sound/SoundMainMenu.cc
===================================================================
--- trunk/src/orxonox/sound/SoundMainMenu.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundMainMenu.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,6 +27,7 @@
*/
#include "SoundMainMenu.h"
+
#include "core/CoreIncludes.h"
#include "core/ConfigValueIncludes.h"
Modified: trunk/src/orxonox/sound/SoundMainMenu.h
===================================================================
--- trunk/src/orxonox/sound/SoundMainMenu.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundMainMenu.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,13 +26,13 @@
*
*/
-#ifndef _SOUNDMAINMENU_H__
-#define _SOUNDMAINMENU_H__
+#ifndef _SoundMainMenu_H__
+#define _SoundMainMenu_H__
+#include "OrxonoxPrereqs.h"
+
#include <string>
-
#include "core/OrxonoxClass.h"
-#include "OrxonoxPrereqs.h"
#include "SoundBase.h"
namespace orxonox
@@ -47,4 +47,5 @@
std::string filename_;
};
}
-#endif
+
+#endif /* _SoundMainMenu_H__ */
Modified: trunk/src/orxonox/sound/SoundManager.cc
===================================================================
--- trunk/src/orxonox/sound/SoundManager.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundManager.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,16 +26,18 @@
*
*/
+#include "SoundManager.h"
+
#include <AL/alut.h>
+#include "util/Math.h"
#include "orxonox/CameraManager.h"
#include "orxonox/objects/worldentities/Camera.h"
-#include "util/Math.h"
#include "SoundBase.h"
-#include "SoundManager.h"
namespace orxonox
{
+ SoundManager* SoundManager::singletonRef_s = NULL;
ALCdevice* SoundManager::device_s = NULL;
/**
@@ -43,6 +45,9 @@
*/
SoundManager::SoundManager()
{
+ assert(singletonRef_s == NULL);
+ singletonRef_s = this;
+
this->soundavailable_ = true;
if(!alutInitWithoutContext(NULL,NULL))
{
@@ -89,6 +94,9 @@
SoundManager::~SoundManager()
{
+ assert(singletonRef_s != NULL);
+ singletonRef_s = NULL;
+
alcDestroyContext(this->context_);
alcCloseDevice(SoundManager::device_s);
alutExit();
Modified: trunk/src/orxonox/sound/SoundManager.h
===================================================================
--- trunk/src/orxonox/sound/SoundManager.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/sound/SoundManager.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -24,15 +24,15 @@
* Co-authors:
* ...
*/
-#ifndef _SOUNDMANGER_H__
-#define _SOUNDMANGER_H__
+#ifndef _SoundManager_H__
+#define _SoundManager_H__
-#include <AL/al.h>
-#include <AL/alc.h>
-
#include "OrxonoxPrereqs.h"
-#include "orxonox/objects/Tickable.h"
+#include <cassert>
+#include <list>
+#include "interfaces/Tickable.h"
+
namespace orxonox
{
/**
@@ -48,16 +48,19 @@
~SoundManager();
void addSound(SoundBase* sound);
void removeSound(SoundBase* sound);
- virtual void tick(float dt);
+ void tick(float dt);
bool isSoundAvailable();
+ static SoundManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
+
private:
static ALCdevice* device_s;
ALCcontext* context_;
std::list<SoundBase*> soundlist_;
bool soundavailable_;
+ static SoundManager* singletonRef_s;
}; // class SoundManager
} // namespace orxonox
-#endif // _SOUNDMANAGER_H__
+#endif /* _SoundManager_H__ */
Modified: trunk/src/orxonox/tools/BillboardSet.cc
===================================================================
--- trunk/src/orxonox/tools/BillboardSet.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/BillboardSet.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,16 +28,17 @@
#include "BillboardSet.h"
+#include <cassert>
+#include <string>
#include <sstream>
-#include <cassert>
-
#include <OgreSceneManager.h>
#include <OgreBillboardSet.h>
#include <OgreBillboard.h>
-#include "core/GameMode.h"
#include "util/Convert.h"
+#include "util/Math.h"
#include "util/String.h"
+#include "core/GameMode.h"
namespace orxonox
{
Modified: trunk/src/orxonox/tools/BillboardSet.h
===================================================================
--- trunk/src/orxonox/tools/BillboardSet.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/BillboardSet.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,12 +30,8 @@
#define _BillboardSet_H__
#include "OrxonoxPrereqs.h"
+#include "util/OgreForwardRefs.h"
-#include <string>
-#include <OgrePrerequisites.h>
-
-#include "util/Math.h"
-
namespace orxonox
{
class _OrxonoxExport BillboardSet
@@ -51,7 +47,7 @@
inline Ogre::BillboardSet* getBillboardSet()
{ return this->billboardSet_; }
- inline Ogre::SceneManager* getSceneManager()
+ inline Ogre::SceneManager* getSceneManager() const
{ return this->scenemanager_; }
const std::string& getName() const;
@@ -68,9 +64,10 @@
private:
void destroyBillboardSet();
- static unsigned int billboardSetCounter_s;
Ogre::BillboardSet* billboardSet_;
Ogre::SceneManager* scenemanager_;
+
+ static unsigned int billboardSetCounter_s;
};
}
Modified: trunk/src/orxonox/tools/BulletConversions.h
===================================================================
--- trunk/src/orxonox/tools/BulletConversions.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/BulletConversions.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,8 +33,8 @@
#include "util/Convert.h"
#include "util/Math.h"
-#include "LinearMath/btQuaternion.h"
-#include "LinearMath/btVector3.h"
+#include <LinearMath/btQuaternion.h>
+#include <LinearMath/btVector3.h>
namespace orxonox
{
@@ -42,7 +42,7 @@
template <>
struct ConverterExplicit<orxonox::Vector3, btVector3>
{
- static bool convert(btVector3* output, const orxonox::Vector3& input)
+ FORCEINLINE static bool convert(btVector3* output, const orxonox::Vector3& input)
{
output->setX(input.x);
output->setY(input.y);
@@ -55,7 +55,7 @@
template <>
struct ConverterExplicit<btVector3, orxonox::Vector3>
{
- static bool convert(orxonox::Vector3* output, const btVector3& input)
+ FORCEINLINE static bool convert(orxonox::Vector3* output, const btVector3& input)
{
output->x = input.x();
output->y = input.y();
@@ -68,7 +68,7 @@
template <>
struct ConverterExplicit<orxonox::Quaternion, btQuaternion>
{
- static bool convert(btQuaternion* output, const orxonox::Quaternion& input)
+ FORCEINLINE static bool convert(btQuaternion* output, const orxonox::Quaternion& input)
{
output->setW(input.w);
output->setX(input.x);
@@ -82,7 +82,7 @@
template <>
struct ConverterExplicit<btQuaternion, orxonox::Quaternion>
{
- static bool convert(orxonox::Quaternion* output, const btQuaternion& input)
+ FORCEINLINE static bool convert(orxonox::Quaternion* output, const btQuaternion& input)
{
output->w = input.w();
output->x = input.x();
Modified: trunk/src/orxonox/tools/CMakeLists.txt
===================================================================
--- trunk/src/orxonox/tools/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,12 +1,10 @@
ADD_SOURCE_FILES(ORXONOX_SRC_FILES
BillboardSet.cc
+ DynamicLines.cc
+ DynamicRenderable.cc
Mesh.cc
ParticleInterface.cc
Shader.cc
TextureGenerator.cc
- TimeFactorListener.cc
Timer.cc
- WindowEventListener.cc
- DynamicLines.cpp
- DynamicRenderable.cpp
)
Copied: trunk/src/orxonox/tools/DynamicLines.cc (from rev 3195, branches/pch/src/orxonox/tools/DynamicLines.cc)
===================================================================
--- trunk/src/orxonox/tools/DynamicLines.cc (rev 0)
+++ trunk/src/orxonox/tools/DynamicLines.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,178 @@
+/*
+ * 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:
+ * Baxissimo, Emmeran, DWORD, EtherDrive (OGRE Wiki)
+ * Co-authors:
+ * ...
+ *
+ */
+
+#include "DynamicLines.h"
+
+#include <cassert>
+#include <cmath>
+
+namespace Ogre
+{
+ enum
+ {
+ POSITION_BINDING,
+ TEXCOORD_BINDING
+ };
+
+ DynamicLines::DynamicLines(OperationType opType)
+ {
+ initialize(opType,false);
+ setMaterial("BaseWhiteNoLighting");
+ mDirty = true;
+ }
+
+ DynamicLines::~DynamicLines()
+ {
+ }
+
+ void DynamicLines::setOperationType(OperationType opType)
+ {
+ mRenderOp.operationType = opType;
+ }
+
+ RenderOperation::OperationType DynamicLines::getOperationType() const
+ {
+ return mRenderOp.operationType;
+ }
+
+ void DynamicLines::addPoint(const Vector3 &p)
+ {
+ mPoints.push_back(p);
+ mDirty = true;
+ }
+
+ void DynamicLines::addPoint(Real x, Real y, Real z)
+ {
+ mPoints.push_back(Vector3(x,y,z));
+ mDirty = true;
+ }
+
+ const Vector3& DynamicLines::getPoint(unsigned short index) const
+ {
+ assert(index < mPoints.size() && "Point index is out of bounds!!");
+ return mPoints[index];
+ }
+
+ unsigned short DynamicLines::getNumPoints(void) const
+ {
+ return (unsigned short)mPoints.size();
+ }
+
+ void DynamicLines::setPoint(unsigned short index, const Vector3 &value)
+ {
+ assert(index < mPoints.size() && "Point index is out of bounds!!");
+
+ mPoints[index] = value;
+ mDirty = true;
+ }
+
+ void DynamicLines::clear()
+ {
+ mPoints.clear();
+ mDirty = true;
+ }
+
+ void DynamicLines::update()
+ {
+ if (mDirty)
+ fillHardwareBuffers();
+ }
+
+ void DynamicLines::createVertexDeclaration()
+ {
+ VertexDeclaration *decl = mRenderOp.vertexData->vertexDeclaration;
+ decl->addElement(POSITION_BINDING, 0, VET_FLOAT3, VES_POSITION);
+ }
+
+ void DynamicLines::fillHardwareBuffers()
+ {
+ int size = mPoints.size();
+
+ prepareHardwareBuffers(size,0);
+
+ if (!size)
+ {
+ mBox.setExtents(Vector3::ZERO,Vector3::ZERO);
+ mDirty=false;
+ return;
+ }
+
+ Vector3 vaabMin = mPoints[0];
+ Vector3 vaabMax = mPoints[0];
+
+ HardwareVertexBufferSharedPtr vbuf =
+ mRenderOp.vertexData->vertexBufferBinding->getBuffer(0);
+
+ Real *prPos = static_cast<Real*>(vbuf->lock(HardwareBuffer::HBL_DISCARD));
+ for (int i = 0; i < size; i++)
+ {
+ *prPos++ = mPoints[i].x;
+ *prPos++ = mPoints[i].y;
+ *prPos++ = mPoints[i].z;
+
+ if (mPoints[i].x < vaabMin.x)
+ vaabMin.x = mPoints[i].x;
+ if (mPoints[i].y < vaabMin.y)
+ vaabMin.y = mPoints[i].y;
+ if (mPoints[i].z < vaabMin.z)
+ vaabMin.z = mPoints[i].z;
+
+ if (mPoints[i].x > vaabMax.x)
+ vaabMax.x = mPoints[i].x;
+ if (mPoints[i].y > vaabMax.y)
+ vaabMax.y = mPoints[i].y;
+ if (mPoints[i].z > vaabMax.z)
+ vaabMax.z = mPoints[i].z;
+ }
+ vbuf->unlock();
+
+ mBox.setExtents(vaabMin, vaabMax);
+
+ mDirty = false;
+ }
+
+ /*
+ void DynamicLines::getWorldTransforms(Matrix4 *xform) const
+ {
+ // return identity matrix to prevent parent transforms
+ *xform = Matrix4::IDENTITY;
+ }
+ */
+
+ /*
+ const Quaternion &DynamicLines::getWorldOrientation(void) const
+ {
+ return Quaternion::IDENTITY;
+ }
+
+ const Vector3 &DynamicLines::getWorldPosition(void) const
+ {
+ return Vector3::ZERO;
+ }
+ */
+}
Deleted: trunk/src/orxonox/tools/DynamicLines.cpp
===================================================================
--- trunk/src/orxonox/tools/DynamicLines.cpp 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/DynamicLines.cpp 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,145 +0,0 @@
-#include "DynamicLines.h"
-#include <Ogre.h>
-#include <cassert>
-#include <cmath>
-
-using namespace Ogre;
-
-namespace orxonox
-{
-enum {
- POSITION_BINDING,
- TEXCOORD_BINDING
-};
-
-DynamicLines::DynamicLines(OperationType opType)
-{
- initialize(opType,false);
- setMaterial("BaseWhiteNoLighting");
- mDirty = true;
-}
-
-DynamicLines::~DynamicLines()
-{
-}
-
-void DynamicLines::setOperationType(OperationType opType)
-{
- mRenderOp.operationType = opType;
-}
-
-RenderOperation::OperationType DynamicLines::getOperationType() const
-{
- return mRenderOp.operationType;
-}
-
-void DynamicLines::addPoint(const Vector3 &p)
-{
- mPoints.push_back(p);
- mDirty = true;
-}
-void DynamicLines::addPoint(Real x, Real y, Real z)
-{
- mPoints.push_back(Vector3(x,y,z));
- mDirty = true;
-}
-const Vector3& DynamicLines::getPoint(unsigned short index) const
-{
- assert(index < mPoints.size() && "Point index is out of bounds!!");
- return mPoints[index];
-}
-unsigned short DynamicLines::getNumPoints(void) const
-{
- return (unsigned short)mPoints.size();
-}
-void DynamicLines::setPoint(unsigned short index, const Vector3 &value)
-{
- assert(index < mPoints.size() && "Point index is out of bounds!!");
-
- mPoints[index] = value;
- mDirty = true;
-}
-void DynamicLines::clear()
-{
- mPoints.clear();
- mDirty = true;
-}
-
-void DynamicLines::update()
-{
- if (mDirty) fillHardwareBuffers();
-}
-
-void DynamicLines::createVertexDeclaration()
-{
- VertexDeclaration *decl = mRenderOp.vertexData->vertexDeclaration;
- decl->addElement(POSITION_BINDING, 0, VET_FLOAT3, VES_POSITION);
-}
-
-void DynamicLines::fillHardwareBuffers()
-{
- int size = mPoints.size();
-
- prepareHardwareBuffers(size,0);
-
- if (!size) {
- mBox.setExtents(Vector3::ZERO,Vector3::ZERO);
- mDirty=false;
- return;
- }
-
- Vector3 vaabMin = mPoints[0];
- Vector3 vaabMax = mPoints[0];
-
- HardwareVertexBufferSharedPtr vbuf =
- mRenderOp.vertexData->vertexBufferBinding->getBuffer(0);
-
- Real *prPos = static_cast<Real*>(vbuf->lock(HardwareBuffer::HBL_DISCARD));
- {
- for(int i = 0; i < size; i++)
- {
- *prPos++ = mPoints[i].x;
- *prPos++ = mPoints[i].y;
- *prPos++ = mPoints[i].z;
-
- if(mPoints[i].x < vaabMin.x)
- vaabMin.x = mPoints[i].x;
- if(mPoints[i].y < vaabMin.y)
- vaabMin.y = mPoints[i].y;
- if(mPoints[i].z < vaabMin.z)
- vaabMin.z = mPoints[i].z;
-
- if(mPoints[i].x > vaabMax.x)
- vaabMax.x = mPoints[i].x;
- if(mPoints[i].y > vaabMax.y)
- vaabMax.y = mPoints[i].y;
- if(mPoints[i].z > vaabMax.z)
- vaabMax.z = mPoints[i].z;
- }
- }
- vbuf->unlock();
-
- mBox.setExtents(vaabMin, vaabMax);
-
- mDirty = false;
-}
-
-/*
-void DynamicLines::getWorldTransforms(Matrix4 *xform) const
-{
- // return identity matrix to prevent parent transforms
- *xform = Matrix4::IDENTITY;
-}
-*/
-/*
-const Quaternion &DynamicLines::getWorldOrientation(void) const
-{
- return Quaternion::IDENTITY;
-}
-
-const Vector3 &DynamicLines::getWorldPosition(void) const
-{
- return Vector3::ZERO;
-}
-*/
-}
Modified: trunk/src/orxonox/tools/DynamicLines.h
===================================================================
--- trunk/src/orxonox/tools/DynamicLines.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/DynamicLines.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,67 +1,96 @@
-#ifndef _DYNAMIC_LINES_H_
-#define _DYNAMIC_LINES_H_
+/*
+ * 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:
+ * Baxissimo, Emmeran, DWORD, EtherDrive (OGRE Wiki)
+ * Co-authors:
+ * ...
+ *
+ */
+#ifndef _DynamicLines_H__
+#define _DynamicLines_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include <vector>
#include "DynamicRenderable.h"
-#include <vector>
-namespace orxonox
+namespace Ogre
{
-class DynamicLines : public DynamicRenderable
-{
- typedef Ogre::Vector3 Vector3;
- typedef Ogre::Quaternion Quaternion;
- typedef Ogre::Camera Camera;
- typedef Ogre::Real Real;
- typedef Ogre::RenderOperation::OperationType OperationType;
+ class DynamicLines : public DynamicRenderable
+ {
+ typedef RenderOperation::OperationType OperationType;
-public:
- /// Constructor - see setOperationType() for description of argument.
- DynamicLines(OperationType opType=Ogre::RenderOperation::OT_LINE_STRIP);
- virtual ~DynamicLines();
+ public:
+ /// Constructor - see setOperationType() for description of argument.
+ DynamicLines(OperationType opType = RenderOperation::OT_LINE_STRIP);
+ virtual ~DynamicLines();
- /// Add a point to the point list
- void addPoint(const Ogre::Vector3 &p);
- /// Add a point to the point list
- void addPoint(Real x, Real y, Real z);
+ /// Add a point to the point list
+ void addPoint(const Vector3 &p);
+ /// Add a point to the point list
+ void addPoint(Real x, Real y, Real z);
- /// Change the location of an existing point in the point list
- void setPoint(unsigned short index, const Vector3 &value);
+ /// Change the location of an existing point in the point list
+ void setPoint(unsigned short index, const Vector3 &value);
- /// Return the location of an existing point in the point list
- const Vector3& getPoint(unsigned short index) const;
+ /// Return the location of an existing point in the point list
+ const Vector3& getPoint(unsigned short index) const;
- /// Return the total number of points in the point list
- unsigned short getNumPoints(void) const;
+ /// Return the total number of points in the point list
+ unsigned short getNumPoints(void) const;
- /// Remove all points from the point list
- void clear();
+ /// Remove all points from the point list
+ void clear();
- /// Call this to update the hardware buffer after making changes.
- void update();
+ /// Call this to update the hardware buffer after making changes.
+ void update();
- /** Set the type of operation to draw with.
- * @param opType Can be one of
- * - RenderOperation::OT_LINE_STRIP
- * - RenderOperation::OT_LINE_LIST
- * - RenderOperation::OT_POINT_LIST
- * - RenderOperation::OT_TRIANGLE_LIST
- * - RenderOperation::OT_TRIANGLE_STRIP
- * - RenderOperation::OT_TRIANGLE_FAN
- * The default is OT_LINE_STRIP.
- */
- void setOperationType(OperationType opType);
- OperationType getOperationType() const;
+ /**
+ @brief
+ Set the type of operation to draw with.
+ @param opType
+ Can be one of
+ - RenderOperation::OT_LINE_STRIP
+ - RenderOperation::OT_LINE_LIST
+ - RenderOperation::OT_POINT_LIST
+ - RenderOperation::OT_TRIANGLE_LIST
+ - RenderOperation::OT_TRIANGLE_STRIP
+ - RenderOperation::OT_TRIANGLE_FAN
+ The default is OT_LINE_STRIP.
+ */
+ void setOperationType(OperationType opType);
+ OperationType getOperationType() const;
-protected:
- /// Implementation DynamicRenderable, creates a simple vertex-only decl
- virtual void createVertexDeclaration();
- /// Implementation DynamicRenderable, pushes point list out to hardware memory
- virtual void fillHardwareBuffers();
+ protected:
+ /// Implementation DynamicRenderable, creates a simple vertex-only decl
+ virtual void createVertexDeclaration();
+ /// Implementation DynamicRenderable, pushes point list out to hardware memory
+ virtual void fillHardwareBuffers();
-private:
- std::vector<Vector3> mPoints;
- bool mDirty;
-};
+ private:
+ std::vector<Vector3> mPoints;
+ bool mDirty;
+ };
}
-#endif
+#endif /* _DynamicLines_H__ */
Copied: trunk/src/orxonox/tools/DynamicRenderable.cc (from rev 3195, branches/pch/src/orxonox/tools/DynamicRenderable.cc)
===================================================================
--- trunk/src/orxonox/tools/DynamicRenderable.cc (rev 0)
+++ trunk/src/orxonox/tools/DynamicRenderable.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,160 @@
+/*
+ * 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:
+ * Sinbad, Baxissimo, DWORD, TheBren (OGRE Wiki)
+ * Co-authors:
+ * ...
+ *
+ */
+
+#include "DynamicRenderable.h"
+
+#include <OgreCamera.h>
+#include <OgreHardwareBufferManager.h>
+
+namespace Ogre
+{
+ DynamicRenderable::DynamicRenderable()
+ {
+ }
+
+ DynamicRenderable::~DynamicRenderable()
+ {
+ delete mRenderOp.vertexData;
+ delete mRenderOp.indexData;
+ }
+
+ void DynamicRenderable::initialize(RenderOperation::OperationType operationType,
+ bool useIndices)
+ {
+ // Initialize render operation
+ mRenderOp.operationType = operationType;
+ mRenderOp.useIndexes = useIndices;
+ mRenderOp.vertexData = new VertexData;
+ if (mRenderOp.useIndexes)
+ mRenderOp.indexData = new IndexData;
+
+ // Reset buffer capacities
+ mVertexBufferCapacity = 0;
+ mIndexBufferCapacity = 0;
+
+ // Create vertex declaration
+ createVertexDeclaration();
+ }
+
+ void DynamicRenderable::prepareHardwareBuffers(size_t vertexCount, size_t indexCount)
+ {
+ // Prepare vertex buffer
+ size_t newVertCapacity = mVertexBufferCapacity;
+ if ((vertexCount > mVertexBufferCapacity) || (!mVertexBufferCapacity))
+ {
+ // vertexCount exceeds current capacity!
+ // It is necessary to reallocate the buffer.
+
+ // Check if this is the first call
+ if (!newVertCapacity)
+ newVertCapacity = 1;
+
+ // Make capacity the next power of two
+ while (newVertCapacity < vertexCount)
+ newVertCapacity <<= 1;
+ }
+ else if (vertexCount < mVertexBufferCapacity>>1)
+ {
+ // Make capacity the previous power of two
+ while (vertexCount < newVertCapacity>>1)
+ newVertCapacity >>= 1;
+ }
+ if (newVertCapacity != mVertexBufferCapacity)
+ {
+ mVertexBufferCapacity = newVertCapacity;
+ // Create new vertex buffer
+ HardwareVertexBufferSharedPtr vbuf =
+ HardwareBufferManager::getSingleton().createVertexBuffer(
+ mRenderOp.vertexData->vertexDeclaration->getVertexSize(0),
+ mVertexBufferCapacity,
+ HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY); // TODO: Custom HBU_?
+
+ // Bind buffer
+ mRenderOp.vertexData->vertexBufferBinding->setBinding(0, vbuf);
+ }
+ // Update vertex count in the render operation
+ mRenderOp.vertexData->vertexCount = vertexCount;
+
+ if (mRenderOp.useIndexes)
+ {
+ OgreAssert(indexCount <= std::numeric_limits<unsigned short>::max(), "indexCount exceeds 16 bit");
+
+ size_t newIndexCapacity = mIndexBufferCapacity;
+ // Prepare index buffer
+ if ((indexCount > newIndexCapacity) || (!newIndexCapacity))
+ {
+ // indexCount exceeds current capacity!
+ // It is necessary to reallocate the buffer.
+
+ // Check if this is the first call
+ if (!newIndexCapacity)
+ newIndexCapacity = 1;
+
+ // Make capacity the next power of two
+ while (newIndexCapacity < indexCount)
+ newIndexCapacity <<= 1;
+ }
+ else if (indexCount < newIndexCapacity>>1)
+ {
+ // Make capacity the previous power of two
+ while (indexCount < newIndexCapacity>>1)
+ newIndexCapacity >>= 1;
+ }
+
+ if (newIndexCapacity != mIndexBufferCapacity)
+ {
+ mIndexBufferCapacity = newIndexCapacity;
+ // Create new index buffer
+ mRenderOp.indexData->indexBuffer =
+ HardwareBufferManager::getSingleton().createIndexBuffer(
+ HardwareIndexBuffer::IT_16BIT,
+ mIndexBufferCapacity,
+ HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY); // TODO: Custom HBU_?
+ }
+
+ // Update index count in the render operation
+ mRenderOp.indexData->indexCount = indexCount;
+ }
+ }
+
+ Real DynamicRenderable::getBoundingRadius(void) const
+ {
+ return Math::Sqrt(std::max(mBox.getMaximum().squaredLength(), mBox.getMinimum().squaredLength()));
+ }
+
+ Real DynamicRenderable::getSquaredViewDepth(const Camera* cam) const
+ {
+ Vector3 vMin, vMax, vMid, vDist;
+ vMin = mBox.getMinimum();
+ vMax = mBox.getMaximum();
+ vMid = ((vMax - vMin) * 0.5) + vMin;
+ vDist = cam->getDerivedPosition() - vMid;
+
+ return vDist.squaredLength();
+ }
+}
Deleted: trunk/src/orxonox/tools/DynamicRenderable.cpp
===================================================================
--- trunk/src/orxonox/tools/DynamicRenderable.cpp 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/DynamicRenderable.cpp 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,136 +0,0 @@
-#include "DynamicRenderable.h"
-#include <OgreCamera.h>
-#include <OgreHardwareBufferManager.h>
-
-using namespace Ogre;
-
-namespace orxonox
-{
-DynamicRenderable::DynamicRenderable()
-{
-}
-
-DynamicRenderable::~DynamicRenderable()
-{
- delete mRenderOp.vertexData;
- delete mRenderOp.indexData;
-}
-
-void DynamicRenderable::initialize(RenderOperation::OperationType operationType,
- bool useIndices)
-{
- // Initialize render operation
- mRenderOp.operationType = operationType;
- mRenderOp.useIndexes = useIndices;
- mRenderOp.vertexData = new VertexData;
- if (mRenderOp.useIndexes)
- mRenderOp.indexData = new IndexData;
-
- // Reset buffer capacities
- mVertexBufferCapacity = 0;
- mIndexBufferCapacity = 0;
-
- // Create vertex declaration
- createVertexDeclaration();
-}
-
-void DynamicRenderable::prepareHardwareBuffers(size_t vertexCount,
- size_t indexCount)
-{
- // Prepare vertex buffer
- size_t newVertCapacity = mVertexBufferCapacity;
- if ((vertexCount > mVertexBufferCapacity) ||
- (!mVertexBufferCapacity))
- {
- // vertexCount exceeds current capacity!
- // It is necessary to reallocate the buffer.
-
- // Check if this is the first call
- if (!newVertCapacity)
- newVertCapacity = 1;
-
- // Make capacity the next power of two
- while (newVertCapacity < vertexCount)
- newVertCapacity <<= 1;
- }
- else if (vertexCount < mVertexBufferCapacity>>1) {
- // Make capacity the previous power of two
- while (vertexCount < newVertCapacity>>1)
- newVertCapacity >>= 1;
- }
- if (newVertCapacity != mVertexBufferCapacity)
- {
- mVertexBufferCapacity = newVertCapacity;
- // Create new vertex buffer
- HardwareVertexBufferSharedPtr vbuf =
- HardwareBufferManager::getSingleton().createVertexBuffer(
- mRenderOp.vertexData->vertexDeclaration->getVertexSize(0),
- mVertexBufferCapacity,
- HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY); // TODO: Custom HBU_?
-
- // Bind buffer
- mRenderOp.vertexData->vertexBufferBinding->setBinding(0, vbuf);
- }
- // Update vertex count in the render operation
- mRenderOp.vertexData->vertexCount = vertexCount;
-
- if (mRenderOp.useIndexes)
- {
- OgreAssert(indexCount <= std::numeric_limits<unsigned short>::max(), "indexCount exceeds 16 bit");
-
- size_t newIndexCapacity = mIndexBufferCapacity;
- // Prepare index buffer
- if ((indexCount > newIndexCapacity) ||
- (!newIndexCapacity))
- {
- // indexCount exceeds current capacity!
- // It is necessary to reallocate the buffer.
-
- // Check if this is the first call
- if (!newIndexCapacity)
- newIndexCapacity = 1;
-
- // Make capacity the next power of two
- while (newIndexCapacity < indexCount)
- newIndexCapacity <<= 1;
-
- }
- else if (indexCount < newIndexCapacity>>1)
- {
- // Make capacity the previous power of two
- while (indexCount < newIndexCapacity>>1)
- newIndexCapacity >>= 1;
- }
-
- if (newIndexCapacity != mIndexBufferCapacity)
- {
- mIndexBufferCapacity = newIndexCapacity;
- // Create new index buffer
- mRenderOp.indexData->indexBuffer =
- HardwareBufferManager::getSingleton().createIndexBuffer(
- HardwareIndexBuffer::IT_16BIT,
- mIndexBufferCapacity,
- HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY); // TODO: Custom HBU_?
- }
-
- // Update index count in the render operation
- mRenderOp.indexData->indexCount = indexCount;
- }
-}
-
-Real DynamicRenderable::getBoundingRadius(void) const
-{
- return Math::Sqrt(std::max(mBox.getMaximum().squaredLength(), mBox.getMinimum().squaredLength()));
-}
-
-Real DynamicRenderable::getSquaredViewDepth(const Camera* cam) const
-{
- Vector3 vMin, vMax, vMid, vDist;
- vMin = mBox.getMinimum();
- vMax = mBox.getMaximum();
- vMid = ((vMax - vMin) * 0.5) + vMin;
- vDist = cam->getDerivedPosition() - vMid;
-
- return vDist.squaredLength();
-}
-}
Modified: trunk/src/orxonox/tools/DynamicRenderable.h
===================================================================
--- trunk/src/orxonox/tools/DynamicRenderable.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/DynamicRenderable.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,72 +1,116 @@
-#ifndef DYNAMIC_RENDERABLE_H
-#define DYNAMIC_RENDERABLE_H
+/*
+ * 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:
+ * Sinbad, Baxissimo, DWORD, TheBren (OGRE Wiki)
+ * Co-authors:
+ * ...
+ *
+ */
+#ifndef _DynamicRenderable_H__
+#define _DynamicRenderable_H__
+
+#include "OrxonoxPrereqs.h"
+
#include <OgreSimpleRenderable.h>
-namespace orxonox
+namespace Ogre
{
-/// Abstract base class providing mechanisms for dynamically growing hardware buffers.
-class DynamicRenderable : public Ogre::SimpleRenderable
-{
-public:
- /// Constructor
- DynamicRenderable();
- /// Virtual destructor
- virtual ~DynamicRenderable();
+ /// Abstract base class providing mechanisms for dynamically growing hardware buffers.
+ class DynamicRenderable : public SimpleRenderable
+ {
+ public:
+ /// Constructor
+ DynamicRenderable();
+ /// Virtual destructor
+ virtual ~DynamicRenderable();
- /** Initializes the dynamic renderable.
- @remarks
- This function should only be called once. It initializes the
- render operation, and calls the abstract function
- createVertexDeclaration().
- @param operationType The type of render operation to perform.
- @param useIndices Specifies whether to use indices to determine the
- vertices to use as input. */
- void initialize(Ogre::RenderOperation::OperationType operationType,
- bool useIndices);
+ /**
+ @brief
+ Initializes the dynamic renderable.
+ @remarks
+ This function should only be called once. It initializes the
+ render operation, and calls the abstract function
+ createVertexDeclaration().
+ @param operationType
+ The type of render operation to perform.
+ @param useIndices
+ Specifies whether to use indices to determine the vertices to use as input.
+ */
+ void initialize(RenderOperation::OperationType operationType,
+ bool useIndices);
- /// Implementation of Ogre::SimpleRenderable
- virtual Ogre::Real getBoundingRadius(void) const;
- /// Implementation of Ogre::SimpleRenderable
- virtual Ogre::Real getSquaredViewDepth(const Ogre::Camera* cam) const;
+ /// Implementation of SimpleRenderable
+ virtual Real getBoundingRadius(void) const;
+ /// Implementation of SimpleRenderable
+ virtual Real getSquaredViewDepth(const Camera* cam) const;
-protected:
- /// Maximum capacity of the currently allocated vertex buffer.
- size_t mVertexBufferCapacity;
- /// Maximum capacity of the currently allocated index buffer.
- size_t mIndexBufferCapacity;
+ protected:
+ /// Maximum capacity of the currently allocated vertex buffer.
+ size_t mVertexBufferCapacity;
+ /// Maximum capacity of the currently allocated index buffer.
+ size_t mIndexBufferCapacity;
- /** Creates the vertex declaration.
- @remarks
- Override and set mRenderOp.vertexData->vertexDeclaration here.
- mRenderOp.vertexData will be created for you before this method
- is called. */
- virtual void createVertexDeclaration() = 0;
+ /**
+ @brief
+ Creates the vertex declaration.
+ @remarks
+ Override and set mRenderOp.vertexData->vertexDeclaration here.
+ mRenderOp.vertexData will be created for you before this method
+ is called.
+ */
+ virtual void createVertexDeclaration() = 0;
- /** Prepares the hardware buffers for the requested vertex and index counts.
- @remarks
- This function must be called before locking the buffers in
- fillHardwareBuffers(). It guarantees that the hardware buffers
- are large enough to hold at least the requested number of
- vertices and indices (if using indices). The buffers are
- possibly reallocated to achieve this.
- @par
- The vertex and index count in the render operation are set to
- the values of vertexCount and indexCount respectively.
- @param vertexCount The number of vertices the buffer must hold.
+ /**
+ @brief
+ Prepares the hardware buffers for the requested vertex and index counts.
+ @remarks
+ This function must be called before locking the buffers in
+ fillHardwareBuffers(). It guarantees that the hardware buffers
+ are large enough to hold at least the requested number of
+ vertices and indices (if using indices). The buffers are
+ possibly reallocated to achieve this.
+ @par
+ The vertex and index count in the render operation are set to
+ the values of vertexCount and indexCount respectively.
+ @param vertexCount
+ The number of vertices the buffer must hold.
+ @param indexCount
+ The number of indices the buffer must hold. This
+ parameter is ignored if not using indices.
+ */
+ void prepareHardwareBuffers(size_t vertexCount, size_t indexCount);
- @param indexCount The number of indices the buffer must hold. This
- parameter is ignored if not using indices. */
- void prepareHardwareBuffers(size_t vertexCount, size_t indexCount);
-
- /** Fills the hardware vertex and index buffers with data.
- @remarks
- This function must call prepareHardwareBuffers() before locking
- the buffers to ensure the they are large enough for the data to
- be written. Afterwards the vertex and index buffers (if using
- indices) can be locked, and data can be written to them. */
- virtual void fillHardwareBuffers() = 0;
-};
+ /**
+ @brief
+ Fills the hardware vertex and index buffers with data.
+ @remarks
+ This function must call prepareHardwareBuffers() before locking
+ the buffers to ensure the they are large enough for the data to
+ be written. Afterwards the vertex and index buffers (if using
+ indices) can be locked, and data can be written to them.
+ */
+ virtual void fillHardwareBuffers() = 0;
+ };
}
-#endif // DYNAMIC_RENDERABLE_H
+#endif /* _DynamicRenderable_H__ */
Modified: trunk/src/orxonox/tools/Mesh.cc
===================================================================
--- trunk/src/orxonox/tools/Mesh.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Mesh.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -28,14 +28,15 @@
#include "Mesh.h"
+#include <cassert>
#include <sstream>
+#include <string>
#include <OgreEntity.h>
#include <OgreSceneManager.h>
-#include <cassert>
-#include "core/GameMode.h"
#include "util/Convert.h"
#include "util/String.h"
+#include "core/GameMode.h"
namespace orxonox
{
Modified: trunk/src/orxonox/tools/Mesh.h
===================================================================
--- trunk/src/orxonox/tools/Mesh.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Mesh.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,10 +30,8 @@
#define _Mesh_H__
#include "OrxonoxPrereqs.h"
+#include "util/OgreForwardRefs.h"
-#include <string>
-#include <OgrePrerequisites.h>
-
namespace orxonox
{
class _OrxonoxExport Mesh
@@ -57,10 +55,11 @@
{ return this->bCastShadows_; }
private:
- static unsigned int meshCounter_s;
Ogre::Entity* entity_;
bool bCastShadows_;
Ogre::SceneManager* scenemanager_;
+
+ static unsigned int meshCounter_s;
};
}
Modified: trunk/src/orxonox/tools/ParticleInterface.cc
===================================================================
--- trunk/src/orxonox/tools/ParticleInterface.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/ParticleInterface.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,15 +33,17 @@
#include "ParticleInterface.h"
+#include <cassert>
+#include <string>
#include <OgreParticleSystem.h>
#include <OgreParticleEmitter.h>
#include <OgreSceneManager.h>
-#include <cassert>
+#include "util/Convert.h"
+#include "util/Math.h"
+#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
#include "GraphicsManager.h"
-#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
-#include "util/Convert.h"
namespace orxonox
{
@@ -131,7 +133,7 @@
else
return 0;
}
- Ogre::ParticleAffector* ParticleInterface::getAffector(unsigned int affectorNr) const
+ Ogre::ParticleAffector* ParticleInterface::getAffector(unsigned int affectorNr)
{
if (this->particleSystem_ && (affectorNr < this->particleSystem_->getNumAffectors()))
return this->particleSystem_->getAffector(affectorNr);
Modified: trunk/src/orxonox/tools/ParticleInterface.h
===================================================================
--- trunk/src/orxonox/tools/ParticleInterface.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/ParticleInterface.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -31,13 +31,9 @@
#include "OrxonoxPrereqs.h"
-#include <string>
-#include <OgrePrerequisites.h>
+#include "util/OgreForwardRefs.h"
+#include "interfaces/TimeFactorListener.h"
-#include "core/OrxonoxClass.h"
-#include "util/Math.h"
-#include "tools/TimeFactorListener.h"
-
#define getAllEmitters() \
storeThisAsCurrentParticleInterface(); \
for (unsigned int i = 0; i < ParticleInterface::getCurrentParticleInterface()->getNumEmitters(); ++i) \
@@ -51,7 +47,7 @@
ParticleInterface(Ogre::SceneManager* scenemanager, const std::string& templateName, LODParticle::LOD detaillevel);
virtual ~ParticleInterface();
- inline Ogre::ParticleSystem* getParticleSystem() const
+ inline Ogre::ParticleSystem* getParticleSystem()
{ return this->particleSystem_; }
Ogre::ParticleEmitter* createNewEmitter();
@@ -61,7 +57,7 @@
unsigned int getNumEmitters() const;
Ogre::ParticleAffector* addAffector(const std::string& name);
- Ogre::ParticleAffector* getAffector(unsigned int affectorNr) const;
+ Ogre::ParticleAffector* getAffector(unsigned int affectorNr);
void removeAffector(unsigned int affectorNr);
void removeAllAffectors();
unsigned int getNumAffectors() const;
@@ -94,16 +90,16 @@
private:
void updateVisibility();
- static ParticleInterface* currentParticleInterface_s;
- static unsigned int counter_s;
-
Ogre::ParticleSystem* particleSystem_;
+ Ogre::SceneManager* scenemanager_;
bool bVisible_;
bool bEnabled_;
bool bAllowedByLOD_;
unsigned int detaillevel_; //!< Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high)
float speedFactor_;
- Ogre::SceneManager* scenemanager_;
+
+ static ParticleInterface* currentParticleInterface_s;
+ static unsigned int counter_s;
};
}
Modified: trunk/src/orxonox/tools/Shader.cc
===================================================================
--- trunk/src/orxonox/tools/Shader.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Shader.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -33,18 +33,15 @@
#include <OgreSceneManager.h>
#include <OgreRoot.h>
#include <OgrePlugin.h>
-
-#include "core/GameMode.h"
-#include "core/CoreIncludes.h"
-#include "core/Executor.h"
-#include "GraphicsManager.h"
-#include "util/Exception.h"
-
#include <OgreMaterial.h>
#include <OgreTechnique.h>
#include <OgrePass.h>
#include <OgreMaterialManager.h>
+#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
+#include "GraphicsManager.h"
+
namespace orxonox
{
bool Shader::bLoadedCgPlugin_s = false;
@@ -218,7 +215,7 @@
if (pointer->first)
return (*((float*)pointer->second));
else
- return (*((int*)pointer->second));
+ return static_cast<float>(*((int*)pointer->second));
}
else
return 0;
Modified: trunk/src/orxonox/tools/Shader.h
===================================================================
--- trunk/src/orxonox/tools/Shader.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Shader.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,11 +30,13 @@
#define _Shader_H__
#include "OrxonoxPrereqs.h"
-#include <OgrePrerequisites.h>
+
+#include <map>
+#include <string>
#include <vector>
-#include <map>
-#include "objects/Tickable.h"
+#include "util/OgreForwardRefs.h"
+#include "interfaces/Tickable.h"
namespace orxonox
{
Modified: trunk/src/orxonox/tools/TextureGenerator.cc
===================================================================
--- trunk/src/orxonox/tools/TextureGenerator.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/TextureGenerator.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,14 +32,16 @@
*/
#include "TextureGenerator.h"
+
#include <OgreMaterialManager.h>
#include <OgreTechnique.h>
#include "util/Convert.h"
+#include "util/Math.h"
namespace std
{
template <>
- bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const
+ inline bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const
{
if (__x.r == __y.r)
{
@@ -62,7 +64,7 @@
std::map<std::string, std::map<ColourValue, std::string> > TextureGenerator::materials_s;
unsigned int TextureGenerator::materialCount_s = 0;
- /*static*/ const std::string& TextureGenerator::getMaterialName(std::string textureName, const ColourValue& colour)
+ /*static*/ const std::string& TextureGenerator::getMaterialName(const std::string& textureName, const ColourValue& colour)
{
std::map<ColourValue, std::string>& colourMap = materials_s[textureName];
std::map<ColourValue, std::string>::const_iterator it = colourMap.find(colour);
Modified: trunk/src/orxonox/tools/TextureGenerator.h
===================================================================
--- trunk/src/orxonox/tools/TextureGenerator.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/TextureGenerator.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,16 +35,17 @@
#define _TextureGenerator_H__
#include "OrxonoxPrereqs.h"
+
+#include <map>
#include <string>
-#include <map>
-#include "util/Math.h"
+#include "util/UtilPrereqs.h"
namespace orxonox
{
class _OrxonoxExport TextureGenerator
{
public:
- static const std::string& getMaterialName(std::string textureName, const ColourValue& colour);
+ static const std::string& getMaterialName(const std::string& textureName, const ColourValue& colour);
private:
TextureGenerator();
Deleted: trunk/src/orxonox/tools/TimeFactorListener.cc
===================================================================
--- trunk/src/orxonox/tools/TimeFactorListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/TimeFactorListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,40 +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 "TimeFactorListener.h"
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- float TimeFactorListener::timefactor_s = 1.0f;
-
- TimeFactorListener::TimeFactorListener()
- {
- RegisterRootObject(TimeFactorListener);
- }
-}
Deleted: trunk/src/orxonox/tools/TimeFactorListener.h
===================================================================
--- trunk/src/orxonox/tools/TimeFactorListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/TimeFactorListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,56 +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 _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.cc
===================================================================
--- trunk/src/orxonox/tools/Timer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Timer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -26,15 +26,15 @@
*
*/
+#include "Timer.h"
+
#include <set>
-#include "Timer.h"
-
-#include "core/Executor.h"
#include "core/CoreIncludes.h"
#include "core/ConsoleCommand.h"
#include "core/CommandExecutor.h"
#include "core/Clock.h"
+#include "core/Functor.h"
namespace orxonox
{
Modified: trunk/src/orxonox/tools/Timer.h
===================================================================
--- trunk/src/orxonox/tools/Timer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/Timer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -61,9 +61,10 @@
#define _Timer_H__
#include "OrxonoxPrereqs.h"
+
#include "core/Executor.h"
#include "core/OrxonoxClass.h"
-#include "tools/TimeFactorListener.h"
+#include "interfaces/TimeFactorListener.h"
namespace orxonox
{
Deleted: trunk/src/orxonox/tools/WindowEventListener.cc
===================================================================
--- trunk/src/orxonox/tools/WindowEventListener.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/WindowEventListener.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,41 +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 "WindowEventListener.h"
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
- /**
- @brief Constructor for the WindowEventListener.
- */
- WindowEventListener::WindowEventListener()
- {
- RegisterRootObject(WindowEventListener);
- }
-}
Deleted: trunk/src/orxonox/tools/WindowEventListener.h
===================================================================
--- trunk/src/orxonox/tools/WindowEventListener.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/orxonox/tools/WindowEventListener.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -1,58 +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 _WindowEventListener_H__
-#define _WindowEventListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-
-namespace orxonox
-{
- /**
- @brief Interface for receiving window events.
- */
- class _OrxonoxExport WindowEventListener : virtual public OrxonoxClass
- {
- public:
- WindowEventListener();
- virtual ~WindowEventListener() { }
-
- /** Window has moved position */
- virtual void windowMoved() { }
-
- /** Window has resized */
- virtual void windowResized(unsigned int newWidth, unsigned int newHeight) { }
-
- /** Window has lost/gained focus */
- virtual void windowFocusChanged() { }
- };
-}
-
-#endif /* _WindowEventListener_H__ */
Modified: trunk/src/tinyxml/CMakeLists.txt
===================================================================
--- trunk/src/tinyxml/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/tinyxml/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,17 +29,16 @@
tinyxmlerror.cpp
tinyxmlparser.cpp
)
-GENERATE_SOURCE_GROUPS(${TINYXML++_FILES})
# No warnings needed from third party libraries
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
-IF(MSVC)
- ADD_LIBRARY(tinyxml++_orxonox STATIC ${TINYXML++_FILES})
-ELSE()
- ADD_LIBRARY(tinyxml++_orxonox SHARED ${TINYXML++_FILES})
- ORXONOX_INSTALL(tinyxml++_orxonox)
-ENDIF()
-
-SET_TARGET_PROPERTIES(tinyxml++_orxonox PROPERTIES VERSION 2.5.3)
+ORXONOX_ADD_LIBRARY(tinyxml++_orxonox
+ ORXONOX_EXTERNAL
+ NO_DLL_INTERFACE
+ VERSION
+ 2.5.3
+ SOURCE_FILES
+ ${TINYXML++_FILES}
+)
Modified: trunk/src/tolua/CMakeLists.txt
===================================================================
--- trunk/src/tolua/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/tolua/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,22 +35,31 @@
REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
ADD_COMPILER_FLAGS("-w")
-ADD_LIBRARY(tolua++_orxonox SHARED ${TOLUA++_FILES})
-SET_TARGET_PROPERTIES(tolua++_orxonox PROPERTIES DEFINE_SYMBOL "TOLUA_SHARED_BUILD")
-TARGET_LINK_LIBRARIES(tolua++_orxonox ${LUA_LIBRARIES})
+ORXONOX_ADD_LIBRARY(tolua++_orxonox
+ ORXONOX_EXTERNAL
+ DEFINE_SYMBOL
+ "TOLUA_SHARED_BUILD"
+ VERSION
+ 1.0.92
+ LINK_LIBRARIES
+ ${LUA_LIBRARIES}
+ SOURCE_FILES
+ ${TOLUA++_FILES}
+)
-SET_TARGET_PROPERTIES(tolua++_orxonox PROPERTIES VERSION 1.0.92)
-ORXONOX_INSTALL(tolua++_orxonox)
-
-
################## Tolua++ generator ##################
-ADD_EXECUTABLE(tolua++app_orxonox tolua.c)
-TARGET_LINK_LIBRARIES(tolua++app_orxonox tolua++_orxonox ${LUA_LIBRARIES})
+ORXONOX_ADD_EXECUTABLE(tolua++app_orxonox
+ ORXONOX_EXTERNAL
+ VERSION
+ 1.0.92
+ LINK_LIBRARIES
+ ${LUA_LIBRARIES}
+ SOURCE_FILES
+ tolua.c
+)
-OPTION(TOLUA_PARSER_RELEASE "Disable all debug messages from tolua bind files for Release and MinSizeRel build types." FALSE)
-
# Set some variables to the cache in order to use them in the TOLUA macro
SET(TOLUA_PARSER_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/all-${LUA_VERSION}.lua" CACHE INTERNAL "")
SET(TOLUA_PARSER_DEPENDENCIES
Modified: trunk/src/util/CMakeLists.txt
===================================================================
--- trunk/src/util/CMakeLists.txt 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/CMakeLists.txt 2009-06-20 07:20:47 UTC (rev 3196)
@@ -17,27 +17,7 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
-SET_SOURCE_FILES(UTIL_FILES
- CRC32.h
- Clipboard.h
- Convert.h
- Debug.h
- Exception.h
- ExprParser.h
- Math.h
- MathConvert.h
- MultiType.h
- MultiTypeValue.h
- OrxEnum.h
- OutputBuffer.h
- OutputHandler.h
- SignalHandler.h
- Sleep.h
- String.h
- SubString.h
- UtilPrereqs.h
- mbool.h
-
+SET_SOURCE_FILES(UTIL_SRC_FILES
Clipboard.cc
CRC32.cc
Exception.cc
@@ -51,30 +31,18 @@
String.cc
SubString.cc
)
-#GET_ALL_HEADER_FILES(UTIL_HDR_FILES)
-#SET(UTIL_FILES ${UTIL_SRC_FILES} ${UTIL_HDR_FILES})
-GENERATE_SOURCE_GROUPS(${UTIL_FILES})
-# Also add OrxonoxConfig to have it least somewhere in the IDE
-LIST(APPEND UTIL_FILES
- ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h
- ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in
- ${CMAKE_BINARY_DIR}/src/SpecialConfig.h
- ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in
-)
-SOURCE_GROUP("" FILES
- ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h
- ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in
- ${CMAKE_BINARY_DIR}/src/SpecialConfig.h
- ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in
-)
IF(GCC_NO_SYSTEM_HEADER_SUPPORT)
# Get around displaying a few hundred lines of warning code
SET_SOURCE_FILES_PROPERTIES(MultiType.cc PROPERTIES COMPILE_FLAGS "-w")
ENDIF()
-ADD_LIBRARY(util SHARED ${UTIL_FILES})
-SET_TARGET_PROPERTIES(util PROPERTIES DEFINE_SYMBOL "UTIL_SHARED_BUILD")
-TARGET_LINK_LIBRARIES(util ${OGRE_LIBRARY})
-
-ORXONOX_INSTALL(util)
+ORXONOX_ADD_LIBRARY(util
+ FIND_HEADER_FILES
+ DEFINE_SYMBOL
+ "UTIL_SHARED_BUILD"
+ LINK_LIBRARIES
+ ${OGRE_LIBRARY}
+ SOURCE_FILES
+ ${UTIL_SRC_FILES}
+)
Modified: trunk/src/util/CRC32.h
===================================================================
--- trunk/src/util/CRC32.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/CRC32.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -30,7 +30,6 @@
#define _Util_CRC_H__
#include "UtilPrereqs.h"
-#include <iostream>
namespace orxonox
{
Modified: trunk/src/util/Clipboard.cc
===================================================================
--- trunk/src/util/Clipboard.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Clipboard.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -111,7 +111,7 @@
namespace orxonox
{
- std::string clipboard = ""; //!< Keeps the text of our internal clipboard
+ static std::string clipboard = ""; //!< Keeps the text of our internal clipboard
/**
@brief Default implementation if there is no OS-specific implementation or no clipboard. Copies the text into an internal clipboard.
Modified: trunk/src/util/Clipboard.h
===================================================================
--- trunk/src/util/Clipboard.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Clipboard.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -42,7 +42,6 @@
#define _Clipboard_H__
#include "UtilPrereqs.h"
-
#include <string>
namespace orxonox
Modified: trunk/src/util/Convert.h
===================================================================
--- trunk/src/util/Convert.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Convert.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -39,8 +39,6 @@
#include <string>
#include <sstream>
-#include <istream>
-#include <ostream>
#include <typeinfo>
#include "Debug.h"
@@ -122,7 +120,7 @@
namespace orxonox
{
- namespace
+ namespace detail
{
//! Little template that maps integers to entire types (Alexandrescu 2001)
template <int I>
@@ -138,7 +136,7 @@
template <class FromType, class ToType>
struct ConverterFallback
{
- static bool convert(ToType* output, const FromType& input)
+ FORCEINLINE static bool convert(ToType* output, const FromType& input)
{
COUT(2) << "Could not convert value of type " << typeid(FromType).name()
<< " to type " << typeid(ToType).name() << std::endl;
@@ -150,7 +148,7 @@
template <class FromType, class ToType>
struct ConverterFallback<FromType*, ToType*>
{
- static bool convert(ToType** output, FromType* const input)
+ FORCEINLINE static bool convert(ToType** output, FromType* const input)
{
ToType* temp = dynamic_cast<ToType*>(input);
if (temp)
@@ -173,7 +171,7 @@
template <class FromType, class ToType>
struct ConverterStringStream
{
- static bool convert(ToType* output, const FromType& input)
+ FORCEINLINE static bool convert(ToType* output, const FromType& input)
{
return orxonox::ConverterFallback<FromType, ToType>::convert(output, input);
}
@@ -187,7 +185,7 @@
namespace fallbackTemplates
{
template <class FromType>
- inline bool operator <<(std::ostream& outstream, const FromType& input)
+ FORCEINLINE bool operator <<(std::ostream& outstream, const FromType& input)
{
std::string temp;
if (orxonox::ConverterFallback<FromType, std::string>::convert(&temp, input))
@@ -204,7 +202,7 @@
template <class FromType>
struct ConverterStringStream<FromType, std::string>
{
- static bool convert(std::string* output, const FromType& input)
+ FORCEINLINE static bool convert(std::string* output, const FromType& input)
{
using namespace fallbackTemplates;
// this operator call only chooses fallbackTemplates::operator<< if there's no other fitting function
@@ -227,7 +225,7 @@
namespace fallbackTemplates
{
template <class ToType>
- inline bool operator >>(std::istream& instream, ToType& output)
+ FORCEINLINE bool operator >>(std::istream& instream, ToType& output)
{
return orxonox::ConverterFallback<std::string, ToType>
::convert(&output, static_cast<std::istringstream&>(instream).str());
@@ -238,7 +236,7 @@
template <class ToType>
struct ConverterStringStream<std::string, ToType>
{
- static bool convert(ToType* output, const std::string& input)
+ FORCEINLINE static bool convert(ToType* output, const std::string& input)
{
using namespace fallbackTemplates;
std::istringstream iss(input);
@@ -261,14 +259,14 @@
// implicit cast not possible, try stringstream conversion next
template <class FromType, class ToType>
- inline bool convertImplicitely(ToType* output, const FromType& input, orxonox::Int2Type<false>)
+ FORCEINLINE bool convertImplicitely(ToType* output, const FromType& input, detail::Int2Type<false>)
{
return ConverterStringStream<FromType, ToType>::convert(output, input);
}
// We can cast implicitely
template <class FromType, class ToType>
- inline bool convertImplicitely(ToType* output, const FromType& input, orxonox::Int2Type<true>)
+ FORCEINLINE bool convertImplicitely(ToType* output, const FromType& input, detail::Int2Type<true>)
{
(*output) = static_cast<ToType>(input);
return true;
@@ -283,12 +281,12 @@
template <class FromType, class ToType>
struct ConverterExplicit
{
- static bool convert(ToType* output, const FromType& input)
+ FORCEINLINE static bool convert(ToType* output, const FromType& input)
{
// Try implict cast and probe first. If a simple cast is not possible, it will not compile
// We therefore have to out source it into another template function
const bool probe = ImplicitConversion<FromType, ToType>::exists;
- return convertImplicitely(output, input, orxonox::Int2Type<probe>());
+ return convertImplicitely(output, input, detail::Int2Type<probe>());
}
};
@@ -305,18 +303,11 @@
'Actual conversion sequence' in this file above.
*/
template <class FromType, class ToType>
- inline bool convertValue(ToType* output, const FromType& input)
+ FORCEINLINE bool convertValue(ToType* output, const FromType& input)
{
return ConverterExplicit<FromType, ToType>::convert(output, input);
}
- // For compatibility reasons. The same, but with capital ConvertValue
- template<class FromType, class ToType>
- inline bool ConvertValue(ToType* output, const FromType& input)
- {
- return convertValue(output, input);
- }
-
// Calls convertValue and returns true if the conversion was successful.
// Otherwise the fallback is used.
/**
@@ -330,7 +321,7 @@
A default value that gets written to '*output' if there is no conversion.
*/
template<class FromType, class ToType>
- inline bool convertValue(ToType* output, const FromType& input, const ToType& fallback)
+ FORCEINLINE bool convertValue(ToType* output, const FromType& input, const ToType& fallback)
{
if (convertValue(output, input))
return true;
@@ -341,16 +332,9 @@
}
}
- // for compatibility reason. (capital 'c' in ConvertValue)
- template<class FromType, class ToType>
- inline bool ConvertValue(ToType* output, const FromType& input, const ToType& fallback)
- {
- return convertValue(output, input, fallback);
- }
-
// Directly returns the converted value, even if the conversion was not successful.
template<class FromType, class ToType>
- inline ToType getConvertedValue(const FromType& input)
+ FORCEINLINE ToType getConvertedValue(const FromType& input)
{
ToType output;
convertValue(&output, input);
@@ -359,7 +343,7 @@
// Directly returns the converted value, but uses the fallback on failure.
template<class FromType, class ToType>
- inline ToType getConvertedValue(const FromType& input, const ToType& fallback)
+ FORCEINLINE ToType getConvertedValue(const FromType& input, const ToType& fallback)
{
ToType output;
convertValue(&output, input, fallback);
@@ -369,7 +353,7 @@
// Like getConvertedValue, but the template argument order is in reverse.
// That means you can call it exactly like static_cast<ToType>(fromTypeValue).
template<class ToType, class FromType>
- inline ToType omni_cast(const FromType& input)
+ FORCEINLINE ToType multi_cast(const FromType& input)
{
ToType output;
convertValue(&output, input);
@@ -378,16 +362,16 @@
// convert to string Shortcut
template <class FromType>
- inline std::string convertToString(FromType value)
+ FORCEINLINE std::string convertToString(FromType value)
{
- return getConvertedValue<FromType, std::string>(value);
+ return getConvertedValue<FromType, std::string>(value);
}
// convert from string Shortcut
template <class ToType>
- inline ToType convertFromString(std::string str)
+ FORCEINLINE ToType convertFromString(std::string str)
{
- return getConvertedValue<std::string, ToType>(str);
+ return getConvertedValue<std::string, ToType>(str);
}
////////////////////////////////
@@ -398,7 +382,7 @@
template <class ToType>
struct ConverterExplicit<const char*, ToType>
{
- static bool convert(ToType* output, const char* input)
+ FORCEINLINE static bool convert(ToType* output, const char* input)
{
return convertValue<std::string, ToType>(output, input);
}
@@ -408,7 +392,7 @@
template <>
struct ConverterExplicit<char, std::string>
{
- static bool convert(std::string* output, const char input)
+ FORCEINLINE static bool convert(std::string* output, const char input)
{
*output = std::string(1, input);
return true;
@@ -417,7 +401,7 @@
template <>
struct ConverterExplicit<unsigned char, std::string>
{
- static bool convert(std::string* output, const unsigned char input)
+ FORCEINLINE static bool convert(std::string* output, const unsigned char input)
{
*output = std::string(1, input);
return true;
@@ -426,7 +410,7 @@
template <>
struct ConverterExplicit<std::string, char>
{
- static bool convert(char* output, const std::string input)
+ FORCEINLINE static bool convert(char* output, const std::string input)
{
if (input != "")
*output = input[0];
@@ -438,7 +422,7 @@
template <>
struct ConverterExplicit<std::string, unsigned char>
{
- static bool convert(unsigned char* output, const std::string input)
+ FORCEINLINE static bool convert(unsigned char* output, const std::string input)
{
if (input != "")
*output = input[0];
@@ -453,7 +437,7 @@
template <>
struct ConverterExplicit<bool, std::string>
{
- static bool convert(std::string* output, const bool& input)
+ FORCEINLINE static bool convert(std::string* output, const bool& input)
{
if (input)
*output = "true";
Modified: trunk/src/util/Debug.h
===================================================================
--- trunk/src/util/Debug.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Debug.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -62,8 +62,6 @@
#include "UtilPrereqs.h"
-#include <stdio.h>
-
#include "OutputHandler.h"
namespace orxonox
@@ -72,7 +70,7 @@
@brief Returns the soft debug level, stored in the only existing instance of the OutputHandler class, configured in the config-file.
@return The soft debug level
*/
- static inline int getSoftDebugLevel()
+ inline int getSoftDebugLevel()
{
return OutputHandler::getSoftDebugLevel();
}
Modified: trunk/src/util/Exception.cc
===================================================================
--- trunk/src/util/Exception.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Exception.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,7 +36,7 @@
namespace orxonox
{
- Exception::Exception(const std::string& description, int lineNumber,
+ Exception::Exception(const std::string& description, unsigned int lineNumber,
const char* filename, const char* functionName)
: description_(description)
, lineNumber_(lineNumber)
@@ -51,6 +51,12 @@
, filename_("")
{ }
+ /**
+ @remarks
+ The composed full description gets stored to fullDescription_. But for compliance
+ with std::exception, this method has to be const. Hence fullDescription_ is declared
+ as mutable.
+ */
const std::string& Exception::getFullDescription() const
{
if (fullDescription_ == "")
Modified: trunk/src/util/Exception.h
===================================================================
--- trunk/src/util/Exception.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Exception.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -29,7 +29,7 @@
/**
@file
@brief
- Declaration of the Exception class.
+ Declaration of facilities to handle exceptions.
*/
#ifndef _Exception_H__
@@ -37,63 +37,85 @@
#include "UtilPrereqs.h"
+#include <exception>
+#include <sstream>
#include <string>
-#include <exception>
-#include <cassert>
#include "Debug.h"
namespace orxonox
{
+ /**
+ @brief
+ Base class for all exceptions (derived from std::exception).
+ @details
+ This class provides support for information about the file, the line
+ and the function the error occured.
+ */
class _UtilExport Exception : public std::exception
{
public:
-
- Exception(const std::string& description, int lineNumber,
+ /**
+ @brief
+ Creates the exception but doesn't yet compose the full descrption (because of the virtual functions)
+ @param description
+ Exception description as string. This message is supposed to help developers!
+ */
+ Exception(const std::string& description, unsigned int lineNumber,
const char* filename, const char* functionName);
+ //! Simplified constructor with just a description. If you need more, use the other one.
Exception(const std::string& description);
- /// Needed for compatibility with std::exception (from Ogre::Exception)
+ //! Needed for compatibility with std::exception
virtual ~Exception() throw() { }
+ //! Returns a full description with type, line, file and function
virtual const std::string& getFullDescription() const;
+ //! Returns the string name of the exception type
virtual std::string getTypeName() const = 0;
+ //! Returns the short developer written exception
virtual const std::string& getDescription() const { return this->description_; }
- virtual const int getLineNumber() const { return this->lineNumber_; }
+ //! Returns the line number on which the exception occurred.
+ virtual const unsigned int getLineNumber() const { return this->lineNumber_; }
+ //! Returns the function in which the exception occurred.
virtual const std::string& getFunctionName() const { return this->functionName_; }
+ //! Returns the filename in which the exception occurred.
+ virtual const std::string& getFilename() const { return this->filename_; }
- /// Override std::exception::what (from Ogre::Exception)
+ //! Returns a full description of the error.
const char* what() const throw() { return getFullDescription().c_str(); }
protected:
- std::string description_;
- int lineNumber_;
- std::string functionName_;
- std::string filename_;
+ std::string description_; //!< User typed text about why the exception occurred
+ unsigned int lineNumber_; //!< Line on which the exception occurred
+ std::string functionName_; //!< Function (including namespace and class) where the exception occurred
+ std::string filename_; //!< File where the exception occurred
// mutable because "what()" is a const method
- mutable std::string fullDescription_;
+ mutable std::string fullDescription_; //!< Full description with line, file and function
};
-
+//! Creates a new type of exception that inherits from tracker::Exception
#define CREATE_ORXONOX_EXCEPTION(ExceptionName) \
class ExceptionName##Exception : public Exception \
{ \
public: \
- ExceptionName##Exception(const std::string& description, int lineNumber, \
- const char* filename, const char* functionName) \
- : Exception(description, lineNumber, filename, functionName) \
+ ExceptionName##Exception(const std::string& description, \
+ unsigned int lineNumber, const char* filename, \
+ const char* functionName) \
+ : Exception(description, lineNumber, filename, functionName) \
{ } \
\
ExceptionName##Exception(const std::string& description) \
- : Exception(description) \
+ : Exception(description) \
{ } \
\
~ExceptionName##Exception() throw() { } \
\
std::string getTypeName() const { return #ExceptionName; } \
- };
+ }
// Creates all possible exception types.
// If you want to add a new type, simply copy and adjust a new line here.
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
CREATE_ORXONOX_EXCEPTION(General);
CREATE_ORXONOX_EXCEPTION(FileNotFound);
CREATE_ORXONOX_EXCEPTION(Argument);
@@ -105,30 +127,33 @@
CREATE_ORXONOX_EXCEPTION(GameState);
CREATE_ORXONOX_EXCEPTION(NoGraphics);
CREATE_ORXONOX_EXCEPTION(AbortLoading);
-}
+#endif
/**
@brief
- Helper function that creates an exception, displays the message, but doesn't throw it.
+ Helper function that forwards an exception and displays the message.
+ @details
+ This is necessary because only when using 'throw' the objects storage is managed.
*/
template <class T>
- inline const T& InternalHandleException(const T& exception)
+ inline const T& exceptionThrowerHelper(const T& exception)
{
// let the catcher decide whether to display the message below level 4
COUT(4) << exception.getFullDescription() << std::endl;
return exception;
}
-#define ThrowException(type, description) \
- throw InternalHandleException(type##Exception(description, __LINE__, __FILE__, __FUNCTIONNAME__))
+/**
+ at brief
+ Throws an exception and logs a message beforehand.
+ at param type
+ Type of the exception as literal (General, Initialisation, etc.)
+ at param description
+ Exception description as string
+*/
+#define ThrowException(type, description, ...) \
+ throw orxonox::exceptionThrowerHelper(type##Exception(static_cast<std::ostringstream&>(std::ostringstream().flush() << description).str(), __LINE__, __FILE__, __FUNCTIONNAME__))
- // define an assert macro that can display a message
-#ifndef NDEBUG
-#define OrxAssert(Assertion, ErrorMessage) \
- Assertion ? ((void)0) : (void)(orxonox::OutputHandler::getOutStream().setOutputLevel(ORX_ERROR) << ErrorMessage << std::endl); \
- assert(Assertion)
-#else
-#define OrxAssert(condition, errorMessage) ((void)0)
-#endif
+} /* namespace orxonox */
#endif /* _Exception_H__ */
Modified: trunk/src/util/ExprParser.cc
===================================================================
--- trunk/src/util/ExprParser.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/ExprParser.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,7 +34,7 @@
#include "ExprParser.h"
#include <cmath>
#include <cstring>
-#include <stdlib.h>
+#include <cstdlib>
// macros for easier if, else statements
#define CASE_1(var) if (!strcmp(SWITCH,var))
@@ -246,11 +246,11 @@
this->failed_ = true;
return 0;
}
- else if (*reading_stream > 47 && *reading_stream < 59 || *reading_stream == 46)
+ else if ((*reading_stream > 47 && *reading_stream < 59) || *reading_stream == 46)
{ // number
value = strtod(reading_stream, const_cast<char**>(&reading_stream));
}
- else if (*reading_stream > 64 && *reading_stream < 91 || *reading_stream > 96 && *reading_stream < 123 || *reading_stream == 46)
+ else if ((*reading_stream > 64 && *reading_stream < 91) || (*reading_stream > 96 && *reading_stream < 123) || *reading_stream == 46)
{ // variable or function
char* word = new char[256];
parse_word(word);
@@ -383,7 +383,7 @@
{
char* word = str;
int counter = 0;
- while (*reading_stream > 47 && *reading_stream < 58 || *reading_stream > 64 && *reading_stream < 91 || *reading_stream > 96 && *reading_stream < 123 || *reading_stream == 46)
+ while ((*reading_stream > 47 && *reading_stream < 58) || (*reading_stream > 64 && *reading_stream < 91) || (*reading_stream > 96 && *reading_stream < 123) || *reading_stream == 46)
{
*word++ = *reading_stream++;
counter++;
Modified: trunk/src/util/ExprParser.h
===================================================================
--- trunk/src/util/ExprParser.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/ExprParser.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -71,9 +71,9 @@
ExprParser(const std::string& str);
- std::string& getRemains() { return this->remains_; }
- double getResult() { return this->result_; }
- bool getSuccess() { return !this->failed_; }
+ const std::string& getRemains() { return this->remains_; }
+ double getResult() { return this->result_; }
+ bool getSuccess() { return !this->failed_; }
private:
double parse_expr_1();
Modified: trunk/src/util/Math.cc
===================================================================
--- trunk/src/util/Math.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Math.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,10 +34,10 @@
#include "Math.h"
#include <OgrePlane.h>
+
#include "MathConvert.h"
#include "SubString.h"
-
-// Do not remove this include to avoid linker errors.
+// Do not remove this include, it avoids linker errors.
#include "mbool.h"
namespace orxonox
@@ -237,9 +237,9 @@
",", SubString::WhiteSpaces, false, '\\', true, '"', true, '\0', '\0', true, '\0');
if (tokens.size() >= 2)
{
- if (!ConvertValue(&(output->x), tokens[0]))
+ if (!convertValue(&(output->x), tokens[0]))
return false;
- if (!ConvertValue(&(output->y), tokens[1]))
+ if (!convertValue(&(output->y), tokens[1]))
return false;
return true;
@@ -260,11 +260,11 @@
",", SubString::WhiteSpaces, false, '\\', true, '"', true, '\0', '\0', true, '\0');
if (tokens.size() >= 3)
{
- if (!ConvertValue(&(output->x), tokens[0]))
+ if (!convertValue(&(output->x), tokens[0]))
return false;
- if (!ConvertValue(&(output->y), tokens[1]))
+ if (!convertValue(&(output->y), tokens[1]))
return false;
- if (!ConvertValue(&(output->z), tokens[2]))
+ if (!convertValue(&(output->z), tokens[2]))
return false;
return true;
@@ -285,13 +285,13 @@
",", SubString::WhiteSpaces, false, '\\', true, '"', true, '\0', '\0', true, '\0');
if (tokens.size() >= 4)
{
- if (!ConvertValue(&(output->x), tokens[0]))
+ if (!convertValue(&(output->x), tokens[0]))
return false;
- if (!ConvertValue(&(output->y), tokens[1]))
+ if (!convertValue(&(output->y), tokens[1]))
return false;
- if (!ConvertValue(&(output->z), tokens[2]))
+ if (!convertValue(&(output->z), tokens[2]))
return false;
- if (!ConvertValue(&(output->w), tokens[3]))
+ if (!convertValue(&(output->w), tokens[3]))
return false;
return true;
@@ -308,13 +308,13 @@
SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', true, '"', true, '\0', '\0', true, '\0');
if (tokens.size() >= 4)
{
- if (!ConvertValue(&(output->w), tokens[0]))
+ if (!convertValue(&(output->w), tokens[0]))
return false;
- if (!ConvertValue(&(output->x), tokens[1]))
+ if (!convertValue(&(output->x), tokens[1]))
return false;
- if (!ConvertValue(&(output->y), tokens[2]))
+ if (!convertValue(&(output->y), tokens[2]))
return false;
- if (!ConvertValue(&(output->z), tokens[3]))
+ if (!convertValue(&(output->z), tokens[3]))
return false;
return true;
@@ -331,15 +331,15 @@
SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', true, '"', true, '\0', '\0', true, '\0');
if (tokens.size() >= 3)
{
- if (!ConvertValue(&(output->r), tokens[0]))
+ if (!convertValue(&(output->r), tokens[0]))
return false;
- if (!ConvertValue(&(output->g), tokens[1]))
+ if (!convertValue(&(output->g), tokens[1]))
return false;
- if (!ConvertValue(&(output->b), tokens[2]))
+ if (!convertValue(&(output->b), tokens[2]))
return false;
if (tokens.size() >= 4)
{
- if (!ConvertValue(&(output->a), tokens[3]))
+ if (!convertValue(&(output->a), tokens[3]))
return false;
}
else
Modified: trunk/src/util/Math.h
===================================================================
--- trunk/src/util/Math.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Math.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -36,17 +36,13 @@
#include "UtilPrereqs.h"
-#include <ostream>
#include <string>
#include <cmath>
-#include <boost/static_assert.hpp>
#include <OgreMath.h>
#include <OgreVector2.h>
#include <OgreVector3.h>
#include <OgreVector4.h>
-#include <OgreMatrix3.h>
-#include <OgreMatrix4.h>
#include <OgreQuaternion.h>
#include <OgreColourValue.h>
@@ -57,34 +53,6 @@
namespace orxonox
{
- using Ogre::Radian;
- using Ogre::Degree;
- using Ogre::Vector2;
- using Ogre::Vector3;
- using Ogre::Vector4;
- using Ogre::Matrix3;
- using Ogre::Matrix4;
- using Ogre::Quaternion;
- using Ogre::ColourValue;
-
- // Also define our own transform space enum
- namespace TransformSpace
- {
- /**
- @brief
- Enumeration denoting the spaces which a transform can be relative to.
- */
- enum Enum
- {
- //! Transform is relative to the local space
- Local,
- //! Transform is relative to the space of the parent node
- Parent,
- //! Transform is relative to world space
- World
- };
- }
-
_UtilExport std::ostream& operator<<(std::ostream& out, const orxonox::Radian& radian);
_UtilExport std::istream& operator>>(std::istream& in, orxonox::Radian& radian);
_UtilExport std::ostream& operator<<(std::ostream& out, const orxonox::Degree& degree);
@@ -216,6 +184,19 @@
template <> inline orxonox::ColourValue zeroise<orxonox::ColourValue>() { return orxonox::ColourValue(0, 0, 0, 0); }
template <> inline orxonox::Quaternion zeroise<orxonox::Quaternion>() { return orxonox::Quaternion (0, 0, 0, 0); }
+ //! Provides zero value symbols that can be returned as reference
+ template <typename T>
+ struct NilValue
+ {
+ inline operator const T&() const
+ {
+ return value;
+ }
+ static T value;
+ };
+ template <typename T>
+ T NilValue<T>::value = zeroise<T>();
+
/**
@brief Interpolates between two values for a time between 0 and 1.
@param time The time is a value between 0 and 1 - the function returns start if time is 0 and end if time is 1 and interpolates if time is between 0 and 1.
@@ -224,7 +205,7 @@
@return The interpolation at a given time
*/
template <typename T>
- T interpolate(float time, const T& start, const T& end)
+ inline T interpolate(float time, const T& start, const T& end)
{
return time * (end - start) + start;
}
@@ -237,7 +218,7 @@
@return The smoothed interpolation at a given time
*/
template <typename T>
- T interpolateSmooth(float time, const T& start, const T& end)
+ inline T interpolateSmooth(float time, const T& start, const T& end)
{
return (-2 * (end - start) * cube(time)) + (3 * (end - start) * square(time)) + start;
}
@@ -247,7 +228,7 @@
*/
inline float rnd()
{
- return rand() / (RAND_MAX + 1.0);
+ return rand() / (RAND_MAX + 1.0f);
}
/**
@@ -274,7 +255,7 @@
*/
inline float rndsgn()
{
- return ((rand() & 0x2) - 1); // rand() & 0x2 is either 2 or 0
+ return static_cast<float>((rand() & 0x2) - 1); // rand() & 0x2 is either 2 or 0
}
_UtilExport unsigned long getUniqueNumber();
@@ -282,20 +263,20 @@
class IntVector2
{
public:
- IntVector2() : x(0), y(0) { }
- IntVector2(int _x, int _y) : x(_x), y(_y) { }
- int x;
- int y;
+ IntVector2() : x(0), y(0) { }
+ IntVector2(int _x, int _y) : x(_x), y(_y) { }
+ int x;
+ int y;
};
class IntVector3
{
public:
- IntVector3() : x(0), y(0), z(0) { }
- IntVector3(int _x, int _y, int _z) : x(_x), y(_y), z(_z) { }
- int x;
- int y;
- int z;
+ IntVector3() : x(0), y(0), z(0) { }
+ IntVector3(int _x, int _y, int _z) : x(_x), y(_y), z(_z) { }
+ int x;
+ int y;
+ int z;
};
}
Modified: trunk/src/util/MathConvert.h
===================================================================
--- trunk/src/util/MathConvert.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/MathConvert.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -49,7 +49,7 @@
template <>
struct ConverterExplicit<orxonox::Vector2, std::string>
{
- static bool convert(std::string* output, const orxonox::Vector2& input)
+ FORCEINLINE static bool convert(std::string* output, const orxonox::Vector2& input)
{
std::ostringstream ostream;
if (ostream << input.x << "," << input.y)
@@ -65,7 +65,7 @@
template <>
struct ConverterExplicit<orxonox::Vector3, std::string>
{
- static bool convert(std::string* output, const orxonox::Vector3& input)
+ FORCEINLINE static bool convert(std::string* output, const orxonox::Vector3& input)
{
std::ostringstream ostream;
if (ostream << input.x << "," << input.y << "," << input.z)
@@ -81,7 +81,7 @@
template <>
struct ConverterExplicit<orxonox::Vector4, std::string>
{
- static bool convert(std::string* output, const orxonox::Vector4& input)
+ FORCEINLINE static bool convert(std::string* output, const orxonox::Vector4& input)
{
std::ostringstream ostream;
if (ostream << input.x << "," << input.y << "," << input.z << "," << input.w)
@@ -97,7 +97,7 @@
template <>
struct ConverterExplicit<orxonox::Quaternion, std::string>
{
- static bool convert(std::string* output, const orxonox::Quaternion& input)
+ FORCEINLINE static bool convert(std::string* output, const orxonox::Quaternion& input)
{
std::ostringstream ostream;
if (ostream << input.w << "," << input.x << "," << input.y << "," << input.z)
@@ -113,7 +113,7 @@
template <>
struct ConverterExplicit<orxonox::ColourValue, std::string>
{
- static bool convert(std::string* output, const orxonox::ColourValue& input)
+ FORCEINLINE static bool convert(std::string* output, const orxonox::ColourValue& input)
{
std::ostringstream ostream;
if (ostream << input.r << "," << input.g << "," << input.b << "," << input.a)
@@ -155,7 +155,7 @@
template <class ToType>
struct ConverterFallback<orxonox::Radian, ToType>
{
- static bool convert(ToType* output, const orxonox::Radian& input)
+ FORCEINLINE static bool convert(ToType* output, const orxonox::Radian& input)
{
return convertValue<Ogre::Real, ToType>(output, input.valueRadians());
}
@@ -165,7 +165,7 @@
template <class ToType>
struct ConverterFallback<orxonox::Degree, ToType>
{
- static bool convert(ToType* output, const orxonox::Degree& input)
+ FORCEINLINE static bool convert(ToType* output, const orxonox::Degree& input)
{
return convertValue<Ogre::Real, ToType>(output, input.valueDegrees());
}
@@ -175,7 +175,7 @@
template <class FromType>
struct ConverterFallback<FromType, orxonox::Radian>
{
- static bool convert(orxonox::Radian* output, const FromType& input)
+ FORCEINLINE static bool convert(orxonox::Radian* output, const FromType& input)
{
float temp;
if (convertValue(&temp, input))
@@ -192,7 +192,7 @@
template <class FromType>
struct ConverterFallback<FromType, orxonox::Degree>
{
- static bool convert(orxonox::Degree* output, const FromType& input)
+ FORCEINLINE static bool convert(orxonox::Degree* output, const FromType& input)
{
float temp;
if (convertValue(&temp, input))
Modified: trunk/src/util/MultiType.cc
===================================================================
--- trunk/src/util/MultiType.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/MultiType.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -158,29 +158,29 @@
};
}
- MultiType::operator char() const { return (this->value_) ? ((this->value_->type_ == MT_char ) ? ((MT_Value<char> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator unsigned char() const { return (this->value_) ? ((this->value_->type_ == MT_uchar ) ? ((MT_Value<unsigned char> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator short() const { return (this->value_) ? ((this->value_->type_ == MT_short ) ? ((MT_Value<short> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator unsigned short() const { return (this->value_) ? ((this->value_->type_ == MT_ushort ) ? ((MT_Value<unsigned short> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator int() const { return (this->value_) ? ((this->value_->type_ == MT_int ) ? ((MT_Value<int> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator unsigned int() const { return (this->value_) ? ((this->value_->type_ == MT_uint ) ? ((MT_Value<unsigned int> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator long() const { return (this->value_) ? ((this->value_->type_ == MT_long ) ? ((MT_Value<long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator unsigned long() const { return (this->value_) ? ((this->value_->type_ == MT_ulong ) ? ((MT_Value<unsigned long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator long long() const { return (this->value_) ? ((this->value_->type_ == MT_longlong ) ? ((MT_Value<long long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator unsigned long long() const { return (this->value_) ? ((this->value_->type_ == MT_ulonglong ) ? ((MT_Value<unsigned long long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator float() const { return (this->value_) ? ((this->value_->type_ == MT_float ) ? ((MT_Value<float> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator double() const { return (this->value_) ? ((this->value_->type_ == MT_double ) ? ((MT_Value<double> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator long double() const { return (this->value_) ? ((this->value_->type_ == MT_longdouble ) ? ((MT_Value<long double> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator bool() const { return (this->value_) ? ((this->value_->type_ == MT_bool ) ? ((MT_Value<bool> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator void*() const { return (this->value_) ? ((this->value_->type_ == MT_void ) ? ((MT_Value<void*> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator std::string() const { return (this->value_) ? ((this->value_->type_ == MT_string ) ? ((MT_Value<std::string> *)this->value_)->value_ : (*this->value_)) : zeroise<std::string>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Vector2() const { return (this->value_) ? ((this->value_->type_ == MT_vector2 ) ? ((MT_Value<orxonox::Vector2> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector2>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Vector3() const { return (this->value_) ? ((this->value_->type_ == MT_vector3 ) ? ((MT_Value<orxonox::Vector3> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector3>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Vector4() const { return (this->value_) ? ((this->value_->type_ == MT_vector4 ) ? ((MT_Value<orxonox::Vector4> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector4>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::ColourValue() const { return (this->value_) ? ((this->value_->type_ == MT_colourvalue) ? ((MT_Value<orxonox::ColourValue>*)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::ColourValue>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Quaternion() const { return (this->value_) ? ((this->value_->type_ == MT_quaternion ) ? ((MT_Value<orxonox::Quaternion> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Quaternion>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Radian() const { return (this->value_) ? ((this->value_->type_ == MT_radian ) ? ((MT_Value<orxonox::Radian> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Radian>(); } /** @brief Returns the current value, converted to the requested type. */
- MultiType::operator orxonox::Degree() const { return (this->value_) ? ((this->value_->type_ == MT_degree ) ? ((MT_Value<orxonox::Degree> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Degree>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator char() const { return (this->value_) ? ((this->value_->type_ == MT_char ) ? (static_cast<MT_Value<char> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator unsigned char() const { return (this->value_) ? ((this->value_->type_ == MT_uchar ) ? (static_cast<MT_Value<unsigned char> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator short() const { return (this->value_) ? ((this->value_->type_ == MT_short ) ? (static_cast<MT_Value<short> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator unsigned short() const { return (this->value_) ? ((this->value_->type_ == MT_ushort ) ? (static_cast<MT_Value<unsigned short> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator int() const { return (this->value_) ? ((this->value_->type_ == MT_int ) ? (static_cast<MT_Value<int> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator unsigned int() const { return (this->value_) ? ((this->value_->type_ == MT_uint ) ? (static_cast<MT_Value<unsigned int> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator long() const { return (this->value_) ? ((this->value_->type_ == MT_long ) ? (static_cast<MT_Value<long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator unsigned long() const { return (this->value_) ? ((this->value_->type_ == MT_ulong ) ? (static_cast<MT_Value<unsigned long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator long long() const { return (this->value_) ? ((this->value_->type_ == MT_longlong ) ? (static_cast<MT_Value<long long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator unsigned long long() const { return (this->value_) ? ((this->value_->type_ == MT_ulonglong ) ? (static_cast<MT_Value<unsigned long long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator float() const { return (this->value_) ? ((this->value_->type_ == MT_float ) ? (static_cast<MT_Value<float> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator double() const { return (this->value_) ? ((this->value_->type_ == MT_double ) ? (static_cast<MT_Value<double> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator long double() const { return (this->value_) ? ((this->value_->type_ == MT_longdouble ) ? (static_cast<MT_Value<long double> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator bool() const { return (this->value_) ? ((this->value_->type_ == MT_bool ) ? (static_cast<MT_Value<bool> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator void*() const { return (this->value_) ? ((this->value_->type_ == MT_void ) ? (static_cast<MT_Value<void*> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator std::string() const { return (this->value_) ? ((this->value_->type_ == MT_string ) ? (static_cast<MT_Value<std::string> *>(this->value_))->value_ : (*this->value_)) : NilValue<std::string>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Vector2() const { return (this->value_) ? ((this->value_->type_ == MT_vector2 ) ? (static_cast<MT_Value<orxonox::Vector2> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector2>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Vector3() const { return (this->value_) ? ((this->value_->type_ == MT_vector3 ) ? (static_cast<MT_Value<orxonox::Vector3> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector3>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Vector4() const { return (this->value_) ? ((this->value_->type_ == MT_vector4 ) ? (static_cast<MT_Value<orxonox::Vector4> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector4>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::ColourValue() const { return (this->value_) ? ((this->value_->type_ == MT_colourvalue) ? (static_cast<MT_Value<orxonox::ColourValue>*>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::ColourValue>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Quaternion() const { return (this->value_) ? ((this->value_->type_ == MT_quaternion ) ? (static_cast<MT_Value<orxonox::Quaternion> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Quaternion>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Radian() const { return (this->value_) ? ((this->value_->type_ == MT_radian ) ? (static_cast<MT_Value<orxonox::Radian> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Radian>(); } /** @brief Returns the current value, converted to the requested type. */
+ MultiType::operator orxonox::Degree() const { return (this->value_) ? ((this->value_->type_ == MT_degree ) ? (static_cast<MT_Value<orxonox::Degree> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Degree>(); } /** @brief Returns the current value, converted to the requested type. */
template <> void MultiType::createNewValueContainer(const char& value) { this->value_ = new MT_Value<char> (value, MT_char ); } /** @brief Creates a new value container for the given type. */
template <> void MultiType::createNewValueContainer(const unsigned char& value) { this->value_ = new MT_Value<unsigned char> (value, MT_uchar ); } /** @brief Creates a new value container for the given type. */
Modified: trunk/src/util/MultiType.h
===================================================================
--- trunk/src/util/MultiType.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/MultiType.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -68,10 +68,14 @@
#include "UtilPrereqs.h"
-#include <boost/static_assert.hpp>
+#include <cassert>
+#include <string>
+#include <OgreVector2.h>
+#include <OgreVector3.h>
+#include <OgreVector4.h>
+#include <OgreQuaternion.h>
+#include <OgreColourValue.h>
-#include "Math.h"
-
namespace orxonox
{
/**
@@ -440,7 +444,7 @@
/** @brief Changes the value container. */
template <typename T> inline void changeValueContainer(const T& value) { if (this->value_) { delete this->value_; } this->createNewValueContainer<T>(value); }
/** @brief Creates a new value container (works only with specialized types). */
- template <typename T> void createNewValueContainer(const T& value) { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; }
+ template <typename T> void createNewValueContainer(const T& value) { /* STATIC ASSERT */ *****value; return false; }
MT_ValueBase* value_; //!< A pointer to the value container
};
Modified: trunk/src/util/MultiTypeValue.h
===================================================================
--- trunk/src/util/MultiTypeValue.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/MultiTypeValue.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -37,10 +37,11 @@
#define _MultiTypeValue_H__
#include "UtilPrereqs.h"
+
+#include <cassert>
#include "MathConvert.h"
#include "MultiType.h"
#include "Serialise.h"
-#include <cassert>
namespace orxonox
{
@@ -74,53 +75,53 @@
}
}
- inline bool getValue(char* value) const { return ConvertValue<T, char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(unsigned char* value) const { return ConvertValue<T, unsigned char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(short* value) const { return ConvertValue<T, short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(unsigned short* value) const { return ConvertValue<T, unsigned short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(int* value) const { return ConvertValue<T, int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(unsigned int* value) const { return ConvertValue<T, unsigned int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(long* value) const { return ConvertValue<T, long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(unsigned long* value) const { return ConvertValue<T, unsigned long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(long long* value) const { return ConvertValue<T, long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(unsigned long long* value) const { return ConvertValue<T, unsigned long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(float* value) const { return ConvertValue<T, float >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(double* value) const { return ConvertValue<T, double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(long double* value) const { return ConvertValue<T, long double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(bool* value) const { return ConvertValue<T, bool >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(void** value) const { return ConvertValue<T, void* >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(std::string* value) const { return ConvertValue<T, std::string >(value, value_, zeroise<std::string> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Vector2* value) const { return ConvertValue<T, orxonox::Vector2 >(value, value_, zeroise<orxonox::Vector2> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Vector3* value) const { return ConvertValue<T, orxonox::Vector3 >(value, value_, zeroise<orxonox::Vector3> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Vector4* value) const { return ConvertValue<T, orxonox::Vector4 >(value, value_, zeroise<orxonox::Vector4> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::ColourValue* value) const { return ConvertValue<T, orxonox::ColourValue>(value, value_, zeroise<orxonox::ColourValue>()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Quaternion* value) const { return ConvertValue<T, orxonox::Quaternion >(value, value_, zeroise<orxonox::Quaternion> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Radian* value) const { return ConvertValue<T, orxonox::Radian >(value, value_, zeroise<orxonox::Radian> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool getValue(orxonox::Degree* value) const { return ConvertValue<T, orxonox::Degree >(value, value_, zeroise<orxonox::Degree> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(char* value) const { return convertValue<T, char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(unsigned char* value) const { return convertValue<T, unsigned char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(short* value) const { return convertValue<T, short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(unsigned short* value) const { return convertValue<T, unsigned short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(int* value) const { return convertValue<T, int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(unsigned int* value) const { return convertValue<T, unsigned int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(long* value) const { return convertValue<T, long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(unsigned long* value) const { return convertValue<T, unsigned long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(long long* value) const { return convertValue<T, long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(unsigned long long* value) const { return convertValue<T, unsigned long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(float* value) const { return convertValue<T, float >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(double* value) const { return convertValue<T, double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(long double* value) const { return convertValue<T, long double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(bool* value) const { return convertValue<T, bool >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(void** value) const { return convertValue<T, void* >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(std::string* value) const { return convertValue<T, std::string >(value, value_, zeroise<std::string> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Vector2* value) const { return convertValue<T, orxonox::Vector2 >(value, value_, zeroise<orxonox::Vector2> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Vector3* value) const { return convertValue<T, orxonox::Vector3 >(value, value_, zeroise<orxonox::Vector3> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Vector4* value) const { return convertValue<T, orxonox::Vector4 >(value, value_, zeroise<orxonox::Vector4> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::ColourValue* value) const { return convertValue<T, orxonox::ColourValue>(value, value_, zeroise<orxonox::ColourValue>()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Quaternion* value) const { return convertValue<T, orxonox::Quaternion >(value, value_, zeroise<orxonox::Quaternion> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Radian* value) const { return convertValue<T, orxonox::Radian >(value, value_, zeroise<orxonox::Radian> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
+ inline bool getValue(orxonox::Degree* value) const { return convertValue<T, orxonox::Degree >(value, value_, zeroise<orxonox::Degree> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */
- inline bool setValue(const char& value) { return !(bHasDefaultValue_ = !ConvertValue<char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const unsigned char& value) { return !(bHasDefaultValue_ = !ConvertValue<unsigned char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const short& value) { return !(bHasDefaultValue_ = !ConvertValue<short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const unsigned short& value) { return !(bHasDefaultValue_ = !ConvertValue<unsigned short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const int& value) { return !(bHasDefaultValue_ = !ConvertValue<int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const unsigned int& value) { return !(bHasDefaultValue_ = !ConvertValue<unsigned int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const long& value) { return !(bHasDefaultValue_ = !ConvertValue<long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const unsigned long& value) { return !(bHasDefaultValue_ = !ConvertValue<unsigned long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const long long& value) { return !(bHasDefaultValue_ = !ConvertValue<long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const unsigned long long& value) { return !(bHasDefaultValue_ = !ConvertValue<unsigned long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const float& value) { return !(bHasDefaultValue_ = !ConvertValue<float , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const double& value) { return !(bHasDefaultValue_ = !ConvertValue<double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const long double& value) { return !(bHasDefaultValue_ = !ConvertValue<long double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const bool& value) { return !(bHasDefaultValue_ = !ConvertValue<bool , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue( void* const& value) { return !(bHasDefaultValue_ = !ConvertValue<void* , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const std::string& value) { return !(bHasDefaultValue_ = !ConvertValue<std::string , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Vector2& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Vector2 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Vector3& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Vector3 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Vector4& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Vector4 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::ColourValue& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::ColourValue, T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Quaternion& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Quaternion , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Radian& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Radian , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
- inline bool setValue(const orxonox::Degree& value) { return !(bHasDefaultValue_ = !ConvertValue<orxonox::Degree , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const char& value) { return !(bHasDefaultValue_ = !convertValue<char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const unsigned char& value) { return !(bHasDefaultValue_ = !convertValue<unsigned char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const short& value) { return !(bHasDefaultValue_ = !convertValue<short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const unsigned short& value) { return !(bHasDefaultValue_ = !convertValue<unsigned short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const int& value) { return !(bHasDefaultValue_ = !convertValue<int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const unsigned int& value) { return !(bHasDefaultValue_ = !convertValue<unsigned int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const long& value) { return !(bHasDefaultValue_ = !convertValue<long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const unsigned long& value) { return !(bHasDefaultValue_ = !convertValue<unsigned long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const long long& value) { return !(bHasDefaultValue_ = !convertValue<long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const unsigned long long& value) { return !(bHasDefaultValue_ = !convertValue<unsigned long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const float& value) { return !(bHasDefaultValue_ = !convertValue<float , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const double& value) { return !(bHasDefaultValue_ = !convertValue<double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const long double& value) { return !(bHasDefaultValue_ = !convertValue<long double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const bool& value) { return !(bHasDefaultValue_ = !convertValue<bool , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue( void* const& value) { return !(bHasDefaultValue_ = !convertValue<void* , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const std::string& value) { return !(bHasDefaultValue_ = !convertValue<std::string , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Vector2& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector2 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Vector3& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector3 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Vector4& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector4 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::ColourValue& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::ColourValue, T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Quaternion& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Quaternion , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Radian& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Radian , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
+ inline bool setValue(const orxonox::Degree& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Degree , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */
inline operator char() const { return getConvertedValue<T, char> (this->value_, 0); } /** @brief Returns the current value, converted to the requested type. */
inline operator unsigned char() const { return getConvertedValue<T, unsigned char> (this->value_, 0); } /** @brief Returns the current value, converted to the requested type. */
@@ -193,7 +194,8 @@
saveAndIncrease( this->value_.y, mem );
saveAndIncrease( this->value_.z, mem );
saveAndIncrease( this->value_.w, mem );
- }template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const
+ }
+ template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const
{
return 4*returnSize(this->value_.x);
}
Copied: trunk/src/util/OgreForwardRefs.h (from rev 3195, branches/pch/src/util/OgreForwardRefs.h)
===================================================================
--- trunk/src/util/OgreForwardRefs.h (rev 0)
+++ trunk/src/util/OgreForwardRefs.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,227 @@
+/*
+ * 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 _OgreForwardRefs_H__
+#define _OgreForwardRefs_H__
+
+#include "UtilPrereqs.h"
+
+namespace Ogre
+{
+ class Angle;
+ class Animation;
+ class AnimationState;
+ class AnimationStateSet;
+ class AnimationTrack;
+ class Archive;
+ class ArchiveFactory;
+ class ArchiveManager;
+ class AutoParamDataSource;
+ class AxisAlignedBox;
+ class AxisAlignedBoxSceneQuery;
+ class Billboard;
+ class BillboardChain;
+ class BillboardSet;
+ class Bone;
+ class Camera;
+ class Codec;
+ class ColourValue;
+ class ConfigDialog;
+ template <typename T> class Controller;
+ template <typename T> class ControllerFunction;
+ class ControllerManager;
+ template <typename T> class ControllerValue;
+ class Degree;
+ class DynLib;
+ class DynLibManager;
+ class EdgeData;
+ class EdgeListBuilder;
+ class Entity;
+ class ErrorDialog;
+ class ExternalTextureSourceManager;
+ class Factory;
+ class Font;
+ class FontPtr;
+ class FontManager;
+ struct FrameEvent;
+ class FrameListener;
+ class Frustum;
+ class GpuProgram;
+ class GpuProgramPtr;
+ class GpuProgramManager;
+ class GpuProgramUsage;
+ class HardwareIndexBuffer;
+ class HardwareOcclusionQuery;
+ class HardwareVertexBuffer;
+ class HardwarePixelBuffer;
+ class HardwarePixelBufferSharedPtr;
+ class HighLevelGpuProgram;
+ class HighLevelGpuProgramPtr;
+ class HighLevelGpuProgramManager;
+ class HighLevelGpuProgramFactory;
+ class IndexData;
+ class IntersectionSceneQuery;
+ class IntersectionSceneQueryListener;
+ class Image;
+ class KeyFrame;
+ class Light;
+ class Log;
+ class LogManager;
+ class ManualResourceLoader;
+ class ManualObject;
+ class Material;
+ class MaterialPtr;
+ class MaterialManager;
+ class MaterialScriptCompiler;
+ class Math;
+ class Matrix3;
+ class Matrix4;
+ class MemoryManager;
+ class Mesh;
+ class MeshPtr;
+ class MeshSerializer;
+ class MeshSerializerImpl;
+ class MeshManager;
+ class MovableObject;
+ class MovablePlane;
+ class Node;
+ class NodeAnimationTrack;
+ class NodeKeyFrame;
+ class NumericAnimationTrack;
+ class NumericKeyFrame;
+ class Overlay;
+ class OverlayContainer;
+ class OverlayElement;
+ class OverlayElementFactory;
+ class OverlayManager;
+ class Particle;
+ class ParticleAffector;
+ class ParticleAffectorFactory;
+ class ParticleEmitter;
+ class ParticleEmitterFactory;
+ class ParticleSystem;
+ class ParticleSystemManager;
+ class ParticleSystemRenderer;
+ class ParticleSystemRendererFactory;
+ class ParticleVisualData;
+ class Pass;
+ class PatchMesh;
+ class PixelBox;
+ class Plane;
+ class PlaneBoundedVolume;
+ class Plugin;
+ class Pose;
+ class ProgressiveMesh;
+ class Profile;
+ class Profiler;
+ class Quaternion;
+ class Radian;
+ class Ray;
+ class RaySceneQuery;
+ class RaySceneQueryListener;
+ class Renderable;
+ class RenderPriorityGroup;
+ class RenderQueue;
+ class RenderQueueGroup;
+ class RenderQueueInvocation;
+ class RenderQueueInvocationSequence;
+ class RenderQueueListener;
+ class RenderSystem;
+ class RenderSystemCapabilities;
+ class RenderTarget;
+ class RenderTargetListener;
+ class RenderTexture;
+ class MultiRenderTarget;
+ class RenderWindow;
+ class RenderOperation;
+ class Resource;
+ class ResourceBackgroundQueue;
+ class ResourceGroupManager;
+ class ResourceManager;
+ class RibbonTrail;
+ class Root;
+ class SceneManager;
+ class SceneManagerEnumerator;
+ class SceneNode;
+ class SceneQuery;
+ class SceneQueryListener;
+ class ScriptLoader;
+ class Serializer;
+ class ShadowCaster;
+ class ShadowRenderable;
+ class ShadowTextureManager;
+ class SimpleRenderable;
+ class SimpleSpline;
+ class Skeleton;
+ class SkeletonPtr;
+ class SkeletonInstance;
+ class SkeletonManager;
+ class Sphere;
+ class SphereSceneQuery;
+ class StaticGeometry;
+ class StringConverter;
+ class StringInterface;
+ class SubEntity;
+ class SubMesh;
+ class TagPoint;
+ class Technique;
+ class TempBlendedBufferInfo;
+ class ExternalTextureSource;
+ class TextureUnitState;
+ class Texture;
+ class TexturePtr;
+ class TextureFont;
+ class TextureManager;
+ class TransformKeyFrame;
+ class Timer;
+ class UserDefinedObject;
+ class Vector2;
+ class Vector3;
+ class Vector4;
+ class Viewport;
+ class VertexAnimationTrack;
+ class VertexBufferBinding;
+ class VertexData;
+ class VertexDeclaration;
+ class VertexMorphKeyFrame;
+ class WireBoundingBox;
+ class Compositor;
+ class CompositorManager;
+ class CompositorChain;
+ class CompositorInstance;
+ class CompositionTechnique;
+ class CompositionPass;
+ class CompositionTargetPass;
+
+ // Originally not in OgrePrerequisites.h
+ class BorderPanelOverlayElement;
+ class PanelOverlayElement;
+ class TextAreaOverlayElement;
+}
+
+#endif /* _OgreForwardRefs_H__ */
Copied: trunk/src/util/OrxAssert.h (from rev 3195, branches/pch/src/util/OrxAssert.h)
===================================================================
--- trunk/src/util/OrxAssert.h (rev 0)
+++ trunk/src/util/OrxAssert.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,52 @@
+/*
+ * 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 custom assertion facilities
+*/
+
+#ifndef _OrxAssert_H__
+#define _OrxAssert_H__
+
+#include "UtilPrereqs.h"
+
+#include <cassert>
+#include "OutputHandler.h"
+
+// define an assert macro that can display a message
+#ifndef NDEBUG
+#define OrxAssert(Assertion, ErrorMessage) \
+ Assertion ? ((void)0) : (void)(orxonox::OutputHandler::getOutStream().setOutputLevel(1) << ErrorMessage << std::endl); \
+ assert(Assertion)
+#else
+#define OrxAssert(condition, errorMessage) ((void)0)
+#endif
+
+#endif /* _OrxAssert_H__ */
Modified: trunk/src/util/OutputBuffer.cc
===================================================================
--- trunk/src/util/OutputBuffer.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/OutputBuffer.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -43,7 +43,7 @@
*/
void OutputBuffer::registerListener(OutputBufferListener* listener)
{
- this->listeners_.insert(this->listeners_.end(), listener);
+ this->listeners_.push_back(listener);
}
/**
@@ -52,10 +52,10 @@
*/
void OutputBuffer::unregisterListener(OutputBufferListener* listener)
{
- for (std::list<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); )
+ for (std::vector<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); )
{
if ((*it) == listener)
- this->listeners_.erase(it++);
+ it = this->listeners_.erase(it);
else
++it;
}
@@ -126,7 +126,7 @@
*/
void OutputBuffer::callListeners()
{
- for (std::list<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ++it)
+ for (std::vector<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ++it)
(*it)->outputChanged();
}
}
Modified: trunk/src/util/OutputBuffer.h
===================================================================
--- trunk/src/util/OutputBuffer.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/OutputBuffer.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -42,12 +42,11 @@
#ifndef _OutputBuffer_H__
#define _OutputBuffer_H__
-#include <list>
-#include <sstream>
-#include <iostream>
-
#include "UtilPrereqs.h"
+#include <vector>
+#include <sstream>
+
namespace orxonox
{
/**
@@ -166,8 +165,8 @@
private:
void callListeners();
- std::stringstream stream_; //!< The stringstream that stores the assigned text
- std::list<OutputBufferListener*> listeners_; //!< A list of all listeners
+ std::stringstream stream_; //!< The stringstream that stores the assigned text
+ std::vector<OutputBufferListener*> listeners_; //!< A list of all listeners
};
}
Modified: trunk/src/util/OutputHandler.h
===================================================================
--- trunk/src/util/OutputHandler.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/OutputHandler.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -62,23 +62,23 @@
static OutputHandler& getOutStream();
/** @brief Puts some text on the outstream. @param text The text */
- static inline std::string log(const std::string& text)
+ static inline const std::string& log(const std::string& text)
{ OutputHandler::getOutStream().setOutputLevel(0); OutputHandler::getOutStream().output(text + "\n"); return text; }
/** @brief Puts an error on the outstream. @param text The text */
- static inline std::string error(const std::string& text)
+ static inline const std::string& error(const std::string& text)
{ OutputHandler::getOutStream().setOutputLevel(1); OutputHandler::getOutStream().output(text + "\n"); return text; }
/** @brief Puts a warning on the outstream. @param text The text */
- static inline std::string warning(const std::string& text)
+ static inline const std::string& warning(const std::string& text)
{ OutputHandler::getOutStream().setOutputLevel(2); OutputHandler::getOutStream().output(text + "\n"); return text; }
/** @brief Puts an info on the outstream. @param text The text */
- static inline std::string info(const std::string& text)
+ static inline const std::string& info(const std::string& text)
{ OutputHandler::getOutStream().setOutputLevel(3); OutputHandler::getOutStream().output(text + "\n"); return text; }
/** @brief Puts some debug output on the outstream. @param text The text */
- static inline std::string debug(const std::string& text)
+ static inline const std::string& debug(const std::string& text)
{ OutputHandler::getOutStream().setOutputLevel(4); OutputHandler::getOutStream().output(text + "\n"); return text; }
/** @brief Returns a reference to the logfile. @return The logfile */
Modified: trunk/src/util/SignalHandler.cc
===================================================================
--- trunk/src/util/SignalHandler.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/SignalHandler.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -32,11 +32,11 @@
*/
#include "SignalHandler.h"
-#include "Debug.h"
#include <iostream>
#include <cstdlib>
#include <cstring>
+#include "Debug.h"
namespace orxonox
{
@@ -208,12 +208,12 @@
while ( read( gdbOut[0], &byte, 1 ) == 1 )
{
if (
- charsFound == 0 && byte == '(' ||
- charsFound == 1 && byte == 'g' ||
- charsFound == 2 && byte == 'd' ||
- charsFound == 3 && byte == 'b' ||
- charsFound == 4 && byte == ')' ||
- charsFound == 5 && byte == ' '
+ (charsFound == 0 && byte == '(') ||
+ (charsFound == 1 && byte == 'g') ||
+ (charsFound == 2 && byte == 'd') ||
+ (charsFound == 3 && byte == 'b') ||
+ (charsFound == 4 && byte == ')') ||
+ (charsFound == 5 && byte == ' ')
)
charsFound++;
else
@@ -245,12 +245,12 @@
bt += std::string( &byte, 1 );
if (
- charsFound == 0 && byte == '(' ||
- charsFound == 1 && byte == 'g' ||
- charsFound == 2 && byte == 'd' ||
- charsFound == 3 && byte == 'b' ||
- charsFound == 4 && byte == ')' ||
- charsFound == 5 && byte == ' '
+ (charsFound == 0 && byte == '(') ||
+ (charsFound == 1 && byte == 'g') ||
+ (charsFound == 2 && byte == 'd') ||
+ (charsFound == 3 && byte == 'b') ||
+ (charsFound == 4 && byte == ')') ||
+ (charsFound == 5 && byte == ' ')
)
charsFound++;
else
Modified: trunk/src/util/Sleep.cc
===================================================================
--- trunk/src/util/Sleep.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Sleep.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,8 +27,9 @@
*/
/**
- @file
- @brief Implementation of three sleep functions.
+ at file
+ at brief
+ Implementation of three sleep functions. Avoids including windows.h
*/
#include "Sleep.h"
@@ -42,7 +43,7 @@
void usleep(unsigned long microseconds)
{
if (microseconds < 1000)
- COUT(2) << "Warning: Windows can not sleep less than 1ms, ignoring" << std::endl;
+ COUT(2) << "Warning: Windows cannot sleep less than 1ms, ignoring" << std::endl;
Sleep(microseconds / 1000);
}
Modified: trunk/src/util/Sleep.h
===================================================================
--- trunk/src/util/Sleep.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/Sleep.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -27,9 +27,9 @@
*/
/**
- @file
- @brief
- Functions for using sleep() and usleep() on windows.
+ at file
+ at brief
+ Functions declarations to make the current thread sleep.
*/
#ifndef _Sleep_H__
@@ -39,8 +39,11 @@
namespace orxonox
{
+ //! Makes the thread sleep for a few @a microseconds
_UtilExport void usleep(unsigned long microseconds);
+ //! Makes the thread sleep for a few @a milliseconds
_UtilExport void msleep(unsigned long milliseconds);
+ //! Makes the thread sleep for a few @a seconds
_UtilExport void sleep (unsigned long seconds);
}
Modified: trunk/src/util/String.cc
===================================================================
--- trunk/src/util/String.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/String.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -34,8 +34,6 @@
#include "String.h"
#include <cctype>
-#include <iostream>
-
#include "Convert.h"
#include "Math.h"
Modified: trunk/src/util/String.h
===================================================================
--- trunk/src/util/String.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/String.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,9 +35,7 @@
#define _Util_String_H__
#include "UtilPrereqs.h"
-
#include <string>
-#include <sstream>
namespace orxonox
{
Modified: trunk/src/util/SubString.cc
===================================================================
--- trunk/src/util/SubString.cc 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/SubString.cc 2009-06-20 07:20:47 UTC (rev 3196)
@@ -38,7 +38,7 @@
*/
#include "SubString.h"
-#include <stdio.h>
+#include <cstdio>
namespace orxonox
{
Copied: trunk/src/util/UTFStringConversions.h (from rev 3195, branches/pch/src/util/UTFStringConversions.h)
===================================================================
--- trunk/src/util/UTFStringConversions.h (rev 0)
+++ trunk/src/util/UTFStringConversions.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -0,0 +1,61 @@
+/*
+ * 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:
+ * Fabian 'x3n' Landau
+ * Reto Grieder
+ * Co-authors:
+ * ...
+ */
+
+/**
+ at file
+ at brief
+ std::sring to Ogre::UTFString conversion functions
+*/
+
+#ifndef _UTFStringConversions_H__
+#define _UTFStringConversions_H__
+
+#include "UtilPrereqs.h"
+#include <OgreUTFString.h>
+
+namespace orxonox
+{
+ template <>
+ struct ConverterExplicit<std::string, Ogre::UTFString>
+ {
+ //! Converts an std::string into an Ogre::UTFString
+ inline static bool convert(Ogre::UTFString* output, const std::string& input)
+ {
+ Ogre::UTFString::code_point cp;
+ for (unsigned int i = 0; i < input.size(); ++i)
+ {
+ cp = input[i];
+ cp &= 0xFF;
+ output->append(1, cp);
+ }
+ return true;
+ }
+ };
+}
+
+#endif /* _UTFStringConversions_H__ */
Modified: trunk/src/util/UtilPrereqs.h
===================================================================
--- trunk/src/util/UtilPrereqs.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/UtilPrereqs.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -59,8 +59,31 @@
//-----------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------
+namespace Ogre
+{
+ class Radian;
+ class Degree;
+ class Vector2;
+ class Vector3;
+ class Vector4;
+ class Matrix3;
+ class Matrix4;
+ class Quaternion;
+ class ColourValue;
+}
+
namespace orxonox
{
+ using Ogre::Radian;
+ using Ogre::Degree;
+ using Ogre::Vector2;
+ using Ogre::Vector3;
+ using Ogre::Vector4;
+ using Ogre::Matrix3;
+ using Ogre::Matrix4;
+ using Ogre::Quaternion;
+ using Ogre::ColourValue;
+
class Exception;
class ExprParser;
class IntVector2;
Modified: trunk/src/util/mbool.h
===================================================================
--- trunk/src/util/mbool.h 2009-06-19 12:28:24 UTC (rev 3195)
+++ trunk/src/util/mbool.h 2009-06-20 07:20:47 UTC (rev 3196)
@@ -35,7 +35,6 @@
{
struct _UtilExport mbool
{
-// friend Synchronisable::registerVariable<>()
public:
inline mbool(bool value = false)
{ this->value_.memory_ = 0; this->value_.bool_ = value; }
More information about the Orxonox-commit
mailing list