[Orxonox-commit 3887] r8561 - in code/branches/presentation: . data/gui/layouts data/gui/scripts data/levels src/modules src/modules/docking src/modules/objects/triggers src/orxonox/controllers src/orxonox/infos

dafrick at orxonox.net dafrick at orxonox.net
Tue May 24 16:44:40 CEST 2011


Author: dafrick
Date: 2011-05-24 16:44:39 +0200 (Tue, 24 May 2011)
New Revision: 8561

Added:
   code/branches/presentation/data/gui/layouts/DockingDialog.layout
   code/branches/presentation/data/gui/scripts/DockingDialog.lua
   code/branches/presentation/data/levels/docking.oxw
   code/branches/presentation/src/modules/docking/
   code/branches/presentation/src/modules/docking/CMakeLists.txt
   code/branches/presentation/src/modules/docking/Dock.cc
   code/branches/presentation/src/modules/docking/Dock.h
   code/branches/presentation/src/modules/docking/DockToShip.cc
   code/branches/presentation/src/modules/docking/DockToShip.h
   code/branches/presentation/src/modules/docking/DockingAnimation.cc
   code/branches/presentation/src/modules/docking/DockingAnimation.h
   code/branches/presentation/src/modules/docking/DockingController.cc
   code/branches/presentation/src/modules/docking/DockingController.h
   code/branches/presentation/src/modules/docking/DockingEffect.cc
   code/branches/presentation/src/modules/docking/DockingEffect.h
   code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h
   code/branches/presentation/src/modules/docking/DockingPrereqs.h
   code/branches/presentation/src/modules/docking/DockingTarget.cc
   code/branches/presentation/src/modules/docking/DockingTarget.h
   code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc
   code/branches/presentation/src/modules/docking/MoveToDockingTarget.h
Removed:
   code/branches/presentation/src/modules/docking/CMakeLists.txt
   code/branches/presentation/src/modules/docking/Dock.cc
   code/branches/presentation/src/modules/docking/Dock.h
   code/branches/presentation/src/modules/docking/DockToShip.cc
   code/branches/presentation/src/modules/docking/DockToShip.h
   code/branches/presentation/src/modules/docking/DockingAnimation.cc
   code/branches/presentation/src/modules/docking/DockingAnimation.h
   code/branches/presentation/src/modules/docking/DockingController.cc
   code/branches/presentation/src/modules/docking/DockingController.h
   code/branches/presentation/src/modules/docking/DockingEffect.cc
   code/branches/presentation/src/modules/docking/DockingEffect.h
   code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h
   code/branches/presentation/src/modules/docking/DockingPrereqs.h
   code/branches/presentation/src/modules/docking/DockingTarget.cc
   code/branches/presentation/src/modules/docking/DockingTarget.h
   code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc
   code/branches/presentation/src/modules/docking/MoveToDockingTarget.h
Modified:
   code/branches/presentation/
   code/branches/presentation/src/modules/CMakeLists.txt
   code/branches/presentation/src/modules/objects/triggers/MultiTrigger.cc
   code/branches/presentation/src/orxonox/controllers/ArtificialController.cc
   code/branches/presentation/src/orxonox/controllers/ArtificialController.h
   code/branches/presentation/src/orxonox/infos/PlayerInfo.cc
   code/branches/presentation/src/orxonox/infos/PlayerInfo.h
Log:
Merging dockingsystem2 branch to presentation branch.



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

Copied: code/branches/presentation/data/gui/layouts/DockingDialog.layout (from rev 8560, code/branches/dockingsystem2/data/gui/layouts/DockingDialog.layout)
===================================================================
--- code/branches/presentation/data/gui/layouts/DockingDialog.layout	                        (rev 0)
+++ code/branches/presentation/data/gui/layouts/DockingDialog.layout	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+    <Window Type="MenuWidgets/StaticImage" Name="orxonox/DockingBackground" >
+        <Property Name="FrameEnabled" Value="False" />
+        <Property Name="InheritsAlpha" Value="False" />
+        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+        <Property Name="BackgroundEnabled" Value="False" />
+        <Window Type="MenuWidgets/StaticText" Name="orxonox/DockingTitle" >
+            <Property Name="Text" Value="Docking" />
+            <Property Name="Alpha" Value="0.8" />
+            <Property Name="InheritsAlpha" Value="False" />
+            <Property Name="HorzFormatting" Value="HorzCentred" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="VertFormatting" Value="TopAligned" />
+            <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.7,0}}" />
+            <Window Type="MenuWidgets/Listbox" Name="orxonox/DockingDocks" >
+                <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+                <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.85,0}}" />
+            </Window>
+        </Window>
+        <Window Type="MenuWidgets/Button" Name="orxonox/DockingDockButton" >
+            <Property Name="Text" Value="Dock" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.725,0},{0.4875,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="DockingDialog.dockButton_clicked"/>
+        </Window>
+        <Window Type="MenuWidgets/Button" Name="orxonox/DockingCancelButton" >
+            <Property Name="Text" Value="Cancel" />
+            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+            <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.725,0},{0.7125,0},{0.775,0}}" />
+            <Event Name="Clicked" Function="DockingDialog.cancelButton_clicked"/>
+        </Window>
+    </Window>
+</GUILayout>

Copied: code/branches/presentation/data/gui/scripts/DockingDialog.lua (from rev 8560, code/branches/dockingsystem2/data/gui/scripts/DockingDialog.lua)
===================================================================
--- code/branches/presentation/data/gui/scripts/DockingDialog.lua	                        (rev 0)
+++ code/branches/presentation/data/gui/scripts/DockingDialog.lua	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,66 @@
+-- DockingDialog.lua
+
+local P = createMenuSheet("DockingDialog")
+
+P.docks = {}
+
+function P.onLoad()
+
+     --button are arranged in a 1x2 matrix
+    P:setButton(1, 1, {
+            ["button"] = winMgr:getWindow("orxonox/DockingDockButton"),
+            ["callback"]  = P.dockButton_clicked
+    })
+
+    P:setButton(1, 2, {
+            ["button"] = winMgr:getWindow("orxonox/DockingCancelButton"),
+            ["callback"]  = P.cancelButton_clicked
+    })
+    
+end
+
+function P.onShow()
+    orxonox.execute("setPause 1")
+    P.update()
+end
+
+function P.onHide()
+    orxonox.execute("setPause 0")
+end
+
+function P.update()
+    -- update dock list
+    P.docks = {}
+    local docks = orxonox.Dock:getNumberOfActiveDocks()
+    for i = 0, docks-1 do
+        table.insert(P.docks, orxonox.Dock:getActiveDockAtIndex(i))
+    end
+
+    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/DockingDocks"))
+    listbox:resetList()
+
+    for k in pairs(P.docks) do
+        local item = CEGUI.createListboxTextItem("Dock " .. k)
+        item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush")
+        listbox:addItem(item)
+    end
+end
+
+function P.dockButton_clicked(e)
+    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/DockingDocks"))
+    local choice = listbox:getFirstSelectedItem()
+    if choice ~= nil then
+        local index = listbox:getItemIndex(choice)
+        local dock = P.docks[index+1]
+        if dock ~= nil then
+            dock:dock()
+        end
+    end
+    hideMenuSheet(P.name)
+end
+
+function P.cancelButton_clicked(e)
+    hideMenuSheet(P.name)
+end
+
+return P

Copied: code/branches/presentation/data/levels/docking.oxw (from rev 8560, code/branches/dockingsystem2/data/levels/docking.oxw)
===================================================================
--- code/branches/presentation/data/levels/docking.oxw	                        (rev 0)
+++ code/branches/presentation/data/levels/docking.oxw	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,209 @@
+<LevelInfo
+ name = "Transporter"
+ description = "Level with a Transporter. Demonstrates the docking system."
+ tags = ""
+/>
+
+<?lua
+  include("HUDTemplates3.oxo")
+  include("stats.oxo")
+  include("templates/spaceshipAssff.oxt")
+  include("templates/lodInformation.oxt")
+?>
+
+<Level
+ name         = "Transporter"
+ description  = "Docking example level"
+>
+  <templates>
+    <Template link="lodtemplate_default" />
+  </templates>
+
+  <Scene
+   ambientlight = "0.5, 0.5, 0.5"
+   skybox       = "Orxonox/skypanoramagen1"
+  >
+
+    <Light type="directional" position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
+
+    <?lua for i = 1, 10, 1 do ?>
+      <SpawnPoint position="<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>,<?lua print(math.random() * 200 - 100) ?>" lookat="0,0,0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+    <?lua end ?>
+
+
+
+      <SpaceShip
+   position               = "280, 150, 115"
+   orientation            = "0.5, 0.5, 0.5, 0.5"
+   hudtemplate            = "spaceshiphud"
+   camerapositiontemplate = "spaceshipassffcameras"
+   engine                 = "spaceshipassffengine"
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = "3"
+   explosionchunks        = "6"
+
+   health            = "100"
+   maxhealth         = "200"
+   initialhealth     = "100"
+
+   primaryThrust     = "100;"
+   auxilaryThrust    = "30;"
+   rotationThrust    = "25;"
+
+   collisionType     = "dynamic"
+   mass              = "100"
+   linearDamping     = "0.7"
+   angularDamping    = "0.9999999"
+  >
+    <attached>
+        <DistanceTriggerBeacon name="bcnSpaceShip" />
+        <DockingTarget name="spaceShip" />
+
+      <Model position="0,0,0" yaw="90" pitch="-90" roll="0" scale="4" mesh="assff.mesh" />
+      <BlinkingBillboard position="17,-1.5,0" material="Examples/Flare" colour="1.0, 0.5, 0.3" amplitude="0.1" frequency="0.5" quadratic="1" />
+      <BlinkingBillboard position="-17,-1.5,0" material="Examples/Flare" colour="0.5, 1.0, 0.3" amplitude="0.1" frequency="0.5" phase="180" quadratic="1" />
+      <DistanceTriggerBeacon name="PlayerDistanceTrigger" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+    </collisionShapes>
+<?lua
+  include("includes/weaponSettingsAssff.oxi")
+?>
+  </SpaceShip>
+
+    
+
+
+    <Destroyer
+      position          = "100,150,100"
+      collisionType     = "dynamic"
+      mass              = "100000"
+      velocity          = "0,0,0"
+      angularDamping    = "0.9999999"
+      health            = "10000"
+      maxhealth         = "10000"
+      initialhealth     = "10000"
+    >
+
+      <attached>
+
+        <DistanceTriggerBeacon name="bcnDestroyer" />
+        <DockingTarget name="destroyer" />
+
+
+        <Dock orientation="0.5, 0.5, 0.5, 0.5">
+            <animations>
+                <MoveToDockingTarget target="destroyer" position="10,150,40" />
+            </animations>
+            <effects>
+                <DockToShip target="spaceShip" />
+            </effects>
+            <events>
+                <execute>
+                    <EventListener event="dockMe" />
+                </execute>
+            </events>
+            <attached>
+                <DistanceTrigger position="0,0,-200" distance="30" target="Pawn" beaconMode="exclude" targetname="bcnDestroyer" name="dockMe" />
+                <Billboard position="0,0,-200" material="Examples/Flare" colour="1.0, 0, 0" />
+            </attached>
+        </Dock>
+
+
+        <TeamSpawnPoint team="1" position="150,0,7" direction="-1,0,0" roll="90" yaw="0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+        <TeamSpawnPoint team="1" position="0,0,7" lookat="-1,0,0" roll="90"  yaw="0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+        <TeamSpawnPoint team="1" position="-50,0,7" lookat="-1,0,0" roll="90" yaw="0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+        <TeamSpawnPoint team="1" position="100,0,7" lookat="-1,0,0" roll="90" yaw="0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+        <TeamSpawnPoint team="1" position="50,0,7" lookat="-1,0,0" roll="90" yaw="0" spawnclass="SpaceShip" pawndesign="spaceshipassff" />
+        <?lua for i = 1, 100, 1 do ?>
+          <TeamSpawnPoint
+            team="0"
+            position="<?lua print((math.random() * 500 + 500) * (math.floor(math.random() + 0.5) * 2 - 1)) ?>,<?lua print((math.random() * 500 + 500) * (math.floor(math.random() + 0.5) * 2 - 1)) ?>,<?lua print((math.random() * 500 + 500) * (math.floor(math.random() + 0.5) * 2 - 1)) ?>"
+            lookat="0,0,0"
+            spawnclass="SpaceShip"
+            pawndesign="spaceshipassff"
+          />
+        <?lua end ?>
+
+        <Model mesh="Carrier.mesh" scale="5" />
+        <Backlight
+          mainstate="activity"
+          active="false"
+          scale="0.4"
+          name="bltest"
+          position=" 7.6, 0, 6"
+          colour="0.2, 0.65, 1.0, 1.0"
+          width="15"
+          length="1500"
+          lifetime="2"
+          elements="50"
+          trailmaterial="Trail/backlighttrail"
+          turnontime="1"
+          turnofftime="1"
+          material="Flares/ThrusterFlare1"
+        />
+        <Backlight
+                  scale="1"
+                  position=" 169, 75, -15"
+                  colour="1, 0.85, 0.5, 0.5"
+                  width="40"
+                  length="1000"
+                  lifetime="5"
+                  elements="15"
+                  trailmaterial="Trail/backlighttrail"
+                  material="Examples/Flare"
+                  />
+        <Backlight
+                  scale="1"
+                  position=" 169, -75, -15"
+                  colour="1, 0.85, 0.5, 0.5"
+                  width="40"
+                  length="1000"
+                  lifetime="5"
+                  elements="15"
+                  trailmaterial="Trail/backlighttrail"
+                  material="Examples/Flare"
+         />
+        <?lua for i=0,8,1 do ?>
+          <BlinkingBillboard
+            position="<?lua print(200-270/8*i)?> ,15,2"
+            material="Examples/Flare"
+            colour="1.0, 0.5, 0.3"
+            phase="<?lua print(-360/8*i)?>"
+            amplitude="0.1"
+            frequency="0.5"
+            quadratic="1"
+          />
+
+          <BlinkingBillboard
+            position="<?lua print(200-270/8*i)?>,-15,2"
+            material="Examples/Flare"
+            colour="1.0, 0.5, 0.3"
+            phase="<?lua print(-360/8*i)?>"
+            amplitude="0.1"
+            frequency="0.5"
+            quadratic="1"
+          />
+        <?lua end ?>
+
+      </attached>
+      <collisionShapes>
+        <BoxCollisionShape position="70,0,-25"      halfExtents="150, 50, 25" />
+        <BoxCollisionShape position="95,75,-16"     halfExtents="70, 10, 12" />
+        <BoxCollisionShape position="95,-75,-16"    halfExtents="70, 10, 12" />
+        <BoxCollisionShape position="77,47,30"      halfExtents="110, 2, 30" />
+        <BoxCollisionShape position="77,-47,30"     halfExtents="110, 2, 30" />
+        <BoxCollisionShape position="77,0,50"       halfExtents="110, 45, 6" />
+        <BoxCollisionShape position="167,0,70"      halfExtents="17, 20, 20" />
+      </collisionShapes>
+
+    </Destroyer>
+
+  </Scene>
+</Level>

Modified: code/branches/presentation/src/modules/CMakeLists.txt
===================================================================
--- code/branches/presentation/src/modules/CMakeLists.txt	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/CMakeLists.txt	2011-05-24 14:44:39 UTC (rev 8561)
@@ -34,3 +34,4 @@
 ADD_SUBDIRECTORY(portals)
 ADD_SUBDIRECTORY(questsystem)
 ADD_SUBDIRECTORY(weapons)
+ADD_SUBDIRECTORY(docking)

Deleted: code/branches/presentation/src/modules/docking/CMakeLists.txt
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/CMakeLists.txt	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/CMakeLists.txt	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,21 +0,0 @@
-SET_SOURCE_FILES(DOCKING_SRC_FILES
-  DockingTarget.cc
-  DockingEffect.cc
-  DockingAnimation.cc
-  DockToShip.cc
-  MoveToDockingTarget.cc
-  DockingController.cc
-  Dock.cc
-)
-
-ORXONOX_ADD_LIBRARY(docking
-  MODULE
-  FIND_HEADER_FILES
-  TOLUA_FILES
-    Dock.h
-  PCH_FILE
-    DockingPrecompiledHeaders.h
-  LINK_LIBRARIES
-    orxonox
-  SOURCE_FILES ${DOCKING_SRC_FILES}
-)

Copied: code/branches/presentation/src/modules/docking/CMakeLists.txt (from rev 8560, code/branches/dockingsystem2/src/modules/docking/CMakeLists.txt)
===================================================================
--- code/branches/presentation/src/modules/docking/CMakeLists.txt	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/CMakeLists.txt	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,21 @@
+SET_SOURCE_FILES(DOCKING_SRC_FILES
+  DockingTarget.cc
+  DockingEffect.cc
+  DockingAnimation.cc
+  DockToShip.cc
+  MoveToDockingTarget.cc
+  DockingController.cc
+  Dock.cc
+)
+
+ORXONOX_ADD_LIBRARY(docking
+  MODULE
+  FIND_HEADER_FILES
+  TOLUA_FILES
+    Dock.h
+  PCH_FILE
+    DockingPrecompiledHeaders.h
+  LINK_LIBRARIES
+    orxonox
+  SOURCE_FILES ${DOCKING_SRC_FILES}
+)

Deleted: code/branches/presentation/src/modules/docking/Dock.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/Dock.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/Dock.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,280 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file Dock.cc
-    @brief Docking system main class
-*/
-
-#include "Dock.h"
-
-#include "core/CoreIncludes.h"
-#include "core/LuaState.h"
-#include "core/GUIManager.h"
-#include "infos/HumanPlayer.h"
-#include "worldentities/pawns/Pawn.h"
-#include "interfaces/PlayerTrigger.h"
-#include "core/command/ConsoleCommand.h"
-
-#include "ToluaBindDocking.h"
-
-namespace orxonox
-{
-    // Register tolua_open function when loading the library
-    DeclareToluaInterface(Docking);
-
-    CreateFactory(Dock);
-
-    SetConsoleCommand("Dock", "dock",    &Dock::cmdDock).addShortcut().setAsInputCommand();
-    SetConsoleCommand("Dock", "undock",  &Dock::cmdUndock).addShortcut().setAsInputCommand();
-
-    Dock::Dock(BaseObject* creator) : StaticEntity(creator)
-    {
-        RegisterObject(Dock);
-    }
-
-    Dock::~Dock()
-    {
-    }
-
-
-    void Dock::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(Dock, XMLPort, xmlelement, mode);
-
-        XMLPortObject(Dock, DockingEffect, "effects", addEffect, getEffect, xmlelement, mode);
-        XMLPortObject(Dock, DockingAnimation, "animations", addAnimation, getAnimation, xmlelement, mode);
-        XMLPortEventSink(Dock, BaseObject, "execute", execute, xmlelement, mode);
-    }
-
-    void Dock::XMLEventPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(Dock, XMLEventPort, xmlelement, mode);
-
-        XMLPortEventSink(Dock, BaseObject, "execute", execute, xmlelement, mode);
-    }
-
-
-    bool Dock::execute(bool bTriggered, BaseObject* trigger)
-    {
-        PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
-        Pawn* pawn = NULL;
-
-        // Check whether it is a player trigger and extract pawn from it
-        if(pTrigger != NULL)
-        {
-            if(!pTrigger->isForPlayer()) {  // The PlayerTrigger is not exclusively for Pawns which means we cannot extract one.
-                COUT(4) << "Docking:execute PlayerTrigger was not triggered by a player.." << std::endl;
-                return false;
-            }
-            pawn = pTrigger->getTriggeringPlayer();
-        }
-        else
-        {
-            COUT(4) << "Docking::execute Not a player trigger, can't extract pawn from it.." << std::endl;
-            return false;
-        }
-        if(pawn == NULL)
-        {
-            COUT(4) << "Docking::execute Can't retrieve Pawn from Trigger. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
-            return false;
-        }
-
-        // Extract the PlayerInfo from the Pawn.
-        PlayerInfo* player = pawn->getPlayer();
-        if(player == NULL)
-        {
-            COUT(2) << "Docking::execute The PlayerInfo* is NULL." << std::endl;
-            return false;
-        }
-
-        if(bTriggered)
-        {
-            // Add player to this Docks candidates
-            candidates.insert(player);
-
-            // Show docking dialog
-            GUIManager::showGUI("DockingDialog");
-        }
-        else
-        {
-            // Remove player from candidates list
-            candidates.erase(player);
-        }
-
-        return true;
-    }
-
-
-    void Dock::cmdDock()
-    {
-        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
-        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
-        {
-            if(it->dock(player))
-                break;
-        }
-    }
-
-    void Dock::cmdUndock()
-    {
-        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
-        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
-        {
-            if(it->undock(player))
-                break;
-        }
-    }
-
-
-    bool Dock::dock(PlayerInfo* player)
-    {
-        // Check if player is a candidate
-        if(candidates.find(player) == candidates.end())
-        {
-            COUT(2) << "Dock::dock Player is not a candidate!" << std::endl;
-            return false;
-        }
-
-        candidates.erase(player);
-        docked.insert(player);
-
-        if (animations.empty())
-            return dockingAnimationFinished(player);
-        else
-            DockingAnimation::invokeAnimation(true, player, animations);
-
-        return true;
-    }
-
-    bool Dock::dockingAnimationFinished(PlayerInfo* player)
-    {
-        if(docked.find(player) == docked.end())
-        {
-            COUT(2) << "Dock::dockingAnimationFinished Player is not currently docked." << std::endl;
-            return false;
-        }
-
-        DockingEffect::invokeEffect(true, player, effects);
-        return true;
-    }
-
-    bool Dock::undock(PlayerInfo* player)
-    {
-        // Check if player is docked to this Dock
-        if(docked.find(player) == docked.end())
-        {
-            COUT(2) << "Dock::undock Player is not docked to this Dock." << std::endl;
-            return false;
-        }
-
-        docked.erase(player);
-        candidates.insert(player);
-
-        DockingEffect::invokeEffect(false, player, effects);
-
-        if (animations.empty())
-            return undockingAnimationFinished(player);
-        else
-            DockingAnimation::invokeAnimation(false, player, animations);
-
-        return true;
-    }
-
-    bool Dock::undockingAnimationFinished(PlayerInfo* player) {
-        COUT(4) << "Dock::undockingAnimationFinished executed" << std::endl;
-        return true;
-    }
-
-
-    unsigned int Dock::getNumberOfActiveDocks()
-    {
-        int i = 0;
-        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
-        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
-        {
-            if(it->candidates.find(player) != it->candidates.end())
-                i++;
-        }
-        return i;
-    }
-
-    Dock* Dock::getActiveDockAtIndex(unsigned int index)
-    {
-        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
-        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
-        {
-            if(it->candidates.find(player) != it->candidates.end())
-            {
-                if(index == 0)
-                    return *it;
-                index--;
-            }
-        }
-        return NULL;
-    }
-
-
-    bool Dock::addEffect(DockingEffect* effect)
-    {
-        assert(effect);
-        effects.push_back(effect);
-        return true;
-    }
-
-    const DockingEffect* Dock::getEffect(unsigned int i) const
-    {
-        for (std::list<DockingEffect*>::const_iterator effect = this->effects.begin(); effect != this->effects.end(); ++effect)
-        {
-            if(i == 0)
-               return *effect;
-            i--;
-        }
-        return NULL;
-    }
-
-    bool Dock::addAnimation(DockingAnimation* animation)
-    {
-        assert(animation);
-        animation->setParent(this);
-        animations.push_back(animation);
-        return true;
-    }
-
-    const DockingAnimation* Dock::getAnimation(unsigned int i) const
-    {
-        for (std::list<DockingAnimation*>::const_iterator animation = this->animations.begin(); animation != this->animations.end(); ++animation)
-        {
-            if(i == 0)
-               return *animation;
-            i--;
-        }
-        return NULL;
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/Dock.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/Dock.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/Dock.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/Dock.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,280 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file Dock.cc
+    @brief Docking system main class
+*/
+
+#include "Dock.h"
+
+#include "core/CoreIncludes.h"
+#include "core/LuaState.h"
+#include "core/GUIManager.h"
+#include "infos/HumanPlayer.h"
+#include "worldentities/pawns/Pawn.h"
+#include "interfaces/PlayerTrigger.h"
+#include "core/command/ConsoleCommand.h"
+
+#include "ToluaBindDocking.h"
+
+namespace orxonox
+{
+    // Register tolua_open function when loading the library
+    DeclareToluaInterface(Docking);
+
+    CreateFactory(Dock);
+
+    SetConsoleCommand("Dock", "dock",    &Dock::cmdDock).addShortcut().setAsInputCommand();
+    SetConsoleCommand("Dock", "undock",  &Dock::cmdUndock).addShortcut().setAsInputCommand();
+
+    Dock::Dock(BaseObject* creator) : StaticEntity(creator)
+    {
+        RegisterObject(Dock);
+    }
+
+    Dock::~Dock()
+    {
+    }
+
+
+    void Dock::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(Dock, XMLPort, xmlelement, mode);
+
+        XMLPortObject(Dock, DockingEffect, "effects", addEffect, getEffect, xmlelement, mode);
+        XMLPortObject(Dock, DockingAnimation, "animations", addAnimation, getAnimation, xmlelement, mode);
+        XMLPortEventSink(Dock, BaseObject, "execute", execute, xmlelement, mode);
+    }
+
+    void Dock::XMLEventPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(Dock, XMLEventPort, xmlelement, mode);
+
+        XMLPortEventSink(Dock, BaseObject, "execute", execute, xmlelement, mode);
+    }
+
+
+    bool Dock::execute(bool bTriggered, BaseObject* trigger)
+    {
+        PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
+        Pawn* pawn = NULL;
+
+        // Check whether it is a player trigger and extract pawn from it
+        if(pTrigger != NULL)
+        {
+            if(!pTrigger->isForPlayer()) {  // The PlayerTrigger is not exclusively for Pawns which means we cannot extract one.
+                COUT(4) << "Docking:execute PlayerTrigger was not triggered by a player.." << std::endl;
+                return false;
+            }
+            pawn = pTrigger->getTriggeringPlayer();
+        }
+        else
+        {
+            COUT(4) << "Docking::execute Not a player trigger, can't extract pawn from it.." << std::endl;
+            return false;
+        }
+        if(pawn == NULL)
+        {
+            COUT(4) << "Docking::execute Can't retrieve Pawn from Trigger. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
+            return false;
+        }
+
+        // Extract the PlayerInfo from the Pawn.
+        PlayerInfo* player = pawn->getPlayer();
+        if(player == NULL)
+        {
+            COUT(2) << "Docking::execute The PlayerInfo* is NULL." << std::endl;
+            return false;
+        }
+
+        if(bTriggered)
+        {
+            // Add player to this Docks candidates
+            candidates.insert(player);
+
+            // Show docking dialog
+            GUIManager::showGUI("DockingDialog");
+        }
+        else
+        {
+            // Remove player from candidates list
+            candidates.erase(player);
+        }
+
+        return true;
+    }
+
+
+    void Dock::cmdDock()
+    {
+        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
+        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
+        {
+            if(it->dock(player))
+                break;
+        }
+    }
+
+    void Dock::cmdUndock()
+    {
+        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
+        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
+        {
+            if(it->undock(player))
+                break;
+        }
+    }
+
+
+    bool Dock::dock(PlayerInfo* player)
+    {
+        // Check if player is a candidate
+        if(candidates.find(player) == candidates.end())
+        {
+            COUT(2) << "Dock::dock Player is not a candidate!" << std::endl;
+            return false;
+        }
+
+        candidates.erase(player);
+        docked.insert(player);
+
+        if (animations.empty())
+            return dockingAnimationFinished(player);
+        else
+            DockingAnimation::invokeAnimation(true, player, animations);
+
+        return true;
+    }
+
+    bool Dock::dockingAnimationFinished(PlayerInfo* player)
+    {
+        if(docked.find(player) == docked.end())
+        {
+            COUT(2) << "Dock::dockingAnimationFinished Player is not currently docked." << std::endl;
+            return false;
+        }
+
+        DockingEffect::invokeEffect(true, player, effects);
+        return true;
+    }
+
+    bool Dock::undock(PlayerInfo* player)
+    {
+        // Check if player is docked to this Dock
+        if(docked.find(player) == docked.end())
+        {
+            COUT(2) << "Dock::undock Player is not docked to this Dock." << std::endl;
+            return false;
+        }
+
+        docked.erase(player);
+        candidates.insert(player);
+
+        DockingEffect::invokeEffect(false, player, effects);
+
+        if (animations.empty())
+            return undockingAnimationFinished(player);
+        else
+            DockingAnimation::invokeAnimation(false, player, animations);
+
+        return true;
+    }
+
+    bool Dock::undockingAnimationFinished(PlayerInfo* player) {
+        COUT(4) << "Dock::undockingAnimationFinished executed" << std::endl;
+        return true;
+    }
+
+
+    unsigned int Dock::getNumberOfActiveDocks()
+    {
+        int i = 0;
+        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
+        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
+        {
+            if(it->candidates.find(player) != it->candidates.end())
+                i++;
+        }
+        return i;
+    }
+
+    Dock* Dock::getActiveDockAtIndex(unsigned int index)
+    {
+        PlayerInfo* player = HumanController::getLocalControllerSingleton()->getPlayer();
+        for(ObjectList<Dock>::iterator it = ObjectList<Dock>::begin(); it != ObjectList<Dock>::end(); ++it)
+        {
+            if(it->candidates.find(player) != it->candidates.end())
+            {
+                if(index == 0)
+                    return *it;
+                index--;
+            }
+        }
+        return NULL;
+    }
+
+
+    bool Dock::addEffect(DockingEffect* effect)
+    {
+        assert(effect);
+        effects.push_back(effect);
+        return true;
+    }
+
+    const DockingEffect* Dock::getEffect(unsigned int i) const
+    {
+        for (std::list<DockingEffect*>::const_iterator effect = this->effects.begin(); effect != this->effects.end(); ++effect)
+        {
+            if(i == 0)
+               return *effect;
+            i--;
+        }
+        return NULL;
+    }
+
+    bool Dock::addAnimation(DockingAnimation* animation)
+    {
+        assert(animation);
+        animation->setParent(this);
+        animations.push_back(animation);
+        return true;
+    }
+
+    const DockingAnimation* Dock::getAnimation(unsigned int i) const
+    {
+        for (std::list<DockingAnimation*>::const_iterator animation = this->animations.begin(); animation != this->animations.end(); ++animation)
+        {
+            if(i == 0)
+               return *animation;
+            i--;
+        }
+        return NULL;
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/Dock.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/Dock.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/Dock.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,100 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file Dock.h
-    @brief Definition of Dock class
-    @ingroup Docking
-*/
-
-#ifndef _Dock_H__
-#define _Dock_H__
-
-#include <set>
-
-#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-#include "core/EventIncludes.h"
-
-#include "worldentities/StaticEntity.h"
-#include "controllers/HumanController.h"
-
-#include "DockingEffect.h"
-#include "DockingAnimation.h"
-#include "DockingPrereqs.h"
-
-namespace orxonox // tolua_export
-{  // tolua_export
-
-    class _DockingExport Dock  // tolua_export
-        : public StaticEntity
-    { // tolua_export
-    public:
-        Dock(BaseObject* creator);
-        virtual ~Dock();
-
-        // Trigger interface
-        bool execute(bool bTriggered, BaseObject* trigger);
-
-        // XML interface
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
-
-        // XML functions
-        bool addEffect(DockingEffect* effect); //!< Add a DockingEffect to the Dock.
-        const DockingEffect* getEffect(unsigned int index) const; //!< Get the DockingEffect at a given index.
-        bool addAnimation(DockingAnimation* animation); //!< Add a DockingAnimation to the Dock.
-        const DockingAnimation* getAnimation(unsigned int index) const; //!< Get the DockingAnimation at a given index.
-
-        // Docking/undocking logic, checks conditions and invokes the DockingAnimations
-        bool dock(PlayerInfo* player); //!< Returns true if given player docked successfully (player must be a candidate)
-        bool undock(PlayerInfo* player); //!< Undocks a player (player must be docked)
-
-        // Animation logic
-        bool dockingAnimationFinished(PlayerInfo* player); //!< Called when a docking animation finished
-        bool undockingAnimationFinished(PlayerInfo* player); //!< Called when a undocking animation finished
-
-        // LUA interface
-        void dock() { this->dock(HumanController::getLocalControllerSingleton()->getPlayer()); } // tolua_export
-        static unsigned int getNumberOfActiveDocks(); // tolua_export
-        static Dock* getActiveDockAtIndex(unsigned int index); // tolua_export
-
-        // Console commands
-        static void cmdDock();
-        static void cmdUndock();
-
-    private:
-        std::set<PlayerInfo*> candidates; //!< A set of all players which are allowed to dock using the console command.
-        std::set<PlayerInfo*> docked; //!< A set of all docked players
-
-        std::list<DockingEffect*> effects; //!< The list of DockingEffects to be executed when a player docks.
-        std::list<DockingAnimation*> animations; //!< The list of DockingAnimations to be executed before a player docks
-    }; // tolua_export
-} // tolua_export
-
-#endif /* _Dock_H__ */

Copied: code/branches/presentation/src/modules/docking/Dock.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/Dock.h)
===================================================================
--- code/branches/presentation/src/modules/docking/Dock.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/Dock.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,100 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file Dock.h
+    @brief Definition of Dock class
+    @ingroup Docking
+*/
+
+#ifndef _Dock_H__
+#define _Dock_H__
+
+#include <set>
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "core/EventIncludes.h"
+
+#include "worldentities/StaticEntity.h"
+#include "controllers/HumanController.h"
+
+#include "DockingEffect.h"
+#include "DockingAnimation.h"
+#include "DockingPrereqs.h"
+
+namespace orxonox // tolua_export
+{  // tolua_export
+
+    class _DockingExport Dock  // tolua_export
+        : public StaticEntity
+    { // tolua_export
+    public:
+        Dock(BaseObject* creator);
+        virtual ~Dock();
+
+        // Trigger interface
+        bool execute(bool bTriggered, BaseObject* trigger);
+
+        // XML interface
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+        virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+
+        // XML functions
+        bool addEffect(DockingEffect* effect); //!< Add a DockingEffect to the Dock.
+        const DockingEffect* getEffect(unsigned int index) const; //!< Get the DockingEffect at a given index.
+        bool addAnimation(DockingAnimation* animation); //!< Add a DockingAnimation to the Dock.
+        const DockingAnimation* getAnimation(unsigned int index) const; //!< Get the DockingAnimation at a given index.
+
+        // Docking/undocking logic, checks conditions and invokes the DockingAnimations
+        bool dock(PlayerInfo* player); //!< Returns true if given player docked successfully (player must be a candidate)
+        bool undock(PlayerInfo* player); //!< Undocks a player (player must be docked)
+
+        // Animation logic
+        bool dockingAnimationFinished(PlayerInfo* player); //!< Called when a docking animation finished
+        bool undockingAnimationFinished(PlayerInfo* player); //!< Called when a undocking animation finished
+
+        // LUA interface
+        void dock() { this->dock(HumanController::getLocalControllerSingleton()->getPlayer()); } // tolua_export
+        static unsigned int getNumberOfActiveDocks(); // tolua_export
+        static Dock* getActiveDockAtIndex(unsigned int index); // tolua_export
+
+        // Console commands
+        static void cmdDock();
+        static void cmdUndock();
+
+    private:
+        std::set<PlayerInfo*> candidates; //!< A set of all players which are allowed to dock using the console command.
+        std::set<PlayerInfo*> docked; //!< A set of all docked players
+
+        std::list<DockingEffect*> effects; //!< The list of DockingEffects to be executed when a player docks.
+        std::list<DockingAnimation*> animations; //!< The list of DockingAnimations to be executed before a player docks
+    }; // tolua_export
+} // tolua_export
+
+#endif /* _Dock_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockToShip.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockToShip.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockToShip.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,101 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockToShip.cc
-    @brief Implementation of the DockToShip class.
-*/
-
-#include "DockingEffect.h"
-#include "DockToShip.h"
-#include "core/CoreIncludes.h"
-
-namespace orxonox
-{
-    CreateFactory(DockToShip);
-
-    DockToShip::DockToShip(BaseObject* creator) : DockingEffect(creator)
-    {
-        RegisterObject(DockToShip);
-        COUT(4) << "DockToShip instance created.." << endl;
-    }
-
-    DockToShip::~DockToShip()
-    {
-
-    }
-
-
-    void DockToShip::XMLPort(Element& xmlelement, XMLPort::Mode mode) {
-        SUPER(DockToShip, XMLPort, xmlelement, mode);
-
-        XMLPortParam(DockToShip, "target", setTargetId, getTargetId, xmlelement, mode);
-    }
-
-    void DockToShip::setTargetId(const std::string& str) {
-        this->target = str;
-    }
-
-    const std::string& DockToShip::getTargetId() const {
-        return this->target;
-    }
-
-
-    bool DockToShip::docking(PlayerInfo* player)
-    {
-        COUT(4) << "DockToShip::attach" << endl;
-
-        DockingTarget *target = DockingEffect::findTarget(this->target);
-        if (target == NULL) {
-            COUT(0) << "Can't retrieve target for '" << this->target << "'.." << std::endl;
-            return false;
-        }
-
-        ControllableEntity *dockTo = (ControllableEntity*) target->getParent();
-        if (dockTo == NULL) {
-            COUT(2) << "Parent is not a ControllableEntity.." << std::endl;
-            return false;
-        }
-
-        // Make sure target isn't removed when undocking
-        dockTo->setDestroyWhenPlayerLeft(false);
-        player->startTemporaryControl(dockTo);
-
-        return true;
-    }
-
-    bool DockToShip::release(PlayerInfo* player)
-    {
-        COUT(4) << "DockToShip::release" << endl;
-
-        player->stopTemporaryControl();
-
-        return true;
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/DockToShip.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockToShip.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/DockToShip.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockToShip.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,101 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockToShip.cc
+    @brief Implementation of the DockToShip class.
+*/
+
+#include "DockingEffect.h"
+#include "DockToShip.h"
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+    CreateFactory(DockToShip);
+
+    DockToShip::DockToShip(BaseObject* creator) : DockingEffect(creator)
+    {
+        RegisterObject(DockToShip);
+        COUT(4) << "DockToShip instance created.." << endl;
+    }
+
+    DockToShip::~DockToShip()
+    {
+
+    }
+
+
+    void DockToShip::XMLPort(Element& xmlelement, XMLPort::Mode mode) {
+        SUPER(DockToShip, XMLPort, xmlelement, mode);
+
+        XMLPortParam(DockToShip, "target", setTargetId, getTargetId, xmlelement, mode);
+    }
+
+    void DockToShip::setTargetId(const std::string& str) {
+        this->target = str;
+    }
+
+    const std::string& DockToShip::getTargetId() const {
+        return this->target;
+    }
+
+
+    bool DockToShip::docking(PlayerInfo* player)
+    {
+        COUT(4) << "DockToShip::attach" << endl;
+
+        DockingTarget *target = DockingEffect::findTarget(this->target);
+        if (target == NULL) {
+            COUT(0) << "Can't retrieve target for '" << this->target << "'.." << std::endl;
+            return false;
+        }
+
+        ControllableEntity *dockTo = (ControllableEntity*) target->getParent();
+        if (dockTo == NULL) {
+            COUT(2) << "Parent is not a ControllableEntity.." << std::endl;
+            return false;
+        }
+
+        // Make sure target isn't removed when undocking
+        dockTo->setDestroyWhenPlayerLeft(false);
+        player->startTemporaryControl(dockTo);
+
+        return true;
+    }
+
+    bool DockToShip::release(PlayerInfo* player)
+    {
+        COUT(4) << "DockToShip::release" << endl;
+
+        player->stopTemporaryControl();
+
+        return true;
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/DockToShip.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockToShip.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockToShip.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,74 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockToShip.h
-    @brief DockingEffect which transfers control from spaceship to docked ship ASDF
-    @ingroup Docking
-*/
-
-#ifndef _DockToShip_H__
-#define _DockToShip_H__
-
-#include "DockingPrereqs.h"
-#include "DockToShip.h"
-
-#include "worldentities/ControllableEntity.h"
-
-
-namespace orxonox
-{
-
-    /**
-    @brief
-        Allows players to dock onto a ship
-
-    @author
-        Sven Stucki
-
-    @ingroup Docking
-    */
-    class _DockingExport DockToShip : public DockingEffect
-    {
-        public:
-            DockToShip(BaseObject* creator);
-            virtual ~DockToShip();
-
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            void setTargetId(const std::string& str);
-            const std::string& getTargetId() const;
-
-            virtual bool docking(PlayerInfo* player); //!< Called when docking starts
-            virtual bool release(PlayerInfo* player); //!< Called when player wants undock
-        private:
-            std::string target;
-    };
-
-}
-
-#endif /* _DockToShip_H__ */

Copied: code/branches/presentation/src/modules/docking/DockToShip.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockToShip.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockToShip.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockToShip.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,74 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockToShip.h
+    @brief DockingEffect which transfers control from spaceship to docked ship ASDF
+    @ingroup Docking
+*/
+
+#ifndef _DockToShip_H__
+#define _DockToShip_H__
+
+#include "DockingPrereqs.h"
+#include "DockToShip.h"
+
+#include "worldentities/ControllableEntity.h"
+
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Allows players to dock onto a ship
+
+    @author
+        Sven Stucki
+
+    @ingroup Docking
+    */
+    class _DockingExport DockToShip : public DockingEffect
+    {
+        public:
+            DockToShip(BaseObject* creator);
+            virtual ~DockToShip();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            void setTargetId(const std::string& str);
+            const std::string& getTargetId() const;
+
+            virtual bool docking(PlayerInfo* player); //!< Called when docking starts
+            virtual bool release(PlayerInfo* player); //!< Called when player wants undock
+        private:
+            std::string target;
+    };
+
+}
+
+#endif /* _DockToShip_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockingAnimation.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingAnimation.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingAnimation.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,69 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingAnimation.cc
-    @brief Implementation of the DockingAnimation class.
-*/
-
-#include "DockingAnimation.h"
-
-#include "DockingEffect.h"  // For DockingEffect::findTarget
-
-namespace orxonox
-{
-    DockingAnimation::DockingAnimation(BaseObject* creator) : BaseObject(creator)
-    {
-        RegisterObject(DockingAnimation);
-    }
-
-    DockingAnimation::~DockingAnimation()
-    {
-
-    }
-
-    bool DockingAnimation::invokeAnimation(bool dock, PlayerInfo* player, std::list<DockingAnimation*> &animations)
-    {
-        bool check = true;
-
-        for (std::list<DockingAnimation*>::iterator animation = animations.begin(); animation != animations.end(); animation++)
-        {
-            if(dock)
-                check &= (*animation)->docking(player);
-            else
-                check &= (*animation)->release(player);
-        }
-
-        return check;
-    }
-
-    DockingTarget *DockingAnimation::findTarget(std::string name) {
-        return DockingEffect::findTarget(name);
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/DockingAnimation.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingAnimation.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingAnimation.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingAnimation.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,69 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingAnimation.cc
+    @brief Implementation of the DockingAnimation class.
+*/
+
+#include "DockingAnimation.h"
+
+#include "DockingEffect.h"  // For DockingEffect::findTarget
+
+namespace orxonox
+{
+    DockingAnimation::DockingAnimation(BaseObject* creator) : BaseObject(creator)
+    {
+        RegisterObject(DockingAnimation);
+    }
+
+    DockingAnimation::~DockingAnimation()
+    {
+
+    }
+
+    bool DockingAnimation::invokeAnimation(bool dock, PlayerInfo* player, std::list<DockingAnimation*> &animations)
+    {
+        bool check = true;
+
+        for (std::list<DockingAnimation*>::iterator animation = animations.begin(); animation != animations.end(); animation++)
+        {
+            if(dock)
+                check &= (*animation)->docking(player);
+            else
+                check &= (*animation)->release(player);
+        }
+
+        return check;
+    }
+
+    DockingTarget *DockingAnimation::findTarget(std::string name) {
+        return DockingEffect::findTarget(name);
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/DockingAnimation.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingAnimation.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingAnimation.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,84 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingAnimation.h
-    @brief Definition of the DockingAnimation class.
-    @ingroup Docking
-*/
-
-#ifndef _DockingAnimation_H__
-#define _DockingAnimation_H__
-
-#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-
-#include "infos/PlayerInfo.h"
-
-#include "DockingPrereqs.h"
-#include "DockingTarget.h"
-#include "Dock.h"
-
-
-#include <list>
-#include "core/BaseObject.h"
-
-namespace orxonox
-{
-
-    /**
-    @brief
-        Base class for docking animations used by @ref orxonox::Docking "Docks".
-
-    @author
-        Sven Stucki
-
-    @ingroup Docking
-    */
-    class _DockingExport DockingAnimation : public BaseObject
-    {
-        public:
-            DockingAnimation(BaseObject* creator);
-            virtual ~DockingAnimation();
-
-            virtual bool docking(PlayerInfo* player) = 0; //!< Called when a player starts docking
-            virtual bool release(PlayerInfo* player) = 0; //!< Called when player wants to undock
-
-            static bool invokeAnimation(bool dock, PlayerInfo* player, std::list<DockingAnimation*> &animations); //!< Invokes calls the docking or release method of all list entries
-            static DockingTarget *findTarget(std::string name); //!< Iterates through all DockingTarget objects to find the one with name=target
-
-            void setParent(Dock *parent) { this->parent = parent; }
-
-        protected:
-            Dock *parent;
-            std::set<PlayerInfo*> animations; //!< Contains a list of currently running animations
-    };
-
-}
-
-#endif /* _DockingAnimation_H__ */

Copied: code/branches/presentation/src/modules/docking/DockingAnimation.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingAnimation.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingAnimation.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingAnimation.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,84 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingAnimation.h
+    @brief Definition of the DockingAnimation class.
+    @ingroup Docking
+*/
+
+#ifndef _DockingAnimation_H__
+#define _DockingAnimation_H__
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+
+#include "infos/PlayerInfo.h"
+
+#include "DockingPrereqs.h"
+#include "DockingTarget.h"
+#include "Dock.h"
+
+
+#include <list>
+#include "core/BaseObject.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Base class for docking animations used by @ref orxonox::Docking "Docks".
+
+    @author
+        Sven Stucki
+
+    @ingroup Docking
+    */
+    class _DockingExport DockingAnimation : public BaseObject
+    {
+        public:
+            DockingAnimation(BaseObject* creator);
+            virtual ~DockingAnimation();
+
+            virtual bool docking(PlayerInfo* player) = 0; //!< Called when a player starts docking
+            virtual bool release(PlayerInfo* player) = 0; //!< Called when player wants to undock
+
+            static bool invokeAnimation(bool dock, PlayerInfo* player, std::list<DockingAnimation*> &animations); //!< Invokes calls the docking or release method of all list entries
+            static DockingTarget *findTarget(std::string name); //!< Iterates through all DockingTarget objects to find the one with name=target
+
+            void setParent(Dock *parent) { this->parent = parent; }
+
+        protected:
+            Dock *parent;
+            std::set<PlayerInfo*> animations; //!< Contains a list of currently running animations
+    };
+
+}
+
+#endif /* _DockingAnimation_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockingController.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingController.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingController.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,129 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-#include "DockingController.h"
-
-#include <cmath>
-
-#include "infos/PlayerInfo.h"
-#include "worldentities/ControllableEntity.h"
-#include "Dock.h"
-
-namespace orxonox
-{
-    CreateFactory(DockingController);
-
-    DockingController::DockingController(BaseObject* creator) : ArtificialController(creator)
-    {
-        RegisterObject(DockingController);
-    }
-
-    DockingController::~DockingController()
-    {
-
-    }
-
-    void DockingController::tick(float dt)
-    {
-        ControllableEntity* entity = this->getControllableEntity();
-        if (!entity)
-            return;
-
-        float distance = (dock->getWorldPosition() - entity->getPosition()).length();
-        Vector2 coord = get2DViewdirection(     // I don't understand this too
-            entity->getPosition(),
-            entity->getOrientation() * WorldEntity::FRONT,
-            entity->getOrientation() * WorldEntity::UP,
-            dock->getWorldPosition()
-        );
-
-        // adjust direction of spaceship
-        if (distance > 10)
-        {
-            entity->rotateYaw(-1.0f * 0.8f * sgn(coord.x) * coord.x*coord.x);
-            entity->rotatePitch(0.8f * sgn(coord.y) * coord.y*coord.y);
-        }
-
-        /*// adjust speed
-        if (distance < 200 && entity->getVelocity().squaredLength() > dock->getVelocity().squaredLength())
-            entity->moveFrontBack(0.2f);
-        else
-            entity->moveFrontBack(0.8f);*/
-
-        entity->moveFrontBack(0.5f * log(distance/10.0f));
-
-        if (distance < 20)
-            this->positionReached();
-
-        SUPER(DockingController, tick, dt);
-    }
-
-    void DockingController::takeControl(bool docking)
-    {
-        this->docking = docking;
-
-        entity = player->getControllableEntity();
-        assert(entity);
-
-        if (docking)
-        {
-            COUT(4) << "DockingController::takeControl Taking over control." << std::endl;
-
-            entity->setDestroyWhenPlayerLeft(false);
-            player->pauseControl();
-            entity->setController(this);
-            this->setControllableEntity(entity);
-        }
-    }
-
-    void DockingController::positionReached()
-    {
-        COUT(4) << "DockingController::positionReached() called." << std::endl;
-
-        assert(this->player);
-        assert(this->dock);
-
-        // stop spaceship
-        entity->setPosition(dock->getWorldPosition());
-        entity->setVelocity(0, 0, 0);
-        entity->setOrientation(dock->getWorldOrientation());
-
-        // give control back to player
-        player->startControl(entity);
-        this->setActive(false);
-        this->controllableEntity_ = NULL;
-
-        if (docking)
-            dock->dockingAnimationFinished(player);
-        /*else
-            dock->undockingAnimationFinished(player);*/
-
-        this->destroy();
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/DockingController.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingController.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingController.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingController.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,129 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "DockingController.h"
+
+#include <cmath>
+
+#include "infos/PlayerInfo.h"
+#include "worldentities/ControllableEntity.h"
+#include "Dock.h"
+
+namespace orxonox
+{
+    CreateFactory(DockingController);
+
+    DockingController::DockingController(BaseObject* creator) : ArtificialController(creator)
+    {
+        RegisterObject(DockingController);
+    }
+
+    DockingController::~DockingController()
+    {
+
+    }
+
+    void DockingController::tick(float dt)
+    {
+        ControllableEntity* entity = this->getControllableEntity();
+        if (!entity)
+            return;
+
+        float distance = (dock->getWorldPosition() - entity->getPosition()).length();
+        Vector2 coord = get2DViewdirection(     // I don't understand this too
+            entity->getPosition(),
+            entity->getOrientation() * WorldEntity::FRONT,
+            entity->getOrientation() * WorldEntity::UP,
+            dock->getWorldPosition()
+        );
+
+        // adjust direction of spaceship
+        if (distance > 10)
+        {
+            entity->rotateYaw(-1.0f * 0.8f * sgn(coord.x) * coord.x*coord.x);
+            entity->rotatePitch(0.8f * sgn(coord.y) * coord.y*coord.y);
+        }
+
+        /*// adjust speed
+        if (distance < 200 && entity->getVelocity().squaredLength() > dock->getVelocity().squaredLength())
+            entity->moveFrontBack(0.2f);
+        else
+            entity->moveFrontBack(0.8f);*/
+
+        entity->moveFrontBack(0.5f * log(distance/10.0f));
+
+        if (distance < 20)
+            this->positionReached();
+
+        SUPER(DockingController, tick, dt);
+    }
+
+    void DockingController::takeControl(bool docking)
+    {
+        this->docking = docking;
+
+        entity = player->getControllableEntity();
+        assert(entity);
+
+        if (docking)
+        {
+            COUT(4) << "DockingController::takeControl Taking over control." << std::endl;
+
+            entity->setDestroyWhenPlayerLeft(false);
+            player->pauseControl();
+            entity->setController(this);
+            this->setControllableEntity(entity);
+        }
+    }
+
+    void DockingController::positionReached()
+    {
+        COUT(4) << "DockingController::positionReached() called." << std::endl;
+
+        assert(this->player);
+        assert(this->dock);
+
+        // stop spaceship
+        entity->setPosition(dock->getWorldPosition());
+        entity->setVelocity(0, 0, 0);
+        entity->setOrientation(dock->getWorldOrientation());
+
+        // give control back to player
+        player->startControl(entity);
+        this->setActive(false);
+        this->controllableEntity_ = NULL;
+
+        if (docking)
+            dock->dockingAnimationFinished(player);
+        /*else
+            dock->undockingAnimationFinished(player);*/
+
+        this->destroy();
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/DockingController.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingController.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingController.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,67 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _DockingController_H__
-#define _DockingController_H__
-
-#include "DockingPrereqs.h"
-
-#include "infos/PlayerInfo.h"
-#include "controllers/ArtificialController.h"
-#include "tools/interfaces/Tickable.h"
-#include "DockingController.h"
-
-namespace orxonox
-{
-    class _OrxonoxExport DockingController : public ArtificialController, public Tickable
-    {
-        public:
-            DockingController(BaseObject* creator);
-            virtual ~DockingController();
-
-            virtual void tick(float dt);
-
-            void takeControl(bool docking);
-
-            void setDock(Dock* dock) { this->dock = dock; }
-            void setPlayer(PlayerInfo* player) { this->player = player; }
-
-        protected:
-            virtual void positionReached();
-
-        private:
-            bool docking;
-
-            Dock* dock;
-            PlayerInfo* player;
-
-            ControllableEntity* entity;
-    };
-}
-
-#endif /* _DockingController_H__ */

Copied: code/branches/presentation/src/modules/docking/DockingController.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingController.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingController.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingController.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,67 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _DockingController_H__
+#define _DockingController_H__
+
+#include "DockingPrereqs.h"
+
+#include "infos/PlayerInfo.h"
+#include "controllers/ArtificialController.h"
+#include "tools/interfaces/Tickable.h"
+#include "DockingController.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport DockingController : public ArtificialController, public Tickable
+    {
+        public:
+            DockingController(BaseObject* creator);
+            virtual ~DockingController();
+
+            virtual void tick(float dt);
+
+            void takeControl(bool docking);
+
+            void setDock(Dock* dock) { this->dock = dock; }
+            void setPlayer(PlayerInfo* player) { this->player = player; }
+
+        protected:
+            virtual void positionReached();
+
+        private:
+            bool docking;
+
+            Dock* dock;
+            PlayerInfo* player;
+
+            ControllableEntity* entity;
+    };
+}
+
+#endif /* _DockingController_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockingEffect.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingEffect.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingEffect.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,73 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingEffect.cc
-    @brief Implementation of the DockingEffect class.
-*/
-
-#include "DockingEffect.h"
-
-namespace orxonox
-{
-    DockingEffect::DockingEffect(BaseObject* creator) : BaseObject(creator)
-    {
-        RegisterObject(DockingEffect);
-    }
-
-    DockingEffect::~DockingEffect()
-    {
-
-    }
-
-    bool DockingEffect::invokeEffect(bool dock, PlayerInfo* player, std::list<DockingEffect*> & effects)
-    {
-        bool check = true;
-
-        for (std::list<DockingEffect*>::iterator effect = effects.begin(); effect != effects.end(); effect++)
-        {
-            if (dock)
-                check &= (*effect)->docking(player);
-            else
-                check &= (*effect)->release(player);
-        }
-
-        return check;
-    }
-
-    DockingTarget *DockingEffect::findTarget(std::string name) {
-        for (ObjectList<DockingTarget>::iterator it = ObjectList<DockingTarget>::begin();
-                                 it != ObjectList<DockingTarget>::end(); ++it)
-        {
-            if ((*it)->getName().compare(name) == 0)
-                return (*it);
-        }
-        return NULL;
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/DockingEffect.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingEffect.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingEffect.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingEffect.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,73 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingEffect.cc
+    @brief Implementation of the DockingEffect class.
+*/
+
+#include "DockingEffect.h"
+
+namespace orxonox
+{
+    DockingEffect::DockingEffect(BaseObject* creator) : BaseObject(creator)
+    {
+        RegisterObject(DockingEffect);
+    }
+
+    DockingEffect::~DockingEffect()
+    {
+
+    }
+
+    bool DockingEffect::invokeEffect(bool dock, PlayerInfo* player, std::list<DockingEffect*> & effects)
+    {
+        bool check = true;
+
+        for (std::list<DockingEffect*>::iterator effect = effects.begin(); effect != effects.end(); effect++)
+        {
+            if (dock)
+                check &= (*effect)->docking(player);
+            else
+                check &= (*effect)->release(player);
+        }
+
+        return check;
+    }
+
+    DockingTarget *DockingEffect::findTarget(std::string name) {
+        for (ObjectList<DockingTarget>::iterator it = ObjectList<DockingTarget>::begin();
+                                 it != ObjectList<DockingTarget>::end(); ++it)
+        {
+            if ((*it)->getName().compare(name) == 0)
+                return (*it);
+        }
+        return NULL;
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/DockingEffect.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingEffect.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingEffect.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,76 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki 
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingEffect.h
-    @brief Definition of the DockingEffect class.
-    @ingroup Docking
-*/
-
-#ifndef _DockingEffect_H__
-#define _DockingEffect_H__
-
-#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-
-#include "infos/PlayerInfo.h"
-
-#include "DockingPrereqs.h"
-#include "DockingTarget.h"
-
-#include <list>
-#include "core/BaseObject.h"
-
-namespace orxonox
-{
-
-    /**
-    @brief
-        Handles DockingEffects for @ref orxonox::Docking "Docks".
-
-    @author
-        Sven Stucki
-
-    @ingroup Docking
-    */
-    class _DockingExport DockingEffect : public BaseObject
-    {
-        public:
-            DockingEffect(BaseObject* creator);
-            virtual ~DockingEffect();
-
-            virtual bool docking(PlayerInfo* player) = 0; //!< Called when player docked
-            virtual bool release(PlayerInfo* player) = 0; //!< Called when player wants to undock
-
-            static bool invokeEffect(bool dock, PlayerInfo* player, std::list<DockingEffect*> & effects); //!< Invokes the event specific method of all DockingEffects in the list
-            static DockingTarget *findTarget(std::string name); //!< Iterates through all DockingTarget objects to find the one with name=target
-    };
-
-}
-
-#endif /* _DockingEffect_H__ */

Copied: code/branches/presentation/src/modules/docking/DockingEffect.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingEffect.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingEffect.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingEffect.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,76 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki 
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingEffect.h
+    @brief Definition of the DockingEffect class.
+    @ingroup Docking
+*/
+
+#ifndef _DockingEffect_H__
+#define _DockingEffect_H__
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+
+#include "infos/PlayerInfo.h"
+
+#include "DockingPrereqs.h"
+#include "DockingTarget.h"
+
+#include <list>
+#include "core/BaseObject.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Handles DockingEffects for @ref orxonox::Docking "Docks".
+
+    @author
+        Sven Stucki
+
+    @ingroup Docking
+    */
+    class _DockingExport DockingEffect : public BaseObject
+    {
+        public:
+            DockingEffect(BaseObject* creator);
+            virtual ~DockingEffect();
+
+            virtual bool docking(PlayerInfo* player) = 0; //!< Called when player docked
+            virtual bool release(PlayerInfo* player) = 0; //!< Called when player wants to undock
+
+            static bool invokeEffect(bool dock, PlayerInfo* player, std::list<DockingEffect*> & effects); //!< Invokes the event specific method of all DockingEffects in the list
+            static DockingTarget *findTarget(std::string name); //!< Iterates through all DockingTarget objects to find the one with name=target
+    };
+
+}
+
+#endif /* _DockingEffect_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingPrecompiledHeaders.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,53 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-/**
- at file
- at brief
-*/
-
-#include "OrxonoxConfig.h"
-
-///////////////////////////////////////////
-/////          Stable Headers         /////
-///////////////////////////////////////////
-
-#include <LinearMath/btTransform.h>
-
-///////////////////////////////////////////
-/////       All Rebuild Headers       /////
-///////////////////////////////////////////
-
-#include "core/BaseObject.h"
-#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-
-
-// Just in case some header included windows.h
-#undef min
-#undef max

Copied: code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingPrecompiledHeaders.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingPrecompiledHeaders.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,53 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+ at file
+ at brief
+*/
+
+#include "OrxonoxConfig.h"
+
+///////////////////////////////////////////
+/////          Stable Headers         /////
+///////////////////////////////////////////
+
+#include <LinearMath/btTransform.h>
+
+///////////////////////////////////////////
+/////       All Rebuild Headers       /////
+///////////////////////////////////////////
+
+#include "core/BaseObject.h"
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+
+
+// Just in case some header included windows.h
+#undef min
+#undef max

Deleted: code/branches/presentation/src/modules/docking/DockingPrereqs.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingPrereqs.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingPrereqs.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,76 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Damian 'Mozork' Frick
- *   Co-authors:
- *      ...
- *
- */
-
-/**
- at file
- at brief
-    Shared library macros, enums, constants and forward declarations for the questsystem module
-*/
-
-#ifndef _DockingPrereqs_H__
-#define _DockingPrereqs_H__
-
-#include "OrxonoxConfig.h"
-#include "OrxonoxPrereqs.h"
-
-//-----------------------------------------------------------------------
-// Shared library settings
-//-----------------------------------------------------------------------
-
-#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(Docking_STATIC_BUILD)
-#  ifdef Docking_SHARED_BUILD
-#    define _DockingExport __declspec(dllexport)
-#  else
-#    if defined( __MINGW32__ )
-#      define _DockingExport
-#    else
-#      define _DockingExport __declspec(dllimport)
-#    endif
-#  endif
-#elif defined ( ORXONOX_GCC_VISIBILITY )
-#  define _DockingExport  __attribute__ ((visibility("default")))
-#else
-#  define _DockingExport
-#endif
-
-//-----------------------------------------------------------------------
-// Forward declarations
-//-----------------------------------------------------------------------
-
-namespace orxonox
-{
-    class Dock;
-    class DockingAnimation;
-    class DockingController;
-    class DockingTarget;
-    class DockingEffect;
-    class DockToShip;
-    class MoveToDockingTarget;
-}
-
-#endif /* _DockingPrereqs_H__ */

Copied: code/branches/presentation/src/modules/docking/DockingPrereqs.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingPrereqs.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingPrereqs.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingPrereqs.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,76 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Damian 'Mozork' Frick
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+ at file
+ at brief
+    Shared library macros, enums, constants and forward declarations for the questsystem module
+*/
+
+#ifndef _DockingPrereqs_H__
+#define _DockingPrereqs_H__
+
+#include "OrxonoxConfig.h"
+#include "OrxonoxPrereqs.h"
+
+//-----------------------------------------------------------------------
+// Shared library settings
+//-----------------------------------------------------------------------
+
+#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(Docking_STATIC_BUILD)
+#  ifdef Docking_SHARED_BUILD
+#    define _DockingExport __declspec(dllexport)
+#  else
+#    if defined( __MINGW32__ )
+#      define _DockingExport
+#    else
+#      define _DockingExport __declspec(dllimport)
+#    endif
+#  endif
+#elif defined ( ORXONOX_GCC_VISIBILITY )
+#  define _DockingExport  __attribute__ ((visibility("default")))
+#else
+#  define _DockingExport
+#endif
+
+//-----------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------
+
+namespace orxonox
+{
+    class Dock;
+    class DockingAnimation;
+    class DockingController;
+    class DockingTarget;
+    class DockingEffect;
+    class DockToShip;
+    class MoveToDockingTarget;
+}
+
+#endif /* _DockingPrereqs_H__ */

Deleted: code/branches/presentation/src/modules/docking/DockingTarget.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingTarget.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingTarget.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,69 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingTarget.cc
-    @brief Docking system main class
-*/
-
-#include "DockingTarget.h"
-#include "core/XMLPort.h"
-
-
-namespace orxonox
-{
-    CreateFactory(DockingTarget);
-
-    DockingTarget::DockingTarget(BaseObject* creator) : StaticEntity(creator)
-    {
-        RegisterObject(DockingTarget);
-    }
-
-    DockingTarget::~DockingTarget()
-    {
-    }
-
-
-    void DockingTarget::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(DockingTarget, XMLPort, xmlelement, mode);
-        XMLPortParam(DockingTarget, "name", setName, getName, xmlelement, mode);
-
-        COUT(4) << "DockingTarget with name '" << this->getName() << "' created.." << std::endl;
-    }
-
-
-    void DockingTarget::setName(const std::string& str) {
-        this->name = str;
-    }
-
-    const std::string& DockingTarget::getName() const {
-        return this->name;
-    }
-}
-

Copied: code/branches/presentation/src/modules/docking/DockingTarget.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingTarget.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingTarget.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingTarget.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,69 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingTarget.cc
+    @brief Docking system main class
+*/
+
+#include "DockingTarget.h"
+#include "core/XMLPort.h"
+
+
+namespace orxonox
+{
+    CreateFactory(DockingTarget);
+
+    DockingTarget::DockingTarget(BaseObject* creator) : StaticEntity(creator)
+    {
+        RegisterObject(DockingTarget);
+    }
+
+    DockingTarget::~DockingTarget()
+    {
+    }
+
+
+    void DockingTarget::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(DockingTarget, XMLPort, xmlelement, mode);
+        XMLPortParam(DockingTarget, "name", setName, getName, xmlelement, mode);
+
+        COUT(4) << "DockingTarget with name '" << this->getName() << "' created.." << std::endl;
+    }
+
+
+    void DockingTarget::setName(const std::string& str) {
+        this->name = str;
+    }
+
+    const std::string& DockingTarget::getName() const {
+        return this->name;
+    }
+}
+

Deleted: code/branches/presentation/src/modules/docking/DockingTarget.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/DockingTarget.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/DockingTarget.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,71 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki 
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file DockingTarget.h
-    @brief Definition of the DockingTarget class.
-    @ingroup Docking
-*/
-
-#ifndef _DockingTarget_H__
-#define _DockingTarget_H__
-
-#include "DockingPrereqs.h"
-
-#include "core/BaseObject.h"
-#include "worldentities/StaticEntity.h"
-
-namespace orxonox
-{
-    /**
-    @brief
-        DockingTargets for @ref orxonox::Docking "Docks".
-
-    @author
-        Sven Stucki
-
-    @ingroup Docking
-    */
-    class _DockingExport DockingTarget : public StaticEntity
-    {
-        private:
-            std::string name;
-
-        public:
-            DockingTarget(BaseObject* creator);
-            virtual ~DockingTarget();
-
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-
-            virtual void setName(const std::string& str);
-            virtual const std::string& getName() const;
-    };
-
-}
-
-#endif /* _DockingTarget_H__ */

Copied: code/branches/presentation/src/modules/docking/DockingTarget.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/DockingTarget.h)
===================================================================
--- code/branches/presentation/src/modules/docking/DockingTarget.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/DockingTarget.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,71 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki 
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DockingTarget.h
+    @brief Definition of the DockingTarget class.
+    @ingroup Docking
+*/
+
+#ifndef _DockingTarget_H__
+#define _DockingTarget_H__
+
+#include "DockingPrereqs.h"
+
+#include "core/BaseObject.h"
+#include "worldentities/StaticEntity.h"
+
+namespace orxonox
+{
+    /**
+    @brief
+        DockingTargets for @ref orxonox::Docking "Docks".
+
+    @author
+        Sven Stucki
+
+    @ingroup Docking
+    */
+    class _DockingExport DockingTarget : public StaticEntity
+    {
+        private:
+            std::string name;
+
+        public:
+            DockingTarget(BaseObject* creator);
+            virtual ~DockingTarget();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            virtual void setName(const std::string& str);
+            virtual const std::string& getName() const;
+    };
+
+}
+
+#endif /* _DockingTarget_H__ */

Deleted: code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/MoveToDockingTarget.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,74 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file MoveToDockingTarget.h
-    @brief Definition of the MoveToDockingTarget class.
-    @ingroup Docking
-*/
-
-#include "MoveToDockingTarget.h"
-
-#include "core/XMLPort.h"
-
-namespace orxonox
-{
-    CreateFactory(MoveToDockingTarget);
-
-    MoveToDockingTarget::MoveToDockingTarget(BaseObject *creator) : DockingAnimation(creator)
-    {
-        RegisterObject(MoveToDockingTarget);
-    }
-
-    MoveToDockingTarget::~MoveToDockingTarget() {
-
-    }
-
-    bool MoveToDockingTarget::docking(PlayerInfo *player)
-    {
-        assert(parent);
-
-        DockingController *dockingController = new DockingController(this);
-        dockingController->setDock(parent);
-        dockingController->setPlayer(player);
-        dockingController->takeControl(true);
-
-        return true;
-    }
-
-    bool MoveToDockingTarget::release(PlayerInfo *player)
-    {
-        //TODO: Investigate strange things...
-        parent->detach((WorldEntity*)player->getControllableEntity());
-
-        parent->undockingAnimationFinished(player);
-        return true;
-    }
-
-}
-

Copied: code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc (from rev 8560, code/branches/dockingsystem2/src/modules/docking/MoveToDockingTarget.cc)
===================================================================
--- code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/MoveToDockingTarget.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,74 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file MoveToDockingTarget.h
+    @brief Definition of the MoveToDockingTarget class.
+    @ingroup Docking
+*/
+
+#include "MoveToDockingTarget.h"
+
+#include "core/XMLPort.h"
+
+namespace orxonox
+{
+    CreateFactory(MoveToDockingTarget);
+
+    MoveToDockingTarget::MoveToDockingTarget(BaseObject *creator) : DockingAnimation(creator)
+    {
+        RegisterObject(MoveToDockingTarget);
+    }
+
+    MoveToDockingTarget::~MoveToDockingTarget() {
+
+    }
+
+    bool MoveToDockingTarget::docking(PlayerInfo *player)
+    {
+        assert(parent);
+
+        DockingController *dockingController = new DockingController(this);
+        dockingController->setDock(parent);
+        dockingController->setPlayer(player);
+        dockingController->takeControl(true);
+
+        return true;
+    }
+
+    bool MoveToDockingTarget::release(PlayerInfo *player)
+    {
+        //TODO: Investigate strange things...
+        parent->detach((WorldEntity*)player->getControllableEntity());
+
+        parent->undockingAnimationFinished(player);
+        return true;
+    }
+
+}
+

Deleted: code/branches/presentation/src/modules/docking/MoveToDockingTarget.h
===================================================================
--- code/branches/dockingsystem2/src/modules/docking/MoveToDockingTarget.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/docking/MoveToDockingTarget.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -1,67 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Sven Stucki
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file MoveToDockingTarget.h
-    @brief Definition of the MoveToDockingTarget class.
-    @ingroup Docking
-*/
-
-#ifndef _MoveToDockingTarget_H__
-#define _MoveToDockingTarget_H__
-
-#include "DockingPrereqs.h"
-#include "DockingAnimation.h"
-#include "DockingController.h"
-#include "Dock.h"
-
-namespace orxonox
-{
-
-    /**
-    @brief
-        Base class for docking animations used by @ref orxonox::Docking "Docks".
-
-    @author
-        Sven Stucki
-
-    @ingroup Docking
-    */
-    class _DockingExport MoveToDockingTarget : public DockingAnimation
-    {
-        public:
-            MoveToDockingTarget(BaseObject* creator);
-            virtual ~MoveToDockingTarget();
-
-            virtual bool docking(PlayerInfo* player); //!< Called when a player starts docking
-            virtual bool release(PlayerInfo* player); //!< Called when player wants to undock
-    };
-
-}
-
-#endif /* _MoveToDockingTarget_H__ */

Copied: code/branches/presentation/src/modules/docking/MoveToDockingTarget.h (from rev 8560, code/branches/dockingsystem2/src/modules/docking/MoveToDockingTarget.h)
===================================================================
--- code/branches/presentation/src/modules/docking/MoveToDockingTarget.h	                        (rev 0)
+++ code/branches/presentation/src/modules/docking/MoveToDockingTarget.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -0,0 +1,67 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Sven Stucki
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file MoveToDockingTarget.h
+    @brief Definition of the MoveToDockingTarget class.
+    @ingroup Docking
+*/
+
+#ifndef _MoveToDockingTarget_H__
+#define _MoveToDockingTarget_H__
+
+#include "DockingPrereqs.h"
+#include "DockingAnimation.h"
+#include "DockingController.h"
+#include "Dock.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Base class for docking animations used by @ref orxonox::Docking "Docks".
+
+    @author
+        Sven Stucki
+
+    @ingroup Docking
+    */
+    class _DockingExport MoveToDockingTarget : public DockingAnimation
+    {
+        public:
+            MoveToDockingTarget(BaseObject* creator);
+            virtual ~MoveToDockingTarget();
+
+            virtual bool docking(PlayerInfo* player); //!< Called when a player starts docking
+            virtual bool release(PlayerInfo* player); //!< Called when player wants to undock
+    };
+
+}
+
+#endif /* _MoveToDockingTarget_H__ */

Modified: code/branches/presentation/src/modules/objects/triggers/MultiTrigger.cc
===================================================================
--- code/branches/presentation/src/modules/objects/triggers/MultiTrigger.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/modules/objects/triggers/MultiTrigger.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -311,7 +311,6 @@
         this->targetMask_.exclude(Class(TriggerBase), true);
 
         // We only want WorldEntities
-        //TODO: Really?
         ClassTreeMask WEMask;
         WEMask.include(Class(WorldEntity));
         this->targetMask_ *= WEMask;

Modified: code/branches/presentation/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/branches/presentation/src/orxonox/controllers/ArtificialController.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/orxonox/controllers/ArtificialController.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -380,6 +380,11 @@
                 this->getControllableEntity()->moveFrontBack(1.2f*SPEED_MASTER + distance/300.0f);
             }
         }
+
+        if (distance < 10)
+        {
+            this->positionReached();
+        }
     }
 
     void ArtificialController::moveToTargetPosition()
@@ -387,7 +392,6 @@
         this->moveToPosition(this->targetPosition_);
     }
 
-
     /**
         @brief Unregisters a slave from its master. Initiated by a slave.
     */

Modified: code/branches/presentation/src/orxonox/controllers/ArtificialController.h
===================================================================
--- code/branches/presentation/src/orxonox/controllers/ArtificialController.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/orxonox/controllers/ArtificialController.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -96,6 +96,8 @@
             void moveToPosition(const Vector3& target);
             void moveToTargetPosition();
 
+            virtual void positionReached() {}
+
             void removeFromFormation();
             void unregisterSlave();
             void searchNewMaster();

Modified: code/branches/presentation/src/orxonox/infos/PlayerInfo.cc
===================================================================
--- code/branches/presentation/src/orxonox/infos/PlayerInfo.cc	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/orxonox/infos/PlayerInfo.cc	2011-05-24 14:44:39 UTC (rev 8561)
@@ -50,7 +50,6 @@
         this->controller_ = 0;
         this->controllableEntity_ = 0;
         this->controllableEntityID_ = OBJECTID_UNKNOWN;
-        this->oldControllableEntity_ = 0;
 
         this->gtinfo_ = 0;
         this->gtinfoID_ = OBJECTID_UNKNOWN;
@@ -150,8 +149,9 @@
         if (!entity || entity == this->controllableEntity_)
             return;
 
-        if (this->oldControllableEntity_)
+        while (this->previousControllableEntity_.size() > 0)
             this->stopTemporaryControl();
+        
         if (this->controllableEntity_)
             this->stopControl();
 
@@ -175,10 +175,8 @@
     {
         if (!entity)
             return;
-
-        assert( this->oldControllableEntity_==0 );
-
-        this->oldControllableEntity_ = this->controllableEntity_;
+        
+        this->previousControllableEntity_.push_back(WeakPtr<ControllableEntity>(this->controllableEntity_));
         this->controllableEntity_ = entity;
         this->controllableEntityID_ = entity->getObjectID();
 
@@ -193,7 +191,7 @@
 
     void PlayerInfo::stopControl()
     {
-        if ( this->oldControllableEntity_ )
+        while ( this->previousControllableEntity_.size() > 0)
             this->stopTemporaryControl();
 
         ControllableEntity* entity = this->controllableEntity_;
@@ -214,21 +212,36 @@
         this->changedControllableEntity();
     }
 
+    void PlayerInfo::pauseControl()
+    {
+        ControllableEntity* entity = this->controllableEntity_;
+
+        if (!entity)
+            return;
+
+        this->controllableEntity_->getController()->setActive(false);
+        //this->controllableEntity_->getController()->setControllableEntity(NULL);
+        this->controllableEntity_->setController(0);
+    }
+
     void PlayerInfo::stopTemporaryControl()
     {
         ControllableEntity* entity = this->controllableEntity_;
 
-        assert( this->controllableEntity_ && this->oldControllableEntity_ );
-        if( !entity || !this->oldControllableEntity_ )
+        assert(this->controllableEntity_ != NULL);
+        if( !entity || this->previousControllableEntity_.size() == 0 )
             return;
 
         this->controllableEntity_->setController(0);
         
-        this->controllableEntity_ = this->oldControllableEntity_;
+//        this->controllableEntity_ = this->previousControllableEntity_.back();
+        do {
+            this->controllableEntity_ = this->previousControllableEntity_.back();
+        } while(this->controllableEntity_ == NULL && this->previousControllableEntity_.size() > 0);
         this->controllableEntityID_ = this->controllableEntity_->getObjectID();
-        this->oldControllableEntity_ = 0;
+        this->previousControllableEntity_.pop_back();
 
-        if ( this->controllableEntity_ && this->controller_)
+        if ( this->controllableEntity_ != NULL && this->controller_ != NULL)
             this->controller_->setControllableEntity(this->controllableEntity_);
 
         if ( GameMode::isMaster() )

Modified: code/branches/presentation/src/orxonox/infos/PlayerInfo.h
===================================================================
--- code/branches/presentation/src/orxonox/infos/PlayerInfo.h	2011-05-24 14:33:48 UTC (rev 8560)
+++ code/branches/presentation/src/orxonox/infos/PlayerInfo.h	2011-05-24 14:44:39 UTC (rev 8561)
@@ -67,6 +67,7 @@
 
             void startControl(ControllableEntity* entity);
             void stopControl();
+            void pauseControl();
             void startTemporaryControl(ControllableEntity* entity);
             void stopTemporaryControl();
 
@@ -97,7 +98,7 @@
             bool bReadyToSpawn_;
             Controller* controller_;
             ControllableEntity* controllableEntity_;
-            ControllableEntity* oldControllableEntity_;
+            std::vector< WeakPtr<ControllableEntity> > previousControllableEntity_; //!< List of the previous ControllableEntities if repeatedly startTemporary control was called. The ControllableEntity at the back is the most recent.
             unsigned int controllableEntityID_;
 
             const GametypeInfo* gtinfo_;




More information about the Orxonox-commit mailing list