Added sound when time is less than 5 s in time based challenges (#4523)
This commit is contained in:
parent
0d84350ab7
commit
6e83c825ca
@ -942,6 +942,34 @@ void World::moveKartTo(AbstractKart* kart, const btTransform &transform)
|
|||||||
|
|
||||||
} // moveKartTo
|
} // moveKartTo
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
void World::updateTimeTargetSound()
|
||||||
|
{
|
||||||
|
if (RaceManager::get()->hasTimeTarget() && !RewindManager::get()->isRewinding())
|
||||||
|
{
|
||||||
|
float time_elapsed = getTime();
|
||||||
|
float time_target = RaceManager::get()->getTimeTarget();
|
||||||
|
if (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG)
|
||||||
|
{
|
||||||
|
if (time_elapsed <= 5 && getTimeTicks() % stk_config->time2Ticks(1.0f) == 0 &&
|
||||||
|
!World::getWorld()->isRaceOver())
|
||||||
|
{
|
||||||
|
SFXManager::get()->quickSound("pre_start_race");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (time_target - time_elapsed <= 5 && stk_config->time2Ticks(1.0f) == 0 &&
|
||||||
|
time_target - time_elapsed > 0)
|
||||||
|
{
|
||||||
|
SFXManager::get()->quickSound("pre_start_race");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // updateTimeTargetSound
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void World::schedulePause(Phase phase)
|
void World::schedulePause(Phase phase)
|
||||||
{
|
{
|
||||||
@ -1202,6 +1230,7 @@ void World::update(int ticks)
|
|||||||
PROFILER_POP_CPU_MARKER();
|
PROFILER_POP_CPU_MARKER();
|
||||||
|
|
||||||
PROFILER_POP_CPU_MARKER();
|
PROFILER_POP_CPU_MARKER();
|
||||||
|
updateTimeTargetSound();
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
assert(m_magic_number == 0xB01D6543);
|
assert(m_magic_number == 0xB01D6543);
|
||||||
|
@ -326,6 +326,7 @@ public:
|
|||||||
AbstractKart* getLocalPlayerKart(unsigned int n) const;
|
AbstractKart* getLocalPlayerKart(unsigned int n) const;
|
||||||
virtual const btTransform &getStartTransform(int index);
|
virtual const btTransform &getStartTransform(int index);
|
||||||
void moveKartTo(AbstractKart* kart, const btTransform &t);
|
void moveKartTo(AbstractKart* kart, const btTransform &t);
|
||||||
|
void updateTimeTargetSound();
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
/** Returns a pointer to the race gui. */
|
/** Returns a pointer to the race gui. */
|
||||||
RaceGUIBase *getRaceGUI() const { return m_race_gui;}
|
RaceGUIBase *getRaceGUI() const { return m_race_gui;}
|
||||||
|
@ -428,7 +428,7 @@ void RaceGUI::drawGlobalTimer()
|
|||||||
|
|
||||||
float elapsed_time = World::getWorld()->getTime();
|
float elapsed_time = World::getWorld()->getTime();
|
||||||
if (!RaceManager::get()->hasTimeTarget() ||
|
if (!RaceManager::get()->hasTimeTarget() ||
|
||||||
RaceManager::get()->getMinorMode() ==RaceManager::MINOR_MODE_SOCCER ||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG)
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG)
|
||||||
{
|
{
|
||||||
@ -440,6 +440,8 @@ void RaceGUI::drawGlobalTimer()
|
|||||||
float time_target = RaceManager::get()->getTimeTarget();
|
float time_target = RaceManager::get()->getTimeTarget();
|
||||||
if (elapsed_time < time_target)
|
if (elapsed_time < time_target)
|
||||||
{
|
{
|
||||||
|
if(time_target-elapsed_time <= 5)
|
||||||
|
time_color = video::SColor(255,255,255,0);
|
||||||
sw = core::stringw (
|
sw = core::stringw (
|
||||||
StringUtils::timeToString(time_target - elapsed_time).c_str());
|
StringUtils::timeToString(time_target - elapsed_time).c_str());
|
||||||
}
|
}
|
||||||
@ -452,8 +454,14 @@ void RaceGUI::drawGlobalTimer()
|
|||||||
time_color = video::SColor(255,255,0,0);
|
time_color = video::SColor(255,255,0,0);
|
||||||
use_digit_font = false;
|
use_digit_font = false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if(elapsed_time <= 5 && RaceManager::get()->hasTimeTarget() && (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||||
|
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG))
|
||||||
|
{
|
||||||
|
time_color = video::SColor(255,255,255,0);
|
||||||
|
}
|
||||||
core::rect<s32> pos(irr_driver->getActualScreenSize().Width - dist_from_right,
|
core::rect<s32> pos(irr_driver->getActualScreenSize().Width - dist_from_right,
|
||||||
irr_driver->getActualScreenSize().Height*2/100,
|
irr_driver->getActualScreenSize().Height*2/100,
|
||||||
irr_driver->getActualScreenSize().Width,
|
irr_driver->getActualScreenSize().Width,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user