Added new 'UNDEFINED_PHASE' to catch incorrect pause/unpause
sequences (instead of re-using SETUP_PHASE as was done previously). git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5477 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
c6727bfc01
commit
e0328642f1
@ -31,8 +31,7 @@ WorldStatus::WorldStatus()
|
|||||||
m_time = 0.0f;
|
m_time = 0.0f;
|
||||||
m_auxiliary_timer = 0.0f;
|
m_auxiliary_timer = 0.0f;
|
||||||
m_phase = SETUP_PHASE;
|
m_phase = SETUP_PHASE;
|
||||||
m_previous_phase = SETUP_PHASE; // initialise it just in case
|
m_previous_phase = UNDEFINED_PHASE; // initialise it just in case
|
||||||
m_phase = SETUP_PHASE;
|
|
||||||
|
|
||||||
// FIXME - is it a really good idea to reload and delete the sound every race??
|
// FIXME - is it a really good idea to reload and delete the sound every race??
|
||||||
m_prestart_sound = sfx_manager->createSoundSource("prestart");
|
m_prestart_sound = sfx_manager->createSoundSource("prestart");
|
||||||
@ -47,7 +46,7 @@ void WorldStatus::reset()
|
|||||||
m_time = 0.0f;
|
m_time = 0.0f;
|
||||||
m_auxiliary_timer = 0.0f;
|
m_auxiliary_timer = 0.0f;
|
||||||
m_phase = READY_PHASE; // FIXME - unsure
|
m_phase = READY_PHASE; // FIXME - unsure
|
||||||
m_previous_phase = SETUP_PHASE;
|
m_previous_phase = UNDEFINED_PHASE;
|
||||||
} // reset
|
} // reset
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -218,7 +217,7 @@ void WorldStatus::setTime(const float time)
|
|||||||
*/
|
*/
|
||||||
void WorldStatus::pause(Phase phase)
|
void WorldStatus::pause(Phase phase)
|
||||||
{
|
{
|
||||||
assert(m_previous_phase==SETUP_PHASE);
|
assert(m_previous_phase==UNDEFINED_PHASE);
|
||||||
m_previous_phase = m_phase;
|
m_previous_phase = m_phase;
|
||||||
m_phase = phase;
|
m_phase = phase;
|
||||||
} // pause
|
} // pause
|
||||||
@ -231,5 +230,5 @@ void WorldStatus::unpause()
|
|||||||
m_phase = m_previous_phase;
|
m_phase = m_previous_phase;
|
||||||
// Set m_previous_phase so that we can use an assert
|
// Set m_previous_phase so that we can use an assert
|
||||||
// in pause to detect incorrect pause/unpause sequences.
|
// in pause to detect incorrect pause/unpause sequences.
|
||||||
m_previous_phase = SETUP_PHASE;
|
m_previous_phase = UNDEFINED_PHASE;
|
||||||
}
|
} // unpause
|
||||||
|
@ -71,6 +71,8 @@ public:
|
|||||||
// Display the in-game menu, but no update of world or anything
|
// Display the in-game menu, but no update of world or anything
|
||||||
IN_GAME_MENU_PHASE,
|
IN_GAME_MENU_PHASE,
|
||||||
|
|
||||||
|
// Undefined, used in asserts to catch incorrect states.
|
||||||
|
UNDEFINED_PHASE
|
||||||
};
|
};
|
||||||
protected:
|
protected:
|
||||||
SFXBase *m_prestart_sound;
|
SFXBase *m_prestart_sound;
|
||||||
@ -123,11 +125,7 @@ public:
|
|||||||
/** Returns the current race time. */
|
/** Returns the current race time. */
|
||||||
float getTime() const { return m_time; }
|
float getTime() const { return m_time; }
|
||||||
|
|
||||||
/** Returns the value of the auxiliary timer. */
|
/** Call each frame, with the elapsed time as argument. */
|
||||||
float getAuxiliaryTimer() const {return m_auxiliary_timer; }
|
|
||||||
/**
|
|
||||||
* Call each frame, with the elapsed time as argument.
|
|
||||||
*/
|
|
||||||
void update(const float dt);
|
void update(const float dt);
|
||||||
|
|
||||||
void setTime(const float time);
|
void setTime(const float time);
|
||||||
@ -137,15 +135,11 @@ public:
|
|||||||
virtual void enterRaceOverState();
|
virtual void enterRaceOverState();
|
||||||
virtual void terminateRace();
|
virtual void terminateRace();
|
||||||
|
|
||||||
/*
|
/** Will be called to notify your derived class that the clock,
|
||||||
* Will be called to notify your derived class that the clock,
|
* which is in COUNTDOWN mode, has reached zero. */
|
||||||
* which is in COUNTDOWN mode, has reached zero.
|
|
||||||
*/
|
|
||||||
virtual void countdownReachedZero() {};
|
virtual void countdownReachedZero() {};
|
||||||
|
|
||||||
/*
|
/** Called when the race actually starts. */
|
||||||
* Called when the race actually starts.
|
|
||||||
*/
|
|
||||||
virtual void onGo() {};
|
virtual void onGo() {};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user