added "courses only" option for marvelous judgement

This commit is contained in:
Andrew Wong
2003-07-25 08:05:29 +00:00
parent d1ee22d314
commit 0ce2147bc2
8 changed files with 28 additions and 13 deletions
+12
View File
@@ -590,3 +590,15 @@ void GameState::AdjustFailType()
GAMESTATE->m_iCurrentStageIndex == 0)
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;
}
+2
View File
@@ -102,6 +102,8 @@ public:
bool IsCourseMode() const;
bool IsBattleMode() const; /* not Rave */
bool ShowMarvelous() const;
CString m_sLoadingMessage; // used in loading screen
CString m_sPreferredGroup; // GROUP_ALL_MUSIC denotes no preferred group
bool m_bChangedFailType; // true if FailType was changed in the song options screen
+1 -1
View File
@@ -464,7 +464,7 @@ void Player::Step( int col, RageTimer tm )
break;
}
if( score==TNS_MARVELOUS && !PREFSMAN->m_bMarvelousTiming )
if( score==TNS_MARVELOUS && !GAMESTATE->ShowMarvelous())
score = TNS_PERFECT;
bGrayArrowStep = score < TNS_GOOD;
+3 -3
View File
@@ -82,7 +82,7 @@ PrefsManager::PrefsManager()
m_MusicWheelUsesSections = ALWAYS;
m_iMusicWheelSwitchSpeed = 10;
m_bEasterEggs = true;
m_bMarvelousTiming = true;
m_iMarvelousTiming = 2;
m_iCoinMode = COIN_HOME;
m_iCoinsPerCredit = 1;
m_bJointPremium = false;
@@ -191,7 +191,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
ini.GetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
ini.GetValue ( "Options", "SoundDrivers", m_sSoundDrivers );
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.GetValueB( "Options", "SoundPreloadAll", m_bSoundPreloadAll );
ini.GetValueI( "Options", "CoinMode", m_iCoinMode );
@@ -291,7 +291,7 @@ void PrefsManager::SaveGlobalPrefsToDisk()
ini.SetValueI( "Options", "MusicWheelUsesSections", m_MusicWheelUsesSections );
ini.SetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed );
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.SetValueI( "Options", "CoinMode", m_iCoinMode );
ini.SetValueI( "Options", "CoinsPerCredit", m_iCoinsPerCredit );
+1 -1
View File
@@ -60,7 +60,7 @@ public:
enum { NEVER, ALWAYS, ABC_ONLY } m_MusicWheelUsesSections;
int m_iMusicWheelSwitchSpeed;
bool m_bEasterEggs;
bool m_bMarvelousTiming;
int m_iMarvelousTiming;
int m_iCoinMode;
int m_iCoinsPerCredit;
bool m_bJointPremium;
+5 -4
View File
@@ -178,7 +178,7 @@ void ScoreKeeperMAX2::AddScore( TapNoteScore score )
*/
int p = 0; // score multiplier
const bool MarvelousEnabled = GAMESTATE->IsCourseMode() && PREFSMAN->m_bMarvelousTiming;
const bool MarvelousEnabled = GAMESTATE->IsCourseMode() && (PREFSMAN->m_iMarvelousTiming > 0);
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),
* 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)+
pNoteData->GetNumHoldNotes()*HoldNoteScoreToDancePoints(HNS_OK);
@@ -425,7 +426,7 @@ int ScoreKeeperMAX2::GetPossibleDancePoints( const NoteData* pNoteData )
int ScoreKeeperMAX2::TapNoteScoreToDancePoints( TapNoteScore tns )
{
if(!PREFSMAN->m_bMarvelousTiming && tns == TNS_MARVELOUS)
if(GAMESTATE->ShowMarvelous() && tns == TNS_MARVELOUS)
tns = TNS_PERFECT;
/*
@@ -514,7 +515,7 @@ int ScoreKeeperMAX2::HoldNoteScoreToDancePoints( HoldNoteScore hns )
case PLAY_MODE_ONI:
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;
}
break;
+1 -1
View File
@@ -554,7 +554,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl
for( l=0; l<NUM_JUDGE_LINES; l++ )
{
// m_TimeToPlayJudgeSound[l] = -1;
if( l == 0 && !PREFSMAN->m_bMarvelousTiming )
if( l == 0 && !GAMESTATE->ShowMarvelous() )
continue; // skip
if( SHOW_JUDGMENT(l) )
+3 -3
View File
@@ -37,7 +37,7 @@ OptionRow g_GameplayOptionsLines[NUM_GAMEPLAY_OPTIONS_LINES] = {
OptionRow( "Solo\nSingles", "OFF","ON" ),
OptionRow( "Hidden\nSongs", "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( "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_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 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_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_bHiddenSongs = m_iSelectedOption[0][GO_HIDDEN_SONGS] == 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_bUseUnlockSystem = m_iSelectedOption[0][GO_UNLOCK_SYSTEM] == 1;
}