broadcast ChangeCourseSongIn/Out (deprecates CourseSongNumberChangeIn/Out)
more general way of showing graphics bound to the song number (still a hack, though)
This commit is contained in:
@@ -194,6 +194,7 @@ void GameState::Reset()
|
|||||||
m_iCurrentStageIndex = 0;
|
m_iCurrentStageIndex = 0;
|
||||||
m_bGameplayLeadIn.Set( false );
|
m_bGameplayLeadIn.Set( false );
|
||||||
m_iNumStagesOfThisSong = 0;
|
m_iNumStagesOfThisSong = 0;
|
||||||
|
m_bLoadingNextSong = false;
|
||||||
|
|
||||||
NOTESKIN->RefreshNoteSkinData( this->m_pCurGame );
|
NOTESKIN->RefreshNoteSkinData( this->m_pCurGame );
|
||||||
|
|
||||||
@@ -758,6 +759,16 @@ int GameState::GetCourseSongIndex() const
|
|||||||
return iSongIndex;
|
return iSongIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Hack: when we're loading a new course song, we want to display the new song number, even
|
||||||
|
* though we havn't started that song yet. */
|
||||||
|
int GameState::GetLoadingCourseSongIndex() const
|
||||||
|
{
|
||||||
|
int iIndex = GetCourseSongIndex();
|
||||||
|
if( m_bLoadingNextSong )
|
||||||
|
++iIndex;
|
||||||
|
return iIndex;
|
||||||
|
}
|
||||||
|
|
||||||
static LocalizedString PLAYER1 ("GameState","Player 1");
|
static LocalizedString PLAYER1 ("GameState","Player 1");
|
||||||
static LocalizedString PLAYER2 ("GameState","Player 2");
|
static LocalizedString PLAYER2 ("GameState","Player 2");
|
||||||
static LocalizedString CPU ("GameState","CPU");
|
static LocalizedString CPU ("GameState","CPU");
|
||||||
@@ -1910,6 +1921,7 @@ public:
|
|||||||
static int IsGoalComplete( T* p, lua_State *L ) { lua_pushboolean(L, p->IsGoalComplete((PlayerNumber)IArg(1)) ); return 1; }
|
static int IsGoalComplete( T* p, lua_State *L ) { lua_pushboolean(L, p->IsGoalComplete((PlayerNumber)IArg(1)) ); return 1; }
|
||||||
static int PlayerIsUsingModifier( T* p, lua_State *L ) { lua_pushboolean(L, p->PlayerIsUsingModifier((PlayerNumber)IArg(1),SArg(2)) ); return 1; }
|
static int PlayerIsUsingModifier( T* p, lua_State *L ) { lua_pushboolean(L, p->PlayerIsUsingModifier((PlayerNumber)IArg(1),SArg(2)) ); return 1; }
|
||||||
static int GetCourseSongIndex( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCourseSongIndex() ); return 1; }
|
static int GetCourseSongIndex( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCourseSongIndex() ); return 1; }
|
||||||
|
static int GetLoadingCourseSongIndex( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLoadingCourseSongIndex() ); return 1; }
|
||||||
static int IsFinalStage( T* p, lua_State *L ) { lua_pushboolean(L, p->IsFinalStage() ); return 1; }
|
static int IsFinalStage( T* p, lua_State *L ) { lua_pushboolean(L, p->IsFinalStage() ); return 1; }
|
||||||
static int IsExtraStage( T* p, lua_State *L ) { lua_pushboolean(L, p->IsExtraStage() ); return 1; }
|
static int IsExtraStage( T* p, lua_State *L ) { lua_pushboolean(L, p->IsExtraStage() ); return 1; }
|
||||||
static int IsExtraStage2( T* p, lua_State *L ) { lua_pushboolean(L, p->IsExtraStage2() ); return 1; }
|
static int IsExtraStage2( T* p, lua_State *L ) { lua_pushboolean(L, p->IsExtraStage2() ); return 1; }
|
||||||
@@ -2025,6 +2037,7 @@ public:
|
|||||||
ADD_METHOD( IsGoalComplete );
|
ADD_METHOD( IsGoalComplete );
|
||||||
ADD_METHOD( PlayerIsUsingModifier );
|
ADD_METHOD( PlayerIsUsingModifier );
|
||||||
ADD_METHOD( GetCourseSongIndex );
|
ADD_METHOD( GetCourseSongIndex );
|
||||||
|
ADD_METHOD( GetLoadingCourseSongIndex );
|
||||||
ADD_METHOD( IsFinalStage );
|
ADD_METHOD( IsFinalStage );
|
||||||
ADD_METHOD( IsExtraStage );
|
ADD_METHOD( IsExtraStage );
|
||||||
ADD_METHOD( IsExtraStage2 );
|
ADD_METHOD( IsExtraStage2 );
|
||||||
|
|||||||
@@ -132,6 +132,8 @@ public:
|
|||||||
int GetCourseSongIndex() const;
|
int GetCourseSongIndex() const;
|
||||||
RString GetPlayerDisplayName( PlayerNumber pn ) const;
|
RString GetPlayerDisplayName( PlayerNumber pn ) const;
|
||||||
|
|
||||||
|
bool m_bLoadingNextSong;
|
||||||
|
int GetLoadingCourseSongIndex() const;
|
||||||
|
|
||||||
//
|
//
|
||||||
// State Info used during gameplay
|
// State Info used during gameplay
|
||||||
|
|||||||
@@ -2435,19 +2435,23 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
|
|
||||||
int iPlaySongIndex = GAMESTATE->GetCourseSongIndex()+1;
|
int iPlaySongIndex = GAMESTATE->GetCourseSongIndex()+1;
|
||||||
iPlaySongIndex %= m_apSongsQueue.size();
|
iPlaySongIndex %= m_apSongsQueue.size();
|
||||||
|
GAMESTATE->m_bLoadingNextSong = true;
|
||||||
MESSAGEMAN->Broadcast( "BeforeLoadingNextCourseSong" );
|
MESSAGEMAN->Broadcast( "BeforeLoadingNextCourseSong" );
|
||||||
m_NextSong.Reset();
|
m_NextSong.Reset();
|
||||||
m_NextSong.PlayCommand( "Start" );
|
m_NextSong.PlayCommand( "Start" );
|
||||||
m_NextSong.StartTransitioning( SM_LoadNextSong );
|
m_NextSong.StartTransitioning( SM_LoadNextSong );
|
||||||
LoadCourseSongNumber( GAMESTATE->GetCourseSongIndex()+1 );
|
LoadCourseSongNumber( GAMESTATE->GetCourseSongIndex()+1 );
|
||||||
|
MESSAGEMAN->Broadcast( "ChangeCourseSongIn" );
|
||||||
COMMAND( m_sprCourseSongNumber, "ChangeIn" );
|
COMMAND( m_sprCourseSongNumber, "ChangeIn" );
|
||||||
}
|
}
|
||||||
else if( SM == SM_LoadNextSong )
|
else if( SM == SM_LoadNextSong )
|
||||||
{
|
{
|
||||||
SongFinished();
|
SongFinished();
|
||||||
|
|
||||||
|
MESSAGEMAN->Broadcast( "ChangeCourseSongOut" );
|
||||||
COMMAND( m_sprCourseSongNumber, "ChangeOut" );
|
COMMAND( m_sprCourseSongNumber, "ChangeOut" );
|
||||||
|
|
||||||
|
GAMESTATE->m_bLoadingNextSong = false;
|
||||||
LoadNextSong();
|
LoadNextSong();
|
||||||
|
|
||||||
m_NextSong.Reset();
|
m_NextSong.Reset();
|
||||||
|
|||||||
Reference in New Issue
Block a user