Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 14, 2009, 5:01:49 PM (15 years ago)
Author:
youngk
Message:

Implemented Mood functionality plus the ability to change the background sound in the main menu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/sound3/src/orxonox/gamestates/GSMainMenu.cc

    r5929 r5956  
    3636#include "core/Game.h"
    3737#include "core/ConsoleCommand.h"
     38#include "core/ConfigValueIncludes.h"
    3839#include "core/GraphicsManager.h"
    3940#include "core/GUIManager.h"
     
    4950        , inputState_(0)
    5051    {
     52                RegisterRootObject(GSMainMenu);
    5153        inputState_ = InputManager::getInstance().createInputState("mainMenu");
    5254        inputState_->setMouseMode(MouseMode::Nonexclusive);
     
    6466            // Load sound
    6567            this->ambient_ = new AmbientSound(0);
    66             this->ambient_->setSource("ambient/mainmenu.wav");
    6768        }
    6869    }
     
    9293        CommandExecutor::addConsoleCommandShortcut(createConsoleCommand(createFunctor(&GSMainMenu::startMainMenu), "startMainMenu"));
    9394        CommandExecutor::addConsoleCommandShortcut(createConsoleCommand(createFunctor(&GSMainMenu::startIOConsole), "startIOConsole"));
     95               
     96                // create command to change sound path
     97                CommandExecutor::addConsoleCommandShortcut(createConsoleCommand(createFunctor(&GSMainMenu::setMainMenuSoundPath, this), "setMMSoundPath"));
    9498
    9599        KeyBinderManager::getInstance().setToDefault();
     
    99103        {
    100104            this->ambient_->setLoop(true);
    101             this->ambient_->play();
     105                        this->ambient_->setPlayOnLoad(true);
    102106        }
     107
     108                this->setConfigValues();
    103109    }
    104110
     
    119125    {
    120126    }
     127
     128        void GSMainMenu::setConfigValues()
     129    {
     130        SetConfigValue(soundPathMain_, "ambient/mainmenu.wav")
     131            .description("Contains the path to the main menu sound file.")
     132                        .callback(this, &GSMainMenu::reloadSound);
     133    }
     134
     135        void GSMainMenu::reloadSound() {
     136                if (GameMode::playsSound())
     137        {
     138                        this->ambient_->setSource(soundPathMain_);
     139                }
     140        }
     141
     142        const std::string& GSMainMenu::getMainMenuSoundPath() {
     143                return soundPathMain_;
     144        }
     145
     146        void GSMainMenu::setMainMenuSoundPath(const std::string& path) {
     147                ModifyConfigValue(soundPathMain_, set, path);
     148        }
    121149
    122150    void GSMainMenu::startStandalone()
Note: See TracChangeset for help on using the changeset viewer.