Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 265


Ignore:
Timestamp:
Nov 26, 2007, 5:24:39 PM (17 years ago)
Author:
landauf
Message:

corrected spacing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/orxonox/orxonox.cc

    r263 r265  
    7676namespace orxonox
    7777{
    78     class OrxExitListener : public Ogre::FrameListener
    79     {
    80       public:
    81         OrxExitListener(OIS::Keyboard *keyboard)
    82       : mKeyboard(keyboard)
     78  class OrxExitListener : public Ogre::FrameListener
     79  {
     80    public:
     81      OrxExitListener(OIS::Keyboard *keyboard)
     82    : mKeyboard(keyboard)
     83      {
     84      }
     85
     86      bool frameStarted(const Ogre::FrameEvent& evt)
     87      {
     88        mKeyboard->capture();
     89        return !mKeyboard->isKeyDown(OIS::KC_ESCAPE);
     90      }
     91
     92    private:
     93      OIS::Keyboard *mKeyboard;
     94  };
     95
     96  class OrxApplication
     97  {
     98    public:
     99      void go()
     100      {
     101        createRoot();
     102        defineResources();
     103        setupRenderSystem();
     104        createRenderWindow();
     105        initializeResourceGroups();
     106        createScene();
     107        setupScene();
     108        setupInputSystem();
     109        setupCEGUI();
     110        createFrameListener();
     111        startRenderLoop();
     112      }
     113
     114      ~OrxApplication()
     115      {
     116        mInputManager->destroyInputObject(mKeyboard);
     117        OIS::InputManager::destroyInputSystem(mInputManager);
     118
     119//        delete mRenderer;
     120//        delete mSystem;
     121
     122        delete mListener;
     123        delete mRoot;
     124      }
     125
     126    private:
     127      Ogre::Root *mRoot;
     128      OIS::Keyboard *mKeyboard;
     129      OIS::Mouse *mMouse;
     130      OIS::InputManager *mInputManager;
     131      CEGUI::OgreCEGUIRenderer *mRenderer;
     132      CEGUI::System *mSystem;
     133      OrxExitListener *mListener;
     134
     135      void createRoot()
     136      {
     137#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
     138        mRoot = new Ogre::Root(macBundlePath() + "/Contents/Resources/plugins.cfg");
     139#else
     140        mRoot = new Ogre::Root();
     141#endif
     142      }
     143
     144      void defineResources()
     145      {
     146        Ogre::String secName, typeName, archName;
     147        Ogre::ConfigFile cf;
     148#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
     149        cf.load(macBundlePath() + "/Contents/Resources/resources.cfg");
     150#else
     151        cf.load("resources.cfg");
     152#endif
     153
     154        Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator();
     155        while (seci.hasMoreElements())
    83156        {
    84         }
    85 
    86         bool frameStarted(const Ogre::FrameEvent& evt)
    87         {
    88           mKeyboard->capture();
    89           return !mKeyboard->isKeyDown(OIS::KC_ESCAPE);
    90         }
    91 
    92       private:
    93         OIS::Keyboard *mKeyboard;
    94     };
    95 
    96     class OrxApplication
    97     {
    98       public:
    99         void go()
    100         {
    101           createRoot();
    102           defineResources();
    103           setupRenderSystem();
    104           createRenderWindow();
    105           initializeResourceGroups();
    106           createScene();
    107           setupScene();
    108           setupInputSystem();
    109           setupCEGUI();
    110           createFrameListener();
    111           startRenderLoop();
    112         }
    113 
    114         ~OrxApplication()
    115         {
    116           mInputManager->destroyInputObject(mKeyboard);
    117           OIS::InputManager::destroyInputSystem(mInputManager);
    118 
    119     //       delete mRenderer;
    120     //       delete mSystem;
    121 
    122           delete mListener;
    123           delete mRoot;
    124         }
    125 
    126       private:
    127         Ogre::Root *mRoot;
    128         OIS::Keyboard *mKeyboard;
    129         OIS::Mouse *mMouse;
    130         OIS::InputManager *mInputManager;
    131         CEGUI::OgreCEGUIRenderer *mRenderer;
    132         CEGUI::System *mSystem;
    133         OrxExitListener *mListener;
    134 
    135         void createRoot()
    136         {
    137     #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
    138           mRoot = new Ogre::Root(macBundlePath() + "/Contents/Resources/plugins.cfg");
    139     #else
    140           mRoot = new Ogre::Root();
    141     #endif
    142         }
    143 
    144         void defineResources()
    145         {
    146           Ogre::String secName, typeName, archName;
    147           Ogre::ConfigFile cf;
    148     #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
    149           cf.load(macBundlePath() + "/Contents/Resources/resources.cfg");
    150     #else
    151           cf.load("resources.cfg");
    152     #endif
    153 
    154           Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator();
    155           while (seci.hasMoreElements())
     157          secName = seci.peekNextKey();
     158          Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext();
     159          Ogre::ConfigFile::SettingsMultiMap::iterator i;
     160          for (i = settings->begin(); i != settings->end(); ++i)
    156161          {
    157             secName = seci.peekNextKey();
    158             Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext();
    159             Ogre::ConfigFile::SettingsMultiMap::iterator i;
    160             for (i = settings->begin(); i != settings->end(); ++i)
    161             {
    162               typeName = i->first;
    163               archName = i->second;
    164     #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
    165               Ogre::ResourceGroupManager::getSingleton().addResourceLocation( String(macBundlePath() + "/" + archName), typeName, secName);
    166     #else
    167               Ogre::ResourceGroupManager::getSingleton().addResourceLocation( archName, typeName, secName);
    168     #endif
    169             }
     162            typeName = i->first;
     163            archName = i->second;
     164#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
     165            Ogre::ResourceGroupManager::getSingleton().addResourceLocation( String(macBundlePath() + "/" + archName), typeName, secName);
     166#else
     167            Ogre::ResourceGroupManager::getSingleton().addResourceLocation( archName, typeName, secName);
     168#endif
    170169          }
    171170        }
    172 
    173         void setupRenderSystem()
     171      }
     172
     173      void setupRenderSystem()
     174      {
     175        if (!mRoot->restoreConfig() && !mRoot->showConfigDialog())
     176          throw Ogre::Exception(52, "User canceled the config dialog!", "OrxApplication::setupRenderSystem()");
     177      }
     178
     179      void createRenderWindow()
     180      {
     181        mRoot->initialise(true, "Ogre Render Window");
     182      }
     183
     184      void initializeResourceGroups()
     185      {
     186        Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5);
     187        Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
     188      }
     189
     190      void createScene(void)
     191      {
     192
     193        string levelFile = "sp_level_moonstation.oxw";
     194        loader::LevelLoader* loader = new loader::LevelLoader(levelFile);
     195      }
     196
     197      void setupScene()
     198      {
     199        Ogre::SceneManager *mgr = mRoot->createSceneManager(Ogre::ST_GENERIC, "Default SceneManager");
     200        Ogre::Camera *cam = mgr->createCamera("Camera");
     201        Ogre::Viewport *vp = mRoot->getAutoCreatedWindow()->addViewport(cam);
     202      }
     203
     204      void setupInputSystem()
     205      {
     206        size_t windowHnd = 0;
     207        std::ostringstream windowHndStr;
     208        OIS::ParamList pl;
     209        Ogre::RenderWindow *win = mRoot->getAutoCreatedWindow();
     210
     211        win->getCustomAttribute("WINDOW", &windowHnd);
     212        windowHndStr << windowHnd;
     213        pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
     214        mInputManager = OIS::InputManager::createInputSystem(pl);
     215
     216        try
    174217        {
    175           if (!mRoot->restoreConfig() && !mRoot->showConfigDialog())
    176             throw Ogre::Exception(52, "User canceled the config dialog!", "OrxApplication::setupRenderSystem()");
     218          mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, false));
     219          mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, false));
    177220        }
    178 
    179         void createRenderWindow()
     221        catch (const OIS::Exception &e)
    180222        {
    181           mRoot->initialise(true, "Ogre Render Window");
     223          throw new Ogre::Exception(42, e.eText, "OrxApplication::setupInputSystem");
    182224        }
    183 
    184         void initializeResourceGroups()
    185         {
    186           Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5);
    187           Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
    188         }
    189 
    190         void createScene(void)
    191         {
    192 
    193           string levelFile = "sp_level_moonstation.oxw";
    194           loader::LevelLoader* loader = new loader::LevelLoader(levelFile);
    195         }
    196 
    197         void setupScene()
    198         {
    199           Ogre::SceneManager *mgr = mRoot->createSceneManager(Ogre::ST_GENERIC, "Default SceneManager");
    200           Ogre::Camera *cam = mgr->createCamera("Camera");
    201           Ogre::Viewport *vp = mRoot->getAutoCreatedWindow()->addViewport(cam);
    202         }
    203 
    204         void setupInputSystem()
    205         {
    206           size_t windowHnd = 0;
    207           std::ostringstream windowHndStr;
    208           OIS::ParamList pl;
    209           Ogre::RenderWindow *win = mRoot->getAutoCreatedWindow();
    210 
    211           win->getCustomAttribute("WINDOW", &windowHnd);
    212           windowHndStr << windowHnd;
    213           pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
    214           mInputManager = OIS::InputManager::createInputSystem(pl);
    215 
    216           try
    217           {
    218             mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, false));
    219             mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, false));
    220           }
    221           catch (const OIS::Exception &e)
    222           {
    223             throw new Ogre::Exception(42, e.eText, "OrxApplication::setupInputSystem");
    224           }
    225         }
    226 
    227         void setupCEGUI()
    228         {
    229           Ogre::SceneManager *mgr = mRoot->getSceneManager("Default SceneManager");
    230           Ogre::RenderWindow *win = mRoot->getAutoCreatedWindow();
    231 
    232           // CEGUI setup
    233     //       mRenderer = new CEGUI::OgreCEGUIRenderer(win, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mgr);
    234     //       mSystem = new CEGUI::System(mRenderer);
    235 
    236           // Other CEGUI setup here.
    237         }
    238 
    239         void createFrameListener()
    240         {
    241           mListener = new OrxExitListener(mKeyboard);
    242           mRoot->addFrameListener(mListener);
    243         }
    244 
    245         void startRenderLoop()
    246         {
    247           mRoot->startRendering();
    248         }
    249     };
     225      }
     226
     227      void setupCEGUI()
     228      {
     229        Ogre::SceneManager *mgr = mRoot->getSceneManager("Default SceneManager");
     230        Ogre::RenderWindow *win = mRoot->getAutoCreatedWindow();
     231
     232        // CEGUI setup
     233//        mRenderer = new CEGUI::OgreCEGUIRenderer(win, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mgr);
     234//        mSystem = new CEGUI::System(mRenderer);
     235
     236        // Other CEGUI setup here.
     237      }
     238
     239      void createFrameListener()
     240      {
     241        mListener = new OrxExitListener(mKeyboard);
     242        mRoot->addFrameListener(mListener);
     243      }
     244
     245      void startRenderLoop()
     246      {
     247        mRoot->startRendering();
     248      }
     249  };
    250250}
    251251
Note: See TracChangeset for help on using the changeset viewer.