syncing with sm4svn part 1.
7534867: fix SSM crashes when selecting a song with only one player enabled cddaab5: simplify SongUtil::GetStepsTypeAndDifficultyFromSortOrder 615aab0: add Style::GetUsesCenteredArrows (doubles + routine) 17f38e7: sanity check [all code changes by Glenn Maynard]
This commit is contained in:
+11
-1
@@ -362,7 +362,17 @@ void ScreenGameplay::Init()
|
|||||||
ScreenWithMenuElements::Init();
|
ScreenWithMenuElements::Init();
|
||||||
|
|
||||||
this->FillPlayerInfo( m_vPlayerInfo );
|
this->FillPlayerInfo( m_vPlayerInfo );
|
||||||
ASSERT_M( !m_vPlayerInfo.empty(), "m_vPlayerInfo must be filled by FillPlayerInfo" );
|
|
||||||
|
{
|
||||||
|
ASSERT_M( !m_vPlayerInfo.empty(), "m_vPlayerInfo must be filled by FillPlayerInfo" );
|
||||||
|
|
||||||
|
int iNumEnabledPlayers = 0;
|
||||||
|
FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi )
|
||||||
|
++iNumEnabledPlayers;
|
||||||
|
|
||||||
|
/* If this is 0, we have no active players and havn't been initialized correctly. */
|
||||||
|
ASSERT( iNumEnabledPlayers > 0 );
|
||||||
|
}
|
||||||
|
|
||||||
/* Pause MEMCARDMAN. If a memory card is removed, we don't want to interrupt the
|
/* Pause MEMCARDMAN. If a memory card is removed, we don't want to interrupt the
|
||||||
* player by making a noise until the game finishes. */
|
* player by making a noise until the game finishes. */
|
||||||
|
|||||||
@@ -1003,7 +1003,7 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
|
|||||||
bool bSelectedRoutineSteps[NUM_PLAYERS], bAnySelectedRoutine = false;
|
bool bSelectedRoutineSteps[NUM_PLAYERS], bAnySelectedRoutine = false;
|
||||||
bool bSelectedSameSteps = GAMESTATE->m_pCurSteps[PLAYER_1] == GAMESTATE->m_pCurSteps[PLAYER_2];
|
bool bSelectedSameSteps = GAMESTATE->m_pCurSteps[PLAYER_1] == GAMESTATE->m_pCurSteps[PLAYER_2];
|
||||||
|
|
||||||
FOREACH_PlayerNumber( p )
|
FOREACH_HumanPlayer( p )
|
||||||
{
|
{
|
||||||
const Steps *pSteps = GAMESTATE->m_pCurSteps[p];
|
const Steps *pSteps = GAMESTATE->m_pCurSteps[p];
|
||||||
const StepsTypeInfo &sti = GAMEMAN->GetStepsTypeInfo( pSteps->m_StepsType );
|
const StepsTypeInfo &sti = GAMEMAN->GetStepsTypeInfo( pSteps->m_StepsType );
|
||||||
|
|||||||
+9
-24
@@ -917,18 +917,17 @@ bool SongUtil::GetStepsTypeAndDifficultyFromSortOrder( SortOrder so, StepsType &
|
|||||||
{
|
{
|
||||||
switch( so )
|
switch( so )
|
||||||
{
|
{
|
||||||
|
case SORT_BEGINNER_METER: dcOut = Difficulty_Beginner; break;
|
||||||
|
case SORT_EASY_METER: dcOut = Difficulty_Easy; break;
|
||||||
|
case SORT_MEDIUM_METER: dcOut = Difficulty_Medium; break;
|
||||||
|
case SORT_HARD_METER: dcOut = Difficulty_Hard; break;
|
||||||
|
case SORT_CHALLENGE_METER: dcOut = Difficulty_Challenge; break;
|
||||||
|
case SORT_DOUBLE_EASY_METER: dcOut = Difficulty_Easy; break;
|
||||||
|
case SORT_DOUBLE_MEDIUM_METER: dcOut = Difficulty_Medium; break;
|
||||||
|
case SORT_DOUBLE_HARD_METER: dcOut = Difficulty_Hard; break;
|
||||||
|
case SORT_DOUBLE_CHALLENGE_METER: dcOut = Difficulty_Challenge; break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
case SORT_BEGINNER_METER:
|
|
||||||
case SORT_EASY_METER:
|
|
||||||
case SORT_MEDIUM_METER:
|
|
||||||
case SORT_HARD_METER:
|
|
||||||
case SORT_CHALLENGE_METER:
|
|
||||||
case SORT_DOUBLE_EASY_METER:
|
|
||||||
case SORT_DOUBLE_MEDIUM_METER:
|
|
||||||
case SORT_DOUBLE_HARD_METER:
|
|
||||||
case SORT_DOUBLE_CHALLENGE_METER:
|
|
||||||
break; // fall through
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( so )
|
switch( so )
|
||||||
@@ -963,20 +962,6 @@ bool SongUtil::GetStepsTypeAndDifficultyFromSortOrder( SortOrder so, StepsType &
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( so )
|
|
||||||
{
|
|
||||||
DEFAULT_FAIL( so );
|
|
||||||
case SORT_BEGINNER_METER: dcOut = Difficulty_Beginner; break;
|
|
||||||
case SORT_EASY_METER: dcOut = Difficulty_Easy; break;
|
|
||||||
case SORT_MEDIUM_METER: dcOut = Difficulty_Medium; break;
|
|
||||||
case SORT_HARD_METER: dcOut = Difficulty_Hard; break;
|
|
||||||
case SORT_CHALLENGE_METER: dcOut = Difficulty_Challenge; break;
|
|
||||||
case SORT_DOUBLE_EASY_METER: dcOut = Difficulty_Easy; break;
|
|
||||||
case SORT_DOUBLE_MEDIUM_METER: dcOut = Difficulty_Medium; break;
|
|
||||||
case SORT_DOUBLE_HARD_METER: dcOut = Difficulty_Hard; break;
|
|
||||||
case SORT_DOUBLE_CHALLENGE_METER: dcOut = Difficulty_Challenge; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,17 @@
|
|||||||
#include "NoteData.h"
|
#include "NoteData.h"
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
|
bool Style::GetUsesCenteredArrows() const
|
||||||
|
{
|
||||||
|
switch( m_StyleType )
|
||||||
|
{
|
||||||
|
case StyleType_OnePlayerTwoSides:
|
||||||
|
case StyleType_TwoPlayersSharedSides:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Style::GetTransformedNoteDataForStyle( PlayerNumber pn, const NoteData& original, NoteData& noteDataOut ) const
|
void Style::GetTransformedNoteDataForStyle( PlayerNumber pn, const NoteData& original, NoteData& noteDataOut ) const
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -57,8 +57,8 @@ public:
|
|||||||
int GameInputToColumn( const GameInput &GameI ) const;
|
int GameInputToColumn( const GameInput &GameI ) const;
|
||||||
RString ColToButtonName( int iCol ) const;
|
RString ColToButtonName( int iCol ) const;
|
||||||
|
|
||||||
|
bool GetUsesCenteredArrows() const;
|
||||||
void GetTransformedNoteDataForStyle( PlayerNumber pn, const NoteData& original, NoteData& noteDataOut ) const;
|
void GetTransformedNoteDataForStyle( PlayerNumber pn, const NoteData& original, NoteData& noteDataOut ) const;
|
||||||
|
|
||||||
void GetMinAndMaxColX( PlayerNumber pn, float& fMixXOut, float& fMaxXOut ) const;
|
void GetMinAndMaxColX( PlayerNumber pn, float& fMixXOut, float& fMaxXOut ) const;
|
||||||
|
|
||||||
// Lua
|
// Lua
|
||||||
|
|||||||
Reference in New Issue
Block a user