Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 917


Ignore:
Timestamp:
Mar 21, 2008, 6:14:31 PM (16 years ago)
Author:
rgrieder
Message:
  • merged all changes in the input branch into this one
  • moved Tickable to core (would have created circular library dependencies)
  • exported OrxListener to a separate file, soon to be deleted
changed
, &&, XOR back to or, and, xor because I found the necessary include file for VC++
  • created abortRequest() in Orxonox.cc to call for a smooth end of the game (an alternative would be to make tick() return a boolean, like it is with frameStarted())
Location:
code/branches/network
Files:
2 added
3 deleted
24 edited
4 copied

Legend:

Unmodified
Added
Removed
  • code/branches/network/src/network/Client.h

    r888 r917  
    1616#include <string>
    1717
    18 #include "orxonox/objects/Tickable.h"
     18#include "core/Tickable.h"
    1919
    2020#include "NetworkPrereqs.h"
  • code/branches/network/src/network/Server.cc

    r912 r917  
    1313#include <iostream>
    1414
     15#include "util/Sleep.h"
    1516#include "ConnectionManager.h"
    1617#include "PacketTypes.h"
     
    112113    processQueue();
    113114    updateGamestate();
     115
    114116    sleep(1); // TODO remove
    115117    return;
  • code/branches/network/src/network/Server.h

    r888 r917  
    1616#include <string>
    1717
    18 #include "orxonox/objects/Tickable.h"
     18#include "core/Tickable.h"
    1919
    2020#include "PacketManager.h"
  • code/branches/network/src/orxonox/Orxonox.cc

    r905 r917  
    4444#include <OgreOverlay.h>
    4545#include <OgreOverlayManager.h>
     46#include <OgreTimer.h>
     47#include <OgreWindowEventUtilities.h>
    4648
    4749//****** OIS *******
     
    5658#include "util/Sleep.h"
    5759
    58 // loader and audio
    59 //#include "loader/LevelLoader.h"
     60// audio
    6061#include "audio/AudioManager.h"
    6162
     
    6970
    7071// objects
    71 #include "objects/Tickable.h"
    7272#include "tools/Timer.h"
    73 #include "objects/NPC.h"
     73#include "tools/OrxListener.h"
    7474#include "core/ArgReader.h"
     75#include "core/Debug.h"
    7576#include "core/Factory.h"
    76 #include "core/Debug.h"
    7777#include "core/Loader.h"
     78#include "core/Tickable.h"
    7879#include "hud/HUD.h"
    7980#include "objects/weapon/BulletManager.h"
     
    8485namespace orxonox
    8586{
    86    // put this in a seperate Class or solve the problem in another fashion
    87   class OrxListener : public Ogre::FrameListener
    88   {
    89     public:
    90       OrxListener(OIS::Keyboard *keyboard, audio::AudioManager*  auMan, gameMode mode)
    91       {
    92         mKeyboard = keyboard;
    93         mode_=mode;
    94         auMan_ = auMan;
    95       }
    96 
    97       bool frameStarted(const Ogre::FrameEvent& evt)
    98       {
    99         auMan_->update();
    100         updateAI();
    101 
    102 //         if(mode_ == SERVER)
    103 //           server_g->tick(evt.timeSinceLastFrame);
    104 //         else if(mode_ == CLIENT)
    105 //           client_g->tick(evt.timeSinceLastFrame);
    106 
    107         usleep(10);
    108 
    109         if(mode_!=CLIENT){
    110         mKeyboard->capture();
    111         return !mKeyboard->isKeyDown(OIS::KC_ESCAPE);
    112         }else
    113           return true;
    114       }
    115 
    116       void updateAI()
    117       {
    118         for(Iterator<NPC> it = ObjectList<NPC>::start(); it; ++it)
    119         {
    120           it->update();
    121         }
    122       }
    123 
    124     private:
    125       gameMode mode_;
    126       OIS::Keyboard *mKeyboard;
    127       audio::AudioManager*  auMan_;
    128   };
    129 
    130   // init static singleton reference of Orxonox
     87  /// init static singleton reference of Orxonox
    13188  Orxonox* Orxonox::singletonRef_ = NULL;
    13289
     
    13895    this->ogre_ = new GraphicsEngine();
    13996    this->dataPath_ = "";
    140 //    this->loader_ = 0;
    14197    this->auMan_ = 0;
    14298    this->singletonRef_ = 0;
     
    146102    this->frameListener_ = 0;
    147103    this->root_ = 0;
     104    // turn frame smoothing on by setting a value different from 0
     105    this->frameSmoothingTime_ = 0.0f;
     106    this->bAbort_ = false;
    148107  }
    149108
     
    159118   * initialization of Orxonox object
    160119   * @param argc argument counter
    161    * @param argv list of arguments
     120   * @param argv list of argumenst
    162121   * @param path path to config (in home dir or something)
    163122   */
     
    281240    //TODO: destroy and destruct everything and print nice error msg
    282241    delete this;
     242  }
     243
     244  /**
     245    Asks the mainloop nicely to abort.
     246  */
     247  void Orxonox::abortRequest()
     248  {
     249    bAbort_ = true;
    283250  }
    284251
     
    365332  }
    366333
    367   /**
    368    *
    369    * @param
    370    */
    371334  void Orxonox::createScene(void)
    372335  {
     
    383346
    384347    Ogre::Overlay* hudOverlay = Ogre::OverlayManager::getSingleton().getByName("Orxonox/HUD1.2");
    385     HUD* orxonoxHud;
    386     orxonoxHud = new HUD();
    387     orxonoxHud->setEnergyValue(20);
    388     orxonoxHud->setEnergyDistr(20,20,60);
     348    //HUD* orxonoxHud;
     349    orxonoxHUD_ = new HUD();
     350    orxonoxHUD_->setEnergyValue(20);
     351    orxonoxHUD_->setEnergyDistr(20,20,60);
    389352    hudOverlay->show();
    390353
     
    398361
    399362
    400   /**
    401    *
    402    */
    403363  void Orxonox::setupScene()
    404364  {
     
    451411  void Orxonox::createFrameListener()
    452412  {
    453     TickFrameListener* TickFL = new TickFrameListener();
    454     ogre_->getRoot()->addFrameListener(TickFL);
    455 
    456     TimerFrameListener* TimerFL = new TimerFrameListener();
    457     ogre_->getRoot()->addFrameListener(TimerFL);
    458 
    459     //if(mode_!=CLIENT) // FIXME just a hack ------- remove this in future
    460       frameListener_ = new OrxListener(keyboard_, auMan_, mode_);
    461     ogre_->getRoot()->addFrameListener(frameListener_);
     413    frameListener_ = new OrxListener(keyboard_, auMan_, mode_);
    462414  }
    463415
     
    477429      ms.height = height;
    478430    }
    479     ogre_->getRoot()->startRendering();
     431    mainLoop();
     432  }
     433
     434  /**
     435    Main loop of the orxonox game.
     436    This is a new solution, using the ogre engine instead of beeing used by it.
     437    An alternative solution would be to simply use the timer of the Root object,
     438    but that implies using Ogre in any case. There would be no way to test
     439    our code without the help of the root object.
     440    There's even a chance that we can dispose of the root object entirely
     441    in server mode.
     442    About the loop: The design is almost exactly like the one in ogre, so that
     443    if any part of ogre registers a framelisteners, it will still behave
     444    correctly. Furthermore I have taken over the time smoothing feature from
     445    ogre. If turned on (see orxonox constructor), it will calculate the dt_n by
     446    means of the recent most dt_n-1, dt_n-2, etc.
     447  */
     448  void Orxonox::mainLoop()
     449  {
     450    // use the ogre timer class to measure time.
     451    Ogre::Timer *timer = new Ogre::Timer();
     452    timer->reset();
     453
     454    // Contains the times of recently fired events
     455    std::deque<unsigned long> eventTimes[3];
     456    // Clear event times
     457    for (int i = 0; i < 3; ++i)
     458      eventTimes[i].clear();
     459
     460          while (!bAbort_)
     461          {
     462                  // Pump messages in all registered RenderWindows
     463      Ogre::WindowEventUtilities::messagePump();
     464
     465      // get current time
     466      unsigned long now = timer->getMilliseconds();
     467
     468      // create an event to pass to the frameStarted method in ogre
     469      Ogre::FrameEvent evt;
     470      evt.timeSinceLastEvent = calculateEventTime(now, eventTimes[0]);
     471      evt.timeSinceLastFrame = calculateEventTime(now, eventTimes[1]);
     472
     473      // show the current time in the HUD
     474      orxonoxHUD_->setTime((int)now, 0);
     475
     476      // don't forget to call _fireFrameStarted in ogre to make sure
     477      // everything goes smoothly
     478      if (!ogre_->getRoot()->_fireFrameStarted(evt))
     479        break;
     480
     481      // Iterate through all Tickables and call their tick(dt) function
     482      for (Iterator<Tickable> it = ObjectList<Tickable>::start(); it; )
     483        (it++)->tick((float)evt.timeSinceLastFrame);
     484
     485      if (mode_ != SERVER)
     486      {
     487        // only render in non-server mode
     488        ogre_->getRoot()->_updateAllRenderTargets();
     489      }
     490
     491      // get current time
     492      now = timer->getMilliseconds();
     493
     494      // create an event to pass to the frameEnded method in ogre
     495      evt.timeSinceLastEvent = calculateEventTime(now, eventTimes[0]);
     496      evt.timeSinceLastFrame = calculateEventTime(now, eventTimes[2]);
     497
     498      // again, just to be sure ogre works fine
     499      if (!ogre_->getRoot()->_fireFrameEnded(evt))
     500        break;
     501          }
     502  }
     503
     504  /**
     505    Method for calculating the average time between recently fired events.
     506    Code directly taken from OgreRoot.cc
     507    @param now The current time in ms.
     508    @param type The type of event to be considered.
     509  */
     510  float Orxonox::calculateEventTime(unsigned long now, std::deque<unsigned long> &times)
     511  {
     512    // Calculate the average time passed between events of the given type
     513    // during the last mFrameSmoothingTime seconds.
     514
     515    times.push_back(now);
     516
     517    if(times.size() == 1)
     518      return 0;
     519
     520    // Times up to mFrameSmoothingTime seconds old should be kept
     521    unsigned long discardThreshold =
     522      static_cast<unsigned long>(frameSmoothingTime_ * 1000.0f);
     523
     524    // Find the oldest time to keep
     525    std::deque<unsigned long>::iterator it = times.begin(),
     526      end = times.end()-2; // We need at least two times
     527    while(it != end)
     528    {
     529      if (now - *it > discardThreshold)
     530        ++it;
     531      else
     532        break;
     533    }
     534
     535    // Remove old times
     536    times.erase(times.begin(), it);
     537
     538    return (float)(times.back() - times.front()) / ((times.size()-1) * 1000);
    480539  }
    481540}
  • code/branches/network/src/orxonox/Orxonox.h

    r888 r917  
    99
    1010#include <string>
     11#include <deque>
    1112
    1213#include <OgrePrerequisites.h>
     
    3738      // not sure if this should be private
    3839      void die(/* some error code */);
     40      void abortRequest();
    3941      static Orxonox* getSingleton();
    4042      inline Ogre::SceneManager* getSceneManager()         { return ogre_->getSceneManager(); };
     
    6567      void createFrameListener();
    6668      void startRenderLoop();
     69      void mainLoop();
     70      void updateTimers(float);
     71      float calculateEventTime(unsigned long, std::deque<unsigned long>&);
    6772
    6873    private:
     
    7883      OrxListener*          frameListener_;
    7984      Ogre::Root*           root_;
     85      // TODO: make this a config-value by creating a config class for orxonox
     86      float                 frameSmoothingTime_;
     87      // little hack to actually show something dynamic in the HUD
     88      HUD*                  orxonoxHUD_;
     89      bool                  bAbort_;
    8090
    8191      // this is used to identify the mode (server/client/...) we're in
  • code/branches/network/src/orxonox/OrxonoxPlatform.h

    r790 r917  
    210210//#   pragma warning (disable : 4503)
    211211
    212 // disable: "conversion from 'double' to 'float', possible loss of data
     212// disable: conversion from 'double' to 'float', possible loss of data
     213// disable: conversion from 'ogg_int64_t' to 'long', possible loss of data
     214// This has been dealt with in base_properties of the solution since the
     215// warning primarily occurs in library header files (which are mostly
     216// included before OrxonoxPlatform.h is)
    213217//#   pragma warning (disable : 4244)
    214218
     
    221225// disable: "<type> needs to have dll-interface to be used by clients'
    222226// Happens on STL member variables which are not public therefore is ok
     227// This has been dealt with in base_properties of the solution since the
     228// warning primarily occurs in library header files (which are mostly
     229// included before OrxonoxPlatform.h is)
    223230//#   pragma warning (disable : 4251)
     231
     232// disable: 'MultiTypeString' : multiple assignment operators specified
     233// Used in MultiType and works fine so far
     234#   pragma warning (disable : 4522)
    224235
    225236// disable: "non dll-interface class used as base for dll-interface class"
     
    251262#endif
    252263
     264
     265// Define the english written operators like and, or, xor
     266#if ORXONOX_COMPILER == ORXONOX_COMPILER_MSVC
     267#  include <iso646.h>
     268#endif
     269
    253270} /* namespace orxonox */
    254271
  • code/branches/network/src/orxonox/OrxonoxStableHeaders.h

    r871 r917  
    7373//#include "audio/AudioManager.h"
    7474
    75 //#include "core/CoreIncludes.h"
     75#include "core/CoreIncludes.h"
    7676#include "core/BaseObject.h"
    7777//#include "core/ArgReader.h"
    7878#include "core/Error.h"
     79#include "core/Loader.h"
     80#include "core/XMLPort.h"
     81#include "core/Tickable.h"
    7982
    8083#include "network/Synchronisable.h"
     
    8790#include "util/String2Number.h"
    8891#include "util/Tokenizer.h"
     92#include "util/Multitype.h"
     93#include "util/MultiTypeMath.h"
     94#include "util/MultiTypePrimitive.h"
     95#include "util/MultiTypeString.h"
     96#include "util/substring.h"
     97#include "util/XMLIncludes.h"
     98
    8999#include "util/tinyxml/ticpp.h"
    90100#include "util/tinyxml/tinyxml.h"
     
    106116//#include "objects/Skybox.h"
    107117//#include "objects/SpaceShipSteeringObject.h"
    108 #include "objects/Tickable.h"
    109118#include "objects/WorldEntity.h"
    110119//#include "particle/ParticleInterface.h"
  • code/branches/network/src/orxonox/core/Identifier.h

    r871 r917  
    206206    };
    207207
    208     std::ostream& operator<<(std::ostream& out, const std::list<const Identifier*>& list);
     208    _CoreExport std::ostream& operator<<(std::ostream& out, const std::list<const Identifier*>& list);
    209209
    210210
  • code/branches/network/src/orxonox/objects/WorldEntity.h

    r871 r917  
    1212//#include "util/tinyxml/tinyxml.h"
    1313#include "core/BaseObject.h"
    14 #include "Tickable.h"
     14#include "core/Tickable.h"
    1515#include "../tools/Mesh.h"
    1616
  • code/branches/network/src/orxonox/objects/weapon/BulletManager.h

    r871 r917  
    3939#include "util/tinyxml/tinyxml.h"
    4040#include "core/BaseObject.h"
    41 #include "../Tickable.h"
     41#include "core/Tickable.h"
    4242
    4343namespace orxonox {
  • code/branches/network/src/orxonox/tools/OrxListener.cc

    r916 r917  
    3131#include "objects/NPC.h"
    3232#include "audio/AudioManager.h"
     33#include "Orxonox.h"
    3334#include "OrxListener.h"
    3435
    3536namespace orxonox
    3637{
    37   OrxListener::OrxListener(audio::AudioManager*  auMan, gameMode mode)
     38  OrxListener::OrxListener(OIS::Keyboard *keyboard, audio::AudioManager*  auMan, gameMode mode)
    3839  {
     40    keyboard_ = keyboard;
    3941    mode_=mode;
    4042    auMan_ = auMan;
     
    4547    auMan_->update();
    4648    updateAI();
     49
     50    keyboard_->capture();
     51    if (keyboard_->isKeyDown(OIS::KC_ESCAPE))
     52      Orxonox::getSingleton()->abortRequest();
    4753  }
    4854
  • code/branches/network/src/orxonox/tools/OrxListener.h

    r916 r917  
    3434#define _OrxListener_H__
    3535
     36#include <OIS/OISPrereqs.h>
     37
    3638#include "../OrxonoxPrereqs.h"
    3739#include "audio/AudioPrereqs.h"
    3840#include "Orxonox.h"
    39 #include "objects/Tickable.h"
     41#include "core/Tickable.h"
    4042
    4143namespace orxonox
     
    4446  {
    4547    public:
    46       OrxListener(audio::AudioManager*  auMan, gameMode mode);
     48      OrxListener(OIS::Keyboard *keyboard, audio::AudioManager*  auMan, gameMode mode);
    4749
    4850      void tick(float dt);
     
    5254      gameMode mode_;
    5355      audio::AudioManager* auMan_;
     56      OIS::Keyboard *keyboard_;
    5457  };
    5558}
  • code/branches/network/src/orxonox/tools/Timer.cc

    r871 r917  
     1/*
     2 *   ORXONOX - the hottest 3D action shooter ever to exist
     3 *
     4 *
     5 *   License notice:
     6 *
     7 *   This program is free software; you can redistribute it and/or
     8 *   modify it under the terms of the GNU General Public License
     9 *   as published by the Free Software Foundation; either version 2
     10 *   of the License, or (at your option) any later version.
     11 *
     12 *   This program is distributed in the hope that it will be useful,
     13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 *   GNU General Public License for more details.
     16 *
     17 *   You should have received a copy of the GNU General Public License
     18 *   along with this program; if not, write to the Free Software
     19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
     20 *
     21 *   Author:
     22 *      Fabian 'x3n' Landau
     23 *   Co-authors:
     24 *      ...
     25 *
     26 */
     27
     28#include "OrxonoxStableHeaders.h"
     29
    130#include "core/CoreIncludes.h"
    231#include "Timer.h"
     
    1746        this->time_ = 0;
    1847    }
     48
     49    /**
     50        @brief Updates the timer before the frames are rendered.
     51    */
     52    void TimerBase::tick(float dt)
     53    {
     54        if (this->bActive_)
     55        {
     56            // If active: Decrease the timer by the duration of the last frame
     57            this->time_ -= dt;
     58
     59            if (this->time_ <= 0)
     60            {
     61                // It's time to call the function
     62                if (this->bLoop_)
     63                    // Q: Why '+=' and not '='? A: Think about it. It's more accurate like that. Seriously.
     64                    this->time_ += this->interval_;
     65                else
     66                    this->stopTimer(); // Stop the timer if we don't want to loop
     67
     68                this->run();
     69            }
     70        }
     71    }
     72
    1973}
  • code/branches/network/src/orxonox/tools/Timer.h

    r871 r917  
    5858#define _Timer_H__
    5959
    60 #include <OgreFrameListener.h>
    6160#include "../OrxonoxPrereqs.h"
     61#include "core/Tickable.h"
    6262
    6363namespace orxonox
    6464{
    6565    //! TimerBase is the parent of the Timer class.
    66     class _OrxonoxExport TimerBase : public OrxonoxClass
     66    class _OrxonoxExport TimerBase : public Tickable
    6767    {
    68         friend class TimerFrameListener;
    69 
    7068        public:
    7169            TimerBase();
     
    8381            /** @brief Returns true if the Timer is active (= not stoped, not paused). @return True = Time is active */
    8482            inline bool isActive() const { return this->bActive_; }
     83
     84            void tick(float dt);
    8585
    8686        protected:
     
    145145    };
    146146
    147     //! The TimerFrameListener manages all Timers in the game.
    148     class TimerFrameListener : public Ogre::FrameListener
    149     {
    150         private:
    151             /** @brief Gets called before a frame gets rendered. */
    152             bool frameStarted(const Ogre::FrameEvent &evt)
    153             {
    154                 // Iterate through all Timers
    155                 for (Iterator<TimerBase> it = ObjectList<TimerBase>::start(); it; )
    156                 {
    157                     if (it->isActive())
    158                     {
    159                         // If active: Decrease the timer by the duration of the last frame
    160                         it->time_ -= evt.timeSinceLastFrame;
    161 
    162                         if (it->time_ <= 0)
    163                         {
    164                             // It's time to call the function
    165                             if (it->bLoop_)
    166                                 it->time_ += it->interval_; // Q: Why '+=' and not '='? A: Think about it. It's more accurate like that. Seriously.
    167                             else
    168                                 it->stopTimer(); // Stop the timer if we don't want to loop
    169 
    170                             (it++)->run();
    171                         }
    172                         else
    173                             ++it;
    174                     }
    175                     else
    176                         ++it;
    177                 }
    178 
    179                 return FrameListener::frameStarted(evt);
    180             }
    181     };
    182147}
    183148
  • code/branches/network/src/util/Math.h

    r871 r917  
    147147
    148148#endif /* _Math_H__ */
     149
  • code/branches/network/src/util/MultiTypeMath.h

    r871 r917  
    153153};
    154154
    155 std::ostream& operator<<(std::ostream& out, MultiTypeMath& mtm);
     155_UtilExport std::ostream& operator<<(std::ostream& out, MultiTypeMath& mtm);
    156156
    157157#endif /* _MultiTypeMath_H__ */
  • code/branches/network/src/util/MultiTypePrimitive.h

    r871 r917  
    175175};
    176176
    177 std::ostream& operator<<(std::ostream& out, const MultiTypePrimitive& mtp);
     177_UtilExport std::ostream& operator<<(std::ostream& out, const MultiTypePrimitive& mtp);
    178178
    179179#endif /* _MultiTypePrimitive_H__ */
  • code/branches/network/src/util/MultiTypeString.h

    r871 r917  
    109109};
    110110
    111 std::ostream& operator<<(std::ostream& out, MultiTypeString& mts);
     111_UtilExport std::ostream& operator<<(std::ostream& out, MultiTypeString& mts);
    112112
    113113#endif /* _MultiTypeString_H__ */
  • code/branches/network/src/util/Sleep.h

    r790 r917  
    1 // hack for the usleep/Sleep problem
    2 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
     1/*
     2 *   ORXONOX - the hottest 3D action shooter ever to exist
     3 *
     4 *
     5 *   License notice:
     6 *
     7 *   This program is free software; you can redistribute it and/or
     8 *   modify it under the terms of the GNU General Public License
     9 *   as published by the Free Software Foundation; either version 2
     10 *   of the License, or (at your option) any later version.
     11 *
     12 *   This program is distributed in the hope that it will be useful,
     13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 *   GNU General Public License for more details.
     16 *
     17 *   You should have received a copy of the GNU General Public License
     18 *   along with this program; if not, write to the Free Software
     19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
     20 *
     21 *   Author:
     22 *      Reto Grieder
     23 *   Co-authors:
     24 *      ...
     25 *
     26 */
     27
     28/**
     29 @file  Sleep.h
     30 @brief Macros for using sleep() and usleep() under windows
     31 */
     32
     33#include "OrxonoxPlatform.h"
     34
     35#if ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32
    336#  include <windows.h>
    4 #  define usleep(x) Sleep((x)/1000)
     37#  define usleep(x) Sleep((x) / 1000)
     38#  define msleep(x) Sleep(x)
     39#  define  sleep(x) Sleep((x) * 1000)
    540#else
    641#  include <unistd.h>
     42#  define msleep(x) uleep((x) * 1000)
    743#endif
  • code/branches/network/src/util/XMLIncludes.h

    r871 r917  
    1 #include "util/tinyxml/TinyXMLPrereqs.h"
     1//-----------------------------------------------------------------------
     2// Forward declarations
     3//-----------------------------------------------------------------------
     4
     5class TiXmlString;
     6class TiXmlOutStream;
     7class TiXmlNode;
     8class TiXmlHandle;
     9class TiXmlDocument;
     10class TiXmlElement;
     11class TiXmlComment;
     12class TiXmlUnknown;
     13class TiXmlAttribute;
     14class TiXmlText;
     15class TiXmlDeclaration;
     16class TiXmlParsingData;
     17
     18namespace ticpp
     19{
     20    class Document;
     21    class Element;
     22    class Declaration;
     23    class StylesheetReference;
     24    class Text;
     25    class Comment;
     26    class Attribute;
     27}
    228
    329namespace orxonox
  • code/branches/network/visual_studio/base_properties.vsprops

    r790 r917  
    1111                PreprocessorDefinitions="WIN32;__WIN32__;_WIN32;BOOST_ALL_DYN_LINK"
    1212                WarningLevel="3"
    13                 DisableSpecificWarnings="4267; 4244; 4251"
     13                DisableSpecificWarnings="4244;4251"
    1414        />
    1515        <Tool
     
    3333        <UserMacro
    3434                Name="DependencyDir"
    35                 Value="$(RootDir)dependencies\"
     35                Value="D:\orxonox\dependencies\orxonox\"
    3636        />
    3737        <UserMacro
  • code/branches/network/visual_studio/orxonox_vc8.sln

    r790 r917  
    1818        ProjectSection(ProjectDependencies) = postProject
    1919                {2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
    20         EndProjectSection
    21 EndProject
    22 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loader", "vc8\loader.vcproj", "{E283910F-F911-40FB-A09D-D025CA821912}"
    23         ProjectSection(WebsiteProperties) = preProject
    24                 Debug.AspNetCompiler.Debug = "True"
    25                 Release.AspNetCompiler.Debug = "False"
    26         EndProjectSection
    27         ProjectSection(ProjectDependencies) = postProject
    28                 {2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
     20                {F101C2F0-1CB9-4A57-827B-6C399A99B28F} = {F101C2F0-1CB9-4A57-827B-6C399A99B28F}
    2921        EndProjectSection
    3022EndProject
     
    4537        EndProjectSection
    4638        ProjectSection(ProjectDependencies) = postProject
    47                 {4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
    4839                {35575B59-E1AE-40E8-89C4-2862B5B09B68} = {35575B59-E1AE-40E8-89C4-2862B5B09B68}
    4940                {2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
    5041                {271715F3-5B90-4110-A552-70C788084A86} = {271715F3-5B90-4110-A552-70C788084A86}
     42                {F101C2F0-1CB9-4A57-827B-6C399A99B28F} = {F101C2F0-1CB9-4A57-827B-6C399A99B28F}
     43                {4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
    5144        EndProjectSection
    5245EndProject
    53 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_proj", "vc8\test_proj.vcproj", "{97B226C5-8FD9-4A1E-B50B-5CBF79CF46F5}"
     46Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "util", "vc8\util.vcproj", "{2240ECD7-2F48-4431-8E1B-25466A384CCC}"
    5447        ProjectSection(WebsiteProperties) = preProject
    5548                Debug.AspNetCompiler.Debug = "True"
     
    5750        EndProjectSection
    5851EndProject
    59 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "util", "vc8\util.vcproj", "{2240ECD7-2F48-4431-8E1B-25466A384CCC}"
     52Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tixml", "vc8\tixml.vcproj", "{F101C2F0-1CB9-4A57-827B-6C399A99B28F}"
    6053        ProjectSection(WebsiteProperties) = preProject
    6154                Debug.AspNetCompiler.Debug = "True"
     
    8780                {271715F3-5B90-4110-A552-70C788084A86}.Release|Win32.ActiveCfg = Release|Win32
    8881                {271715F3-5B90-4110-A552-70C788084A86}.Release|Win32.Build.0 = Release|Win32
    89                 {E283910F-F911-40FB-A09D-D025CA821912}.Debug|Win32.ActiveCfg = Debug|Win32
    90                 {E283910F-F911-40FB-A09D-D025CA821912}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
    91                 {E283910F-F911-40FB-A09D-D025CA821912}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
    92                 {E283910F-F911-40FB-A09D-D025CA821912}.Release|Win32.ActiveCfg = Release|Win32
    9382                {35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.ActiveCfg = Debug|Win32
    9483                {35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.Build.0 = Debug|Win32
     
    10796                {0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Release|Win32.ActiveCfg = Release|Win32
    10897                {0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Release|Win32.Build.0 = Release|Win32
    109                 {97B226C5-8FD9-4A1E-B50B-5CBF79CF46F5}.Debug|Win32.ActiveCfg = Debug|Win32
    110                 {97B226C5-8FD9-4A1E-B50B-5CBF79CF46F5}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
    111                 {97B226C5-8FD9-4A1E-B50B-5CBF79CF46F5}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
    112                 {97B226C5-8FD9-4A1E-B50B-5CBF79CF46F5}.Release|Win32.ActiveCfg = Release|Win32
    11398                {2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.ActiveCfg = Debug|Win32
    11499                {2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.Build.0 = Debug|Win32
     
    119104                {2240ECD7-2F48-4431-8E1B-25466A384CCC}.Release|Win32.ActiveCfg = Release|Win32
    120105                {2240ECD7-2F48-4431-8E1B-25466A384CCC}.Release|Win32.Build.0 = Release|Win32
     106                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Debug|Win32.ActiveCfg = Debug|Win32
     107                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Debug|Win32.Build.0 = Debug|Win32
     108                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
     109                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
     110                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
     111                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
     112                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release|Win32.ActiveCfg = Release|Win32
     113                {F101C2F0-1CB9-4A57-827B-6C399A99B28F}.Release|Win32.Build.0 = Release|Win32
    121114        EndGlobalSection
    122115        GlobalSection(SolutionProperties) = preSolution
  • code/branches/network/visual_studio/util_properties.vsprops

    r790 r917  
    66        InheritedPropertySheets=".\directory_properties.vsprops"
    77        >
     8        <Tool
     9                Name="VCCLCompilerTool"
     10                PreprocessorDefinitions="UTIL_SHARED_BUILD"
     11        />
     12        <Tool
     13                Name="VCLinkerTool"
     14                AdditionalDependencies="OgreMain$(CS).lib"
     15        />
    816</VisualStudioPropertySheet>
  • code/branches/network/visual_studio/vc8/core.vcproj

    r790 r917  
    281281                        </File>
    282282                        <File
     283                                RelativePath="..\..\src\orxonox\core\ClassTreeMask.cc"
     284                                >
     285                        </File>
     286                        <File
    283287                                RelativePath="..\..\src\orxonox\core\ConfigValueContainer.cc"
    284288                                >
     
    293297                        </File>
    294298                        <File
     299                                RelativePath="..\..\src\orxonox\core\Executor.cc"
     300                                >
     301                        </File>
     302                        <File
    295303                                RelativePath="..\..\src\orxonox\core\Factory.cc"
    296304                                >
     
    301309                        </File>
    302310                        <File
    303                                 RelativePath="..\..\src\orxonox\core\IdentifierList.cc"
     311                                RelativePath="..\..\src\orxonox\core\IdentifierDistributor.cc"
    304312                                >
    305313                        </File>
     
    309317                        </File>
    310318                        <File
     319                                RelativePath="..\..\src\orxonox\core\Loader.cc"
     320                                >
     321                        </File>
     322                        <File
    311323                                RelativePath="..\..\src\orxonox\core\MetaObjectList.cc"
    312324                                >
     
    322334                        <File
    323335                                RelativePath="..\..\src\orxonox\core\SignalHandler.cc"
     336                                >
     337                        </File>
     338                        <File
     339                                RelativePath="..\..\src\orxonox\core\Tickable.cc"
     340                                >
     341                        </File>
     342                        <File
     343                                RelativePath="..\..\src\orxonox\core\XMLPort.cc"
    324344                                >
    325345                        </File>
     
    343363                        </File>
    344364                        <File
     365                                RelativePath="..\..\src\orxonox\core\ClassManager.h"
     366                                >
     367                        </File>
     368                        <File
     369                                RelativePath="..\..\src\orxonox\core\ClassTreeMask.h"
     370                                >
     371                        </File>
     372                        <File
    345373                                RelativePath="..\..\src\orxonox\core\ConfigValueContainer.h"
    346374                                >
     
    367395                        </File>
    368396                        <File
     397                                RelativePath="..\..\src\orxonox\core\Executor.h"
     398                                >
     399                        </File>
     400                        <File
    369401                                RelativePath="..\..\src\orxonox\core\Factory.h"
    370402                                >
    371403                        </File>
    372404                        <File
     405                                RelativePath="..\..\src\orxonox\core\Functor.h"
     406                                >
     407                        </File>
     408                        <File
    373409                                RelativePath="..\..\src\orxonox\core\Identifier.h"
    374410                                >
    375411                        </File>
    376412                        <File
    377                                 RelativePath="..\..\src\orxonox\core\IdentifierList.h"
     413                                RelativePath="..\..\src\orxonox\core\IdentifierDistributor.h"
    378414                                >
    379415                        </File>
     
    387423                        </File>
    388424                        <File
     425                                RelativePath="..\..\src\orxonox\core\Level.h"
     426                                >
     427                        </File>
     428                        <File
     429                                RelativePath="..\..\src\orxonox\core\Loader.h"
     430                                >
     431                        </File>
     432                        <File
    389433                                RelativePath="..\..\src\orxonox\core\MetaObjectList.h"
    390434                                >
     
    404448                        <File
    405449                                RelativePath="..\..\src\orxonox\core\SignalHandler.h"
     450                                >
     451                        </File>
     452                        <File
     453                                RelativePath="..\..\src\orxonox\core\Tickable.h"
     454                                >
     455                        </File>
     456                        <File
     457                                RelativePath="..\..\src\orxonox\core\XMLPort.h"
    406458                                >
    407459                        </File>
  • code/branches/network/visual_studio/vc8/orxonox.vcproj

    r790 r917  
    287287                                RelativePath="..\..\src\orxonox\InputManager.cc"
    288288                                >
     289                                <FileConfiguration
     290                                        Name="Debug|Win32"
     291                                        ExcludedFromBuild="true"
     292                                        >
     293                                        <Tool
     294                                                Name="VCCLCompilerTool"
     295                                        />
     296                                </FileConfiguration>
    289297                        </File>
    290298                        <File
     
    627635                                        >
    628636                                </File>
    629                         </Filter>
    630                         <Filter
    631                                 Name="loader"
    632                                 >
    633                                 <File
    634                                         RelativePath="..\..\src\loader\LevelLoader.cc"
     637                                <File
     638                                        RelativePath="..\..\src\orxonox\tools\OrxListener.cc"
     639                                        >
     640                                </File>
     641                                <File
     642                                        RelativePath="..\..\src\orxonox\tools\Timer.cc"
    635643                                        >
    636644                                </File>
     
    738746                                </File>
    739747                                <File
    740                                         RelativePath="..\..\src\orxonox\objects\Tickable.h"
    741                                         >
    742                                 </File>
    743                                 <File
    744748                                        RelativePath="..\..\src\orxonox\objects\WorldEntity.h"
    745749                                        >
     
    798802                                </File>
    799803                                <File
     804                                        RelativePath="..\..\src\orxonox\tools\OrxListener.h"
     805                                        >
     806                                </File>
     807                                <File
    800808                                        RelativePath="..\..\src\orxonox\tools\Timer.h"
    801                                         >
    802                                 </File>
    803                         </Filter>
    804                         <Filter
    805                                 Name="loader"
    806                                 >
    807                                 <File
    808                                         RelativePath="..\..\src\loader\LevelLoader.h"
    809                                         >
    810                                 </File>
    811                                 <File
    812                                         RelativePath="..\..\src\loader\LoaderPrereqs.h"
    813809                                        >
    814810                                </File>
  • code/branches/network/visual_studio/vc8/util.vcproj

    r790 r917  
    1818                <Configuration
    1919                        Name="Debug|Win32"
    20                         ConfigurationType="4"
     20                        ConfigurationType="2"
    2121                        InheritedPropertySheets="$(SolutionDir)base_properties_debug.vsprops;..\util_properties.vsprops"
    2222                        CharacterSet="1"
     
    5050                        />
    5151                        <Tool
    52                                 Name="VCLibrarianTool"
     52                                Name="VCLinkerTool"
    5353                        />
    5454                        <Tool
     
    5656                        />
    5757                        <Tool
     58                                Name="VCManifestTool"
     59                        />
     60                        <Tool
    5861                                Name="VCXDCMakeTool"
    5962                        />
     
    6366                        <Tool
    6467                                Name="VCFxCopTool"
     68                        />
     69                        <Tool
     70                                Name="VCAppVerifierTool"
     71                        />
     72                        <Tool
     73                                Name="VCWebDeploymentTool"
    6574                        />
    6675                        <Tool
     
    7079                <Configuration
    7180                        Name="Release|Win32"
    72                         ConfigurationType="4"
     81                        ConfigurationType="2"
    7382                        InheritedPropertySheets="$(SolutionDir)base_properties_release.vsprops;..\util_properties.vsprops"
    7483                        CharacterSet="1"
     
    103112                        />
    104113                        <Tool
    105                                 Name="VCLibrarianTool"
     114                                Name="VCLinkerTool"
    106115                        />
    107116                        <Tool
     
    109118                        />
    110119                        <Tool
     120                                Name="VCManifestTool"
     121                        />
     122                        <Tool
    111123                                Name="VCXDCMakeTool"
    112124                        />
     
    116128                        <Tool
    117129                                Name="VCFxCopTool"
     130                        />
     131                        <Tool
     132                                Name="VCAppVerifierTool"
     133                        />
     134                        <Tool
     135                                Name="VCWebDeploymentTool"
    118136                        />
    119137                        <Tool
     
    123141                <Configuration
    124142                        Name="Release_SSE|Win32"
    125                         ConfigurationType="4"
     143                        ConfigurationType="2"
    126144                        InheritedPropertySheets="..\base_properties_release_sse.vsprops;..\util_properties.vsprops"
    127145                        CharacterSet="1"
     
    156174                        />
    157175                        <Tool
    158                                 Name="VCLibrarianTool"
     176                                Name="VCLinkerTool"
    159177                        />
    160178                        <Tool
     
    162180                        />
    163181                        <Tool
     182                                Name="VCManifestTool"
     183                        />
     184                        <Tool
    164185                                Name="VCXDCMakeTool"
    165186                        />
     
    169190                        <Tool
    170191                                Name="VCFxCopTool"
     192                        />
     193                        <Tool
     194                                Name="VCAppVerifierTool"
     195                        />
     196                        <Tool
     197                                Name="VCWebDeploymentTool"
    171198                        />
    172199                        <Tool
     
    176203                <Configuration
    177204                        Name="Release_SSE2|Win32"
    178                         ConfigurationType="4"
     205                        ConfigurationType="2"
    179206                        InheritedPropertySheets="..\base_properties_release_sse2.vsprops;..\util_properties.vsprops"
    180207                        CharacterSet="1"
     
    209236                        />
    210237                        <Tool
    211                                 Name="VCLibrarianTool"
     238                                Name="VCLinkerTool"
    212239                        />
    213240                        <Tool
     
    215242                        />
    216243                        <Tool
     244                                Name="VCManifestTool"
     245                        />
     246                        <Tool
    217247                                Name="VCXDCMakeTool"
    218248                        />
     
    222252                        <Tool
    223253                                Name="VCFxCopTool"
     254                        />
     255                        <Tool
     256                                Name="VCAppVerifierTool"
     257                        />
     258                        <Tool
     259                                Name="VCWebDeploymentTool"
    224260                        />
    225261                        <Tool
     
    237273                        >
    238274                        <File
     275                                RelativePath="..\..\src\util\Math.cc"
     276                                >
     277                        </File>
     278                        <File
     279                                RelativePath="..\..\src\util\MultiTypeMath.cc"
     280                                >
     281                        </File>
     282                        <File
     283                                RelativePath="..\..\src\util\MultiTypePrimitive.cc"
     284                                >
     285                        </File>
     286                        <File
     287                                RelativePath="..\..\src\util\MultiTypeString.cc"
     288                                >
     289                        </File>
     290                        <File
     291                                RelativePath="..\..\src\util\String.cc"
     292                                >
     293                        </File>
     294                        <File
    239295                                RelativePath="..\..\src\util\substring.cc"
    240296                                >
    241297                        </File>
    242                         <Filter
    243                                 Name="tinyxml"
    244                                 >
    245                                 <File
    246                                         RelativePath="..\..\src\util\tinyxml\ticpp.cc"
    247                                         >
    248                                 </File>
    249                                 <File
    250                                         RelativePath="..\..\src\util\tinyxml\tinystr.cc"
    251                                         >
    252                                 </File>
    253                                 <File
    254                                         RelativePath="..\..\src\util\tinyxml\tinyxml.cc"
    255                                         >
    256                                 </File>
    257                                 <File
    258                                         RelativePath="..\..\src\util\tinyxml\tinyxmlerror.cc"
    259                                         >
    260                                 </File>
    261                                 <File
    262                                         RelativePath="..\..\src\util\tinyxml\tinyxmlparser.cc"
    263                                         >
    264                                 </File>
    265                         </Filter>
    266298                </Filter>
    267299                <Filter
     
    279311                        </File>
    280312                        <File
     313                                RelativePath="..\..\src\util\MultiType.h"
     314                                >
     315                        </File>
     316                        <File
     317                                RelativePath="..\..\src\util\MultiTypeMath.h"
     318                                >
     319                        </File>
     320                        <File
     321                                RelativePath="..\..\src\util\MultiTypePrimitive.h"
     322                                >
     323                        </File>
     324                        <File
     325                                RelativePath="..\..\src\util\MultiTypeString.h"
     326                                >
     327                        </File>
     328                        <File
    281329                                RelativePath="..\..\src\util\Sleep.h"
    282330                                >
    283331                        </File>
    284332                        <File
     333                                RelativePath="..\..\src\util\String.h"
     334                                >
     335                        </File>
     336                        <File
    285337                                RelativePath="..\..\src\util\String2Number.h"
    286338                                >
     
    294346                                >
    295347                        </File>
    296                         <Filter
    297                                 Name="tinyxml"
    298                                 >
    299                                 <File
    300                                         RelativePath="..\..\src\util\tinyxml\ticpp.h"
    301                                         >
    302                                 </File>
    303                                 <File
    304                                         RelativePath="..\..\src\util\tinyxml\ticpprc.h"
    305                                         >
    306                                 </File>
    307                                 <File
    308                                         RelativePath="..\..\src\util\tinyxml\tinystr.h"
    309                                         >
    310                                 </File>
    311                                 <File
    312                                         RelativePath="..\..\src\util\tinyxml\tinyxml.h"
    313                                         >
    314                                 </File>
    315                                 <File
    316                                         RelativePath="..\..\src\util\tinyxml\TinyXMLPrereqs.h"
    317                                         >
    318                                 </File>
    319                         </Filter>
     348                        <File
     349                                RelativePath="..\..\src\util\UtilPrereqs.h"
     350                                >
     351                        </File>
     352                        <File
     353                                RelativePath="..\..\src\util\XMLIncludes.h"
     354                                >
     355                        </File>
    320356                </Filter>
    321357        </Files>
Note: See TracChangeset for help on using the changeset viewer.