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) 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;
}
+2
View File
@@ -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
+1 -1
View File
@@ -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;
+3 -3
View File
@@ -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 );
+1 -1
View File
@@ -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;
+5 -4
View File
@@ -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;
+1 -1
View File
@@ -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) )
+3 -3
View File
@@ -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;
} }