[Orxonox-commit 4159] r8830 - in code/branches/output/src: . libraries/core libraries/util orxonox orxonox/gamestates orxonox/sound
landauf at orxonox.net
landauf at orxonox.net
Sun Aug 7 22:51:55 CEST 2011
Author: landauf
Date: 2011-08-07 22:51:54 +0200 (Sun, 07 Aug 2011)
New Revision: 8830
Modified:
code/branches/output/src/Orxonox.cc
code/branches/output/src/libraries/core/Core.cc
code/branches/output/src/libraries/core/GUIManager.cc
code/branches/output/src/libraries/core/Game.cc
code/branches/output/src/libraries/core/GraphicsManager.cc
code/branches/output/src/libraries/core/Language.cc
code/branches/output/src/libraries/core/Loader.cc
code/branches/output/src/libraries/util/Scope.h
code/branches/output/src/orxonox/Main.cc
code/branches/output/src/orxonox/gamestates/GSClient.cc
code/branches/output/src/orxonox/gamestates/GSLevel.cc
code/branches/output/src/orxonox/gamestates/GSMainMenu.cc
code/branches/output/src/orxonox/gamestates/GSMasterServer.cc
code/branches/output/src/orxonox/gamestates/GSServer.cc
code/branches/output/src/orxonox/sound/SoundManager.cc
Log:
added some output (user and internal) throughout the initialization of the game, graphics, and game states
Modified: code/branches/output/src/Orxonox.cc
===================================================================
--- code/branches/output/src/Orxonox.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/Orxonox.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -60,6 +60,11 @@
{
using namespace orxonox;
+ orxout(user_status) << "Welcome to Orxonox (v" << ORXONOX_VERSION_MAJOR << '.' << ORXONOX_VERSION_MINOR << '.' << ORXONOX_VERSION_PATCH << ' ' << ORXONOX_VERSION_NAME << ')' << endl;
+ orxout(internal_status) << "Congratulations, you survived the static initialization. Entering main()" << endl;
+ if (argc > 0)
+ orxout(internal_info) << "argv[0]: " << argv[0] << endl;
+
try
{
#ifndef ORXONOX_USE_WINMAIN
@@ -77,11 +82,13 @@
strCmdLine = strCmdLine + argv[i] + ' ';
#endif
- return main(strCmdLine);
+ int value = main(strCmdLine);
+ orxout(internal_status) << "Terminating main() normally with value " << value << endl;
+ return value;
}
catch (...)
{
- orxout(user_error) << "Orxonox failed to initialise: " << orxonox::Exception::handleMessage() << endl;
+ orxout(user_error) << "Exception caught in main(): " << orxonox::Exception::handleMessage() << endl;
orxout(user_error) << "Terminating program." << endl;
return 1;
}
Modified: code/branches/output/src/libraries/core/Core.cc
===================================================================
--- code/branches/output/src/libraries/core/Core.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/Core.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -111,6 +111,8 @@
, bDevMode_(false)
, destructionHelper_(this)
{
+ orxout(internal_status) << "initializing Core object..." << endl;
+
// Set the hard coded fixed paths
this->pathConfig_ = new PathConfig();
@@ -118,6 +120,7 @@
this->dynLibManager_ = new DynLibManager();
// Load modules
+ orxout(internal_info) << "Loading modules:" << endl;
const std::vector<std::string>& modulePaths = this->pathConfig_->getModulePaths();
for (std::vector<std::string>::const_iterator it = modulePaths.begin(); it != modulePaths.end(); ++it)
{
@@ -137,6 +140,14 @@
// Set configurable paths like log, config and media
this->pathConfig_->setConfigurablePaths();
+ orxout(internal_info) << "Root path: " << PathConfig::getRootPathString() << endl;
+ orxout(internal_info) << "Executable path: " << PathConfig::getExecutablePathString() << endl;
+ orxout(internal_info) << "Data path: " << PathConfig::getDataPathString() << endl;
+ orxout(internal_info) << "Ext. data path: " << PathConfig::getExternalDataPathString() << endl;
+ orxout(internal_info) << "Config path: " << PathConfig::getConfigPathString() << endl;
+ orxout(internal_info) << "Log path: " << PathConfig::getLogPathString() << endl;
+ orxout(internal_info) << "Modules path: " << PathConfig::getModulePathString() << endl;
+
// create a signal handler (only active for Linux)
// This call is placed as soon as possible, but after the directories are set
this->signalHandler_ = new SignalHandler();
@@ -152,16 +163,19 @@
#endif
// Manage ini files and set the default settings file (usually orxonox.ini)
+ orxout(internal_info) << "Loading config:" << endl;
this->configFileManager_ = new ConfigFileManager();
this->configFileManager_->setFilename(ConfigFileType::Settings,
CommandLineParser::getValue("settingsFile").getString());
// Required as well for the config values
+ orxout(internal_info) << "Loading language:" << endl;
this->languageInstance_ = new Language();
// Do this soon after the ConfigFileManager has been created to open up the
// possibility to configure everything below here
RegisterRootObject(Core);
+ orxout(internal_info) << "configuring Core" << endl;
this->setConfigValues();
// Set the correct log path and rewrite the log file with the correct log levels
@@ -174,13 +188,18 @@
ModifyConfigValue(bStartIOConsole_, tset, false);
}
if (this->bStartIOConsole_)
+ {
+ orxout(internal_info) << "creating IO console" << endl;
this->ioConsole_ = new IOConsole();
+ }
#endif
// creates the class hierarchy for all classes with factories
+ orxout(internal_info) << "creating class hierarchy" << endl;
Identifier::createClassHierarchy();
// Load OGRE excluding the renderer and the render window
+ orxout(internal_info) << "creating GraphicsManager:" << endl;
this->graphicsManager_ = new GraphicsManager(false);
// initialise Tcl
@@ -188,6 +207,7 @@
this->tclThreadManager_ = new TclThreadManager(tclBind_->getTclInterpreter());
// Create singletons that always exist (in other libraries)
+ orxout(internal_info) << "creating root scope:" << endl;
this->rootScope_ = new Scope<ScopeID::Root>();
// Generate documentation instead of normal run?
@@ -204,10 +224,14 @@
else
orxout(internal_error) << "Could not open file for documentation writing" << endl;
}
+
+ orxout(internal_status) << "finished initializing Core object" << endl;
}
void Core::destroy()
{
+ orxout(internal_status) << "destroying Core object..." << endl;
+
// Remove us from the object lists again to avoid problems when destroying them
this->unregisterObject();
@@ -226,6 +250,8 @@
safeObjectDelete(&signalHandler_);
safeObjectDelete(&dynLibManager_);
safeObjectDelete(&pathConfig_);
+
+ orxout(internal_status) << "finished destroying Core object" << endl;
}
//! Function to collect the SetConfigValue-macro calls.
@@ -309,6 +335,8 @@
void Core::loadGraphics()
{
+ orxout(internal_info) << "loading graphics in Core" << endl;
+
// Any exception should trigger this, even in upgradeToGraphics (see its remarks)
Loki::ScopeGuard unloader = Loki::MakeObjGuard(*this, &Core::unloadGraphics);
@@ -350,13 +378,18 @@
graphicsManager_->loadDebugOverlay();
// Create singletons associated with graphics (in other libraries)
+ orxout(internal_info) << "creating graphics scope:" << endl;
graphicsScope_ = new Scope<ScopeID::Graphics>();
unloader.Dismiss();
+
+ orxout(internal_info) << "finished loading graphics in Core" << endl;
}
void Core::unloadGraphics()
{
+ orxout(internal_info) << "unloading graphics in Core" << endl;
+
safeObjectDelete(&graphicsScope_);
safeObjectDelete(&guiManager_);
safeObjectDelete(&inputManager_);
Modified: code/branches/output/src/libraries/core/GUIManager.cc
===================================================================
--- code/branches/output/src/libraries/core/GUIManager.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/GUIManager.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -256,6 +256,9 @@
, destructionHelper_(this)
{
RegisterRootObject(GUIManager);
+
+ orxout(internal_status) << "initializing GUIManager..." << endl;
+
this->setConfigValues();
using namespace CEGUI;
@@ -334,10 +337,14 @@
// Set up the sheet manager in the Lua framework
this->luaState_->doFile("SheetManager.lua");
+
+ orxout(internal_status) << "finished initializing GUIManager" << endl;
}
void GUIManager::destroy()
{
+ orxout(internal_status) << "destroying GUIManager..." << endl;
+
using namespace CEGUI;
#ifdef ORXONOX_OLD_CEGUI
@@ -354,6 +361,8 @@
safeObjectDelete(&rqListener_);
#endif
safeObjectDelete(&luaState_);
+
+ orxout(internal_status) << "finished destroying GUIManager" << endl;
}
void GUIManager::setConfigValues(void)
Modified: code/branches/output/src/libraries/core/Game.cc
===================================================================
--- code/branches/output/src/libraries/core/Game.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/Game.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -83,6 +83,8 @@
, bAbort_(false)
, destructionHelper_(this)
{
+ orxout(internal_status) << "initializing Game object..." << endl;
+
#ifdef ORXONOX_PLATFORM_WINDOWS
minimumSleepTime_ = 1000/*us*/;
#else
@@ -105,6 +107,7 @@
this->gameClock_ = new Clock();
// Create the Core
+ orxout(internal_info) << "creating Core object:" << endl;
this->core_ = new Core(cmdLine);
// Do this after the Core creation!
@@ -124,10 +127,14 @@
this->rootStateNode_->name_ = "emptyRootGameState";
this->loadedTopStateNode_ = this->rootStateNode_;
this->loadedStates_.push_back(this->getState(rootStateNode_->name_));
+
+ orxout(internal_status) << "finished initializing Game object" << endl;
}
void Game::destroy()
{
+ orxout(internal_status) << "destroying Game object..." << endl;
+
// Remove us from the object lists again to avoid problems when destroying them
this->unregisterObject();
@@ -138,6 +145,8 @@
GameStateFactory::getFactories().clear();
safeObjectDelete(&core_);
safeObjectDelete(&gameClock_);
+
+ orxout(internal_status) << "finished destroying Game object..." << endl;
}
void Game::setConfigValues()
@@ -164,6 +173,13 @@
if (this->requestedStateNodes_.empty())
orxout(user_error) << "Starting game without requesting GameState. This automatically terminates the program." << endl;
+ // Update the GameState stack if required. We do this already here to have a properly initialized game before entering the main loop
+ this->updateGameStateStack();
+
+ orxout(user_status) << "Game loaded" << endl;
+ orxout(internal_status) << "--------------------------------------------------" << endl;
+ orxout(internal_status) << "starting main loop..." << endl;
+
// START GAME
// first delta time should be about 0 seconds
this->gameClock_->capture();
@@ -217,6 +233,9 @@
this->updateFPSLimiter();
}
+ orxout(internal_status) << "finished main loop" << endl;
+ orxout(internal_status) << "--------------------------------------------------" << endl;
+
// UNLOAD all remaining states
while (this->loadedStates_.size() > 1)
this->unloadState(this->loadedStates_.back()->getName());
@@ -337,6 +356,7 @@
void Game::stop()
{
+ orxout(user_status) << "Exit" << endl;
this->bAbort_ = true;
}
@@ -506,6 +526,9 @@
{
if (!GameMode::showsGraphics())
{
+ orxout(user_status) << "Loading graphics" << endl;
+ orxout(internal_info) << "loading graphics in Game" << endl;
+
core_->loadGraphics();
Loki::ScopeGuard graphicsUnloader = Loki::MakeObjGuard(*this, &Game::unloadGraphics);
@@ -523,6 +546,8 @@
}
}
graphicsUnloader.Dismiss();
+
+ orxout(internal_info) << "finished loading graphics in Game" << endl;
}
}
@@ -530,6 +555,9 @@
{
if (GameMode::showsGraphics())
{
+ orxout(user_status) << "Unloading graphics" << endl;
+ orxout(internal_info) << "unloading graphics in Game" << endl;
+
// Destroy all the GameStates that require graphics
for (GameStateMap::iterator it = constructedStates_.begin(); it != constructedStates_.end();)
{
@@ -554,6 +582,8 @@
void Game::loadState(const std::string& name)
{
+ orxout(internal_status) << "loading state '" << name << "'" << endl;
+
this->bChangingState_ = true;
LOKI_ON_BLOCK_EXIT_OBJ(*this, &Game::resetChangingState); (void)LOKI_ANONYMOUS_VARIABLE(scopeGuard);
@@ -576,6 +606,8 @@
void Game::unloadState(const std::string& name)
{
+ orxout(internal_status) << "unloading state '" << name << "'" << endl;
+
this->bChangingState_ = true;
try
{
Modified: code/branches/output/src/libraries/core/GraphicsManager.cc
===================================================================
--- code/branches/output/src/libraries/core/GraphicsManager.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/GraphicsManager.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -103,6 +103,7 @@
{
RegisterObject(GraphicsManager);
+ orxout(internal_status) << "initializing GraphicsManager..." << endl;
this->setConfigValues();
// Ogre setup procedure (creating Ogre::Root)
@@ -128,10 +129,14 @@
// Reads the ogre config and creates the render window
this->upgradeToGraphics();
}
+
+ orxout(internal_status) << "finished initializing GraphicsManager" << endl;
}
void GraphicsManager::destroy()
{
+ orxout(internal_status) << "destroying GraphicsManager..." << endl;
+
Loader::unload(debugOverlay_.get());
Ogre::WindowEventUtilities::removeWindowEventListener(renderWindow_, ogreWindowEventListener_);
@@ -147,6 +152,8 @@
safeObjectDelete(&ogreRoot_);
safeObjectDelete(&ogreLogger_);
safeObjectDelete(&ogreWindowEventListener_);
+
+ orxout(internal_status) << "finished destroying GraphicsManager" << endl;
}
void GraphicsManager::setConfigValues()
@@ -172,6 +179,8 @@
if (renderWindow_ != NULL)
return;
+ orxout(internal_info) << "GraphicsManager upgrade to graphics" << endl;
+
// load all the required plugins for Ogre
this->loadOgrePlugins();
@@ -182,6 +191,8 @@
// already been initialised. If you need to load resources later, you will have to
// choose another resource group.
Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
+
+ orxout(internal_info) << "GraphicsManager finished upgrade to graphics" << endl;
}
/**
@@ -238,6 +249,8 @@
void GraphicsManager::loadOgrePlugins()
{
+ orxout(internal_info) << "loading ogre plugins" << endl;
+
// Plugin path can have many different locations...
std::string pluginPath = specialConfig::ogrePluginsDirectory;
#ifdef DEPENDENCY_PACKAGE_ENABLE
Modified: code/branches/output/src/libraries/core/Language.cc
===================================================================
--- code/branches/output/src/libraries/core/Language.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/Language.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -200,7 +200,7 @@
*/
void Language::readDefaultLanguageFile()
{
- orxout(internal_status, context::language) << "Read default language file." << endl;
+ orxout(internal_info, context::language) << "Read default language file." << endl;
const std::string& filepath = PathConfig::getConfigPathString() + getFilename(this->defaultLanguage_);
@@ -249,7 +249,7 @@
*/
void Language::readTranslatedLanguageFile()
{
- orxout(internal_status, context::language) << "Read translated language file (" << Core::getInstance().getLanguage() << ")." << endl;
+ orxout(internal_info, context::language) << "Read translated language file (" << Core::getInstance().getLanguage() << ")." << endl;
const std::string& filepath = PathConfig::getConfigPathString() + getFilename(Core::getInstance().getLanguage());
@@ -262,7 +262,7 @@
orxout(internal_error, context::language) << "An error occurred in Language.cc:" << endl;
orxout(internal_error, context::language) << "Couldn't open file " << getFilename(Core::getInstance().getLanguage()) << " to read the translated language entries!" << endl;
Core::getInstance().resetLanguage();
- orxout(internal_status, context::language) << "Reset language to " << this->defaultLanguage_ << '.' << endl;
+ orxout(internal_info, context::language) << "Reset language to " << this->defaultLanguage_ << '.' << endl;
return;
}
@@ -303,7 +303,7 @@
*/
void Language::writeDefaultLanguageFile() const
{
- orxout(internal_status, context::language) << "Write default language file." << endl;
+ orxout(internal_info, context::language) << "Write default language file." << endl;
const std::string& filepath = PathConfig::getConfigPathString() + getFilename(this->defaultLanguage_);
Modified: code/branches/output/src/libraries/core/Loader.cc
===================================================================
--- code/branches/output/src/libraries/core/Loader.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/core/Loader.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -188,7 +188,7 @@
{
if(bVerbose)
{
- orxout(user_status, context::loader) << "Start loading " << file->getFilename() << "..." << endl;
+ orxout(user_info) << "Start loading " << file->getFilename() << "..." << endl;
orxout(internal_info, context::loader) << "Mask: " << Loader::currentMask_s << endl;
}
else
@@ -216,7 +216,7 @@
rootNamespace->XMLPort(rootElement, XMLPort::LoadObject);
if(bVerbose)
- orxout(user_status, context::loader) << "Finished loading " << file->getFilename() << '.' << endl;
+ orxout(user_info) << "Finished loading " << file->getFilename() << '.' << endl;
else
orxout(verbose, context::loader) << "Finished loading " << file->getFilename() << '.' << endl;
Modified: code/branches/output/src/libraries/util/Scope.h
===================================================================
--- code/branches/output/src/libraries/util/Scope.h 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/libraries/util/Scope.h 2011-08-07 20:51:54 UTC (rev 8830)
@@ -127,6 +127,8 @@
//! Constructor: Increases the instance counter and activates the scope if the count went from 0 to 1. Counts >1 don't change anything.
Scope()
{
+ orxout(internal_status) << "creating scope... (" << scope << ")" << endl;
+
try
{
ScopeManager::instanceCounts_s[scope]++;
@@ -147,11 +149,15 @@
ScopeManager::instanceCounts_s[scope]--;
throw;
}
+
+ orxout(internal_status) << "created scope (" << scope << ")" << endl;
}
//! Destructor: Decreases the instance counter and deactivates the scope if the count went from 1 to 0. Counts >0 don't change anything.
~Scope()
{
+ orxout(internal_status) << "destroying scope... (" << scope << ")" << endl;
+
ScopeManager::instanceCounts_s[scope]--;
// This shouldn't happen but just to be sure: check if the count is positive
@@ -161,6 +167,8 @@
if (ScopeManager::instanceCounts_s[scope] == 0)
this->deactivateListeners();
+
+ orxout(internal_status) << "destroyed scope (" << scope << ")" << endl;
}
//! Deactivates the listeners of this scope in case the scope is destroyed or the construction fails.
Modified: code/branches/output/src/orxonox/Main.cc
===================================================================
--- code/branches/output/src/orxonox/Main.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/Main.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -60,10 +60,17 @@
*/
int main(const std::string& strCmdLine)
{
+ orxout(internal_status) << "entering orxonox::main()" << endl;
+ orxout(internal_info) << "command line: " << strCmdLine << endl;
+
+ orxout(internal_info) << "creating Game object:" << endl;
Game* game = new Game(strCmdLine);
+ orxout(user_status) << "Finished initialization" << endl;
if (CommandLineParser::getValue("generateDoc").getString().empty())
{
+ orxout(internal_info) << "preparing game states" << endl;
+
/* TODO make this clear */
game->setStateHierarchy(
"root"
@@ -97,6 +104,7 @@
Game::getInstance().requestStates("graphics, mainMenu");
}
+ orxout(internal_info) << "starting game" << endl;
game->run();
}
Modified: code/branches/output/src/orxonox/gamestates/GSClient.cc
===================================================================
--- code/branches/output/src/orxonox/gamestates/GSClient.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/gamestates/GSClient.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -51,6 +51,8 @@
void GSClient::activate()
{
+ orxout(user_status) << "Starting client" << endl;
+
GameMode::setIsClient(true);
// this->client_ = new Client();
Modified: code/branches/output/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- code/branches/output/src/orxonox/gamestates/GSLevel.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/gamestates/GSLevel.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -73,6 +73,8 @@
void GSLevel::activate()
{
+ orxout(user_status) << "Loading level" << endl;
+
if (GameMode::showsGraphics())
{
gameInputState_ = InputManager::getInstance().createInputState("game");
@@ -154,7 +156,6 @@
this->staticObjects_.insert(*it);
// call the loader
- orxout(user_status) << "Loading level..." << endl;
startFile_ = new XMLFile(LevelManager::getInstance().getDefaultLevel());
bool loaded = Loader::open(startFile_);
@@ -168,7 +169,6 @@
Loader::unload(startFile_);
delete startFile_;
- orxout(user_status) << "Unloaded level" << endl;
orxout(internal_info) << "Remaining objects:" << endl;
unsigned int i = 0;
for (ObjectList<BaseObject>::iterator it = ObjectList<BaseObject>::begin(); it != ObjectList<BaseObject>::end(); ++it)
Modified: code/branches/output/src/orxonox/gamestates/GSMainMenu.cc
===================================================================
--- code/branches/output/src/orxonox/gamestates/GSMainMenu.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/gamestates/GSMainMenu.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -94,6 +94,8 @@
void GSMainMenu::activate()
{
+ orxout(user_status) << "Loading main menu" << endl;
+
// show main menu
GraphicsManager::getInstance().setCamera(this->camera_);
GUIManager::getInstance().showGUI("MainMenu", true);
Modified: code/branches/output/src/orxonox/gamestates/GSMasterServer.cc
===================================================================
--- code/branches/output/src/orxonox/gamestates/GSMasterServer.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/gamestates/GSMasterServer.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -49,12 +49,12 @@
void GSMasterServer::activate()
{
+ orxout(user_status) << "Starting masterserver" << endl;
+
/* TODO make this work for masterserver as well */
//GameMode::setIsServer(true);
this->mserver = new MasterServer();
- orxout(user_status) << "Loading masterserver mode" << endl;
-
this->mserver->run();
}
Modified: code/branches/output/src/orxonox/gamestates/GSServer.cc
===================================================================
--- code/branches/output/src/orxonox/gamestates/GSServer.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/gamestates/GSServer.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -53,6 +53,8 @@
void GSServer::activate()
{
+ orxout(user_status) << "Starting server" << endl;
+
GameMode::setIsServer(true);
this->server_ = new Server(CommandLineParser::getValue("port"));
Modified: code/branches/output/src/orxonox/sound/SoundManager.cc
===================================================================
--- code/branches/output/src/orxonox/sound/SoundManager.cc 2011-08-07 13:11:16 UTC (rev 8829)
+++ code/branches/output/src/orxonox/sound/SoundManager.cc 2011-08-07 20:51:54 UTC (rev 8830)
@@ -70,6 +70,8 @@
{
RegisterRootObject(SoundManager);
+ orxout(user_status) << "Loading sound" << endl;
+
this->bDestructorCalled_ = false;
// See whether we even want to load
More information about the Orxonox-commit
mailing list