allow GameCommand to set SortOrder
This commit is contained in:
@@ -38,6 +38,7 @@ void GameCommand::Init()
|
|||||||
m_pCourse = NULL;
|
m_pCourse = NULL;
|
||||||
m_pTrail = NULL;
|
m_pTrail = NULL;
|
||||||
m_pCharacter = NULL;
|
m_pCharacter = NULL;
|
||||||
|
m_SortOrder = SORT_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CompareSongOptions( const SongOptions &so1, const SongOptions &so2 );
|
bool CompareSongOptions( const SongOptions &so1, const SongOptions &so2 );
|
||||||
@@ -95,6 +96,8 @@ bool GameCommand::DescribesCurrentMode( PlayerNumber pn ) const
|
|||||||
return false;
|
return false;
|
||||||
if( m_pTrail && GAMESTATE->m_pCurTrail[pn] != m_pTrail )
|
if( m_pTrail && GAMESTATE->m_pCurTrail[pn] != m_pTrail )
|
||||||
return false;
|
return false;
|
||||||
|
if( m_SortOrder && GAMESTATE->m_SortOrder != m_SortOrder )
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -211,6 +214,16 @@ void GameCommand::Load( int iIndex, const Commands& cmds )
|
|||||||
m_sSongGroup = sValue;
|
m_sSongGroup = sValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if( sName == "sort" )
|
||||||
|
{
|
||||||
|
m_SortOrder = StringToSortOrder( sValue );
|
||||||
|
if( m_SortOrder == SORT_INVALID )
|
||||||
|
{
|
||||||
|
m_sInvalidReason = ssprintf( "SortOrder \"%s\" is not valid.", sValue.c_str() );
|
||||||
|
m_bInvalid |= true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CString sWarning = ssprintf( "Command '%s' is not valid.", command->GetOriginalCommandString().c_str() );
|
CString sWarning = ssprintf( "Command '%s' is not valid.", command->GetOriginalCommandString().c_str() );
|
||||||
@@ -486,6 +499,8 @@ void GameCommand::Apply( PlayerNumber pn ) const
|
|||||||
GAMESTATE->m_mapEnv[ i->first ] = i->second;
|
GAMESTATE->m_mapEnv[ i->first ] = i->second;
|
||||||
if( !m_sSongGroup.empty() )
|
if( !m_sSongGroup.empty() )
|
||||||
GAMESTATE->m_sPreferredSongGroup = m_sSongGroup;
|
GAMESTATE->m_sPreferredSongGroup = m_sSongGroup;
|
||||||
|
if( m_SortOrder != SORT_INVALID )
|
||||||
|
GAMESTATE->m_SortOrder = m_SortOrder;
|
||||||
|
|
||||||
// HACK: Set life type to BATTERY just once here so it happens once and
|
// HACK: Set life type to BATTERY just once here so it happens once and
|
||||||
// we don't override the user's changes if they back out.
|
// we don't override the user's changes if they back out.
|
||||||
@@ -506,7 +521,9 @@ bool GameCommand::IsZero() const
|
|||||||
m_pCourse != NULL ||
|
m_pCourse != NULL ||
|
||||||
m_pTrail != NULL ||
|
m_pTrail != NULL ||
|
||||||
m_pCharacter != NULL ||
|
m_pCharacter != NULL ||
|
||||||
m_CourseDifficulty != DIFFICULTY_INVALID )
|
m_CourseDifficulty != DIFFICULTY_INVALID ||
|
||||||
|
m_SortOrder != SORT_INVALID
|
||||||
|
)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ struct GameCommand // used in SelectMode
|
|||||||
Character* m_pCharacter;
|
Character* m_pCharacter;
|
||||||
std::map<CString,CString> m_SetEnv;
|
std::map<CString,CString> m_SetEnv;
|
||||||
CString m_sSongGroup;
|
CString m_sSongGroup;
|
||||||
|
SortOrder m_SortOrder;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user