Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 21, 2008, 12:36:23 AM (16 years ago)
Author:
rgrieder
Message:

Applied long created patch that removes plugins.cfg and puts the content into orxonox.ini
This also allows to specify the media path for each 'distribution' individually because orxonox.ini has been added to the default files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem/src/orxonox/gamestates/GSGraphics.cc

    r1828 r2244  
    4343#include "util/Debug.h"
    4444#include "util/Exception.h"
     45#include "util/String.h"
     46#include "util/SubString.h"
    4547#include "core/ConsoleCommand.h"
    4648#include "core/ConfigValueIncludes.h"
     
    8284    {
    8385        SetConfigValue(resourceFile_, "resources.cfg").description("Location of the resources file in the data path.");
     86        SetConfigValue(ogrePluginsFolder_, ".").description("Folder where the Ogre plugins are located.");
     87        SetConfigValue(ogrePlugins_, "RenderSystem_GL, Plugin_ParticleFX").description("Comma separated list of all plugins to load.");
    8488        SetConfigValue(statisticsRefreshCycle_, 200000).description("Sets the time in microseconds interval at which average fps, etc. get updated.");
    8589    }
     
    9397        this->ogreRoot_ = getParent()->getOgreRoot();
    9498
     99        // load all the required plugins for Ogre
     100        loadOgrePlugins();
     101        // read resource declaration file
    95102        this->declareResources();
    96         this->loadRenderer();    // creates the render window
     103        // Reads ogre config and creates the render window
     104        this->loadRenderer();
     105
    97106        // TODO: Spread this so that this call only initialises things needed for the Console and GUI
    98107        this->initialiseResources();
     
    232241
    233242        ++frameCount_;
     243    }
     244
     245    void GSGraphics::loadOgrePlugins()
     246    {
     247        // just to make sure the next statement doesn't segfault
     248        if (ogrePluginsFolder_ == "")
     249            ogrePluginsFolder_ = ".";
     250
     251#if ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32
     252        convertToWindowsPath(&ogrePluginsFolder_);
     253#else
     254        convertToUnixPath(&ogrePluginsFolder_);
     255#endif
     256
     257        // Do some SubString magic to get the comma separated list of plugins
     258        SubString plugins(ogrePlugins_, ",", " ", false, 92, false, 34, false, 40, 41, false, '\0');
     259        for (unsigned int i = 0; i < plugins.size(); ++i)
     260            ogreRoot_->loadPlugin(ogrePluginsFolder_ + plugins[i]);
    234261    }
    235262
Note: See TracChangeset for help on using the changeset viewer.