[Orxonox-commit 6751] r11379 - in code/branches/SuperOrxoBros_FS17: data/levels data/levels/templates src/modules/superorxobros

jkindle at orxonox.net jkindle at orxonox.net
Thu Mar 23 15:57:16 CET 2017


Author: jkindle
Date: 2017-03-23 15:57:14 +0100 (Thu, 23 Mar 2017)
New Revision: 11379

Added:
   code/branches/SuperOrxoBros_FS17/data/levels/SOB.oxw
   code/branches/SuperOrxoBros_FS17/data/levels/templates/superorxobrow.oxw
   code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.cc
   code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.h
   code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.cc
   code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.h
   code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBPrereqs.h
Log:
added some structire. Next to do, fix Centerpoint and error when compiling

Added: code/branches/SuperOrxoBros_FS17/data/levels/SOB.oxw
===================================================================
--- code/branches/SuperOrxoBros_FS17/data/levels/SOB.oxw	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/data/levels/SOB.oxw	2017-03-23 14:57:14 UTC (rev 11379)
@@ -0,0 +1,64 @@
+<LevelInfo
+ name = "SOOOOB"
+ description = "Level for the coding tutorial."
+ tags = "minigame"
+ screenshot = "codingtutorial.png"
+ startingships = "spaceshipassff, spaceshipghost, spaceshipspacecruiser"
+/>
+
+<?lua
+  include("HUDTemplates3.oxo")
+  include("stats.oxo")
+  include("templates/spaceshipAssff.oxt")
+
+?>
+
+<Level plugins = "superorxobros" gametype="SOB">
+ 
+
+  <?lua include("includes/notifications.oxi") ?>
+
+  <Scene
+   ambientlight = "0.5, 0.5, 0.5"
+   skybox       = "Orxonox/skyBoxBasic"
+  >
+
+
+    
+    <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" />
+        <SpawnPoint position="991.729, -110.11, 435.404" orientation="0.534038, 0.563456, 0.212168, 0.593553" spawnclass=SpaceShip pawndesign=shipselection />
+
+
+    
+ <MovableEntity rotationrate=5 rotationaxis="0,0,1">
+      <attached>
+        <SOBCenterpoint>
+          <attached>
+            <Model position="0,0,60" mesh="cube.mesh" scale3D="105,1,1" />
+            <Model position="0,0,-60" mesh="cube.mesh" scale3D="105,1,1" />
+
+            <ParticleSpawner name=scoreeffect_right position="120,0, 45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0, 30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0, 15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,  0" source="Orxonox/BigExplosion1part2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,  0" source="Orxonox/BigExplosion1part2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+
+          </attached>
+        </SOBCenterpoint>
+      </attached>
+    </MovableEntity>
+
+
+
+  </Scene>
+</Level>

Added: code/branches/SuperOrxoBros_FS17/data/levels/templates/superorxobrow.oxw
===================================================================
--- code/branches/SuperOrxoBros_FS17/data/levels/templates/superorxobrow.oxw	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/data/levels/templates/superorxobrow.oxw	2017-03-23 14:57:14 UTC (rev 11379)
@@ -0,0 +1,87 @@
+<LevelInfo
+ name = "Superorxobros"
+ description = "Pong in space!"
+ tags = "minigame"
+ screenshot = "pong.png"
+/>
+
+<?lua
+  include("HUDTemplates3.oxo")
+  include("stats.oxo")
+  include("pongHUD.oxo")
+  include("templates/lodInformation.oxt")
+?>
+
+
+
+
+
+
+
+<Level
+ plugins = "superorxobros"
+ gametype = "Deathmatch"
+>
+
+
+
+  <Scene
+   ambientlight = "0.5, 0.5, 0.5"
+   skybox       = "Orxonox/skyBoxBasic"
+  >
+    <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" />
+
+    <SpawnPoint position="991.729, -110.11, 435.404" orientation="0.534038, 0.563456, 0.212168, 0.593553" />
+
+    <MovableEntity rotationrate=5 rotationaxis="0,0,1">
+      <attached>
+        <SOBCenterpoint name=pongcenter dimension="200,120" balltemplate=pongball battemplate=pongbat ballspeed=200 ballaccfactor=1.0 batspeed=130 batlength=0.25>
+          <attached>
+            <Model position="0,0,60" mesh="cube.mesh" scale3D="105,1,1" />
+            <Model position="0,0,-60" mesh="cube.mesh" scale3D="105,1,1" />
+
+            <ParticleSpawner name=scoreeffect_right position="120,0, 45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0, 30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0, 15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,  0" source="Orxonox/BigExplosion1part2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_right position="120,0,-45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0, 15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,  0" source="Orxonox/BigExplosion1part2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-15" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-30" source="Orxonox/BigExplosion1part2" lifetime=3.0 autostart=0 />
+            <ParticleSpawner name=scoreeffect_left position="-120,0,-45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
+
+<!-- TODO: Create a Pong Score Sound and include it here.
+This WorldSound works, but doesn't make sense, since it is played together with ambient/moodDependedDirectory/Ganymede.ogg -->
+            <!--WorldSound name="scoreSound" position="0,0,0" source="sounds/PongScore_cut.ogg" >
+              <events>
+                <play>
+                  <EventListener event=pongcenter />
+                </play>
+              </events>
+            </WorldSound-->
+
+            <?lua
+              for i = 1, 15, 1 do
+            ?>
+              <ParticleSpawner name=scoreeffect_center position="<?lua print(math.random() * 200 - 100) ?>,0,<?lua print(math.random() * 120 - 60) ?>" source="Orxonox/sparks2" lifetime=0.02 autostart=0 startdelay=<?lua print(math.random() * 0.7) ?> />
+            <?lua end ?>
+
+          </attached>
+        </SOBCenterpoint>
+      </attached>
+    </MovableEntity>
+
+
+   
+
+
+  
+
+  </Scene>
+</Level>

Added: code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.cc
===================================================================
--- code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.cc	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.cc	2017-03-23 14:57:14 UTC (rev 11379)
@@ -0,0 +1,86 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file PongCenterpoint.cc
+    @brief Implementation of the PongCenterpoint class.
+*/
+
+#include "SOBCenterpoint.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+
+#include "SOB.h"
+
+namespace orxonox
+{
+    RegisterClass(SOBCenterpoint);
+
+    /**
+    @brief
+        Constructor. Registers and initializes the object and checks whether the gametype is actually Pong.
+    */
+    SOBCenterpoint::SOBCenterpoint(Context* context) : StaticEntity(context)
+    {
+        RegisterObject(SOBCenterpoint);
+
+
+        this->checkGametype();
+    }
+
+    /**
+    @brief
+        Method to create a PongCenterpoint through XML.
+    */
+    void SOBCenterpoint::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(SOBCenterpoint, XMLPort, xmlelement, mode);
+
+        //XMLPortParam(SOBCenterpoint, "dimension", setFieldDimension, getFieldDimension, xmlelement, mode);
+        //XMLPortParam(SOBCenterpoint, "balltemplate", setBalltemplate, getBalltemplate, xmlelement, mode);
+       // XMLPortParam(SOBCenterpoint, "battemplate", setBattemplate, getBattemplate, xmlelement, mode);
+       // XMLPortParam(SOBCenterpoint, "ballspeed", setBallSpeed, getBallSpeed, xmlelement, mode);
+       // XMLPortParam(SOBCenterpoint, "ballaccfactor", setBallAccelerationFactor, getBallAccelerationFactor, xmlelement, mode);
+       // XMLPortParam(SOBCenterpoint, "batspeed", setBatSpeed, getBatSpeed, xmlelement, mode);
+       // XMLPortParam(SOBCenterpoint, "batlength", setBatLength, getBatLength, xmlelement, mode);
+    }
+
+    /**
+    @brief
+        Checks whether the gametype is Pong and if it is, sets its centerpoint.
+    */
+    void SOBCenterpoint::checkGametype()
+    {
+        if (this->getGametype() != nullptr && this->getGametype()->isA(Class(SOB)))
+        {
+            SOB* SOBGametype = orxonox_cast<SOB*>(this->getGametype());
+            SOBGametype->setCenterpoint(this);
+        }
+    }
+}

Added: code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.h
===================================================================
--- code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.h	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBCenterpoint.h	2017-03-23 14:57:14 UTC (rev 11379)
@@ -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:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file PongCenterpoint.h
+    @brief Declaration of the PongCenterpoint class.
+    @ingroup Pong
+*/
+
+#ifndef _SOBCenterpoint_H__
+#define _SOBCenterpoint_H__
+
+#include "superorxobros/SOBPrereqs.h"
+
+#include <string>
+
+#include <util/Math.h>
+
+#include "worldentities/StaticEntity.h"
+
+namespace orxonox
+{
+    
+   
+  
+    class _SOBExport SOBCenterpoint : public StaticEntity
+    {
+        public:
+            SOBCenterpoint(Context* context); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Pong.
+            virtual ~SOBCenterpoint() {}
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Method to create a PongCenterpoint through XML.
+
+    
+
+        private:
+            void checkGametype(); //!< Checks whether the gametype is Pong and if it is, sets its centerpoint.
+    };
+}
+
+#endif /* _SOBCenterpoint_H__ */

Added: code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.cc
===================================================================
--- code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.cc	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.cc	2017-03-23 14:57:14 UTC (rev 11379)
@@ -0,0 +1,175 @@
+/*
+ *   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:
+ *      Fabien Vultier
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file SOBFigure.cc
+    @brief This class represents your figure when you play the minigame. Here the movement of the figure, activating items, ... are handled.
+*/
+
+#include "SOBFigure.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "graphics/Model.h"
+
+
+namespace orxonox
+{
+    RegisterClass(SOBFigure);
+
+    SOBFigure::SOBFigure(Context* context) : ControllableEntity(context)
+    {
+        RegisterObject(SOBFigure);
+
+        // initialize variables
+      
+        moveUpPressed_ = false;
+        moveDownPressed_ = false;
+        moveLeftPressed_ = false;
+        moveDownPressed_ = false;
+        firePressed_ = false;
+        timeSinceLastFire_ = 0.0;
+  
+        gravityAcceleration_ = 8.0;
+       
+        dead_ = false;
+    }
+
+    void SOBFigure::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(SOBFigure, XMLPort, xmlelement, mode);
+  
+    }
+
+    void SOBFigure::tick(float dt)
+    {
+        SUPER(SOBFigure, tick, dt);
+
+        if (hasLocalController())
+        {
+            timeSinceLastFire_ += dt;
+
+            // Move up/down
+            Vector3 velocity = getVelocity();
+          
+            
+            
+                velocity.z -= gravityAcceleration_;
+            
+
+       
+
+            // Move left/right
+            if (dead_ == false)
+            {
+                if (moveRightPressed_)
+                    velocity.x = 75;
+                else if (moveLeftPressed_)
+                    velocity.x = 75;
+                else
+                    velocity.x = 0;
+            }
+            else
+            {
+                velocity.x = 0.0;
+            }
+
+           
+
+            setVelocity(velocity);
+
+
+        
+        }
+
+        // Move through the left and right screen boundaries
+        
+        //setPosition(position);
+
+        // Reset key variables
+        moveUpPressed_ = false;
+        moveDownPressed_ = false;
+        moveLeftPressed_ = false;
+        moveDownPressed_ = false;
+     
+    }
+
+   
+
+    
+
+   /* void SOBFigure::CollisionWithEnemy(SOBEnemy* enemy)
+    {
+        if (rocketActive_ == nullptr && propellerActive_ == nullptr && shieldActive_ == nullptr)
+        {
+            dead_ = true;
+        }
+    }*/
+
+   
+
+
+    
+
+    void SOBFigure::moveFrontBack(const Vector2& value)
+    {
+        if (value.x > 0)
+        {
+            moveUpPressed_ = true;
+            moveDownPressed_ = false;
+        }
+        else
+        {
+            moveUpPressed_ = false;
+            moveDownPressed_ = true;
+        }
+    }
+
+    void SOBFigure::moveRightLeft(const Vector2& value)
+    {
+        if (value.x > 0)
+        {
+            moveLeftPressed_ = false;
+            moveRightPressed_ = true;
+        }
+        else
+        {
+            moveLeftPressed_ = true;
+            moveRightPressed_ = false;
+        }
+    }
+
+    
+
+ 
+
+    void SOBFigure::fired(unsigned int firemode)
+    {
+        firePressed_ = true;
+    }
+}

Added: code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.h
===================================================================
--- code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.h	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBFigure.h	2017-03-23 14:57:14 UTC (rev 11379)
@@ -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:
+ *      Fabien Vultier
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _SOBFigure_H__
+#define _SOBFigure_H__
+
+#include "superorxobros/SOBPrereqs.h"
+#include "worldentities/ControllableEntity.h"
+
+namespace orxonox
+{
+    class _SOBExport SOBFigure : public ControllableEntity
+    {
+        public:
+            SOBFigure(Context* context); //!< Constructor. Registers and initializes the object.
+            virtual ~SOBFigure() {}
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
+            virtual void moveFrontBack(const Vector2& value) override; //!< Overloaded the function to steer the figure up and down.
+            virtual void moveRightLeft(const Vector2& value) override; //!< Overloaded the function to steer the figure up and down.
+            
+          
+            virtual void fired(unsigned int firemode) override;
+            
+            //virtual void CollisionWithEnemy(SOBEnemy* enemy);
+            
+            
+   
+          
+            bool dead_;
+
+          
+        private:
+            
+            bool moveUpPressed_;
+            bool moveDownPressed_;
+            bool moveLeftPressed_;
+            bool moveRightPressed_;
+            bool firePressed_;
+            float gravityAcceleration_;
+            float timeSinceLastFire_;
+
+           
+            
+           
+    };
+}
+
+#endif /* _SOBFigure_H__ */

Added: code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBPrereqs.h
===================================================================
--- code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBPrereqs.h	                        (rev 0)
+++ code/branches/SuperOrxoBros_FS17/src/modules/superorxobros/SOBPrereqs.h	2017-03-23 14:57:14 UTC (rev 11379)
@@ -0,0 +1,83 @@
+/*
+ *   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
+    Shared library macros, enums, constants and forward declarations for the pong module
+*/
+
+#ifndef _SOBPrereqs_H__
+#define _SOBPrereqs_H__
+
+#include "OrxonoxConfig.h"
+#include "OrxonoxPrereqs.h"
+
+//-----------------------------------------------------------------------
+// Shared library settings
+//-----------------------------------------------------------------------
+
+#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(SOB_STATIC_BUILD)
+#  ifdef SOB_SHARED_BUILD
+#    define _SOBExport __declspec(dllexport)
+#  else
+#    if defined( __MINGW32__ )
+#      define _SOBExport
+#    else
+#      define _SOBExport __declspec(dllimport)
+#    endif
+#  endif
+#  define _SOBPrivate
+#elif defined (ORXONOX_GCC_VISIBILITY)
+#  define _SOBExport  __attribute__ ((visibility("default")))
+#  define _SOBPrivate __attribute__ ((visibility("hidden")))
+#else
+#  define _SOBExport
+#  define _SOBPrivate
+#endif
+
+//-----------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------
+
+namespace orxonox
+{
+   /* class Pong;
+    class PongAI;
+    class PongBall;
+    class PongBat;
+    class PongBot;*/
+    class SOBCenterpoint;
+   
+    class SOB;
+    class SOBFigure;
+    /*
+    class PongScore;*/
+}
+
+#endif /* _SOBPrereqs_H__ */



More information about the Orxonox-commit mailing list