added "courses only" option for marvelous judgement
This commit is contained in:
@@ -590,3 +590,15 @@ void GameState::AdjustFailType()
|
|||||||
GAMESTATE->m_iCurrentStageIndex == 0)
|
GAMESTATE->m_iCurrentStageIndex == 0)
|
||||||
setmax(GAMESTATE->m_SongOptions.m_FailType, SongOptions::FAIL_OFF);
|
setmax(GAMESTATE->m_SongOptions.m_FailType, SongOptions::FAIL_OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GameState::ShowMarvelous() const
|
||||||
|
{
|
||||||
|
if (PREFSMAN->m_iMarvelousTiming == 2)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (PREFSMAN->m_iMarvelousTiming == 1)
|
||||||
|
if (IsCourseMode())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@@ -102,6 +102,8 @@ public:
|
|||||||
bool IsCourseMode() const;
|
bool IsCourseMode() const;
|
||||||
bool IsBattleMode() const; /* not Rave */
|
bool IsBattleMode() const; /* not Rave */
|
||||||
|
|
||||||
|
bool ShowMarvelous() const;
|
||||||
|
|
||||||
CString m_sLoadingMessage; // used in loading screen
|
CString m_sLoadingMessage; // used in loading screen
|
||||||
CString m_sPreferredGroup; // GROUP_ALL_MUSIC denotes no preferred group
|
CString m_sPreferredGroup; // GROUP_ALL_MUSIC denotes no preferred group
|
||||||
bool m_bChangedFailType; // true if FailType was changed in the song options screen
|
bool m_bChangedFailType; // true if FailType was changed in the song options screen
|
||||||
|
|||||||
@@ -464,7 +464,7 @@ void Player::Step( int col, RageTimer tm )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( score==TNS_MARVELOUS && !PREFSMAN->m_bMarvelousTiming )
|
if( score==TNS_MARVELOUS && !GAMESTATE->ShowMarvelous())
|
||||||
score = TNS_PERFECT;
|
score = TNS_PERFECT;
|
||||||
|
|
||||||
bGrayArrowStep = score < TNS_GOOD;
|
bGrayArrowStep = score < TNS_GOOD;
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ PrefsManager::PrefsManager()
|
|||||||
m_MusicWheelUsesSections = ALWAYS;
|
m_MusicWheelUsesSections = ALWAYS;
|
||||||
m_iMusicWheelSwitchSpeed = 10;
|
m_iMusicWheelSwitchSpeed = 10;
|
||||||
m_bEasterEggs = true;
|
m_bEasterEggs = true;
|
||||||
m_bMarvelousTiming = true;
|
m_iMarvelousTiming = 2;
|
||||||
m_iCoinMode = COIN_HOME;
|
m_iCoinMode = COIN_HOME;
|
||||||
m_iCoinsPerCredit = 1;
|
m_iCoinsPerCredit = 1;
|
||||||
m_bJointPremium = false;
|
m_bJointPremium = false;
|
||||||
@@ -191,7 +191,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
|
|||||||
ini.GetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
|
ini.GetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
|
||||||
ini.GetValue ( "Options", "SoundDrivers", m_sSoundDrivers );
|
ini.GetValue ( "Options", "SoundDrivers", m_sSoundDrivers );
|
||||||
ini.GetValueB( "Options", "EasterEggs", m_bEasterEggs );
|
ini.GetValueB( "Options", "EasterEggs", m_bEasterEggs );
|
||||||
ini.GetValueB( "Options", "MarvelousTiming", m_bMarvelousTiming );
|
ini.GetValueI( "Options", "MarvelousTiming", (int&)m_iMarvelousTiming );
|
||||||
ini.GetValueF( "Options", "SoundVolume", m_fSoundVolume );
|
ini.GetValueF( "Options", "SoundVolume", m_fSoundVolume );
|
||||||
ini.GetValueB( "Options", "SoundPreloadAll", m_bSoundPreloadAll );
|
ini.GetValueB( "Options", "SoundPreloadAll", m_bSoundPreloadAll );
|
||||||
ini.GetValueI( "Options", "CoinMode", m_iCoinMode );
|
ini.GetValueI( "Options", "CoinMode", m_iCoinMode );
|
||||||
@@ -291,7 +291,7 @@ void PrefsManager::SaveGlobalPrefsToDisk()
|
|||||||
ini.SetValueI( "Options", "MusicWheelUsesSections", m_MusicWheelUsesSections );
|
ini.SetValueI( "Options", "MusicWheelUsesSections", m_MusicWheelUsesSections );
|
||||||
ini.SetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
|
ini.SetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
|
||||||
ini.SetValueB( "Options", "EasterEggs", m_bEasterEggs );
|
ini.SetValueB( "Options", "EasterEggs", m_bEasterEggs );
|
||||||
ini.SetValueB( "Options", "MarvelousTiming", m_bMarvelousTiming );
|
ini.SetValueI( "Options", "MarvelousTiming", m_iMarvelousTiming );
|
||||||
ini.SetValueB( "Options", "SoundPreloadAll", m_bSoundPreloadAll );
|
ini.SetValueB( "Options", "SoundPreloadAll", m_bSoundPreloadAll );
|
||||||
ini.SetValueI( "Options", "CoinMode", m_iCoinMode );
|
ini.SetValueI( "Options", "CoinMode", m_iCoinMode );
|
||||||
ini.SetValueI( "Options", "CoinsPerCredit", m_iCoinsPerCredit );
|
ini.SetValueI( "Options", "CoinsPerCredit", m_iCoinsPerCredit );
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public:
|
|||||||
enum { NEVER, ALWAYS, ABC_ONLY } m_MusicWheelUsesSections;
|
enum { NEVER, ALWAYS, ABC_ONLY } m_MusicWheelUsesSections;
|
||||||
int m_iMusicWheelSwitchSpeed;
|
int m_iMusicWheelSwitchSpeed;
|
||||||
bool m_bEasterEggs;
|
bool m_bEasterEggs;
|
||||||
bool m_bMarvelousTiming;
|
int m_iMarvelousTiming;
|
||||||
int m_iCoinMode;
|
int m_iCoinMode;
|
||||||
int m_iCoinsPerCredit;
|
int m_iCoinsPerCredit;
|
||||||
bool m_bJointPremium;
|
bool m_bJointPremium;
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ void ScoreKeeperMAX2::AddScore( TapNoteScore score )
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
int p = 0; // score multiplier
|
int p = 0; // score multiplier
|
||||||
const bool MarvelousEnabled = GAMESTATE->IsCourseMode() && PREFSMAN->m_bMarvelousTiming;
|
const bool MarvelousEnabled = GAMESTATE->IsCourseMode() && (PREFSMAN->m_iMarvelousTiming > 0);
|
||||||
|
|
||||||
switch( score )
|
switch( score )
|
||||||
{
|
{
|
||||||
@@ -416,7 +416,8 @@ int ScoreKeeperMAX2::GetPossibleDancePoints( const NoteData* pNoteData )
|
|||||||
/* Note that, if Marvelous timing is disabled or not active (not course mode),
|
/* Note that, if Marvelous timing is disabled or not active (not course mode),
|
||||||
* PERFECT will be used instead. */
|
* PERFECT will be used instead. */
|
||||||
|
|
||||||
TapNoteScore maxPossibleTapScore = PREFSMAN->m_bMarvelousTiming ? TNS_MARVELOUS : TNS_PERFECT;
|
TapNoteScore maxPossibleTapScore =
|
||||||
|
(GAMESTATE->ShowMarvelous() ) ? TNS_MARVELOUS : TNS_PERFECT;
|
||||||
|
|
||||||
return pNoteData->GetNumRowsWithTaps()*TapNoteScoreToDancePoints(maxPossibleTapScore)+
|
return pNoteData->GetNumRowsWithTaps()*TapNoteScoreToDancePoints(maxPossibleTapScore)+
|
||||||
pNoteData->GetNumHoldNotes()*HoldNoteScoreToDancePoints(HNS_OK);
|
pNoteData->GetNumHoldNotes()*HoldNoteScoreToDancePoints(HNS_OK);
|
||||||
@@ -425,7 +426,7 @@ int ScoreKeeperMAX2::GetPossibleDancePoints( const NoteData* pNoteData )
|
|||||||
|
|
||||||
int ScoreKeeperMAX2::TapNoteScoreToDancePoints( TapNoteScore tns )
|
int ScoreKeeperMAX2::TapNoteScoreToDancePoints( TapNoteScore tns )
|
||||||
{
|
{
|
||||||
if(!PREFSMAN->m_bMarvelousTiming && tns == TNS_MARVELOUS)
|
if(GAMESTATE->ShowMarvelous() && tns == TNS_MARVELOUS)
|
||||||
tns = TNS_PERFECT;
|
tns = TNS_PERFECT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -514,7 +515,7 @@ int ScoreKeeperMAX2::HoldNoteScoreToDancePoints( HoldNoteScore hns )
|
|||||||
case PLAY_MODE_ONI:
|
case PLAY_MODE_ONI:
|
||||||
switch( hns )
|
switch( hns )
|
||||||
{
|
{
|
||||||
case HNS_OK: return PREFSMAN->m_bMarvelousTiming? +3:+2;
|
case HNS_OK: return (PREFSMAN->m_iMarvelousTiming != 0)? +3:+2;
|
||||||
case HNS_NG: return +0;
|
case HNS_NG: return +0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl
|
|||||||
for( l=0; l<NUM_JUDGE_LINES; l++ )
|
for( l=0; l<NUM_JUDGE_LINES; l++ )
|
||||||
{
|
{
|
||||||
// m_TimeToPlayJudgeSound[l] = -1;
|
// m_TimeToPlayJudgeSound[l] = -1;
|
||||||
if( l == 0 && !PREFSMAN->m_bMarvelousTiming )
|
if( l == 0 && !GAMESTATE->ShowMarvelous() )
|
||||||
continue; // skip
|
continue; // skip
|
||||||
|
|
||||||
if( SHOW_JUDGMENT(l) )
|
if( SHOW_JUDGMENT(l) )
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ OptionRow g_GameplayOptionsLines[NUM_GAMEPLAY_OPTIONS_LINES] = {
|
|||||||
OptionRow( "Solo\nSingles", "OFF","ON" ),
|
OptionRow( "Solo\nSingles", "OFF","ON" ),
|
||||||
OptionRow( "Hidden\nSongs", "OFF","ON" ),
|
OptionRow( "Hidden\nSongs", "OFF","ON" ),
|
||||||
OptionRow( "Easter\nEggs", "OFF","ON" ),
|
OptionRow( "Easter\nEggs", "OFF","ON" ),
|
||||||
OptionRow( "Marvelous\nTiming", "OFF","ON" ),
|
OptionRow( "Marvelous\nTiming", "NEVER","COURSES ONLY","ALWAYS" ),
|
||||||
OptionRow( "Pick Extra\nStage", "OFF","ON" ),
|
OptionRow( "Pick Extra\nStage", "OFF","ON" ),
|
||||||
OptionRow( "Unlock\nSystem", "OFF","ON" )
|
OptionRow( "Unlock\nSystem", "OFF","ON" )
|
||||||
};
|
};
|
||||||
@@ -62,7 +62,7 @@ void ScreenGameplayOptions::ImportOptions()
|
|||||||
m_iSelectedOption[0][GO_SOLO_SINGLE] = PREFSMAN->m_bSoloSingle ? 1:0;
|
m_iSelectedOption[0][GO_SOLO_SINGLE] = PREFSMAN->m_bSoloSingle ? 1:0;
|
||||||
m_iSelectedOption[0][GO_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 1:0;
|
m_iSelectedOption[0][GO_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 1:0;
|
||||||
m_iSelectedOption[0][GO_EASTER_EGGS] = PREFSMAN->m_bEasterEggs ? 1:0;
|
m_iSelectedOption[0][GO_EASTER_EGGS] = PREFSMAN->m_bEasterEggs ? 1:0;
|
||||||
m_iSelectedOption[0][GO_MARVELOUS] = PREFSMAN->m_bMarvelousTiming ? 1:0;
|
m_iSelectedOption[0][GO_MARVELOUS] = PREFSMAN->m_iMarvelousTiming;
|
||||||
m_iSelectedOption[0][GO_PICK_EXTRA_STAGE] = PREFSMAN->m_bPickExtraStage? 1:0;
|
m_iSelectedOption[0][GO_PICK_EXTRA_STAGE] = PREFSMAN->m_bPickExtraStage? 1:0;
|
||||||
m_iSelectedOption[0][GO_UNLOCK_SYSTEM] = PREFSMAN->m_bUseUnlockSystem? 1:0;
|
m_iSelectedOption[0][GO_UNLOCK_SYSTEM] = PREFSMAN->m_bUseUnlockSystem? 1:0;
|
||||||
}
|
}
|
||||||
@@ -72,7 +72,7 @@ void ScreenGameplayOptions::ExportOptions()
|
|||||||
PREFSMAN->m_bSoloSingle = m_iSelectedOption[0][GO_SOLO_SINGLE] == 1;
|
PREFSMAN->m_bSoloSingle = m_iSelectedOption[0][GO_SOLO_SINGLE] == 1;
|
||||||
PREFSMAN->m_bHiddenSongs = m_iSelectedOption[0][GO_HIDDEN_SONGS] == 1;
|
PREFSMAN->m_bHiddenSongs = m_iSelectedOption[0][GO_HIDDEN_SONGS] == 1;
|
||||||
PREFSMAN->m_bEasterEggs = m_iSelectedOption[0][GO_EASTER_EGGS] == 1;
|
PREFSMAN->m_bEasterEggs = m_iSelectedOption[0][GO_EASTER_EGGS] == 1;
|
||||||
PREFSMAN->m_bMarvelousTiming = m_iSelectedOption[0][GO_MARVELOUS] == 1;
|
PREFSMAN->m_iMarvelousTiming = m_iSelectedOption[0][GO_MARVELOUS];
|
||||||
PREFSMAN->m_bPickExtraStage = m_iSelectedOption[0][GO_PICK_EXTRA_STAGE] == 1;
|
PREFSMAN->m_bPickExtraStage = m_iSelectedOption[0][GO_PICK_EXTRA_STAGE] == 1;
|
||||||
PREFSMAN->m_bUseUnlockSystem = m_iSelectedOption[0][GO_UNLOCK_SYSTEM] == 1;
|
PREFSMAN->m_bUseUnlockSystem = m_iSelectedOption[0][GO_UNLOCK_SYSTEM] == 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user