Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 20, 2009, 5:32:04 PM (15 years ago)
Author:
rgrieder
Message:

Fixed install target:

  • log and config file go a to separate folder each
  • The SignalHandler crash log is now "orxonox_crash.log" to avoid opening the file twice which might result in problems
  • moved tcl scripts to media/tcl8.#/ as a temporary solution. I've also created a ticket to fix this.
  • UPDATE YOUR MEDIA REPOSITORY
  • orxonox.log pre-main gets written to either %TEMP% (windows) or /tmp (Unix) and when the path was set, the content is copied.
  • removed Settings class and moved media path to Core
  • media, log and config path are now all in Core where only the media path can be configured via ini file or command line
  • Core::isDevBuild() tells whether we are running in the build or the installation directory (determined by the presence of "orxonox_dev_build.kepp_me" in the binary dir)
  • renamed Settings::getDataPath to Core::getMediaPath
File:
1 edited

Legend:

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

    r2664 r2685  
    6161#include "gui/GUIManager.h"
    6262#include "tools/WindowEventListener.h"
    63 #include "Settings.h"
    6463
    6564// for compatibility
     
    138137        // load debug overlay
    139138        COUT(3) << "Loading Debug Overlay..." << std::endl;
    140         this->debugOverlay_ = new XMLFile(Settings::getDataPath() + "overlay/debug.oxo");
     139        this->debugOverlay_ = new XMLFile(Core::getMediaPath() + "overlay/debug.oxo");
    141140        Loader::open(debugOverlay_);
    142141
     
    211210        delete this->ogreRoot_;
    212211
    213 //#ifdef ORXONOX_PLATFORM_WINDOWS
    214212        // delete the ogre log and the logManager (since we have created it).
    215213        this->ogreLogger_->getDefaultLog()->removeListener(this);
    216214        this->ogreLogger_->destroyLog(Ogre::LogManager::getSingleton().getDefaultLog());
    217215        delete this->ogreLogger_;
    218 //#endif
    219216
    220217        delete graphicsEngine_;
     
    287284        COUT(3) << "Setting up Ogre..." << std::endl;
    288285
    289         // TODO: LogManager doesn't work on oli platform. The why is yet unknown.
    290 //#ifdef ORXONOX_PLATFORM_WINDOWS
     286        if (ogreConfigFile_ == "")
     287        {
     288            COUT(2) << "Warning: Ogre config file set to \"\". Defaulting to config.cfg" << std::endl;
     289            ModifyConfigValue(ogreConfigFile_, tset, "config.cfg");
     290        }
     291        if (ogreLogFile_ == "")
     292        {
     293            COUT(2) << "Warning: Ogre log file set to \"\". Defaulting to ogre.log" << std::endl;
     294            ModifyConfigValue(ogreLogFile_, tset, "ogre.log");
     295        }
     296
     297        boost::filesystem::path ogreConfigFilepath(Core::getConfigPath() + ogreConfigFile_);
     298        boost::filesystem::path ogreLogFilepath(Core::getLogPath() + ogreLogFile_);
     299
    291300        // create a new logManager
     301        // Ogre::Root will detect that we've already created a Log
    292302        ogreLogger_ = new Ogre::LogManager();
    293303        COUT(4) << "Ogre LogManager created" << std::endl;
     
    295305        // create our own log that we can listen to
    296306        Ogre::Log *myLog;
    297         if (this->ogreLogFile_ == "")
    298             myLog = ogreLogger_->createLog("ogre.log", true, false, true);
    299         else
    300             myLog = ogreLogger_->createLog(this->ogreLogFile_, true, false, false);
     307        myLog = ogreLogger_->createLog(ogreLogFilepath.native_file_string(), true, false, false);
    301308        COUT(4) << "Ogre Log created" << std::endl;
    302309
    303310        myLog->setLogDetail(Ogre::LL_BOREME);
    304311        myLog->addListener(this);
    305 //#endif
    306 
    307         // Root will detect that we've already created a Log
     312
    308313        COUT(4) << "Creating Ogre Root..." << std::endl;
    309 
    310         if (ogreConfigFile_ == "")
    311         {
    312             COUT(2) << "Warning: Ogre config file set to \"\". Defaulting to config.cfg" << std::endl;
    313             ModifyConfigValue(ogreConfigFile_, tset, "config.cfg");
    314         }
    315         if (ogreLogFile_ == "")
    316         {
    317             COUT(2) << "Warning: Ogre log file set to \"\". Defaulting to ogre.log" << std::endl;
    318             ModifyConfigValue(ogreLogFile_, tset, "ogre.log");
    319         }
    320314
    321315        // check for config file existence because Ogre displays (caught) exceptions if not
    322316        std::ifstream probe;
    323         probe.open(ogreConfigFile_.c_str());
     317        probe.open(ogreConfigFilepath.native_file_string().c_str());
    324318        if (!probe)
    325319        {
    326320            // create a zero sized file
    327321            std::ofstream creator;
    328             creator.open(ogreConfigFile_.c_str());
     322            creator.open(ogreConfigFilepath.native_file_string().c_str());
    329323            creator.close();
    330324        }
     
    333327
    334328        // Leave plugins file empty. We're going to do that part manually later
    335         ogreRoot_ = new Ogre::Root("", ogreConfigFile_, ogreLogFile_);
    336 
    337 #if 0 // Ogre 1.4.3 doesn't yet support setDebugOutputEnabled(.)
    338 #ifndef ORXONOX_PLATFORM_WINDOWS
    339         // tame the ogre ouput so we don't get all the mess in the console
    340         Ogre::Log* defaultLog = Ogre::LogManager::getSingleton().getDefaultLog();
    341         defaultLog->setDebugOutputEnabled(false);
    342         defaultLog->setLogDetail(Ogre::LL_BOREME);
    343         defaultLog->addListener(this);
    344 #endif
    345 #endif
     329        ogreRoot_ = new Ogre::Root("", ogreConfigFilepath.native_file_string(), ogreLogFilepath.native_file_string());
    346330
    347331        COUT(3) << "Ogre set up done." << std::endl;
     
    377361        try
    378362        {
    379             cf.load(Settings::getDataPath() + resourceFile_);
     363            cf.load(Core::getMediaPath() + resourceFile_);
    380364        }
    381365        catch (...)
     
    403387
    404388                    Ogre::ResourceGroupManager::getSingleton().addResourceLocation(
    405                         std::string(Settings::getDataPath() + archName), typeName, secName);
     389                        std::string(Core::getMediaPath() + archName), typeName, secName);
    406390                }
    407391            }
Note: See TracChangeset for help on using the changeset viewer.