Turn sfx_manager into a singleton.
This commit is contained in:
parent
04dd7869cb
commit
86b351fbf4
@ -45,9 +45,28 @@
|
|||||||
#include "race/race_manager.hpp"
|
#include "race/race_manager.hpp"
|
||||||
#include "utils/constants.hpp"
|
#include "utils/constants.hpp"
|
||||||
|
|
||||||
SFXManager* sfx_manager= NULL;
|
|
||||||
std::map<std::string, SFXBase*> SFXManager::m_quick_sounds;
|
std::map<std::string, SFXBase*> SFXManager::m_quick_sounds;
|
||||||
|
SFXManager *SFXManager::m_sfx_manager;
|
||||||
|
|
||||||
|
/** Static function to create the singleton sfx manager.
|
||||||
|
*/
|
||||||
|
void SFXManager::create()
|
||||||
|
{
|
||||||
|
assert(!m_sfx_manager);
|
||||||
|
m_sfx_manager = new SFXManager();
|
||||||
|
} // create
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/** Static function to delete the singleton sfx manager.
|
||||||
|
*/
|
||||||
|
void SFXManager::destroy()
|
||||||
|
{
|
||||||
|
assert(m_sfx_manager);
|
||||||
|
delete m_sfx_manager;
|
||||||
|
m_sfx_manager = NULL;
|
||||||
|
} // destroy
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
/** Initialises the SFX manager and loads the sfx from a config file.
|
/** Initialises the SFX manager and loads the sfx from a config file.
|
||||||
*/
|
*/
|
||||||
SFXManager::SFXManager()
|
SFXManager::SFXManager()
|
||||||
@ -99,7 +118,6 @@ SFXManager::~SFXManager()
|
|||||||
}
|
}
|
||||||
m_all_sfx_types.clear();
|
m_all_sfx_types.clear();
|
||||||
|
|
||||||
sfx_manager = NULL;
|
|
||||||
} // ~SFXManager
|
} // ~SFXManager
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@ -524,7 +542,7 @@ SFXBase* SFXManager::quickSound(const std::string &sound_type)
|
|||||||
if (sound == m_quick_sounds.end())
|
if (sound == m_quick_sounds.end())
|
||||||
{
|
{
|
||||||
// sound not yet in our local list of quick sounds
|
// sound not yet in our local list of quick sounds
|
||||||
SFXBase* newSound = sfx_manager->createSoundSource(sound_type, false);
|
SFXBase* newSound = SFXManager::get()->createSoundSource(sound_type, false);
|
||||||
if (newSound == NULL) return NULL;
|
if (newSound == NULL) return NULL;
|
||||||
newSound->play();
|
newSound->play();
|
||||||
m_quick_sounds[sound_type] = newSound;
|
m_quick_sounds[sound_type] = newSound;
|
||||||
@ -535,9 +553,6 @@ SFXBase* SFXManager::quickSound(const std::string &sound_type)
|
|||||||
(*sound).second->play();
|
(*sound).second->play();
|
||||||
return (*sound).second;
|
return (*sound).second;
|
||||||
}
|
}
|
||||||
|
} // quickSound
|
||||||
// m_locked_sound = sfx_manager->newSFX(SFXManager::SOUND_LOCKED);
|
|
||||||
// m_locked_sound->play();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,6 +50,10 @@ class XMLNode;
|
|||||||
*/
|
*/
|
||||||
class SFXManager : public NoCopy
|
class SFXManager : public NoCopy
|
||||||
{
|
{
|
||||||
|
private:
|
||||||
|
/** Singleton pointer. */
|
||||||
|
static SFXManager *m_sfx_manager;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,10 +104,21 @@ private:
|
|||||||
float m_master_gain;
|
float m_master_gain;
|
||||||
|
|
||||||
void loadSfx();
|
void loadSfx();
|
||||||
|
|
||||||
public:
|
|
||||||
SFXManager();
|
SFXManager();
|
||||||
virtual ~SFXManager();
|
virtual ~SFXManager();
|
||||||
|
|
||||||
|
public:
|
||||||
|
static void create();
|
||||||
|
static void destroy();
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/** Static function to get the singleton sfx manager. */
|
||||||
|
static SFXManager *get()
|
||||||
|
{
|
||||||
|
assert(m_sfx_manager);
|
||||||
|
return m_sfx_manager;
|
||||||
|
} // get
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
bool sfxAllowed();
|
bool sfxAllowed();
|
||||||
SFXBuffer* loadSingleSfx(const XMLNode* node,
|
SFXBuffer* loadSingleSfx(const XMLNode* node,
|
||||||
const std::string &path=std::string(""),
|
const std::string &path=std::string(""),
|
||||||
|
@ -53,7 +53,7 @@ SFXOpenAL::SFXOpenAL(SFXBuffer* buffer, bool positional, float gain, bool ownsBu
|
|||||||
// Don't initialise anything else if the sfx manager was not correctly
|
// Don't initialise anything else if the sfx manager was not correctly
|
||||||
// initialised. First of all the initialisation will not work, and it
|
// initialised. First of all the initialisation will not work, and it
|
||||||
// will not be used anyway.
|
// will not be used anyway.
|
||||||
if (sfx_manager->sfxAllowed())
|
if (SFXManager::get()->sfxAllowed())
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
@ -226,7 +226,7 @@ void SFXOpenAL::resume()
|
|||||||
*/
|
*/
|
||||||
void SFXOpenAL::play()
|
void SFXOpenAL::play()
|
||||||
{
|
{
|
||||||
if (!sfx_manager->sfxAllowed()) return;
|
if (!SFXManager::get()->sfxAllowed()) return;
|
||||||
if (!m_ok)
|
if (!m_ok)
|
||||||
{
|
{
|
||||||
// lazily create OpenAL source when needed
|
// lazily create OpenAL source when needed
|
||||||
@ -268,7 +268,7 @@ void SFXOpenAL::position(const Vec3 &position)
|
|||||||
alSource3f(m_soundSource, AL_POSITION,
|
alSource3f(m_soundSource, AL_POSITION,
|
||||||
(float)position.getX(), (float)position.getY(), (float)position.getZ());
|
(float)position.getX(), (float)position.getY(), (float)position.getZ());
|
||||||
|
|
||||||
if (sfx_manager->getListenerPos().distance(position) > m_soundBuffer->getMaxDist())
|
if (SFXManager::get()->getListenerPos().distance(position) > m_soundBuffer->getMaxDist())
|
||||||
{
|
{
|
||||||
alSourcef(m_soundSource, AL_GAIN, 0);
|
alSourcef(m_soundSource, AL_GAIN, 0);
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ UnlockManager::UnlockManager()
|
|||||||
// in main).
|
// in main).
|
||||||
unlock_manager = this;
|
unlock_manager = this;
|
||||||
|
|
||||||
m_locked_sound = sfx_manager->createSoundSource("locked");
|
m_locked_sound = SFXManager::get()->createSoundSource("locked");
|
||||||
|
|
||||||
|
|
||||||
// Read challenges from .../data/challenges
|
// Read challenges from .../data/challenges
|
||||||
|
@ -360,7 +360,7 @@ void Camera::smoothMoveCamera(float dt)
|
|||||||
|
|
||||||
if (race_manager->getNumLocalPlayers() < 2)
|
if (race_manager->getNumLocalPlayers() < 2)
|
||||||
{
|
{
|
||||||
sfx_manager->positionListener(current_position, current_target - current_position);
|
SFXManager::get()->positionListener(current_position, current_target - current_position);
|
||||||
}
|
}
|
||||||
} // smoothMoveCamera
|
} // smoothMoveCamera
|
||||||
|
|
||||||
@ -565,7 +565,7 @@ void Camera::positionCamera(float dt, float above_kart, float cam_angle,
|
|||||||
|
|
||||||
if (race_manager->getNumLocalPlayers() < 2)
|
if (race_manager->getNumLocalPlayers() < 2)
|
||||||
{
|
{
|
||||||
sfx_manager->positionListener(m_camera->getPosition(),
|
SFXManager::get()->positionListener(m_camera->getPosition(),
|
||||||
wanted_target - m_camera->getPosition());
|
wanted_target - m_camera->getPosition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
HitSFX::HitSFX(const Vec3& coord, const char* explosion_sound)
|
HitSFX::HitSFX(const Vec3& coord, const char* explosion_sound)
|
||||||
: HitEffect()
|
: HitEffect()
|
||||||
{
|
{
|
||||||
m_sfx = sfx_manager->createSoundSource( explosion_sound );
|
m_sfx = SFXManager::get()->createSoundSource( explosion_sound );
|
||||||
m_sfx->position(coord);
|
m_sfx->position(coord);
|
||||||
|
|
||||||
// in multiplayer mode, sounds are NOT positional (because we have
|
// in multiplayer mode, sounds are NOT positional (because we have
|
||||||
@ -45,7 +45,7 @@ HitSFX::~HitSFX()
|
|||||||
if (m_sfx->getStatus() == SFXManager::SFX_PLAYING)
|
if (m_sfx->getStatus() == SFXManager::SFX_PLAYING)
|
||||||
m_sfx->stop();
|
m_sfx->stop();
|
||||||
|
|
||||||
sfx_manager->deleteSFX(m_sfx);
|
SFXManager::get()->deleteSFX(m_sfx);
|
||||||
} // ~HitEffect
|
} // ~HitEffect
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -513,7 +513,7 @@ Material::~Material()
|
|||||||
// tracks might use the same name.
|
// tracks might use the same name.
|
||||||
if(m_sfx_name!="" && m_sfx_name==m_texname)
|
if(m_sfx_name!="" && m_sfx_name==m_texname)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFXMapping(m_sfx_name);
|
SFXManager::get()->deleteSFXMapping(m_sfx_name);
|
||||||
}
|
}
|
||||||
} // ~Material
|
} // ~Material
|
||||||
|
|
||||||
@ -551,14 +551,14 @@ void Material::initCustomSFX(const XMLNode *sfx)
|
|||||||
m_sfx_pitch_per_speed = (m_sfx_max_pitch - m_sfx_min_pitch)
|
m_sfx_pitch_per_speed = (m_sfx_max_pitch - m_sfx_min_pitch)
|
||||||
/ (m_sfx_max_speed - m_sfx_min_speed);
|
/ (m_sfx_max_speed - m_sfx_min_speed);
|
||||||
|
|
||||||
if(!sfx_manager->soundExist(m_sfx_name))
|
if(!SFXManager::get()->soundExist(m_sfx_name))
|
||||||
{
|
{
|
||||||
|
|
||||||
// The directory for the track was added to the model search path
|
// The directory for the track was added to the model search path
|
||||||
// so just misuse the getModelFile function
|
// so just misuse the getModelFile function
|
||||||
const std::string full_path = file_manager->getAsset(FileManager::MODEL,
|
const std::string full_path = file_manager->getAsset(FileManager::MODEL,
|
||||||
filename);
|
filename);
|
||||||
SFXBuffer* buffer = sfx_manager->loadSingleSfx(sfx, full_path);
|
SFXBuffer* buffer = SFXManager::get()->loadSingleSfx(sfx, full_path);
|
||||||
|
|
||||||
if (buffer != NULL)
|
if (buffer != NULL)
|
||||||
{
|
{
|
||||||
|
@ -34,12 +34,12 @@ Weather::Weather(bool lightning, std::string sound)
|
|||||||
|
|
||||||
if (m_lightning)
|
if (m_lightning)
|
||||||
{
|
{
|
||||||
m_thunder_sound = sfx_manager->createSoundSource("thunder");
|
m_thunder_sound = SFXManager::get()->createSoundSource("thunder");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sound != "")
|
if (sound != "")
|
||||||
{
|
{
|
||||||
m_weather_sound = sfx_manager->createSoundSource(sound);
|
m_weather_sound = SFXManager::get()->createSoundSource(sound);
|
||||||
}
|
}
|
||||||
|
|
||||||
RandomGenerator g;
|
RandomGenerator g;
|
||||||
@ -51,10 +51,10 @@ Weather::Weather(bool lightning, std::string sound)
|
|||||||
Weather::~Weather()
|
Weather::~Weather()
|
||||||
{
|
{
|
||||||
if (m_thunder_sound != NULL)
|
if (m_thunder_sound != NULL)
|
||||||
sfx_manager->deleteSFX(m_thunder_sound);
|
SFXManager::get()->deleteSFX(m_thunder_sound);
|
||||||
|
|
||||||
if (m_weather_sound != NULL)
|
if (m_weather_sound != NULL)
|
||||||
sfx_manager->deleteSFX(m_weather_sound);
|
SFXManager::get()->deleteSFX(m_weather_sound);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@ -80,13 +80,13 @@ Attachment::~Attachment()
|
|||||||
|
|
||||||
if (m_bomb_sound)
|
if (m_bomb_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_bomb_sound);
|
SFXManager::get()->deleteSFX(m_bomb_sound);
|
||||||
m_bomb_sound = NULL;
|
m_bomb_sound = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_bubble_explode_sound)
|
if (m_bubble_explode_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_bubble_explode_sound);
|
SFXManager::get()->deleteSFX(m_bubble_explode_sound);
|
||||||
m_bubble_explode_sound = NULL;
|
m_bubble_explode_sound = NULL;
|
||||||
}
|
}
|
||||||
} // ~Attachment
|
} // ~Attachment
|
||||||
@ -139,8 +139,8 @@ void Attachment::set(AttachmentType type, float time,
|
|||||||
break;
|
break;
|
||||||
case ATTACH_BOMB:
|
case ATTACH_BOMB:
|
||||||
m_node->setMesh(attachment_manager->getMesh(type));
|
m_node->setMesh(attachment_manager->getMesh(type));
|
||||||
if (m_bomb_sound) sfx_manager->deleteSFX(m_bomb_sound);
|
if (m_bomb_sound) SFXManager::get()->deleteSFX(m_bomb_sound);
|
||||||
m_bomb_sound = sfx_manager->createSoundSource("clock");
|
m_bomb_sound = SFXManager::get()->createSoundSource("clock");
|
||||||
m_bomb_sound->setLoop(true);
|
m_bomb_sound->setLoop(true);
|
||||||
m_bomb_sound->position(m_kart->getXYZ());
|
m_bomb_sound->position(m_kart->getXYZ());
|
||||||
m_bomb_sound->play();
|
m_bomb_sound->play();
|
||||||
@ -199,7 +199,7 @@ void Attachment::clear()
|
|||||||
if (m_bomb_sound)
|
if (m_bomb_sound)
|
||||||
{
|
{
|
||||||
m_bomb_sound->stop();
|
m_bomb_sound->stop();
|
||||||
sfx_manager->deleteSFX(m_bomb_sound);
|
SFXManager::get()->deleteSFX(m_bomb_sound);
|
||||||
m_bomb_sound = NULL;
|
m_bomb_sound = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,7 +461,7 @@ void Attachment::update(float dt)
|
|||||||
if (m_bomb_sound)
|
if (m_bomb_sound)
|
||||||
{
|
{
|
||||||
m_bomb_sound->stop();
|
m_bomb_sound->stop();
|
||||||
sfx_manager->deleteSFX(m_bomb_sound);
|
SFXManager::get()->deleteSFX(m_bomb_sound);
|
||||||
m_bomb_sound = NULL;
|
m_bomb_sound = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -474,8 +474,8 @@ void Attachment::update(float dt)
|
|||||||
if (m_time_left < 0)
|
if (m_time_left < 0)
|
||||||
{
|
{
|
||||||
m_time_left = 0.0f;
|
m_time_left = 0.0f;
|
||||||
if (m_bubble_explode_sound) sfx_manager->deleteSFX(m_bubble_explode_sound);
|
if (m_bubble_explode_sound) SFXManager::get()->deleteSFX(m_bubble_explode_sound);
|
||||||
m_bubble_explode_sound = sfx_manager->createSoundSource("bubblegum_explode");
|
m_bubble_explode_sound = SFXManager::get()->createSoundSource("bubblegum_explode");
|
||||||
m_bubble_explode_sound->position(m_kart->getXYZ());
|
m_bubble_explode_sound->position(m_kart->getXYZ());
|
||||||
m_bubble_explode_sound->play();
|
m_bubble_explode_sound->play();
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ Bowling::Bowling(AbstractKart *kart)
|
|||||||
// should not live forever, auto-destruct after 20 seconds
|
// should not live forever, auto-destruct after 20 seconds
|
||||||
m_max_lifespan = 20;
|
m_max_lifespan = 20;
|
||||||
|
|
||||||
m_roll_sfx = sfx_manager->createSoundSource("bowling_roll");
|
m_roll_sfx = SFXManager::get()->createSoundSource("bowling_roll");
|
||||||
m_roll_sfx->play();
|
m_roll_sfx->play();
|
||||||
m_roll_sfx->setLoop(true);
|
m_roll_sfx->setLoop(true);
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ Bowling::~Bowling()
|
|||||||
{
|
{
|
||||||
if(m_roll_sfx->getStatus()==SFXManager::SFX_PLAYING)
|
if(m_roll_sfx->getStatus()==SFXManager::SFX_PLAYING)
|
||||||
m_roll_sfx->stop();
|
m_roll_sfx->stop();
|
||||||
sfx_manager->deleteSFX(m_roll_sfx);
|
SFXManager::get()->deleteSFX(m_roll_sfx);
|
||||||
} // ~RubberBall
|
} // ~RubberBall
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "items/plunger.hpp"
|
#include "items/plunger.hpp"
|
||||||
|
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "io/xml_node.hpp"
|
#include "io/xml_node.hpp"
|
||||||
#include "items/rubber_band.hpp"
|
#include "items/rubber_band.hpp"
|
||||||
#include "items/projectile_manager.hpp"
|
#include "items/projectile_manager.hpp"
|
||||||
@ -167,7 +168,7 @@ bool Plunger::hit(AbstractKart *kart, PhysicalObject *obj)
|
|||||||
{
|
{
|
||||||
kart->blockViewWithPlunger();
|
kart->blockViewWithPlunger();
|
||||||
if (kart->getController()->isPlayerController())
|
if (kart->getController()->isPlayerController())
|
||||||
sfx_manager->quickSound("plunger");
|
SFXManager::get()->quickSound("plunger");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_keep_alive = 0;
|
m_keep_alive = 0;
|
||||||
|
@ -53,7 +53,7 @@ Powerup::Powerup(AbstractKart* kart)
|
|||||||
*/
|
*/
|
||||||
Powerup::~Powerup()
|
Powerup::~Powerup()
|
||||||
{
|
{
|
||||||
if(m_sound_use) sfx_manager->deleteSFX(m_sound_use);
|
if(m_sound_use) SFXManager::get()->deleteSFX(m_sound_use);
|
||||||
} // ~Powerup
|
} // ~Powerup
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -88,7 +88,7 @@ void Powerup::set(PowerupManager::PowerupType type, int n)
|
|||||||
|
|
||||||
if(m_sound_use != NULL)
|
if(m_sound_use != NULL)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_sound_use);
|
SFXManager::get()->deleteSFX(m_sound_use);
|
||||||
m_sound_use = NULL;
|
m_sound_use = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,30 +102,30 @@ void Powerup::set(PowerupManager::PowerupType type, int n)
|
|||||||
break ;
|
break ;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_BOWLING:
|
case PowerupManager::POWERUP_BOWLING:
|
||||||
m_sound_use = sfx_manager->createSoundSource("bowling_shoot");
|
m_sound_use = SFXManager::get()->createSoundSource("bowling_shoot");
|
||||||
break ;
|
break ;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_ANVIL:
|
case PowerupManager::POWERUP_ANVIL:
|
||||||
m_sound_use = sfx_manager->createSoundSource("anvil");
|
m_sound_use = SFXManager::get()->createSoundSource("anvil");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_PARACHUTE:
|
case PowerupManager::POWERUP_PARACHUTE:
|
||||||
m_sound_use = sfx_manager->createSoundSource("parachute");
|
m_sound_use = SFXManager::get()->createSoundSource("parachute");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_BUBBLEGUM:
|
case PowerupManager::POWERUP_BUBBLEGUM:
|
||||||
m_sound_use = sfx_manager->createSoundSource("goo");
|
m_sound_use = SFXManager::get()->createSoundSource("goo");
|
||||||
break ;
|
break ;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_SWITCH:
|
case PowerupManager::POWERUP_SWITCH:
|
||||||
m_sound_use = sfx_manager->createSoundSource("swap");
|
m_sound_use = SFXManager::get()->createSoundSource("swap");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PowerupManager::POWERUP_NOTHING:
|
case PowerupManager::POWERUP_NOTHING:
|
||||||
case PowerupManager::POWERUP_CAKE:
|
case PowerupManager::POWERUP_CAKE:
|
||||||
case PowerupManager::POWERUP_PLUNGER:
|
case PowerupManager::POWERUP_PLUNGER:
|
||||||
default :
|
default :
|
||||||
m_sound_use = sfx_manager->createSoundSource("shoot");
|
m_sound_use = SFXManager::get()->createSoundSource("shoot");
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -190,9 +190,9 @@ void Powerup::use()
|
|||||||
// FIXME - for some collectibles, set() is never called
|
// FIXME - for some collectibles, set() is never called
|
||||||
if(m_sound_use == NULL)
|
if(m_sound_use == NULL)
|
||||||
{
|
{
|
||||||
//if (m_type == POWERUP_SWITCH) m_sound_use = sfx_manager->newSFX(SFXManager::SOUND_SWAP);
|
//if (m_type == POWERUP_SWITCH) m_sound_use = SFXManager::get()->newSFX(SFXManager::SOUND_SWAP);
|
||||||
//else
|
//else
|
||||||
m_sound_use = sfx_manager->createSoundSource("shoot");
|
m_sound_use = SFXManager::get()->createSoundSource("shoot");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_number--;
|
m_number--;
|
||||||
@ -281,7 +281,7 @@ void Powerup::use()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_sound_use = sfx_manager->createSoundSource("inflate");//Extraordinary. Usually sounds are set in Powerup::set()
|
m_sound_use = SFXManager::get()->createSoundSource("inflate");//Extraordinary. Usually sounds are set in Powerup::set()
|
||||||
//In this case this is a workaround, since the bubblegum item has two different sounds.
|
//In this case this is a workaround, since the bubblegum item has two different sounds.
|
||||||
|
|
||||||
Powerup::adjustSound();
|
Powerup::adjustSound();
|
||||||
|
@ -81,7 +81,7 @@ RubberBall::RubberBall(AbstractKart *kart)
|
|||||||
m_height_timer = 0.0f;
|
m_height_timer = 0.0f;
|
||||||
m_interval = m_st_interval;
|
m_interval = m_st_interval;
|
||||||
m_current_max_height = m_max_height;
|
m_current_max_height = m_max_height;
|
||||||
m_ping_sfx = sfx_manager->createSoundSource("ball_bounce");
|
m_ping_sfx = SFXManager::get()->createSoundSource("ball_bounce");
|
||||||
// Just init the previoux coordinates with some value that's not getXYZ()
|
// Just init the previoux coordinates with some value that's not getXYZ()
|
||||||
m_previous_xyz = m_owner->getXYZ();
|
m_previous_xyz = m_owner->getXYZ();
|
||||||
m_previous_height = 2.0f; //
|
m_previous_height = 2.0f; //
|
||||||
@ -109,7 +109,7 @@ RubberBall::~RubberBall()
|
|||||||
{
|
{
|
||||||
if(m_ping_sfx->getStatus()==SFXManager::SFX_PLAYING)
|
if(m_ping_sfx->getStatus()==SFXManager::SFX_PLAYING)
|
||||||
m_ping_sfx->stop();
|
m_ping_sfx->stop();
|
||||||
sfx_manager->deleteSFX(m_ping_sfx);
|
SFXManager::get()->deleteSFX(m_ping_sfx);
|
||||||
} // ~RubberBall
|
} // ~RubberBall
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@ -83,9 +83,9 @@ Swatter::Swatter(AbstractKart *kart, bool was_bomb,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (kart->getIdent() == "nolok")
|
if (kart->getIdent() == "nolok")
|
||||||
m_swat_sound = sfx_manager->createSoundSource("hammer");
|
m_swat_sound = SFXManager::get()->createSoundSource("hammer");
|
||||||
else
|
else
|
||||||
m_swat_sound = sfx_manager->createSoundSource("swatter");
|
m_swat_sound = SFXManager::get()->createSoundSource("swatter");
|
||||||
} // Swatter
|
} // Swatter
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -100,7 +100,7 @@ Swatter::~Swatter()
|
|||||||
}
|
}
|
||||||
if (m_swat_sound)
|
if (m_swat_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_swat_sound);
|
SFXManager::get()->deleteSFX(m_swat_sound);
|
||||||
}
|
}
|
||||||
} // ~Swatter
|
} // ~Swatter
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include "karts/controller/player_controller.hpp"
|
#include "karts/controller/player_controller.hpp"
|
||||||
|
|
||||||
#include "audio/sfx_base.hpp"
|
#include "audio/sfx_base.hpp"
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "config/stk_config.hpp"
|
#include "config/stk_config.hpp"
|
||||||
#include "config/user_config.hpp"
|
#include "config/user_config.hpp"
|
||||||
#include "graphics/camera.hpp"
|
#include "graphics/camera.hpp"
|
||||||
@ -61,11 +60,11 @@ PlayerController::PlayerController(AbstractKart *kart,
|
|||||||
// Keep a pointer to the camera to remove the need to search for
|
// Keep a pointer to the camera to remove the need to search for
|
||||||
// the right camera once per frame later.
|
// the right camera once per frame later.
|
||||||
m_camera = Camera::createCamera(kart);
|
m_camera = Camera::createCamera(kart);
|
||||||
m_bzzt_sound = sfx_manager->createSoundSource( "bzzt" );
|
m_bzzt_sound = SFXManager::get()->createSoundSource( "bzzt" );
|
||||||
m_wee_sound = sfx_manager->createSoundSource( "wee" );
|
m_wee_sound = SFXManager::get()->createSoundSource( "wee" );
|
||||||
m_ugh_sound = sfx_manager->createSoundSource( "ugh" );
|
m_ugh_sound = SFXManager::get()->createSoundSource( "ugh" );
|
||||||
m_grab_sound = sfx_manager->createSoundSource( "grab_collectable" );
|
m_grab_sound = SFXManager::get()->createSoundSource( "grab_collectable" );
|
||||||
m_full_sound = sfx_manager->createSoundSource( "energy_bar_full" );
|
m_full_sound = SFXManager::get()->createSoundSource( "energy_bar_full" );
|
||||||
|
|
||||||
reset();
|
reset();
|
||||||
} // PlayerController
|
} // PlayerController
|
||||||
@ -75,11 +74,11 @@ PlayerController::PlayerController(AbstractKart *kart,
|
|||||||
*/
|
*/
|
||||||
PlayerController::~PlayerController()
|
PlayerController::~PlayerController()
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_bzzt_sound);
|
SFXManager::get()->deleteSFX(m_bzzt_sound);
|
||||||
sfx_manager->deleteSFX(m_wee_sound );
|
SFXManager::get()->deleteSFX(m_wee_sound );
|
||||||
sfx_manager->deleteSFX(m_ugh_sound );
|
SFXManager::get()->deleteSFX(m_ugh_sound );
|
||||||
sfx_manager->deleteSFX(m_grab_sound);
|
SFXManager::get()->deleteSFX(m_grab_sound);
|
||||||
sfx_manager->deleteSFX(m_full_sound);
|
SFXManager::get()->deleteSFX(m_full_sound);
|
||||||
} // ~PlayerController
|
} // ~PlayerController
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -153,16 +153,16 @@ Kart::Kart (const std::string& ident, unsigned int world_kart_id,
|
|||||||
// If id == -1 the custom sound was not defined in the .irrkart config file
|
// If id == -1 the custom sound was not defined in the .irrkart config file
|
||||||
if (id != -1)
|
if (id != -1)
|
||||||
{
|
{
|
||||||
m_custom_sounds[n] = sfx_manager->newSFX(id);
|
m_custom_sounds[n] = SFXManager::get()->newSFX(id);
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
m_engine_sound = sfx_manager->createSoundSource(m_kart_properties->getEngineSfxType());
|
m_engine_sound = SFXManager::get()->createSoundSource(m_kart_properties->getEngineSfxType());
|
||||||
m_beep_sound = sfx_manager->createSoundSource( "horn" );
|
m_beep_sound = SFXManager::get()->createSoundSource( "horn" );
|
||||||
m_crash_sound = sfx_manager->createSoundSource( "crash" );
|
m_crash_sound = SFXManager::get()->createSoundSource( "crash" );
|
||||||
m_boing_sound = sfx_manager->createSoundSource( "boing" );
|
m_boing_sound = SFXManager::get()->createSoundSource( "boing" );
|
||||||
m_goo_sound = sfx_manager->createSoundSource( "goo" );
|
m_goo_sound = SFXManager::get()->createSoundSource( "goo" );
|
||||||
m_skid_sound = sfx_manager->createSoundSource( "skid" );
|
m_skid_sound = SFXManager::get()->createSoundSource( "skid" );
|
||||||
m_terrain_sound = NULL;
|
m_terrain_sound = NULL;
|
||||||
m_previous_terrain_sound = NULL;
|
m_previous_terrain_sound = NULL;
|
||||||
|
|
||||||
@ -242,18 +242,18 @@ Kart::~Kart()
|
|||||||
for (int n = 0; n < SFXManager::NUM_CUSTOMS; n++)
|
for (int n = 0; n < SFXManager::NUM_CUSTOMS; n++)
|
||||||
{
|
{
|
||||||
if (m_custom_sounds[n] != NULL)
|
if (m_custom_sounds[n] != NULL)
|
||||||
sfx_manager->deleteSFX(m_custom_sounds[n]);
|
SFXManager::get()->deleteSFX(m_custom_sounds[n]);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
sfx_manager->deleteSFX(m_engine_sound );
|
SFXManager::get()->deleteSFX(m_engine_sound );
|
||||||
sfx_manager->deleteSFX(m_crash_sound );
|
SFXManager::get()->deleteSFX(m_crash_sound );
|
||||||
sfx_manager->deleteSFX(m_skid_sound );
|
SFXManager::get()->deleteSFX(m_skid_sound );
|
||||||
sfx_manager->deleteSFX(m_goo_sound );
|
SFXManager::get()->deleteSFX(m_goo_sound );
|
||||||
sfx_manager->deleteSFX(m_beep_sound );
|
SFXManager::get()->deleteSFX(m_beep_sound );
|
||||||
sfx_manager->deleteSFX(m_boing_sound );
|
SFXManager::get()->deleteSFX(m_boing_sound );
|
||||||
delete m_kart_gfx;
|
delete m_kart_gfx;
|
||||||
if(m_terrain_sound) sfx_manager->deleteSFX(m_terrain_sound);
|
if(m_terrain_sound) SFXManager::get()->deleteSFX(m_terrain_sound);
|
||||||
if(m_previous_terrain_sound) sfx_manager->deleteSFX(m_previous_terrain_sound);
|
if(m_previous_terrain_sound) SFXManager::get()->deleteSFX(m_previous_terrain_sound);
|
||||||
if(m_collision_particles) delete m_collision_particles;
|
if(m_collision_particles) delete m_collision_particles;
|
||||||
if(m_slipstream) delete m_slipstream;
|
if(m_slipstream) delete m_slipstream;
|
||||||
if(m_sky_particles_emitter) delete m_sky_particles_emitter;
|
if(m_sky_particles_emitter) delete m_sky_particles_emitter;
|
||||||
@ -362,11 +362,11 @@ void Kart::reset()
|
|||||||
|
|
||||||
if(m_terrain_sound)
|
if(m_terrain_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_terrain_sound);
|
SFXManager::get()->deleteSFX(m_terrain_sound);
|
||||||
}
|
}
|
||||||
if(m_previous_terrain_sound)
|
if(m_previous_terrain_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_previous_terrain_sound);
|
SFXManager::get()->deleteSFX(m_previous_terrain_sound);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_terrain_sound = NULL;
|
m_terrain_sound = NULL;
|
||||||
@ -1429,7 +1429,7 @@ void Kart::handleMaterialSFX(const Material *material)
|
|||||||
// can be used again.
|
// can be used again.
|
||||||
if(m_previous_terrain_sound)
|
if(m_previous_terrain_sound)
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_previous_terrain_sound);
|
SFXManager::get()->deleteSFX(m_previous_terrain_sound);
|
||||||
}
|
}
|
||||||
m_previous_terrain_sound = m_terrain_sound;
|
m_previous_terrain_sound = m_terrain_sound;
|
||||||
if(m_previous_terrain_sound)
|
if(m_previous_terrain_sound)
|
||||||
@ -1438,7 +1438,7 @@ void Kart::handleMaterialSFX(const Material *material)
|
|||||||
const std::string &s = material->getSFXName();
|
const std::string &s = material->getSFXName();
|
||||||
if (s != "")
|
if (s != "")
|
||||||
{
|
{
|
||||||
m_terrain_sound = sfx_manager->createSoundSource(s);
|
m_terrain_sound = SFXManager::get()->createSoundSource(s);
|
||||||
|
|
||||||
// In multiplayer mode sounds are NOT positional, because we have
|
// In multiplayer mode sounds are NOT positional, because we have
|
||||||
// multiple listeners. This would make the sounds of all AIs be
|
// multiple listeners. This would make the sounds of all AIs be
|
||||||
@ -1466,7 +1466,7 @@ void Kart::handleMaterialSFX(const Material *material)
|
|||||||
// We don't modify the position of m_previous_terrain_sound
|
// We don't modify the position of m_previous_terrain_sound
|
||||||
// anymore, so that it keeps on playing at the place where the
|
// anymore, so that it keeps on playing at the place where the
|
||||||
// kart left the material.
|
// kart left the material.
|
||||||
sfx_manager->deleteSFX(m_previous_terrain_sound);
|
SFXManager::get()->deleteSFX(m_previous_terrain_sound);
|
||||||
m_previous_terrain_sound = NULL;
|
m_previous_terrain_sound = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1591,12 +1591,12 @@ void Kart::handleMaterialGFX()
|
|||||||
(m_terrain_sound == NULL ||
|
(m_terrain_sound == NULL ||
|
||||||
m_terrain_sound->getStatus() == SFXManager::SFX_STOPPED))
|
m_terrain_sound->getStatus() == SFXManager::SFX_STOPPED))
|
||||||
{
|
{
|
||||||
if (m_previous_terrain_sound) sfx_manager->deleteSFX(m_previous_terrain_sound);
|
if (m_previous_terrain_sound) SFXManager::get()->deleteSFX(m_previous_terrain_sound);
|
||||||
m_previous_terrain_sound = m_terrain_sound;
|
m_previous_terrain_sound = m_terrain_sound;
|
||||||
if(m_previous_terrain_sound)
|
if(m_previous_terrain_sound)
|
||||||
m_previous_terrain_sound->setLoop(false);
|
m_previous_terrain_sound->setLoop(false);
|
||||||
|
|
||||||
m_terrain_sound = sfx_manager->createSoundSource(s);
|
m_terrain_sound = SFXManager::get()->createSoundSource(s);
|
||||||
m_terrain_sound->play();
|
m_terrain_sound->play();
|
||||||
m_terrain_sound->setLoop(false);
|
m_terrain_sound->setLoop(false);
|
||||||
}
|
}
|
||||||
@ -1855,7 +1855,7 @@ void Kart::crashed(const Material *m, const Vec3 &normal)
|
|||||||
// For now, until we have scripting, special-case the overworld... (TODO)
|
// For now, until we have scripting, special-case the overworld... (TODO)
|
||||||
if (dynamic_cast<OverWorld*>(World::getWorld()) != NULL)
|
if (dynamic_cast<OverWorld*>(World::getWorld()) != NULL)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("forcefield");
|
SFXManager::get()->quickSound("forcefield");
|
||||||
|
|
||||||
for (unsigned int n = 0; n < parts.size(); n++)
|
for (unsigned int n = 0; n < parts.size(); n++)
|
||||||
{
|
{
|
||||||
@ -1927,7 +1927,7 @@ void Kart::beep()
|
|||||||
event. If there is no voice sample, a default can be played instead.
|
event. If there is no voice sample, a default can be played instead.
|
||||||
|
|
||||||
Use entries from the CustomSFX enumeration as a parameter (see
|
Use entries from the CustomSFX enumeration as a parameter (see
|
||||||
sfx_manager.hpp). eg. playCustomSFX(SFXManager::CUSTOM_CRASH)
|
SFXManager::get().hpp). eg. playCustomSFX(SFXManager::CUSTOM_CRASH)
|
||||||
|
|
||||||
Obviously we don't want a certain character voicing multiple phrases
|
Obviously we don't want a certain character voicing multiple phrases
|
||||||
simultaneously. It just sounds bad. There are two ways of avoiding this:
|
simultaneously. It just sounds bad. There are two ways of avoiding this:
|
||||||
@ -1970,7 +1970,7 @@ bool Kart::playCustomSFX(unsigned int type)
|
|||||||
{
|
{
|
||||||
ret = true;
|
ret = true;
|
||||||
//printf("Kart SFX: playing %s for %s.\n",
|
//printf("Kart SFX: playing %s for %s.\n",
|
||||||
// sfx_manager->getCustomTagName(type),
|
// SFXManager::get()->getCustomTagName(type),
|
||||||
// m_kart_properties->getIdent().c_str());
|
// m_kart_properties->getIdent().c_str());
|
||||||
// If it's already playing, let it finish
|
// If it's already playing, let it finish
|
||||||
if (m_custom_sounds[type]->getStatus() != SFXManager::SFX_PLAYING)
|
if (m_custom_sounds[type]->getStatus() != SFXManager::SFX_PLAYING)
|
||||||
@ -2107,7 +2107,7 @@ void Kart::updatePhysics(float dt)
|
|||||||
void Kart::updateEngineSFX()
|
void Kart::updateEngineSFX()
|
||||||
{
|
{
|
||||||
// when going faster, use higher pitch for engine
|
// when going faster, use higher pitch for engine
|
||||||
if(!m_engine_sound || !sfx_manager->sfxAllowed())
|
if(!m_engine_sound || !SFXManager::get()->sfxAllowed())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(isOnGround())
|
if(isOnGround())
|
||||||
|
@ -432,7 +432,7 @@ void KartProperties::getAllData(const XMLNode * root)
|
|||||||
else if (s == "small") m_engine_sfx_type = "engine_small";
|
else if (s == "small") m_engine_sfx_type = "engine_small";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (sfx_manager->soundExist(s))
|
if (SFXManager::get()->soundExist(s))
|
||||||
{
|
{
|
||||||
m_engine_sfx_type = s;
|
m_engine_sfx_type = s;
|
||||||
}
|
}
|
||||||
@ -451,14 +451,14 @@ void KartProperties::getAllData(const XMLNode * root)
|
|||||||
{
|
{
|
||||||
std::string tempFile;
|
std::string tempFile;
|
||||||
// Get filename associated with each custom sfx tag in sfx config
|
// Get filename associated with each custom sfx tag in sfx config
|
||||||
if (sounds_node->get(sfx_manager->getCustomTagName(i), tempFile))
|
if (sounds_node->get(SFXManager::get()->getCustomTagName(i), tempFile))
|
||||||
{
|
{
|
||||||
// determine absolute filename
|
// determine absolute filename
|
||||||
// FIXME: will not work with add-on packs (is data dir the same)?
|
// FIXME: will not work with add-on packs (is data dir the same)?
|
||||||
tempFile = file_manager->getKartFile(tempFile, getIdent());
|
tempFile = file_manager->getKartFile(tempFile, getIdent());
|
||||||
|
|
||||||
// Create sfx in sfx manager and store id
|
// Create sfx in sfx manager and store id
|
||||||
m_custom_sfx_id[i] = sfx_manager->addSingleSfx(tempFile, 1, 0.2f,1.0f);
|
m_custom_sfx_id[i] = SFXManager::get()->addSingleSfx(tempFile, 1, 0.2f,1.0f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1074,7 +1074,7 @@ void initRest()
|
|||||||
NewsManager::get(); // this will create the news manager
|
NewsManager::get(); // this will create the news manager
|
||||||
|
|
||||||
music_manager = new MusicManager();
|
music_manager = new MusicManager();
|
||||||
sfx_manager = new SFXManager();
|
SFXManager::create();
|
||||||
// The order here can be important, e.g. KartPropertiesManager needs
|
// The order here can be important, e.g. KartPropertiesManager needs
|
||||||
// defaultKartProperties, which are defined in stk_config.
|
// defaultKartProperties, which are defined in stk_config.
|
||||||
history = new History ();
|
history = new History ();
|
||||||
@ -1457,7 +1457,7 @@ static void cleanSuperTuxKart()
|
|||||||
if(material_manager) delete material_manager;
|
if(material_manager) delete material_manager;
|
||||||
if(history) delete history;
|
if(history) delete history;
|
||||||
ReplayRecorder::destroy();
|
ReplayRecorder::destroy();
|
||||||
if(sfx_manager) delete sfx_manager;
|
SFXManager::destroy();
|
||||||
if(music_manager) delete music_manager;
|
if(music_manager) delete music_manager;
|
||||||
delete ParticleKindManager::get();
|
delete ParticleKindManager::get();
|
||||||
PlayerManager::destroy();
|
PlayerManager::destroy();
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "animations/animation_base.hpp"
|
#include "animations/animation_base.hpp"
|
||||||
#include "animations/three_d_animation.hpp"
|
#include "animations/three_d_animation.hpp"
|
||||||
#include "audio/music_manager.hpp"
|
#include "audio/music_manager.hpp"
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "challenges/unlock_manager.hpp"
|
#include "challenges/unlock_manager.hpp"
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
#include "graphics/camera.hpp"
|
#include "graphics/camera.hpp"
|
||||||
@ -306,14 +307,11 @@ void CutsceneWorld::update(float dt)
|
|||||||
rot2.setPitch(rot2.getPitch() + 90.0f);
|
rot2.setPitch(rot2.getPitch() + 90.0f);
|
||||||
m_camera->setRotation(rot2.toIrrVector());
|
m_camera->setRotation(rot2.toIrrVector());
|
||||||
|
|
||||||
sfx_manager->positionListener(m_camera->getAbsolutePosition(),
|
SFXManager::get()->positionListener(m_camera->getAbsolutePosition(),
|
||||||
m_camera->getTarget() -
|
m_camera->getTarget() -
|
||||||
m_camera->getAbsolutePosition());
|
m_camera->getAbsolutePosition());
|
||||||
|
|
||||||
break;
|
break;
|
||||||
//printf("Camera %f %f %f\n", curr->getNode()->getPosition().X,
|
|
||||||
// curr->getNode()->getPosition().Y,
|
|
||||||
// curr->getNode()->getPosition().Z);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::map<float, std::vector<TrackObject*> >::iterator it;
|
std::map<float, std::vector<TrackObject*> >::iterator it;
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
*/
|
*/
|
||||||
LinearWorld::LinearWorld() : WorldWithRank()
|
LinearWorld::LinearWorld() : WorldWithRank()
|
||||||
{
|
{
|
||||||
m_last_lap_sfx = sfx_manager->createSoundSource("last_lap_fanfare");
|
m_last_lap_sfx = SFXManager::get()->createSoundSource("last_lap_fanfare");
|
||||||
m_last_lap_sfx_played = false;
|
m_last_lap_sfx_played = false;
|
||||||
m_last_lap_sfx_playing = false;
|
m_last_lap_sfx_playing = false;
|
||||||
m_fastest_lap = 9999999.9f;
|
m_fastest_lap = 9999999.9f;
|
||||||
@ -73,7 +73,7 @@ void LinearWorld::init()
|
|||||||
*/
|
*/
|
||||||
LinearWorld::~LinearWorld()
|
LinearWorld::~LinearWorld()
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_last_lap_sfx);
|
SFXManager::get()->deleteSFX(m_last_lap_sfx);
|
||||||
} // ~LinearWorld
|
} // ~LinearWorld
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -17,9 +17,6 @@
|
|||||||
|
|
||||||
#include "modes/soccer_world.hpp"
|
#include "modes/soccer_world.hpp"
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <IMeshSceneNode.h>
|
|
||||||
|
|
||||||
#include "audio/music_manager.hpp"
|
#include "audio/music_manager.hpp"
|
||||||
#include "audio/sfx_base.hpp"
|
#include "audio/sfx_base.hpp"
|
||||||
#include "io/file_manager.hpp"
|
#include "io/file_manager.hpp"
|
||||||
@ -36,6 +33,10 @@
|
|||||||
#include "tracks/track_object_manager.hpp"
|
#include "tracks/track_object_manager.hpp"
|
||||||
#include "utils/constants.hpp"
|
#include "utils/constants.hpp"
|
||||||
|
|
||||||
|
#include <IMeshSceneNode.h>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
/** Constructor. Sets up the clock mode etc.
|
/** Constructor. Sets up the clock mode etc.
|
||||||
*/
|
*/
|
||||||
@ -59,7 +60,7 @@ SoccerWorld::SoccerWorld() : WorldWithRank()
|
|||||||
*/
|
*/
|
||||||
SoccerWorld::~SoccerWorld()
|
SoccerWorld::~SoccerWorld()
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_goal_sound);
|
SFXManager::get()->deleteSFX(m_goal_sound);
|
||||||
} // ~SoccerWorld
|
} // ~SoccerWorld
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -80,7 +81,7 @@ void SoccerWorld::init()
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
m_goal_target = race_manager->getMaxGoal();
|
m_goal_target = race_manager->getMaxGoal();
|
||||||
m_goal_sound = sfx_manager->createSoundSource("goal_scored");
|
m_goal_sound = SFXManager::get()->createSoundSource("goal_scored");
|
||||||
|
|
||||||
} // init
|
} // init
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ void World::reset()
|
|||||||
music_manager->stopMusic();
|
music_manager->stopMusic();
|
||||||
|
|
||||||
// Enable SFX again
|
// Enable SFX again
|
||||||
sfx_manager->resumeAll();
|
SFXManager::get()->resumeAll();
|
||||||
|
|
||||||
projectile_manager->cleanup();
|
projectile_manager->cleanup();
|
||||||
race_manager->reset();
|
race_manager->reset();
|
||||||
@ -1183,7 +1183,7 @@ void World::pause(Phase phase)
|
|||||||
{
|
{
|
||||||
if (m_stop_music_when_dialog_open)
|
if (m_stop_music_when_dialog_open)
|
||||||
music_manager->pauseMusic();
|
music_manager->pauseMusic();
|
||||||
sfx_manager->pauseAll();
|
SFXManager::get()->pauseAll();
|
||||||
|
|
||||||
WorldStatus::pause(phase);
|
WorldStatus::pause(phase);
|
||||||
} // pause
|
} // pause
|
||||||
@ -1193,7 +1193,7 @@ void World::unpause()
|
|||||||
{
|
{
|
||||||
if (m_stop_music_when_dialog_open)
|
if (m_stop_music_when_dialog_open)
|
||||||
music_manager->resumeMusic();
|
music_manager->resumeMusic();
|
||||||
sfx_manager->resumeAll();
|
SFXManager::get()->resumeAll();
|
||||||
|
|
||||||
WorldStatus::unpause();
|
WorldStatus::unpause();
|
||||||
|
|
||||||
|
@ -18,8 +18,8 @@
|
|||||||
#include "modes/world_status.hpp"
|
#include "modes/world_status.hpp"
|
||||||
|
|
||||||
#include "audio/music_manager.hpp"
|
#include "audio/music_manager.hpp"
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "audio/sfx_base.hpp"
|
#include "audio/sfx_base.hpp"
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "config/stk_config.hpp"
|
#include "config/stk_config.hpp"
|
||||||
#include "config/user_config.hpp"
|
#include "config/user_config.hpp"
|
||||||
#include "graphics/irr_driver.hpp"
|
#include "graphics/irr_driver.hpp"
|
||||||
@ -35,9 +35,9 @@ WorldStatus::WorldStatus()
|
|||||||
{
|
{
|
||||||
m_clock_mode = CLOCK_CHRONO;
|
m_clock_mode = CLOCK_CHRONO;
|
||||||
|
|
||||||
m_prestart_sound = sfx_manager->createSoundSource("pre_start_race");
|
m_prestart_sound = SFXManager::get()->createSoundSource("pre_start_race");
|
||||||
m_start_sound = sfx_manager->createSoundSource("start_race");
|
m_start_sound = SFXManager::get()->createSoundSource("start_race");
|
||||||
m_track_intro_sound = sfx_manager->createSoundSource("track_intro");
|
m_track_intro_sound = SFXManager::get()->createSoundSource("track_intro");
|
||||||
|
|
||||||
music_manager->stopMusic();
|
music_manager->stopMusic();
|
||||||
|
|
||||||
@ -74,9 +74,9 @@ void WorldStatus::reset()
|
|||||||
*/
|
*/
|
||||||
WorldStatus::~WorldStatus()
|
WorldStatus::~WorldStatus()
|
||||||
{
|
{
|
||||||
sfx_manager->deleteSFX(m_prestart_sound);
|
SFXManager::get()->deleteSFX(m_prestart_sound);
|
||||||
sfx_manager->deleteSFX(m_start_sound);
|
SFXManager::get()->deleteSFX(m_start_sound);
|
||||||
sfx_manager->deleteSFX(m_track_intro_sound);
|
SFXManager::get()->deleteSFX(m_track_intro_sound);
|
||||||
IrrlichtDevice *device = irr_driver->getDevice();
|
IrrlichtDevice *device = irr_driver->getDevice();
|
||||||
|
|
||||||
if (device->getTimer()->isStopped())
|
if (device->getTimer()->isStopped())
|
||||||
@ -157,7 +157,7 @@ void WorldStatus::update(const float dt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Work around a bug that occurred on linux once:
|
// Work around a bug that occurred on linux once:
|
||||||
// the sfx_manager kept on reporting that it is playing,
|
// the SFXManager::get() kept on reporting that it is playing,
|
||||||
// while it was not - so STK would never reach the ready
|
// while it was not - so STK would never reach the ready
|
||||||
// ... phase. Since the sound effect is about 3 seconds
|
// ... phase. Since the sound effect is about 3 seconds
|
||||||
// long, we use the aux timer to force the next phase
|
// long, we use the aux timer to force the next phase
|
||||||
|
@ -103,7 +103,7 @@ void CreateServerScreen::onUpdate(float delta)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(m_server_creation_request->getInfo(), false);
|
m_info_widget->setText(m_server_creation_request->getInfo(), false);
|
||||||
}
|
}
|
||||||
@ -146,7 +146,7 @@ void CreateServerScreen::serverCreationRequest()
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
}
|
}
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
void CreateServerScreen::ServerCreationRequest::callback()
|
void CreateServerScreen::ServerCreationRequest::callback()
|
||||||
|
@ -129,20 +129,20 @@ void ChangePasswordDialog::submit()
|
|||||||
|
|
||||||
if (current_password.size() < 8 || current_password.size() > 30)
|
if (current_password.size() < 8 || current_password.size() > 30)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(_("Current password invalid."), false);
|
m_info_widget->setText(_("Current password invalid."), false);
|
||||||
}
|
}
|
||||||
else if (new_password1.size() < 8 || new_password1.size() > 30)
|
else if (new_password1.size() < 8 || new_password1.size() > 30)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(_("Password has to be between 8 and 30 "
|
m_info_widget->setText(_("Password has to be between 8 and 30 "
|
||||||
"characters long!"), false);
|
"characters long!"), false);
|
||||||
}
|
}
|
||||||
else if (new_password1 != new_password2)
|
else if (new_password1 != new_password2)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(_("Passwords don't match!"), false);
|
m_info_widget->setText(_("Passwords don't match!"), false);
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ void ChangePasswordDialog::success()
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void ChangePasswordDialog::error(const irr::core::stringw & error)
|
void ChangePasswordDialog::error(const irr::core::stringw & error)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(error, false);
|
m_info_widget->setText(error, false);
|
||||||
m_options_widget->setActivated();
|
m_options_widget->setActivated();
|
||||||
|
@ -89,7 +89,7 @@ void EnterGPNameDialog::onEnterPressedInternal()
|
|||||||
LabelWidget* label = getWidget<LabelWidget>("title");
|
LabelWidget* label = getWidget<LabelWidget>("title");
|
||||||
assert(label != NULL);
|
assert(label != NULL);
|
||||||
label->setText(_("Another grand prix with this name already exists."), false);
|
label->setText(_("Another grand prix with this name already exists."), false);
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ void EnterGPNameDialog::onEnterPressedInternal()
|
|||||||
LabelWidget* label = getWidget<LabelWidget>("title");
|
LabelWidget* label = getWidget<LabelWidget>("title");
|
||||||
assert(label != NULL);
|
assert(label != NULL);
|
||||||
label->setText(_("Cannot add a grand prix with this name"), false);
|
label->setText(_("Cannot add a grand prix with this name"), false);
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "states_screens/dialogs/gp_info_dialog.hpp"
|
#include "states_screens/dialogs/gp_info_dialog.hpp"
|
||||||
|
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "challenges/unlock_manager.hpp"
|
#include "challenges/unlock_manager.hpp"
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
#include "config/saved_grand_prix.hpp"
|
#include "config/saved_grand_prix.hpp"
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include <IGUIEnvironment.h>
|
#include <IGUIEnvironment.h>
|
||||||
|
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
#include "guiengine/engine.hpp"
|
#include "guiengine/engine.hpp"
|
||||||
#include "states_screens/state_manager.hpp"
|
#include "states_screens/state_manager.hpp"
|
||||||
|
@ -116,7 +116,7 @@ void RecoveryDialog::processInput()
|
|||||||
if (username.size() < 4 || username.size() > 30 ||
|
if (username.size() < 4 || username.size() > 30 ||
|
||||||
email.size() < 4 || email.size() > 50 )
|
email.size() < 4 || email.size() > 50 )
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(_("Username and/or email address invalid."),
|
m_info_widget->setText(_("Username and/or email address invalid."),
|
||||||
false);
|
false);
|
||||||
@ -194,7 +194,7 @@ void RecoveryDialog::onUpdate(float dt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(m_recovery_request->getInfo(), false);
|
m_info_widget->setText(m_recovery_request->getInfo(), false);
|
||||||
m_options_widget->setActivated();
|
m_options_widget->setActivated();
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "states_screens/dialogs/registration_dialog.hpp"
|
#include "states_screens/dialogs/registration_dialog.hpp"
|
||||||
|
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "guiengine/engine.hpp"
|
#include "guiengine/engine.hpp"
|
||||||
#include "guiengine/widgets.hpp"
|
#include "guiengine/widgets.hpp"
|
||||||
#include "states_screens/state_manager.hpp"
|
#include "states_screens/state_manager.hpp"
|
||||||
|
@ -141,7 +141,7 @@ void ServerInfoDialog::onUpdate(float dt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(m_server_join_request->getInfo(), false);
|
m_info_widget->setText(m_server_join_request->getInfo(), false);
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "states_screens/dialogs/user_info_dialog.hpp"
|
#include "states_screens/dialogs/user_info_dialog.hpp"
|
||||||
|
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
#include "guiengine/dialog_queue.hpp"
|
#include "guiengine/dialog_queue.hpp"
|
||||||
#include "guiengine/engine.hpp"
|
#include "guiengine/engine.hpp"
|
||||||
|
@ -201,7 +201,7 @@ void VoteDialog::updateFetchVote()
|
|||||||
} // isSuccess
|
} // isSuccess
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(m_fetch_vote_request->getInfo(), false);
|
m_info_widget->setText(m_fetch_vote_request->getInfo(), false);
|
||||||
m_cancel_widget->setActivated();
|
m_cancel_widget->setActivated();
|
||||||
@ -233,7 +233,7 @@ void VoteDialog::onUpdate(float dt)
|
|||||||
} // isSuccess
|
} // isSuccess
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(m_perform_vote_request->getInfo(), false);
|
m_info_widget->setText(m_perform_vote_request->getInfo(), false);
|
||||||
m_cancel_widget->setActivated();
|
m_cancel_widget->setActivated();
|
||||||
|
@ -18,9 +18,6 @@
|
|||||||
|
|
||||||
#include "states_screens/grand_prix_win.hpp"
|
#include "states_screens/grand_prix_win.hpp"
|
||||||
|
|
||||||
#include <SColor.h>
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "audio/music_manager.hpp"
|
#include "audio/music_manager.hpp"
|
||||||
#include "audio/sfx_manager.hpp"
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "challenges/unlock_manager.hpp"
|
#include "challenges/unlock_manager.hpp"
|
||||||
@ -44,12 +41,16 @@
|
|||||||
#include "tracks/track_object_manager.hpp"
|
#include "tracks/track_object_manager.hpp"
|
||||||
#include "utils/translation.hpp"
|
#include "utils/translation.hpp"
|
||||||
|
|
||||||
#include <IGUIEnvironment.h>
|
|
||||||
#include <ICameraSceneNode.h>
|
#include <ICameraSceneNode.h>
|
||||||
#include <ISceneManager.h>
|
#include <IGUIEnvironment.h>
|
||||||
#include <ILightSceneNode.h>
|
|
||||||
#include <IGUIImage.h>
|
#include <IGUIImage.h>
|
||||||
|
#include <ILightSceneNode.h>
|
||||||
#include <IMeshSceneNode.h>
|
#include <IMeshSceneNode.h>
|
||||||
|
#include <ISceneManager.h>
|
||||||
|
#include <SColor.h>
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
using namespace irr::core;
|
using namespace irr::core;
|
||||||
using namespace irr::gui;
|
using namespace irr::gui;
|
||||||
@ -170,7 +171,7 @@ void GrandPrixWin::init()
|
|||||||
m_global_time = 0.0f;
|
m_global_time = 0.0f;
|
||||||
m_phase = 1;
|
m_phase = 1;
|
||||||
|
|
||||||
sfx_manager->quickSound("gp_end");
|
SFXManager::get()->quickSound("gp_end");
|
||||||
} // init
|
} // init
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "states_screens/kart_selection.hpp"
|
#include "states_screens/kart_selection.hpp"
|
||||||
|
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "challenges/unlock_manager.hpp"
|
#include "challenges/unlock_manager.hpp"
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
#include "config/player_profile.hpp"
|
#include "config/player_profile.hpp"
|
||||||
@ -577,7 +578,7 @@ void PlayerKartWidget::markAsReady()
|
|||||||
delete m_player_ident_spinner;
|
delete m_player_ident_spinner;
|
||||||
m_player_ident_spinner = NULL;
|
m_player_ident_spinner = NULL;
|
||||||
|
|
||||||
sfx_manager->quickSound( "wee" );
|
SFXManager::get()->quickSound( "wee" );
|
||||||
|
|
||||||
m_model_view->setRotateTo(30.0f, 1.0f);
|
m_model_view->setRotateTo(30.0f, 1.0f);
|
||||||
|
|
||||||
@ -1152,7 +1153,7 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
|||||||
{
|
{
|
||||||
Log::error("[KartSelectionScreen]", "Maximum number of players "
|
Log::error("[KartSelectionScreen]", "Maximum number of players "
|
||||||
"reached");
|
"reached");
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1299,7 +1300,7 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
|||||||
// then they can't back out
|
// then they can't back out
|
||||||
if (m_kart_widgets[n].isReady())
|
if (m_kart_widgets[n].isReady())
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1437,7 +1438,7 @@ void KartSelectionScreen::playerConfirm(const int playerID)
|
|||||||
|
|
||||||
if (m_kart_widgets[playerID].getKartInternalName().size() == 0)
|
if (m_kart_widgets[playerID].getKartInternalName().size() == 0)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1469,7 +1470,7 @@ void KartSelectionScreen::playerConfirm(const int playerID)
|
|||||||
Log::warn("[KartSelectionScreen]", "You can't select this identity "
|
Log::warn("[KartSelectionScreen]", "You can't select this identity "
|
||||||
"or kart, someone already took it!!");
|
"or kart, someone already took it!!");
|
||||||
|
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ void NetworkKartSelectionScreen::playerConfirm(const int playerID)
|
|||||||
|
|
||||||
if (m_kart_widgets[playerID].getKartInternalName().size() == 0)
|
if (m_kart_widgets[playerID].getKartInternalName().size() == 0)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(playerID == PLAYER_ID_GAME_MASTER) // self
|
if(playerID == PLAYER_ID_GAME_MASTER) // self
|
||||||
|
@ -187,7 +187,7 @@ void OnlineScreen::doQuickPlay()
|
|||||||
XMLRequest *join_request = new RequestConnection::ServerJoinRequest();
|
XMLRequest *join_request = new RequestConnection::ServerJoinRequest();
|
||||||
if (!join_request)
|
if (!join_request)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ void OnlineScreen::doQuickPlay()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
}
|
}
|
||||||
|
|
||||||
} // doQuickPlay
|
} // doQuickPlay
|
||||||
|
@ -271,7 +271,7 @@ void OnlineUserSearch::onUpdate(float dt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
new MessageDialog(m_search_request->getInfo());
|
new MessageDialog(m_search_request->getInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ void OptionsScreenAudio::init()
|
|||||||
SpinnerWidget* gauge = this->getWidget<SpinnerWidget>("sfx_volume");
|
SpinnerWidget* gauge = this->getWidget<SpinnerWidget>("sfx_volume");
|
||||||
assert(gauge != NULL);
|
assert(gauge != NULL);
|
||||||
|
|
||||||
gauge->setValue( (int)(sfx_manager->getMasterSFXVolume()*10.0f) );
|
gauge->setValue( (int)(SFXManager::get()->getMasterSFXVolume()*10.0f) );
|
||||||
|
|
||||||
|
|
||||||
gauge = this->getWidget<SpinnerWidget>("music_volume");
|
gauge = this->getWidget<SpinnerWidget>("music_volume");
|
||||||
@ -137,10 +137,10 @@ void OptionsScreenAudio::eventCallback(Widget* widget, const std::string& name,
|
|||||||
SpinnerWidget* w = dynamic_cast<SpinnerWidget*>(widget);
|
SpinnerWidget* w = dynamic_cast<SpinnerWidget*>(widget);
|
||||||
assert(w != NULL);
|
assert(w != NULL);
|
||||||
|
|
||||||
if (sample_sound == NULL) sample_sound = sfx_manager->createSoundSource( "pre_start_race" );
|
if (sample_sound == NULL) sample_sound = SFXManager::get()->createSoundSource( "pre_start_race" );
|
||||||
sample_sound->volume(1);
|
sample_sound->volume(1);
|
||||||
|
|
||||||
sfx_manager->setMasterSFXVolume( w->getValue()/10.0f );
|
SFXManager::get()->setMasterSFXVolume( w->getValue()/10.0f );
|
||||||
UserConfigParams::m_sfx_volume = w->getValue()/10.0f;
|
UserConfigParams::m_sfx_volume = w->getValue()/10.0f;
|
||||||
|
|
||||||
// play a sample sound to show the user what this volume is like
|
// play a sample sound to show the user what this volume is like
|
||||||
@ -163,11 +163,11 @@ void OptionsScreenAudio::eventCallback(Widget* widget, const std::string& name,
|
|||||||
CheckBoxWidget* w = dynamic_cast<CheckBoxWidget*>(widget);
|
CheckBoxWidget* w = dynamic_cast<CheckBoxWidget*>(widget);
|
||||||
|
|
||||||
UserConfigParams::m_sfx = w->getState();
|
UserConfigParams::m_sfx = w->getState();
|
||||||
sfx_manager->soundToggled(UserConfigParams::m_sfx);
|
SFXManager::get()->soundToggled(UserConfigParams::m_sfx);
|
||||||
|
|
||||||
if (UserConfigParams::m_sfx)
|
if (UserConfigParams::m_sfx)
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound("horn");
|
SFXManager::get()->quickSound("horn");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // eventCallback
|
} // eventCallback
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "states_screens/race_result_gui.hpp"
|
#include "states_screens/race_result_gui.hpp"
|
||||||
|
|
||||||
#include "audio/music_manager.hpp"
|
#include "audio/music_manager.hpp"
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "audio/sfx_base.hpp"
|
#include "audio/sfx_base.hpp"
|
||||||
#include "challenges/unlock_manager.hpp"
|
#include "challenges/unlock_manager.hpp"
|
||||||
#include "config/player_manager.hpp"
|
#include "config/player_manager.hpp"
|
||||||
@ -81,7 +82,7 @@ void RaceResultGUI::init()
|
|||||||
getWidget("bottom")->setVisible(false);
|
getWidget("bottom")->setVisible(false);
|
||||||
|
|
||||||
music_manager->stopMusic();
|
music_manager->stopMusic();
|
||||||
m_finish_sound = sfx_manager->quickSound("race_finish");
|
m_finish_sound = SFXManager::get()->quickSound("race_finish");
|
||||||
|
|
||||||
// Calculate how many track screenshots can fit into the "result-table" widget
|
// Calculate how many track screenshots can fit into the "result-table" widget
|
||||||
GUIEngine::Widget* result_table = getWidget("result-table");
|
GUIEngine::Widget* result_table = getWidget("result-table");
|
||||||
|
@ -256,7 +256,7 @@ void RegisterScreen::doRegister()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
} // doRegister
|
} // doRegister
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
@ -17,16 +17,16 @@
|
|||||||
|
|
||||||
#include "states_screens/server_selection.hpp"
|
#include "states_screens/server_selection.hpp"
|
||||||
|
|
||||||
#include <iostream>
|
#include "audio/sfx_manager.hpp"
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
#include "guiengine/modaldialog.hpp"
|
#include "guiengine/modaldialog.hpp"
|
||||||
#include "states_screens/dialogs/message_dialog.hpp"
|
#include "states_screens/dialogs/message_dialog.hpp"
|
||||||
#include "states_screens/dialogs/server_info_dialog.hpp"
|
#include "states_screens/dialogs/server_info_dialog.hpp"
|
||||||
#include "states_screens/state_manager.hpp"
|
#include "states_screens/state_manager.hpp"
|
||||||
#include "utils/translation.hpp"
|
#include "utils/translation.hpp"
|
||||||
#include "utils/string_utils.hpp"
|
#include "utils/string_utils.hpp"
|
||||||
#include "audio/sfx_manager.hpp"
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
using namespace Online;
|
using namespace Online;
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ void ServerSelection::onUpdate(float dt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
new MessageDialog(m_refresh_request->getInfo());
|
new MessageDialog(m_refresh_request->getInfo());
|
||||||
}
|
}
|
||||||
delete m_refresh_request;
|
delete m_refresh_request;
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "states_screens/soccer_setup_screen.hpp"
|
#include "states_screens/soccer_setup_screen.hpp"
|
||||||
|
|
||||||
|
#include "audio/sfx_manager.hpp"
|
||||||
#include "config/user_config.hpp"
|
#include "config/user_config.hpp"
|
||||||
#include "guiengine/widgets/button_widget.hpp"
|
#include "guiengine/widgets/button_widget.hpp"
|
||||||
#include "guiengine/widgets/spinner_widget.hpp"
|
#include "guiengine/widgets/spinner_widget.hpp"
|
||||||
@ -74,7 +75,7 @@ void SoccerSetupScreen::eventCallback(Widget* widget, const std::string& name,
|
|||||||
m_kart_view_info[i].view->setBadge(BAD_BADGE);
|
m_kart_view_info[i].view->setBadge(BAD_BADGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(!areAllKartsConfirmed())
|
else if(!areAllKartsConfirmed())
|
||||||
@ -88,7 +89,7 @@ void SoccerSetupScreen::eventCallback(Widget* widget, const std::string& name,
|
|||||||
m_kart_view_info[i].view->setBadge(OK_BADGE);
|
m_kart_view_info[i].view->setBadge(OK_BADGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sfx_manager->quickSound( "wee" );
|
SFXManager::get()->quickSound( "wee" );
|
||||||
m_schedule_continue = true;
|
m_schedule_continue = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -319,7 +320,7 @@ GUIEngine::EventPropagation SoccerSetupScreen::filterActions(PlayerAction action
|
|||||||
(getNumKartsInTeam(SOCCER_TEAM_RED) == 0 ||
|
(getNumKartsInTeam(SOCCER_TEAM_RED) == 0 ||
|
||||||
getNumKartsInTeam(SOCCER_TEAM_BLUE) == 0))
|
getNumKartsInTeam(SOCCER_TEAM_BLUE) == 0))
|
||||||
{
|
{
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_kart_view_info[playerId].view->setBadge(BAD_BADGE);
|
m_kart_view_info[playerId].view->setBadge(BAD_BADGE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -329,7 +330,7 @@ GUIEngine::EventPropagation SoccerSetupScreen::filterActions(PlayerAction action
|
|||||||
m_kart_view_info[playerId].view->setRotateTo( KART_CONFIRMATION_TARGET_ANGLE, KART_CONFIRMATION_ROTATION_SPEED );
|
m_kart_view_info[playerId].view->setRotateTo( KART_CONFIRMATION_TARGET_ANGLE, KART_CONFIRMATION_ROTATION_SPEED );
|
||||||
m_kart_view_info[playerId].view->setBadge(OK_BADGE);
|
m_kart_view_info[playerId].view->setBadge(OK_BADGE);
|
||||||
m_kart_view_info[playerId].view->unsetBadge(BAD_BADGE);
|
m_kart_view_info[playerId].view->unsetBadge(BAD_BADGE);
|
||||||
sfx_manager->quickSound( "wee" );
|
SFXManager::get()->quickSound( "wee" );
|
||||||
}
|
}
|
||||||
return EVENT_BLOCK;
|
return EVENT_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -201,7 +201,7 @@ void StateManager::onGameStateChange(GameState new_state)
|
|||||||
{
|
{
|
||||||
irr_driver->showPointer();
|
irr_driver->showPointer();
|
||||||
input_manager->setMode(InputManager::MENU);
|
input_manager->setMode(InputManager::MENU);
|
||||||
sfx_manager->positionListener( Vec3(0,0,0), Vec3(0,1,0) );
|
SFXManager::get()->positionListener( Vec3(0,0,0), Vec3(0,1,0) );
|
||||||
|
|
||||||
if (new_state == MENU)
|
if (new_state == MENU)
|
||||||
{
|
{
|
||||||
|
@ -257,7 +257,7 @@ void BaseUserScreen::eventCallback(Widget* widget,
|
|||||||
m_info_widget->setText(
|
m_info_widget->setText(
|
||||||
_("Internet access is disabled, please enable it in the options"),
|
_("Internet access is disabled, please enable it in the options"),
|
||||||
true);
|
true);
|
||||||
sfx_manager->quickSound( "anvil" );
|
SFXManager::get()->quickSound( "anvil" );
|
||||||
m_online_cb->setState(false);
|
m_online_cb->setState(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -396,7 +396,7 @@ void BaseUserScreen::login()
|
|||||||
if (m_password_tb->getText() == "")
|
if (m_password_tb->getText() == "")
|
||||||
{
|
{
|
||||||
m_info_widget->setText(_("You need to enter a password."), true);
|
m_info_widget->setText(_("You need to enter a password."), true);
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_options_widget->setActivated();
|
m_options_widget->setActivated();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -464,7 +464,7 @@ void BaseUserScreen::loginError(const irr::core::stringw & error_message)
|
|||||||
player->clearSession();
|
player->clearSession();
|
||||||
player->setLastOnlineName("");
|
player->setLastOnlineName("");
|
||||||
makeEntryFieldsVisible();
|
makeEntryFieldsVisible();
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(error_message, false);
|
m_info_widget->setText(error_message, false);
|
||||||
m_options_widget->setActivated();
|
m_options_widget->setActivated();
|
||||||
@ -494,7 +494,7 @@ void BaseUserScreen::logoutError(const irr::core::stringw & error_message)
|
|||||||
if(player && player->hasSavedSession())
|
if(player && player->hasSavedSession())
|
||||||
player->clearSession();
|
player->clearSession();
|
||||||
makeEntryFieldsVisible();
|
makeEntryFieldsVisible();
|
||||||
sfx_manager->quickSound("anvil");
|
SFXManager::get()->quickSound("anvil");
|
||||||
m_info_widget->setErrorColor();
|
m_info_widget->setErrorColor();
|
||||||
m_info_widget->setText(error_message, false);
|
m_info_widget->setText(error_message, false);
|
||||||
m_options_widget->setActivated();
|
m_options_widget->setActivated();
|
||||||
|
@ -431,7 +431,7 @@ TrackObjectPresentationSound::TrackObjectPresentationSound(const XMLNode& xml_no
|
|||||||
volume);
|
volume);
|
||||||
buffer->load();
|
buffer->load();
|
||||||
|
|
||||||
m_sound = sfx_manager->createSoundSource(buffer, true, true);
|
m_sound = SFXManager::get()->createSoundSource(buffer, true, true);
|
||||||
if (m_sound != NULL)
|
if (m_sound != NULL)
|
||||||
{
|
{
|
||||||
m_sound->position(m_init_xyz);
|
m_sound->position(m_init_xyz);
|
||||||
@ -488,7 +488,7 @@ TrackObjectPresentationSound::~TrackObjectPresentationSound()
|
|||||||
if (m_sound)
|
if (m_sound)
|
||||||
{
|
{
|
||||||
//delete m_sound->getBuffer();
|
//delete m_sound->getBuffer();
|
||||||
sfx_manager->deleteSFX(m_sound);
|
SFXManager::get()->deleteSFX(m_sound);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user