Index: code/branches/main_reto_vs05/bin/Debug/Ogre.log
===================================================================
--- code/branches/main_reto_vs05/bin/Debug/Ogre.log	(revision 188)
+++ code/branches/main_reto_vs05/bin/Debug/Ogre.log	(revision 189)
@@ -1,309 +1,309 @@
-00:38:11: Creating resource group General
-00:38:11: Creating resource group Internal
-00:38:11: Creating resource group Autodetect
-00:38:11: SceneManagerFactory for type 'DefaultSceneManager' registered.
-00:38:11: Registering ResourceManager for type Material
-00:38:11: Registering ResourceManager for type Mesh
-00:38:11: Registering ResourceManager for type Skeleton
-00:38:11: MovableObjectFactory for type 'ParticleSystem' registered.
-00:38:11: OverlayElementFactory for type Panel registered.
-00:38:11: OverlayElementFactory for type BorderPanel registered.
-00:38:11: OverlayElementFactory for type TextArea registered.
-00:38:11: Registering ResourceManager for type Font
-00:38:11: ArchiveFactory for archive type FileSystem registered.
-00:38:11: ArchiveFactory for archive type Zip registered.
-00:38:11: FreeImage version: 3.9.2
-00:38:11: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
-00:38:11: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi
-00:38:11: DDS codec registering
-00:38:11: Registering ResourceManager for type HighLevelGpuProgram
-00:38:11: Registering ResourceManager for type Compositor
-00:38:11: MovableObjectFactory for type 'Entity' registered.
-00:38:11: MovableObjectFactory for type 'Light' registered.
-00:38:11: MovableObjectFactory for type 'BillboardSet' registered.
-00:38:11: MovableObjectFactory for type 'ManualObject' registered.
-00:38:11: MovableObjectFactory for type 'BillboardChain' registered.
-00:38:11: MovableObjectFactory for type 'RibbonTrail' registered.
-00:38:11: Loading library .\RenderSystem_Direct3D9_d
-00:38:11: Installing plugin: D3D9 RenderSystem
-00:38:11: D3D9 : Direct3D9 Rendering Subsystem created.
-00:38:11: D3D9: Driver Detection Starts
-00:38:11: D3D9: Driver Detection Ends
-00:38:11: Plugin successfully installed
-00:38:11: Loading library .\RenderSystem_GL_d
-00:38:11: Installing plugin: GL RenderSystem
-00:38:11: OpenGL Rendering Subsystem created.
-00:38:12: Plugin successfully installed
-00:38:12: Loading library .\Plugin_ParticleFX_d
-00:38:12: Installing plugin: ParticleFX
-00:38:12: Particle Emitter Type 'Point' registered
-00:38:12: Particle Emitter Type 'Box' registered
-00:38:12: Particle Emitter Type 'Ellipsoid' registered
-00:38:12: Particle Emitter Type 'Cylinder' registered
-00:38:12: Particle Emitter Type 'Ring' registered
-00:38:12: Particle Emitter Type 'HollowEllipsoid' registered
-00:38:12: Particle Affector Type 'LinearForce' registered
-00:38:12: Particle Affector Type 'ColourFader' registered
-00:38:12: Particle Affector Type 'ColourFader2' registered
-00:38:12: Particle Affector Type 'ColourImage' registered
-00:38:12: Particle Affector Type 'ColourInterpolator' registered
-00:38:12: Particle Affector Type 'Scaler' registered
-00:38:12: Particle Affector Type 'Rotator' registered
-00:38:12: Particle Affector Type 'DirectionRandomiser' registered
-00:38:12: Particle Affector Type 'DeflectorPlane' registered
-00:38:12: Plugin successfully installed
-00:38:12: Loading library .\Plugin_BSPSceneManager_d
-00:38:12: Installing plugin: BSP Scene Manager
-00:38:12: Plugin successfully installed
-00:38:12: Loading library .\Plugin_OctreeSceneManager_d
-00:38:12: Installing plugin: Octree & Terrain Scene Manager
-00:38:12: Plugin successfully installed
-00:38:12: Loading library .\Plugin_CgProgramManager_d
-00:38:12: Installing plugin: Cg Program Manager
-00:38:12: Plugin successfully installed
-00:38:12: *-*-* OGRE Initialising
-00:38:12: *-*-* Version 1.4.5 (Eihort)
-00:38:12: Creating resource group Bootstrap
-00:38:12: Added resource location '../../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
-00:38:12: Added resource location '../../media' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/fonts' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/materials/scripts' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/materials/textures' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/models' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/gui' of type 'FileSystem' to resource group 'General'
-00:38:12: Added resource location '../../media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
-00:38:12: Added resource location '../../media/packs/skybox.zip' of type 'Zip' to resource group 'General'
-00:38:12: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
-00:38:12: D3D9 : RenderSystem Option: Anti aliasing = Level 4
-00:38:12: D3D9 : RenderSystem Option: Floating-point mode = Fastest
-00:38:12: D3D9 : RenderSystem Option: Full Screen = No
-00:38:12: D3D9 : RenderSystem Option: Rendering Device = ATI Mobility Radeon X1400
-00:38:12: D3D9 : RenderSystem Option: VSync = Yes
-00:38:12: D3D9 : RenderSystem Option: Video Mode = 1024 x 768 @ 32-bit colour
-00:38:12: CPU Identifier & Features
-00:38:12: -------------------------
-00:38:12:  *   CPU ID: GenuineIntel: Genuine Intel(R) CPU           T2500  @ 2.00GHz
-00:38:12:  *      SSE: yes
-00:38:12:  *     SSE2: yes
-00:38:12:  *     SSE3: yes
-00:38:12:  *      MMX: yes
-00:38:12:  *   MMXEXT: yes
-00:38:12:  *    3DNOW: no
-00:38:12:  * 3DNOWEXT: no
-00:38:12:  *     CMOV: yes
-00:38:12:  *      TSC: yes
-00:38:12:  *      FPU: yes
-00:38:12:  *      PRO: yes
-00:38:12:  *       HT: no
-00:38:12: -------------------------
-00:38:12: D3D9 : Subsystem Initialising
-00:38:12: D3D9RenderSystem::createRenderWindow "OGRE Render Window", 1024x768 windowed  miscParams: FSAA=4 FSAAQuality=0 colourDepth=32 useNVPerfHUD=false vsync=true 
-00:38:12: D3D9 : Created D3D9 Rendering Window 'OGRE Render Window' : 1024x768, 32bpp
-00:38:12: Registering ResourceManager for type Texture
-00:38:12: Registering ResourceManager for type GpuProgram
-00:38:12: RenderSystem capabilities
-00:38:12: -------------------------
-00:38:12:  * Hardware generation of mipmaps: yes
-00:38:12:  * Texture blending: yes
-00:38:12:  * Anisotropic texture filtering: yes
-00:38:12:  * Dot product texture operation: yes
-00:38:12:  * Cube mapping: yes
-00:38:12:  * Hardware stencil buffer: yes
-00:38:12:    - Stencil depth: 8
-00:38:12:    - Two sided stencil support: yes
-00:38:12:    - Wrap stencil values: yes
-00:38:12:  * Hardware vertex / index buffers: yes
-00:38:12:  * Vertex programs: yes
-00:38:12:    - Max vertex program version: vs_3_0
-00:38:12:  * Fragment programs: yes
-00:38:12:    - Max fragment program version: ps_3_0
-00:38:12:  * Texture Compression: yes
-00:38:12:    - DXT: yes
-00:38:12:    - VTC: no
-00:38:12:  * Scissor Rectangle: yes
-00:38:12:  * Hardware Occlusion Query: yes
-00:38:12:  * User clip planes: yes
-00:38:12:  * VET_UBYTE4 vertex element type: yes
-00:38:12:  * Infinite far plane projection: yes
-00:38:12:  * Hardware render-to-texture: yes
-00:38:12:  * Floating point textures: yes
-00:38:12:  * Non-power-of-two textures: yes (limited)
-00:38:12:  * Volume textures: yes
-00:38:12:  * Multiple Render Targets: 4
-00:38:12:  * Point Sprites: yes
-00:38:12:  * Extended point parameters: yes
-00:38:12:  * Max Point Size: 256
-00:38:12:  * Vertex texture fetch: no
-00:38:12: ***************************************
-00:38:12: *** D3D9 : Subsystem Initialised OK ***
-00:38:12: ***************************************
-00:38:12: ResourceBackgroundQueue - threading disabled
-00:38:12: Particle Renderer Type 'billboard' registered
-00:38:12: SceneManagerFactory for type 'BspSceneManager' registered.
-00:38:12: Registering ResourceManager for type BspLevel
-00:38:12: SceneManagerFactory for type 'OctreeSceneManager' registered.
-00:38:12: SceneManagerFactory for type 'TerrainSceneManager' registered.
-00:38:12: Parsing scripts for resource group Autodetect
-00:38:12: Finished parsing scripts for resource group Autodetect
-00:38:12: Parsing scripts for resource group Bootstrap
-00:38:12: Parsing script OgreCore.material
-00:38:12: Parsing script OgreProfiler.material
-00:38:12: Parsing script Ogre.fontdef
-00:38:12: Parsing script OgreDebugPanel.overlay
-00:38:12: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
-00:38:12: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
-00:38:12: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
-00:38:12: Font BlueHighwayusing texture size 512x512
-00:38:12: Info: Freetype returned null for character 127 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 128 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 129 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 130 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 131 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 132 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 133 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 134 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 135 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 136 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 137 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 138 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 139 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 140 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 141 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 142 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 143 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 144 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 145 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 146 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 147 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 148 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 149 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 150 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 151 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 152 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 153 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 154 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 155 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 156 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 157 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 158 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 159 in font BlueHighway
-00:38:12: Info: Freetype returned null for character 160 in font BlueHighway
-00:38:12: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
-00:38:12: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
-00:38:12: Parsing script OgreLoadingPanel.overlay
-00:38:12: Finished parsing scripts for resource group Bootstrap
-00:38:12: Parsing scripts for resource group General
-00:38:12: Parsing script Examples.program
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/BasicVertexPrograms/AmbientOneTexture encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.hlsl in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/BasicVertexPrograms/AmbientOneTextureHLSL encountered an error during loading and is thus not supported.
+21:48:50: Creating resource group General
+21:48:50: Creating resource group Internal
+21:48:50: Creating resource group Autodetect
+21:48:50: SceneManagerFactory for type 'DefaultSceneManager' registered.
+21:48:50: Registering ResourceManager for type Material
+21:48:50: Registering ResourceManager for type Mesh
+21:48:50: Registering ResourceManager for type Skeleton
+21:48:50: MovableObjectFactory for type 'ParticleSystem' registered.
+21:48:50: OverlayElementFactory for type Panel registered.
+21:48:50: OverlayElementFactory for type BorderPanel registered.
+21:48:50: OverlayElementFactory for type TextArea registered.
+21:48:50: Registering ResourceManager for type Font
+21:48:50: ArchiveFactory for archive type FileSystem registered.
+21:48:50: ArchiveFactory for archive type Zip registered.
+21:48:50: FreeImage version: 3.9.2
+21:48:50: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
+21:48:50: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi
+21:48:50: DDS codec registering
+21:48:50: Registering ResourceManager for type HighLevelGpuProgram
+21:48:50: Registering ResourceManager for type Compositor
+21:48:50: MovableObjectFactory for type 'Entity' registered.
+21:48:50: MovableObjectFactory for type 'Light' registered.
+21:48:50: MovableObjectFactory for type 'BillboardSet' registered.
+21:48:50: MovableObjectFactory for type 'ManualObject' registered.
+21:48:50: MovableObjectFactory for type 'BillboardChain' registered.
+21:48:50: MovableObjectFactory for type 'RibbonTrail' registered.
+21:48:50: Loading library .\RenderSystem_Direct3D9_d
+21:48:50: Installing plugin: D3D9 RenderSystem
+21:48:50: D3D9 : Direct3D9 Rendering Subsystem created.
+21:48:50: D3D9: Driver Detection Starts
+21:48:50: D3D9: Driver Detection Ends
+21:48:50: Plugin successfully installed
+21:48:50: Loading library .\RenderSystem_GL_d
+21:48:50: Installing plugin: GL RenderSystem
+21:48:50: OpenGL Rendering Subsystem created.
+21:48:51: Plugin successfully installed
+21:48:51: Loading library .\Plugin_ParticleFX_d
+21:48:51: Installing plugin: ParticleFX
+21:48:51: Particle Emitter Type 'Point' registered
+21:48:51: Particle Emitter Type 'Box' registered
+21:48:51: Particle Emitter Type 'Ellipsoid' registered
+21:48:51: Particle Emitter Type 'Cylinder' registered
+21:48:51: Particle Emitter Type 'Ring' registered
+21:48:51: Particle Emitter Type 'HollowEllipsoid' registered
+21:48:51: Particle Affector Type 'LinearForce' registered
+21:48:51: Particle Affector Type 'ColourFader' registered
+21:48:51: Particle Affector Type 'ColourFader2' registered
+21:48:51: Particle Affector Type 'ColourImage' registered
+21:48:51: Particle Affector Type 'ColourInterpolator' registered
+21:48:51: Particle Affector Type 'Scaler' registered
+21:48:51: Particle Affector Type 'Rotator' registered
+21:48:51: Particle Affector Type 'DirectionRandomiser' registered
+21:48:51: Particle Affector Type 'DeflectorPlane' registered
+21:48:51: Plugin successfully installed
+21:48:51: Loading library .\Plugin_BSPSceneManager_d
+21:48:51: Installing plugin: BSP Scene Manager
+21:48:51: Plugin successfully installed
+21:48:51: Loading library .\Plugin_OctreeSceneManager_d
+21:48:51: Installing plugin: Octree & Terrain Scene Manager
+21:48:51: Plugin successfully installed
+21:48:51: Loading library .\Plugin_CgProgramManager_d
+21:48:51: Installing plugin: Cg Program Manager
+21:48:51: Plugin successfully installed
+21:48:51: *-*-* OGRE Initialising
+21:48:51: *-*-* Version 1.4.5 (Eihort)
+21:48:51: Creating resource group Bootstrap
+21:48:51: Added resource location '../../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
+21:48:51: Added resource location '../../media' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/fonts' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/materials/scripts' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/materials/textures' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/models' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/gui' of type 'FileSystem' to resource group 'General'
+21:48:51: Added resource location '../../media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
+21:48:51: Added resource location '../../media/packs/skybox.zip' of type 'Zip' to resource group 'General'
+21:48:51: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
+21:48:51: D3D9 : RenderSystem Option: Anti aliasing = Level 4
+21:48:51: D3D9 : RenderSystem Option: Floating-point mode = Fastest
+21:48:51: D3D9 : RenderSystem Option: Full Screen = No
+21:48:51: D3D9 : RenderSystem Option: Rendering Device = ATI Mobility Radeon X1400
+21:48:51: D3D9 : RenderSystem Option: VSync = Yes
+21:48:51: D3D9 : RenderSystem Option: Video Mode = 1024 x 768 @ 32-bit colour
+21:48:51: CPU Identifier & Features
+21:48:51: -------------------------
+21:48:51:  *   CPU ID: GenuineIntel: Genuine Intel(R) CPU           T2500  @ 2.00GHz
+21:48:51:  *      SSE: yes
+21:48:51:  *     SSE2: yes
+21:48:51:  *     SSE3: yes
+21:48:51:  *      MMX: yes
+21:48:51:  *   MMXEXT: yes
+21:48:51:  *    3DNOW: no
+21:48:51:  * 3DNOWEXT: no
+21:48:51:  *     CMOV: yes
+21:48:51:  *      TSC: yes
+21:48:51:  *      FPU: yes
+21:48:51:  *      PRO: yes
+21:48:51:  *       HT: no
+21:48:51: -------------------------
+21:48:51: D3D9 : Subsystem Initialising
+21:48:51: D3D9RenderSystem::createRenderWindow "OGRE Render Window", 1024x768 windowed  miscParams: FSAA=4 FSAAQuality=0 colourDepth=32 useNVPerfHUD=false vsync=true 
+21:48:51: D3D9 : Created D3D9 Rendering Window 'OGRE Render Window' : 1024x768, 32bpp
+21:48:51: Registering ResourceManager for type Texture
+21:48:51: Registering ResourceManager for type GpuProgram
+21:48:51: RenderSystem capabilities
+21:48:51: -------------------------
+21:48:51:  * Hardware generation of mipmaps: yes
+21:48:51:  * Texture blending: yes
+21:48:51:  * Anisotropic texture filtering: yes
+21:48:51:  * Dot product texture operation: yes
+21:48:51:  * Cube mapping: yes
+21:48:51:  * Hardware stencil buffer: yes
+21:48:51:    - Stencil depth: 8
+21:48:51:    - Two sided stencil support: yes
+21:48:51:    - Wrap stencil values: yes
+21:48:51:  * Hardware vertex / index buffers: yes
+21:48:51:  * Vertex programs: yes
+21:48:51:    - Max vertex program version: vs_3_0
+21:48:51:  * Fragment programs: yes
+21:48:51:    - Max fragment program version: ps_3_0
+21:48:51:  * Texture Compression: yes
+21:48:51:    - DXT: yes
+21:48:51:    - VTC: no
+21:48:51:  * Scissor Rectangle: yes
+21:48:51:  * Hardware Occlusion Query: yes
+21:48:51:  * User clip planes: yes
+21:48:51:  * VET_UBYTE4 vertex element type: yes
+21:48:51:  * Infinite far plane projection: yes
+21:48:51:  * Hardware render-to-texture: yes
+21:48:51:  * Floating point textures: yes
+21:48:51:  * Non-power-of-two textures: yes (limited)
+21:48:51:  * Volume textures: yes
+21:48:51:  * Multiple Render Targets: 4
+21:48:51:  * Point Sprites: yes
+21:48:51:  * Extended point parameters: yes
+21:48:51:  * Max Point Size: 256
+21:48:51:  * Vertex texture fetch: no
+21:48:51: ***************************************
+21:48:51: *** D3D9 : Subsystem Initialised OK ***
+21:48:51: ***************************************
+21:48:51: ResourceBackgroundQueue - threading disabled
+21:48:51: Particle Renderer Type 'billboard' registered
+21:48:51: SceneManagerFactory for type 'BspSceneManager' registered.
+21:48:51: Registering ResourceManager for type BspLevel
+21:48:51: SceneManagerFactory for type 'OctreeSceneManager' registered.
+21:48:51: SceneManagerFactory for type 'TerrainSceneManager' registered.
+21:48:51: Parsing scripts for resource group Autodetect
+21:48:51: Finished parsing scripts for resource group Autodetect
+21:48:51: Parsing scripts for resource group Bootstrap
+21:48:51: Parsing script OgreCore.material
+21:48:51: Parsing script OgreProfiler.material
+21:48:51: Parsing script Ogre.fontdef
+21:48:51: Parsing script OgreDebugPanel.overlay
+21:48:51: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
+21:48:51: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
+21:48:51: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
+21:48:51: Font BlueHighwayusing texture size 512x512
+21:48:51: Info: Freetype returned null for character 127 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 128 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 129 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 130 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 131 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 132 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 133 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 134 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 135 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 136 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 137 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 138 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 139 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 140 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 141 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 142 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 143 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 144 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 145 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 146 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 147 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 148 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 149 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 150 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 151 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 152 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 153 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 154 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 155 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 156 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 157 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 158 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 159 in font BlueHighway
+21:48:51: Info: Freetype returned null for character 160 in font BlueHighway
+21:48:51: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
+21:48:51: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
+21:48:51: Parsing script OgreLoadingPanel.overlay
+21:48:51: Finished parsing scripts for resource group Bootstrap
+21:48:51: Parsing scripts for resource group General
+21:48:51: Parsing script Examples.program
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/BasicVertexPrograms/AmbientOneTexture encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.hlsl in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/BasicVertexPrograms/AmbientOneTextureHLSL encountered an error during loading and is thus not supported.
 OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.hlsl in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwareSkinningTwoWeightsCg encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwareMorphAnimation encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwarePoseAnimation encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: Parsing script Example.material
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Examples/MorningSkyBoxHDRfp encountered an error during loading and is thus not supported.
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwareSkinningTwoWeightsCg encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error at line 118 of Examples.program: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwareMorphAnimation encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwarePoseAnimation encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: Parsing script Example.material
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Examples/MorningSkyBoxHDRfp encountered an error during loading and is thus not supported.
 OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Examples/MorningCubeMapHDRfp encountered an error during loading and is thus not supported.
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Examples/MorningCubeMapHDRfp encountered an error during loading and is thus not supported.
 OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource hdr.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwareSkinningOneWeight encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwareSkinningOneWeightShadowCaster encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Grass.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Examples/GrassWaverVp encountered an error during loading and is thus not supported.
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwareSkinningOneWeight encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwareSkinningOneWeightShadowCaster encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Grass.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Examples/GrassWaverVp encountered an error during loading and is thus not supported.
 OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Grass.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: High-level program Ogre/HardwareSkinningTwoWeightsShadowCasterCg encountered an error during loading and is thus not supported.
-OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error in material jaiqua at line 994 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error in material jaiqua at line 995 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
-00:38:12: Error in material jaiqua at line 996 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
-00:38:12: Parsing script Ogre.material
-00:38:12: Parsing script Examples.compositor
-00:38:12: Parsing script sample.fontdef
-00:38:12: Finished parsing scripts for resource group General
-00:38:12: Parsing scripts for resource group Internal
-00:38:12: Finished parsing scripts for resource group Internal
-00:38:12: Mesh: Loading ogrehead.mesh.
-00:38:13: Texture: WeirdEye.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:13: Texture: GreenSkin.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:13: Texture: spheremap.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:13: D3D9 : ***** Dimensions altered by the render system
-00:38:13: D3D9 : ***** Source image dimensions : 96x96
-00:38:13: D3D9 : ***** Texture dimensions : 128x128
-00:38:13: Texture: dirt01.jpg: Loading 1 faces(PF_R8G8B8,96x96x1) with 7 generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
-00:38:13: Texture: cubescene_fr.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: cubescene_bk.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: cubescene_lf.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: cubescene_rt.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: cubescene_up.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: cubescene_dn.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
-00:38:13: Texture: flare.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:13: Mesh: Loading fish.mesh.
-00:38:13: Skeleton: Loading fish.skeleton
-00:38:13: Texture: steelhead.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:13: WARNING: the mesh 'fish.mesh' includes vertices without bone assignments. Those vertices will transform to wrong position when skeletal animation enabled. To eliminate this, assign at least one bone assignment per vertex on your mesh.
-00:38:13: Creating viewport on target 'OGRE Render Window', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
-00:38:13: *** Initializing OIS ***
-00:38:15: Mesh: Loading Barrel.mesh.
-00:38:15: Texture: RustyBarrel.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
-00:38:16: Unregistering ResourceManager for type BspLevel
-00:38:16: *-*-* OGRE Shutdown
-00:38:16: Unregistering ResourceManager for type Compositor
-00:38:16: Unregistering ResourceManager for type Font
-00:38:16: Unregistering ResourceManager for type Skeleton
-00:38:16: Unregistering ResourceManager for type Mesh
-00:38:16: Unregistering ResourceManager for type HighLevelGpuProgram
-00:38:16: Uninstalling plugin: Cg Program Manager
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\Plugin_CgProgramManager_d
-00:38:16: Uninstalling plugin: Octree & Terrain Scene Manager
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\Plugin_OctreeSceneManager_d
-00:38:16: Uninstalling plugin: BSP Scene Manager
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\Plugin_BSPSceneManager_d
-00:38:16: Uninstalling plugin: ParticleFX
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\Plugin_ParticleFX_d
-00:38:16: Uninstalling plugin: GL RenderSystem
-00:38:16: *** Stopping Win32GL Subsystem ***
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\RenderSystem_GL_d
-00:38:16: Uninstalling plugin: D3D9 RenderSystem
-00:38:16: Render Target 'OGRE Render Window' Average FPS: 50.6321 Best FPS: 59.9401 Worst FPS: 26.601
-00:38:16: D3D9 : Shutting down cleanly.
-00:38:16: Unregistering ResourceManager for type Texture
-00:38:16: Unregistering ResourceManager for type GpuProgram
-00:38:16: D3D9 : Direct3D9 Rendering Subsystem destroyed.
-00:38:16: Plugin successfully uninstalled
-00:38:16: Unloading library .\RenderSystem_Direct3D9_d
-00:38:16: Unregistering ResourceManager for type Material
+21:48:51: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: High-level program Ogre/HardwareSkinningTwoWeightsShadowCasterCg encountered an error during loading and is thus not supported.
+OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Example_Basic.cg in resource group General or any other group. in ResourceGroupManager::openResource at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogreresourcegroupmanager.cpp (line 604)
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error in material jaiqua at line 994 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error in material jaiqua at line 995 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at d:\eth\orxonox\ogre-win32-v1-4-5\ogremain\src\ogregpuprogram.cpp (line 854)
+21:48:51: Error in material jaiqua at line 996 of Example.material: Invalid param_named_auto attribute - This params object is not based on a program with named parameters.
+21:48:51: Parsing script Ogre.material
+21:48:51: Parsing script Examples.compositor
+21:48:52: Parsing script sample.fontdef
+21:48:52: Finished parsing scripts for resource group General
+21:48:52: Parsing scripts for resource group Internal
+21:48:52: Finished parsing scripts for resource group Internal
+21:48:52: Mesh: Loading ogrehead.mesh.
+21:48:52: Texture: WeirdEye.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:52: Texture: GreenSkin.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:52: Texture: spheremap.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:52: D3D9 : ***** Dimensions altered by the render system
+21:48:52: D3D9 : ***** Source image dimensions : 96x96
+21:48:52: D3D9 : ***** Texture dimensions : 128x128
+21:48:52: Texture: dirt01.jpg: Loading 1 faces(PF_R8G8B8,96x96x1) with 7 generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
+21:48:52: Texture: cubescene_fr.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: cubescene_bk.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: cubescene_lf.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: cubescene_rt.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: cubescene_up.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: cubescene_dn.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
+21:48:52: Texture: flare.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:52: Mesh: Loading fish.mesh.
+21:48:52: Skeleton: Loading fish.skeleton
+21:48:52: Texture: steelhead.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:52: WARNING: the mesh 'fish.mesh' includes vertices without bone assignments. Those vertices will transform to wrong position when skeletal animation enabled. To eliminate this, assign at least one bone assignment per vertex on your mesh.
+21:48:52: Creating viewport on target 'OGRE Render Window', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
+21:48:52: *** Initializing OIS ***
+21:48:53: Mesh: Loading Barrel.mesh.
+21:48:53: Texture: RustyBarrel.png: Loading 1 faces(PF_R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
+21:48:58: Unregistering ResourceManager for type BspLevel
+21:48:58: *-*-* OGRE Shutdown
+21:48:58: Unregistering ResourceManager for type Compositor
+21:48:58: Unregistering ResourceManager for type Font
+21:48:58: Unregistering ResourceManager for type Skeleton
+21:48:58: Unregistering ResourceManager for type Mesh
+21:48:58: Unregistering ResourceManager for type HighLevelGpuProgram
+21:48:58: Uninstalling plugin: Cg Program Manager
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\Plugin_CgProgramManager_d
+21:48:58: Uninstalling plugin: Octree & Terrain Scene Manager
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\Plugin_OctreeSceneManager_d
+21:48:58: Uninstalling plugin: BSP Scene Manager
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\Plugin_BSPSceneManager_d
+21:48:58: Uninstalling plugin: ParticleFX
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\Plugin_ParticleFX_d
+21:48:58: Uninstalling plugin: GL RenderSystem
+21:48:58: *** Stopping Win32GL Subsystem ***
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\RenderSystem_GL_d
+21:48:58: Uninstalling plugin: D3D9 RenderSystem
+21:48:58: Render Target 'OGRE Render Window' Average FPS: 36.2609 Best FPS: 58.0709 Worst FPS: 11.976
+21:48:58: D3D9 : Shutting down cleanly.
+21:48:58: Unregistering ResourceManager for type Texture
+21:48:58: Unregistering ResourceManager for type GpuProgram
+21:48:58: D3D9 : Direct3D9 Rendering Subsystem destroyed.
+21:48:58: Plugin successfully uninstalled
+21:48:58: Unloading library .\RenderSystem_Direct3D9_d
+21:48:58: Unregistering ResourceManager for type Material
Index: code/branches/main_reto_vs05/scripts/weapon_framework.vcproj
===================================================================
--- code/branches/main_reto_vs05/scripts/weapon_framework.vcproj	(revision 188)
+++ code/branches/main_reto_vs05/scripts/weapon_framework.vcproj	(revision 189)
@@ -41,5 +41,5 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..\include;&quot;$(OGRE_HOME)\OgreMain\include&quot;;&quot;$(OGRE_HOME)\Dependencies\include&quot;"
+				AdditionalIncludeDirectories="..\src;..\src\weapon;&quot;$(OGRE_HOME)\OgreMain\include&quot;;&quot;$(OGRE_HOME)\Dependencies\include&quot;"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
 				MinimalRebuild="true"
@@ -184,20 +184,12 @@
 			>
 			<File
-				RelativePath="..\src\ammunition_dump.cc"
-				>
-			</File>
-			<File
-				RelativePath="..\src\bullet.cc"
-				>
-			</File>
-			<File
-				RelativePath="..\src\bullet_manager.cc"
-				>
-			</File>
-			<File
 				RelativePath="..\src\camera_manager.cc"
 				>
 			</File>
 			<File
+				RelativePath="..\src\inertial_node.cc"
+				>
+			</File>
+			<File
 				RelativePath="..\src\main.cc"
 				>
@@ -223,8 +215,24 @@
 				>
 			</File>
-			<File
-				RelativePath="..\src\weapon_manager.cc"
-				>
-			</File>
+			<Filter
+				Name="weapon"
+				>
+				<File
+					RelativePath="..\src\weapon\ammunition_dump.cc"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\bullet.cc"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\bullet_manager.cc"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\weapon_manager.cc"
+					>
+				</File>
+			</Filter>
 		</Filter>
 		<Filter
@@ -234,20 +242,12 @@
 			>
 			<File
-				RelativePath="..\src\ammunition_dump.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\bullet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\bullet_manager.h"
-				>
-			</File>
-			<File
 				RelativePath="..\src\camera_manager.h"
 				>
 			</File>
 			<File
+				RelativePath="..\src\inertial_node.h"
+				>
+			</File>
+			<File
 				RelativePath="..\src\ogre_control.h"
 				>
@@ -273,12 +273,28 @@
 				>
 			</File>
-			<File
-				RelativePath="..\src\weapon.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\weapon_manager.h"
-				>
-			</File>
+			<Filter
+				Name="weapon"
+				>
+				<File
+					RelativePath="..\src\weapon\ammunition_dump.h"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\bullet.h"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\bullet_manager.h"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\weapon.h"
+					>
+				</File>
+				<File
+					RelativePath="..\src\weapon\weapon_manager.h"
+					>
+				</File>
+			</Filter>
 		</Filter>
 		<Filter
Index: code/branches/main_reto_vs05/src/ammunition_dump.cc
===================================================================
--- code/branches/main_reto_vs05/src/ammunition_dump.cc	(revision 188)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "ammunition_dump.h"
-
-
-namespace orxonox {
-
-  AmmunitionDump::AmmunitionDump()
-  {
-  }
-
-
-  AmmunitionDump::~AmmunitionDump()
-  {
-  }
-
-}
Index: code/branches/main_reto_vs05/src/ammunition_dump.h
===================================================================
--- code/branches/main_reto_vs05/src/ammunition_dump.h	(revision 188)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef AmmunitionDump_H
-#define AmmunitionDump_H
-
-#include "OgrePrerequisites.h"
-
-#include "orxonox_prerequisites.h"
-
-
-namespace orxonox {
-
-  class AmmunitionDump
-  {
-  public:
-	  AmmunitionDump();
-	  ~AmmunitionDump();
-
-  protected:
-
-  protected:
-
-  };
-
-}
-
-#endif /* AmmunitionDump_H */
Index: code/branches/main_reto_vs05/src/bullet.cc
===================================================================
--- code/branches/main_reto_vs05/src/bullet.cc	(revision 188)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreVector3.h"
-
-#include "bullet.h"
-
-
-namespace orxonox {
-  using namespace Ogre;
-
-  Bullet::Bullet(SceneNode *node, Entity *entity, Vector3 speed)
-    : node_(node), entity_(entity), speed_(speed)
-  {
-	  node_->attachObject(entity_);
-  }
-
-
-  Bullet::~Bullet()
-  {
-  }
-
-}
Index: code/branches/main_reto_vs05/src/bullet.h
===================================================================
--- code/branches/main_reto_vs05/src/bullet.h	(revision 188)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef BULLET_H
-#define BULLET_H
-
-#include "OgrePrerequisites.h"
-
-#include "orxonox_prerequisites.h"
-
-
-namespace orxonox {
-
-  class Bullet
-  {
-  public:
-	  Bullet(Ogre::SceneNode*, Ogre::Entity*, Ogre::Vector3);
-	  ~Bullet();
-
-  protected:
-
-  public:
-    Ogre::SceneNode *node_;
-	  Ogre::Entity *entity_;
-	  Ogre::Vector3 speed_;
-
-  protected:
-
-  };
-
-}
-
-#endif /* BULLET_H */
Index: code/branches/main_reto_vs05/src/bullet_manager.cc
===================================================================
--- code/branches/main_reto_vs05/src/bullet_manager.cc	(revision 188)
+++ 	(revision )
@@ -1,88 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "OgreSceneManager.h"
-
-#include "bullet_manager.h"
-#include "bullet.h"
-
-
-namespace orxonox {
-  using namespace Ogre;
-
-  BulletManager::BulletManager(SceneManager *sceneMgr) : sceneMgr_(sceneMgr),
-        bulletsIndex_(0), bulletsSize_(10)
-  {
-    bullets_ = new Bullet*[10];
-  }
-
-
-  BulletManager::~BulletManager()
-  {
-    // clean up the bullet list
-    if (bullets_)
-    {
-      for (int i = 0; i < bulletsIndex_; i++)
-        delete bullets_[i];
-      delete bullets_;
-    }
-  }
-
-
-  void BulletManager::addBullet(Bullet *bullet)
-  {
-    // resize array if neccessary (double the size then)
-    if (bulletsIndex_ >= bulletsSize_)
-    {
-      // redimension the array
-      Bullet **tempArray = new Bullet*[2*bulletsSize_];
-      for (int i = 0; i < bulletsSize_; i++)
-        tempArray[i] = bullets_[i];
-      bulletsSize_ *= 2;
-      delete bullets_;
-      bullets_ = tempArray;
-    }
-
-    // add the bullet to the list
-    bullets_[bulletsIndex_++] = bullet;
-  }
-
-
-  bool BulletManager::tick(unsigned long time, Real deltaTime)
-  {
-    // update the bullet positions
-    for (int i = 0; i < bulletsIndex_; i++)
-    {
-      bullets_[i]->node_->translate(bullets_[i]->speed_*deltaTime);
-      bullets_[i]->node_->yaw(Degree(deltaTime*100));
-      bullets_[i]->node_->roll(Degree(deltaTime*300));
-    }
-
-    return true;
-  }
-
-}
Index: code/branches/main_reto_vs05/src/bullet_manager.h
===================================================================
--- code/branches/main_reto_vs05/src/bullet_manager.h	(revision 188)
+++ 	(revision )
@@ -1,64 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef BULLET_MANAGER_H
-#define BULLET_MANAGER_H
-
-#include "OgrePrerequisites.h"
-
-#include "orxonox_prerequisites.h"
-
-
-namespace orxonox {
-
-  class BulletManager
-  {
-  public:
-    BulletManager(Ogre::SceneManager*);
-	  virtual ~BulletManager();
-
-    void addBullet(Bullet*);
-
-    bool tick(unsigned long, Ogre::Real);
-
-  protected:
-
-  public:
-    Ogre::SceneManager *sceneMgr_;
-
-  protected:
-    // Bullet array
-	  Bullet **bullets_;
-	  int bulletsSize_;
-	  int bulletsIndex_;
-
-  };
-
-}
-
-#endif /* BULLET_MANAGER_H */
Index: code/branches/main_reto_vs05/src/inertial_node.cc
===================================================================
--- code/branches/main_reto_vs05/src/inertial_node.cc	(revision 189)
+++ code/branches/main_reto_vs05/src/inertial_node.cc	(revision 189)
@@ -0,0 +1,126 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OgreSceneNode.h"
+#include "OgreVector3.h"
+
+#include "inertial_node.h"
+
+
+namespace orxonox {
+  using namespace Ogre;
+
+  InertialNode::InertialNode(SceneNode *node, Vector3 speed)
+        : node_(node), speed_(speed), childListSize_(4), childListIndex_(0),
+        parentNode_(NULL)
+  {
+    childList_ = new InertialNode*[childListSize_];
+  }
+
+
+  InertialNode::InertialNode(orxonox::InertialNode *parentNode, Vector3 speed)
+        : parentNode_(parentNode), childListSize_(4), childListIndex_(0), speed_(speed)
+  {
+    childList_ = new InertialNode*[childListSize_];
+    node_ = parentNode_->getSceneNode()->createChildSceneNode();
+  }
+
+
+  InertialNode::~InertialNode()
+  {
+    if (childList_)
+    {
+      for (int i = 0; i < childListIndex_; i++)
+        if (childList_[i])
+          delete childList_[i];
+      delete childList_;
+    }
+  }
+
+
+  InertialNode* InertialNode::createChildNode()
+  {
+    InertialNode *temp = new InertialNode(this);
+    addChild(temp);
+    return temp;
+  }
+
+
+  InertialNode* InertialNode::getParentNode()
+  {
+    return parentNode_;
+  }
+
+
+  SceneNode* InertialNode::getSceneNode()
+  {
+    return node_;
+  }
+
+
+  Vector3 InertialNode::getSpeed()
+  {
+    return speed_;
+  }
+
+
+  Vector3 InertialNode::getWorldSpeed()
+  {
+    // go through the tree of Inertial nodes
+    Vector3 speed = speed_;
+    InertialNode *temp = parentNode_;
+    while (temp != NULL)
+    {
+      speed = temp->getSceneNode()->getOrientation() * speed + temp->getSpeed();
+      temp = temp->getParentNode();
+    }
+    return speed;
+  }
+
+
+  void InertialNode::addSpeed(Vector3 speed)
+  {
+    speed_ += speed;
+  }
+
+
+  void InertialNode::addChild(orxonox::InertialNode *node)
+  {
+    if (childListIndex_ == childListSize_)
+    {
+      // redimension the array
+      InertialNode **tempArray = new InertialNode*[2*childListSize_];
+      for (int i = 0; i < childListSize_; i++)
+        tempArray[i] = childList_[i];
+      childListSize_ *= 2;
+      delete childList_;
+      childList_ = tempArray;
+    }
+    childList_[childListIndex_++] = node;
+  }
+
+}
Index: code/branches/main_reto_vs05/src/inertial_node.h
===================================================================
--- code/branches/main_reto_vs05/src/inertial_node.h	(revision 189)
+++ code/branches/main_reto_vs05/src/inertial_node.h	(revision 189)
@@ -0,0 +1,77 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef INERTIAL_NODE_H
+#define INERTIAL_NODE_H
+
+#include "OgrePrerequisites.h"
+
+#include "orxonox_prerequisites.h"
+
+
+namespace orxonox {
+
+  class InertialNode
+  {
+  public:
+    InertialNode(Ogre::SceneNode*, Ogre::Vector3);
+	  ~InertialNode();
+
+    InertialNode* createChildNode();
+
+    InertialNode* getParentNode();
+
+    Ogre::SceneNode* getSceneNode();
+
+    Ogre::Vector3 getSpeed();
+
+    Ogre::Vector3 getWorldSpeed();
+
+    void addSpeed(Ogre::Vector3);
+
+  protected:
+    InertialNode(InertialNode*, Ogre::Vector3 speed = Ogre::Vector3::ZERO);
+    void addChild(InertialNode*);
+
+  public:
+
+  protected:
+    InertialNode **childList_;
+    int childListSize_;
+    int childListIndex_;
+
+    Ogre::SceneNode *node_;
+	  Ogre::Vector3 speed_;
+
+    InertialNode* parentNode_;
+
+  };
+
+}
+
+#endif /* INERTIAL_NODE_H */
Index: code/branches/main_reto_vs05/src/orxonox_prerequisites.h
===================================================================
--- code/branches/main_reto_vs05/src/orxonox_prerequisites.h	(revision 188)
+++ code/branches/main_reto_vs05/src/orxonox_prerequisites.h	(revision 189)
@@ -32,8 +32,6 @@
 namespace orxonox {
 
-  class AmmunitionDump;
-  class Bullet;
-  class BulletManager;
   class CameraManager;
+  class InertialNode;
   class OgreControl;
   class Orxonox;
@@ -41,6 +39,15 @@
   class OrxonoxScene;
   class RunManager;
-  class Weapon;
-  class WeaponManager;
+
+
+  namespace weapon {
+
+    class AmmunitionDump;
+    class Bullet;
+    class BulletManager;
+    class Weapon;
+    class WeaponManager;
+
+  }
 
 }
Index: code/branches/main_reto_vs05/src/orxonox_ship.cc
===================================================================
--- code/branches/main_reto_vs05/src/orxonox_ship.cc	(revision 188)
+++ code/branches/main_reto_vs05/src/orxonox_ship.cc	(revision 189)
@@ -34,11 +34,13 @@
 #include "bullet.h"
 #include "bullet_manager.h"
+#include "inertial_node.h"
+#include "weapon_manager.h"
 
 #include "orxonox_ship.h"
-#include "weapon_manager.h"
 
 
 namespace orxonox {
   using namespace Ogre;
+  using namespace weapon;
 
   /**
@@ -65,8 +67,9 @@
   OrxonoxShip::OrxonoxShip(SceneManager *sceneMgr, SceneNode *node,
         BulletManager *bulletManager)
-	      : sceneMgr_(sceneMgr), rootNode_(node), currentSpeed_(Vector3(0, 0, 0)),
+	      : sceneMgr_(sceneMgr), //currentSpeed_(Vector3(0, 0, 0)),
         baseThrust_(1000), currentThrust_(Vector3::ZERO),
         objectCounter_(0), bulletManager_(bulletManager)//, bulletSpeed_(400)
   {
+    rootNode_ = new InertialNode(node, Vector3::ZERO);
   }
 
@@ -80,4 +83,6 @@
     if (mainWeapon_)
       delete mainWeapon_;
+    if (rootNode_)
+      delete rootNode_;
   }
 
@@ -99,12 +104,11 @@
 	  // TODO: names must be unique! use static variables..
 	  shipEntity_ = sceneMgr_->createEntity("Ship", "fish.mesh");
-	  SceneNode *fishNode = rootNode_->createChildSceneNode("fishNode");
-	  fishNode->yaw(Degree(-90));
-	  fishNode->attachObject(shipEntity_);
-	  fishNode->setScale(Vector3(10, 10, 10));
+	  InertialNode *fishNode = rootNode_->createChildNode();
+    fishNode->getSceneNode()->yaw(Degree(-90));
+	  fishNode->getSceneNode()->attachObject(shipEntity_);
+	  fishNode->getSceneNode()->setScale(Vector3(10, 10, 10));
 
     // initialise weapon(s)
-    SceneNode *mainWeaponNode = rootNode_
-          ->createChildSceneNode("mainWeaponNode");
+    InertialNode *mainWeaponNode = rootNode_->createChildNode();
     mainWeapon_ = new WeaponManager(sceneMgr_, mainWeaponNode,
           bulletManager_, 1);
@@ -154,5 +158,5 @@
   void OrxonoxShip::turnUpAndDown(const Radian &angle)
   {
-    rootNode_->pitch(-angle, Node::TS_LOCAL);
+    rootNode_->getSceneNode()->pitch(-angle, Node::TS_LOCAL);
   }
 
@@ -164,5 +168,5 @@
   void OrxonoxShip::turnLeftAndRight(const Radian &angle)
   {
-    rootNode_->yaw(-angle, Node::TS_PARENT);
+    rootNode_->getSceneNode()->yaw(-angle, Node::TS_PARENT);
   }
 
@@ -174,5 +178,5 @@
   Vector3 OrxonoxShip::getSpeed()
   {
-    return currentSpeed_;
+    return rootNode_->getSpeed();
   }
 
@@ -181,5 +185,5 @@
   * @return The Root Node.
   */
-  SceneNode* OrxonoxShip::getRootNode()
+  InertialNode* OrxonoxShip::getRootNode()
   {
     return rootNode_;
@@ -195,16 +199,4 @@
   void OrxonoxShip::fire()
   {
-	  // TODO: Names must be unique!
-	  /*SceneNode *temp = rootNode_->getParentSceneNode()->createChildSceneNode(
-          "BulletNode" + StringConverter::toString(objectCounter_));
-	  temp->setOrientation(rootNode_->getOrientation());
-	  temp->setPosition(rootNode_->getPosition());
-	  temp->setScale(Vector3(1, 1, 1) * 10);
-	  temp->yaw(Degree(-90));
-	  return new Bullet(temp, sceneMgr_->createEntity("bullet"
-          + StringConverter::toString(objectCounter_++), "Barrel.mesh"), currentSpeed_
-          + (rootNode_->getOrientation() * Vector3(0, 0, -1)).normalisedCopy()
-          * bulletSpeed_);*/
-
     mainWeapon_->primaryFireRequest();
   }
@@ -222,9 +214,9 @@
     mainWeapon_->tick(time, deltaTime);
 
-    Quaternion quad = rootNode_->getOrientation();
+    Quaternion quad = rootNode_->getSceneNode()->getOrientation();
     quad.normalise();
-    currentSpeed_ += quad * (Vector3(-1, -1, -1) * currentThrust_) * deltaTime;
-
-	  rootNode_->translate(currentSpeed_ * deltaTime);
+    rootNode_->addSpeed(quad * (Vector3(-1, -1, -1) * currentThrust_) * deltaTime);
+
+    rootNode_->getSceneNode()->translate(rootNode_->getSpeed() * deltaTime);
 
 	  return true;
Index: code/branches/main_reto_vs05/src/orxonox_ship.h
===================================================================
--- code/branches/main_reto_vs05/src/orxonox_ship.h	(revision 188)
+++ code/branches/main_reto_vs05/src/orxonox_ship.h	(revision 189)
@@ -40,5 +40,5 @@
   {
   public:
-	  OrxonoxShip(Ogre::SceneManager*, Ogre::SceneNode*, BulletManager*);
+    OrxonoxShip(Ogre::SceneManager*, Ogre::SceneNode*, weapon::BulletManager*);
 	  virtual ~OrxonoxShip();
 
@@ -51,5 +51,5 @@
 	  void turnLeftAndRight(const Ogre::Radian&);
 
-    Ogre::SceneNode* getRootNode();
+    InertialNode* getRootNode();
     Ogre::Vector3 getSpeed();
 
@@ -62,16 +62,17 @@
   protected:
 	  Ogre::SceneManager *sceneMgr_;
-	  Ogre::SceneNode *rootNode_;
+	  //Ogre::SceneNode *rootNode_;
+    InertialNode *rootNode_;
 	  Ogre::Entity *shipEntity_;
 
-	  Ogre::Vector3 currentSpeed_;  // relative to space
+	  //Ogre::Vector3 currentSpeed_;  // relative to space
 	  Ogre::Vector3 currentThrust_; // relative to the ship
     Ogre::Real baseThrust_;
 	  int objectCounter_;
 
-    BulletManager *bulletManager_;
+    weapon::BulletManager *bulletManager_;
 	  //Ogre::Vector3 bulletSpeed_;
 
-    WeaponManager *mainWeapon_;
+    weapon::WeaponManager *mainWeapon_;
   };
 
Index: code/branches/main_reto_vs05/src/run_manager.cc
===================================================================
--- code/branches/main_reto_vs05/src/run_manager.cc	(revision 188)
+++ code/branches/main_reto_vs05/src/run_manager.cc	(revision 189)
@@ -55,4 +55,5 @@
 #include "camera_manager.h"
 #include "weapon_manager.h"
+#include "inertial_node.h"
 
 #include "run_manager.h"
@@ -60,4 +61,5 @@
 namespace orxonox {
   using namespace Ogre;
+  using namespace weapon;
 
   /**
@@ -572,5 +574,5 @@
   {
     camera_ = sceneMgr_->createCamera("PlayerCam");
-    playerShip_->getRootNode()->attachObject(camera_);
+    playerShip_->getRootNode()->getSceneNode()->attachObject(camera_);
     camera_->setNearClipDistance(5);
     camera_->setPosition(Vector3(0,10,500));
Index: code/branches/main_reto_vs05/src/run_manager.h
===================================================================
--- code/branches/main_reto_vs05/src/run_manager.h	(revision 188)
+++ code/branches/main_reto_vs05/src/run_manager.h	(revision 189)
@@ -112,5 +112,5 @@
 	  int bulletsSize_;
 	  int bulletsIndex_;*/
-    BulletManager *bulletManager_;
+    weapon::BulletManager *bulletManager_;
 
 	  // previously elapsed render time
Index: code/branches/main_reto_vs05/src/weapon.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon.h	(revision 188)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef WEAPON_H
-#define WEAPON_H
-
-#include "OgrePrerequisites.h"
-#include "OgreString.h"
-
-#include "orxonox_prerequisites.h"
-
-namespace orxonox {
-
-  class Weapon
-  {
-  public:
-    Weapon(const Ogre::String &name, int firePower, int firingRate,
-      Ogre::Real bulletSpeed)
-          : name_(name), firePower_(firePower), firingRate_(firingRate),
-          bulletSpeed_(bulletSpeed) { }
-
-    virtual ~Weapon() { }
-
-  public:
-    Ogre::String name_;
-    int firePower_;
-    int firingRate_;
-    Ogre::Real bulletSpeed_;
-  };
-
-}
-
-#endif /* WEAPON_H */
Index: code/branches/main_reto_vs05/src/weapon/ammunition_dump.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/ammunition_dump.cc	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/ammunition_dump.cc	(revision 189)
@@ -0,0 +1,44 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "ammunition_dump.h"
+
+
+namespace orxonox {
+namespace weapon {
+
+  AmmunitionDump::AmmunitionDump()
+  {
+  }
+
+
+  AmmunitionDump::~AmmunitionDump()
+  {
+  }
+
+}
+}
Index: code/branches/main_reto_vs05/src/weapon/ammunition_dump.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/ammunition_dump.h	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/ammunition_dump.h	(revision 189)
@@ -0,0 +1,55 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef AmmunitionDump_H
+#define AmmunitionDump_H
+
+#include "OgrePrerequisites.h"
+
+#include "orxonox_prerequisites.h"
+
+
+namespace orxonox {
+namespace weapon {
+
+  class AmmunitionDump
+  {
+  public:
+	  AmmunitionDump();
+	  ~AmmunitionDump();
+
+  protected:
+
+  protected:
+
+  };
+
+}
+}
+
+#endif /* AmmunitionDump_H */
Index: code/branches/main_reto_vs05/src/weapon/bullet.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/bullet.cc	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/bullet.cc	(revision 189)
@@ -0,0 +1,51 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OgreSceneNode.h"
+#include "OgreEntity.h"
+#include "OgreVector3.h"
+
+#include "bullet.h"
+
+
+namespace orxonox {
+namespace weapon {
+  using namespace Ogre;
+
+  Bullet::Bullet(SceneNode *node, Entity *entity, Vector3 speed)
+    : node_(node), entity_(entity), speed_(speed)
+  {
+	  node_->attachObject(entity_);
+  }
+
+
+  Bullet::~Bullet()
+  {
+  }
+
+}
+}
Index: code/branches/main_reto_vs05/src/weapon/bullet.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/bullet.h	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/bullet.h	(revision 189)
@@ -0,0 +1,60 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef BULLET_H
+#define BULLET_H
+
+#include "OgrePrerequisites.h"
+
+#include "orxonox_prerequisites.h"
+
+
+namespace orxonox {
+namespace weapon {
+
+  class Bullet
+  {
+  public:
+	  Bullet(Ogre::SceneNode*, Ogre::Entity*, Ogre::Vector3);
+	  ~Bullet();
+
+  protected:
+
+  public:
+    Ogre::SceneNode *node_;
+	  Ogre::Entity *entity_;
+	  Ogre::Vector3 speed_;
+
+  protected:
+
+  };
+
+}
+}
+
+#endif /* BULLET_H */
Index: code/branches/main_reto_vs05/src/weapon/bullet_manager.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/bullet_manager.cc	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/bullet_manager.cc	(revision 189)
@@ -0,0 +1,90 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OgreSceneManager.h"
+
+#include "bullet_manager.h"
+#include "bullet.h"
+
+
+namespace orxonox {
+namespace weapon {
+  using namespace Ogre;
+
+  BulletManager::BulletManager(SceneManager *sceneMgr) : sceneMgr_(sceneMgr),
+        bulletsIndex_(0), bulletsSize_(8)
+  {
+    bullets_ = new Bullet*[bulletsSize_];
+  }
+
+
+  BulletManager::~BulletManager()
+  {
+    // clean up the bullet list
+    if (bullets_)
+    {
+      for (int i = 0; i < bulletsIndex_; i++)
+        delete bullets_[i];
+      delete bullets_;
+    }
+  }
+
+
+  void BulletManager::addBullet(Bullet *bullet)
+  {
+    // resize array if neccessary (double the size then)
+    if (bulletsIndex_ >= bulletsSize_)
+    {
+      // redimension the array
+      Bullet **tempArray = new Bullet*[2*bulletsSize_];
+      for (int i = 0; i < bulletsSize_; i++)
+        tempArray[i] = bullets_[i];
+      bulletsSize_ *= 2;
+      delete bullets_;
+      bullets_ = tempArray;
+    }
+
+    // add the bullet to the list
+    bullets_[bulletsIndex_++] = bullet;
+  }
+
+
+  bool BulletManager::tick(unsigned long time, Real deltaTime)
+  {
+    // update the bullet positions
+    for (int i = 0; i < bulletsIndex_; i++)
+    {
+      bullets_[i]->node_->translate(bullets_[i]->speed_*deltaTime);
+      bullets_[i]->node_->yaw(Degree(deltaTime*100));
+      bullets_[i]->node_->roll(Degree(deltaTime*300));
+    }
+
+    return true;
+  }
+
+}
+}
Index: code/branches/main_reto_vs05/src/weapon/bullet_manager.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/bullet_manager.h	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/bullet_manager.h	(revision 189)
@@ -0,0 +1,66 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef BULLET_MANAGER_H
+#define BULLET_MANAGER_H
+
+#include "OgrePrerequisites.h"
+
+#include "orxonox_prerequisites.h"
+
+
+namespace orxonox {
+namespace weapon {
+
+  class BulletManager
+  {
+  public:
+    BulletManager(Ogre::SceneManager*);
+	  virtual ~BulletManager();
+
+    void addBullet(Bullet*);
+
+    bool tick(unsigned long, Ogre::Real);
+
+  protected:
+
+  public:
+    Ogre::SceneManager *sceneMgr_;
+
+  protected:
+    // Bullet array
+	  Bullet **bullets_;
+	  int bulletsSize_;
+	  int bulletsIndex_;
+
+  };
+
+}
+}
+
+#endif /* BULLET_MANAGER_H */
Index: code/branches/main_reto_vs05/src/weapon/weapon.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/weapon.h	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/weapon.h	(revision 189)
@@ -0,0 +1,60 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef WEAPON_H
+#define WEAPON_H
+
+#include "OgrePrerequisites.h"
+#include "OgreString.h"
+
+#include "orxonox_prerequisites.h"
+
+namespace orxonox {
+namespace weapon {
+
+  class Weapon
+  {
+  public:
+    Weapon(const Ogre::String &name, int firePower, int firingRate,
+      Ogre::Real bulletSpeed)
+          : name_(name), firePower_(firePower), firingRate_(firingRate),
+          bulletSpeed_(bulletSpeed) { }
+
+    virtual ~Weapon() { }
+
+  public:
+    Ogre::String name_;
+    int firePower_;
+    int firingRate_;
+    Ogre::Real bulletSpeed_;
+  };
+
+}
+}
+
+#endif /* WEAPON_H */
Index: code/branches/main_reto_vs05/src/weapon/weapon_manager.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/weapon_manager.cc	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/weapon_manager.cc	(revision 189)
@@ -0,0 +1,225 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OgreSceneManager.h"
+#include "OgreEntity.h"
+#include "OgreSceneNode.h"
+#include "OgreVector3.h"
+#include "OgreStringConverter.h"
+
+#include "weapon.h"
+#include "bullet.h"
+#include "bullet_manager.h"
+#include "inertial_node.h"
+#include "weapon_manager.h"
+
+#define ACTION_LIST_SIZE 4
+
+
+namespace orxonox {
+namespace weapon {
+  using namespace Ogre;
+
+  Weapon** WeaponManager::weaponList_s = NULL;
+
+  WeaponManager::WeaponManager(SceneManager *sceneMgr, InertialNode *node,
+        BulletManager *bulletManager, int slotSize)
+        : sceneMgr_(sceneMgr), node_(node), slotSize_(slotSize), slotIndex_(0),
+        bulletCounter_(0), primaryFireRequest_(false), currentState_(IDLE),
+        secondaryFireRequest_(false), selectedWeapon_(0),
+        bulletManager_(bulletManager),
+        actionListReadIndex_(0), actionListWriteIndex_(0)
+  {
+  	slots_ = new Weapon*[slotSize];
+    actionList_ = new Action[ACTION_LIST_SIZE];
+    for (int i = 0; i < ACTION_LIST_SIZE; i++)
+      actionList_[i] = NOTHING;
+  }
+
+
+  WeaponManager::~WeaponManager()
+  {
+    if (slots_)
+      delete slots_;
+    if (actionList_)
+      delete actionList_;
+  }
+
+
+  bool WeaponManager::addWeapon(const Ogre::String &name)
+  {
+    if (!weaponList_s)
+      return false;
+
+    if (name == weaponList_s[0]->name_)
+    {
+      // this is ugly, but for the time being, it has to fit.
+      selectedWeapon_ = slotIndex_;
+      slots_[slotIndex_++] = weaponList_s[0];
+      return true;
+    }
+    else
+      return false;
+  }
+
+
+  bool WeaponManager::addAction(const Action act)
+  {
+    if (actionList_[actionListWriteIndex_] == NOTHING)
+    {
+      actionList_[actionListWriteIndex_] = act;
+      actionListWriteIndex_ = (actionListWriteIndex_ + 1) % ACTION_LIST_SIZE;
+      return true;
+    }
+    else
+      return false;
+  }
+
+
+  void WeaponManager::primaryFireRequest()
+  {
+    primaryFireRequest_ = true;
+  }
+
+
+  void WeaponManager::primaryFire()
+  {
+    currentState_ = PRIMARY_FIRE;
+
+    // TODO: add the name of the weapon manager. but for that,
+    // the factory is required.
+    SceneNode *temp = sceneMgr_->getRootSceneNode()->createChildSceneNode(
+          node_->getSceneNode()->getWorldPosition(),
+          node_->getSceneNode()->getWorldOrientation());
+
+    Entity* bulletEntity = sceneMgr_->createEntity("BulletEntity"
+          + StringConverter::toString(bulletCounter_++), "Barrel.mesh");
+
+    Vector3 speed = (temp->getOrientation() * Vector3(0, 0, -1))
+          .normalisedCopy() * slots_[selectedWeapon_]->bulletSpeed_;
+    speed += node_->getWorldSpeed();
+
+	  temp->setScale(Vector3(1, 1, 1) * 10);
+	  temp->yaw(Degree(-90));
+
+	  bulletManager_->addBullet(new Bullet(temp, bulletEntity, speed));
+  
+    currentState_ = IDLE;
+  }
+
+
+  void WeaponManager::secondaryFireRequest()
+  {
+    secondaryFireRequest_ = true;
+  }
+
+  void WeaponManager::secondaryFire()
+  {
+  }
+
+
+  bool WeaponManager::tick(unsigned long time, Real deltaTime)
+  {
+    // return if no weapon has been added
+    if (!slots_[slotIndex_])
+      return true;
+
+    switch (currentState_)
+    {
+    case IDLE:
+      // first, process actions
+      if (actionList_[actionListReadIndex_] != NOTHING)
+      {
+        actionListReadIndex_ = (actionListReadIndex_ + 1) % ACTION_LIST_SIZE;
+        break;
+      }
+
+      switch (actionList_[actionListReadIndex_])
+      {
+      case RELOAD:
+        break;
+
+      case ZOOM_IN:
+        break;
+
+      case ZOOM_OUT:
+        break;
+
+      default:
+        break;
+      }
+
+      // secondly, execute firing
+      if (primaryFireRequest_)
+        primaryFire();
+      else if (secondaryFireRequest_)
+        secondaryFire();
+
+      break;
+
+    case PRIMARY_FIRE:
+      break;
+
+    case SECONDARY_FIRE:
+      break;
+
+    case RELOADING:
+      break;
+    }
+
+    primaryFireRequest_ = false;
+    secondaryFireRequest_ = false;
+
+    return true;
+  }
+
+
+  // static
+  bool WeaponManager::loadWeapons()
+  {
+    weaponList_s = new Weapon*[5];
+    for (int i = 0; i < 5; i++)
+      weaponList_s[i] = NULL;
+    weaponList_s[0] = new Weapon("Barrel Gun", 10, 2, 500);
+    return true;
+  }
+
+
+  // static
+  void WeaponManager::destroyWeapons()
+  {
+    if (weaponList_s)
+    {
+      for (int i = 0; i < 5; i++)
+        if (weaponList_s[i])
+          delete weaponList_s[i];
+      delete weaponList_s;
+    }
+  }
+
+}
+}
Index: code/branches/main_reto_vs05/src/weapon/weapon_manager.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/weapon_manager.h	(revision 189)
+++ code/branches/main_reto_vs05/src/weapon/weapon_manager.h	(revision 189)
@@ -0,0 +1,112 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef WEAPON_MANAGER_H
+#define WEAPON_MANAGER_H
+
+#include "OgrePrerequisites.h"
+
+#include "orxonox_prerequisites.h"
+
+
+namespace orxonox {
+namespace weapon {
+
+  class WeaponManager
+  {
+  public:
+    enum Action {
+      NOTHING  = 0,
+      RELOAD   = 1,
+      ZOOM_IN  = 2,
+      ZOOM_OUT = 3
+    };
+
+  protected:
+    enum State {
+      IDLE = 0,
+      PRIMARY_FIRE = 1,
+      SECONDARY_FIRE = 2,
+      RELOADING = 4
+    };
+
+  public:
+    WeaponManager(Ogre::SceneManager*, InertialNode*, BulletManager*, int);
+	  virtual ~WeaponManager();
+
+    bool addWeapon(const Ogre::String&);
+
+    bool addAction(const Action);
+
+    void primaryFireRequest();
+
+    void secondaryFireRequest();
+
+    bool tick(unsigned long, Ogre::Real);
+
+    bool static loadWeapons();
+
+    void static destroyWeapons();
+
+  protected:
+    void primaryFire();
+
+    void secondaryFire();
+
+  public:
+
+  protected:
+    Ogre::SceneManager *sceneMgr_;
+    //Ogre::SceneNode *node_;
+    InertialNode* node_;
+
+    Weapon **slots_;
+    int slotSize_;
+    int slotIndex_;
+    int selectedWeapon_;
+
+    int bulletCounter_;
+    BulletManager *bulletManager_;
+
+    bool primaryFireRequest_;
+    bool secondaryFireRequest_;
+
+    State currentState_;
+
+    Action *actionList_;
+    int actionListReadIndex_;
+    int actionListWriteIndex_;
+
+    static Weapon **weaponList_s;
+
+  };
+
+}
+}
+
+#endif /* WEAPON_MANAGER_H */
Index: code/branches/main_reto_vs05/src/weapon_manager.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon_manager.cc	(revision 188)
+++ 	(revision )
@@ -1,217 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "OgreSceneManager.h"
-#include "OgreEntity.h"
-#include "OgreSceneNode.h"
-#include "OgreVector3.h"
-#include "OgreStringConverter.h"
-
-#include "weapon.h"
-#include "bullet.h"
-#include "bullet_manager.h"
-#include "weapon_manager.h"
-
-#define ACTION_LIST_SIZE 4
-
-
-namespace orxonox {
-  using namespace Ogre;
-
-  Weapon** WeaponManager::weaponList_s = NULL;
-
-  WeaponManager::WeaponManager(SceneManager *sceneMgr, SceneNode *node,
-        BulletManager *bulletManager, int slotSize)
-        : sceneMgr_(sceneMgr), node_(node), slotSize_(slotSize), slotIndex_(0),
-        bulletCounter_(0), primaryFireRequest_(false), currentState_(IDLE),
-        secondaryFireRequest_(false), selectedWeapon_(0),
-        bulletManager_(bulletManager),
-        actionListReadIndex_(0), actionListWriteIndex_(0)
-  {
-  	slots_ = new Weapon*[slotSize];
-    actionList_ = new Action[ACTION_LIST_SIZE];
-    for (int i = 0; i < ACTION_LIST_SIZE; i++)
-      actionList_[i] = NOTHING;
-  }
-
-
-  WeaponManager::~WeaponManager()
-  {
-    if (slots_)
-      delete slots_;
-    if (actionList_)
-      delete actionList_;
-  }
-
-
-  bool WeaponManager::addWeapon(const Ogre::String &name)
-  {
-    if (!weaponList_s)
-      return false;
-
-    if (name == weaponList_s[0]->name_)
-    {
-      // this is ugly, but for the time being, it has to fit.
-      selectedWeapon_ = slotIndex_;
-      slots_[slotIndex_++] = weaponList_s[0];
-      return true;
-    }
-    else
-      return false;
-  }
-
-
-  bool WeaponManager::addAction(const Action act)
-  {
-    if (actionList_[actionListWriteIndex_] == NOTHING)
-    {
-      actionList_[actionListWriteIndex_] = act;
-      actionListWriteIndex_ = (actionListWriteIndex_ + 1) % ACTION_LIST_SIZE;
-      return true;
-    }
-    else
-      return false;
-  }
-
-
-  void WeaponManager::primaryFireRequest()
-  {
-    primaryFireRequest_ = true;
-  }
-
-
-  void WeaponManager::primaryFire()
-  {
-    currentState_ = PRIMARY_FIRE;
-
-    // TODO: add the name of the weapon manager. but for that,
-    // the factory is required.
-    SceneNode *temp = sceneMgr_->getRootSceneNode()->createChildSceneNode(
-          "BulletNode" + StringConverter::toString(bulletCounter_),
-          node_->getWorldPosition(), node_->getWorldOrientation());
-	  temp->setScale(Vector3(1, 1, 1) * 10);
-	  temp->yaw(Degree(-90));
-    Entity* bulletEntity = sceneMgr_->createEntity("BulletEntity"
-          + StringConverter::toString(bulletCounter_++), "Barrel.mesh");
-    Vector3 speed = (node_->getOrientation() * Vector3(0, 0, -1))
-          .normalisedCopy() * slots_[selectedWeapon_]->bulletSpeed_;
-	  bulletManager_->addBullet(new Bullet(temp, bulletEntity, speed));
-  
-    currentState_ = IDLE;
-  }
-
-
-  void WeaponManager::secondaryFireRequest()
-  {
-    secondaryFireRequest_ = true;
-  }
-
-  void WeaponManager::secondaryFire()
-  {
-  }
-
-
-  bool WeaponManager::tick(unsigned long time, Real deltaTime)
-  {
-    // return if no weapon has been added
-    if (!slots_[slotIndex_])
-      return true;
-
-    switch (currentState_)
-    {
-    case IDLE:
-      // first, process actions
-      if (actionList_[actionListReadIndex_] != NOTHING)
-      {
-        actionListReadIndex_ = (actionListReadIndex_ + 1) % ACTION_LIST_SIZE;
-        break;
-      }
-
-      switch (actionList_[actionListReadIndex_])
-      {
-      case RELOAD:
-        break;
-
-      case ZOOM_IN:
-        break;
-
-      case ZOOM_OUT:
-        break;
-
-      default:
-        break;
-      }
-
-      // secondly, execute firing
-      if (primaryFireRequest_)
-        primaryFire();
-      else if (secondaryFireRequest_)
-        secondaryFire();
-
-      break;
-
-    case PRIMARY_FIRE:
-      break;
-
-    case SECONDARY_FIRE:
-      break;
-
-    case RELOADING:
-      break;
-    }
-
-    primaryFireRequest_ = false;
-    secondaryFireRequest_ = false;
-
-    return true;
-  }
-
-
-  // static
-  bool WeaponManager::loadWeapons()
-  {
-    weaponList_s = new Weapon*[5];
-    for (int i = 0; i < 5; i++)
-      weaponList_s[i] = NULL;
-    weaponList_s[0] = new Weapon("Barrel Gun", 10, 2, 500);
-    return true;
-  }
-
-
-  // static
-  void WeaponManager::destroyWeapons()
-  {
-    if (weaponList_s)
-    {
-      for (int i = 0; i < 5; i++)
-        if (weaponList_s[i])
-          delete weaponList_s[i];
-      delete weaponList_s;
-    }
-  }
-
-}
Index: code/branches/main_reto_vs05/src/weapon_manager.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon_manager.h	(revision 188)
+++ 	(revision )
@@ -1,109 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   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 3 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, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef WEAPON_MANAGER_H
-#define WEAPON_MANAGER_H
-
-#include "OgrePrerequisites.h"
-
-#include "orxonox_prerequisites.h"
-
-
-namespace orxonox {
-
-  class WeaponManager
-  {
-  public:
-    enum Action {
-      NOTHING  = 0,
-      RELOAD   = 1,
-      ZOOM_IN  = 2,
-      ZOOM_OUT = 3
-    };
-
-  protected:
-    enum State {
-      IDLE = 0,
-      PRIMARY_FIRE = 1,
-      SECONDARY_FIRE = 2,
-      RELOADING = 4
-    };
-
-  public:
-    WeaponManager(Ogre::SceneManager*, Ogre::SceneNode*, BulletManager*, int);
-	  virtual ~WeaponManager();
-
-    bool addWeapon(const Ogre::String&);
-
-    bool addAction(const Action);
-
-    void primaryFireRequest();
-
-    void secondaryFireRequest();
-
-    bool tick(unsigned long, Ogre::Real);
-
-    bool static loadWeapons();
-
-    void static destroyWeapons();
-
-  protected:
-    void primaryFire();
-
-    void secondaryFire();
-
-  public:
-
-  protected:
-    Ogre::SceneManager *sceneMgr_;
-    Ogre::SceneNode *node_;
-
-    Weapon **slots_;
-    int slotSize_;
-    int slotIndex_;
-    int selectedWeapon_;
-
-    int bulletCounter_;
-    BulletManager *bulletManager_;
-
-    bool primaryFireRequest_;
-    bool secondaryFireRequest_;
-
-    State currentState_;
-
-    Action *actionList_;
-    int actionListReadIndex_;
-    int actionListWriteIndex_;
-
-    static Weapon **weaponList_s;
-
-  };
-
-}
-
-#endif /* WEAPON_MANAGER_H */
