Add option for user-selectable extra stage (see DDR Extreme).

This commit is contained in:
Chris Gomez
2003-02-01 05:39:48 +00:00
parent c0024838b3
commit 2234a77952
6 changed files with 23 additions and 7 deletions
+1
View File
@@ -14,6 +14,7 @@ NEW FEATURE: Jukebox mode. Like demonstration, but plays entire songs
NEW FEATURE: F6 to save screenshot. Saved in StepMania program directory
as "screenshotXXXX.bmp".
CHANGE: Reorganization of options screens.
NEW FEATURE: Option for user-selectable extra stage 1
----------------------- Version 3.01 ---------------------------
CHANGE: Simplified NoteSkin tap graphic format. Old NoteSkins will need to
+3 -3
View File
@@ -340,10 +340,10 @@ MusicWheel::MusicWheel()
m_iSwitchesLeftInSpinDown = 0;
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
{
// make the preferred group the group of the last song played.
if( GAMESTATE->m_sPreferredGroup == "ALL MUSIC" )
if( GAMESTATE->m_sPreferredGroup == "ALL MUSIC" && !PREFSMAN->m_bPickExtraStage )
GAMESTATE->m_sPreferredGroup = GAMESTATE->m_pCurSong->m_sGroupName;
Song* pSong;
@@ -876,7 +876,7 @@ void MusicWheel::Update( float fDeltaTime )
case STATE_TWEENING_ON_SCREEN:
m_fTimeLeftInState = 0;
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
if( (GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage) || GAMESTATE->IsExtraStage2() )
{
// if ( m_bUseRandomExtra )
// {
+9 -1
View File
@@ -5,8 +5,9 @@
Desc: See Header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
Chris Danford
Chris Gomez
-----------------------------------------------------------------------------
*/
@@ -80,6 +81,11 @@ PrefsManager::PrefsManager()
m_iBoostAppPriority = -1;
m_iPolygonRadar = -1;
/* DDR Extreme-style extra stage support. *
* Default off so people used to the current behavior (or those with extra *
* stage CRS files) don't get it changed around on them */
m_bPickExtraStage = false;
/* I'd rather get occasional people asking for support for this even though it's
* already here than lots of people asking why songs aren't being displayed. */
m_bHiddenSongs = false;
@@ -150,6 +156,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
ini.GetValueB( "Options", "JointPremium", m_bJointPremium );
ini.GetValueI( "Options", "BoostAppPriority", m_iBoostAppPriority );
ini.GetValueI( "Options", "PolygonRadar", m_iPolygonRadar );
ini.GetValueB( "Options", "PickExtraStage", m_bPickExtraStage );
m_asAdditionalSongFolders.clear();
CString sAdditionalSongFolders;
@@ -215,6 +222,7 @@ void PrefsManager::SaveGlobalPrefsToDisk()
ini.SetValueB( "Options", "JointPremium", m_bJointPremium );
ini.SetValueI( "Options", "BoostAppPriority", m_iBoostAppPriority );
ini.SetValueI( "Options", "PolygonRadar", m_iPolygonRadar );
ini.SetValueB( "Options", "PickExtraStage", m_bPickExtraStage );
/* Only write these if they aren't the default. This ensures that we can change
* the default and have it take effect for everyone (except people who
+3 -1
View File
@@ -6,8 +6,9 @@
Desc: Holds user-chosen preferences that are saved between sessions.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
Chris Danford
Chris Gomez
-----------------------------------------------------------------------------
*/
@@ -61,6 +62,7 @@ public:
enum { COIN_HOME, COIN_PAY, COIN_FREE, NUM_COIN_MODES } m_CoinMode;
int m_iCoinsPerCredit;
bool m_bJointPremium;
bool m_bPickExtraStage;
+6 -1
View File
@@ -5,8 +5,9 @@
Desc: See header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
Chris Danford
Chris Gomez
-----------------------------------------------------------------------------
*/
@@ -31,6 +32,7 @@ enum {
GO_MARVELOUS,
GO_HIDDEN_SONGS,
GO_SHOW_DANGER,
GO_PICK_EXTRA_STAGE,
NUM_GAMEPLAY_OPTIONS_LINES
};
@@ -42,6 +44,7 @@ OptionRowData g_GameplayOptionsLines[NUM_GAMEPLAY_OPTIONS_LINES] = {
{ "Hidden\nSongs", 2, {"OFF","ON"} },
{ "Easter\nEggs", 2, {"OFF","ON"} },
{ "Marvelous\nTiming", 2, {"OFF","ON"} },
{ "Pick Extra\nStage", 2, {"OFF","ON"} }
};
ScreenGameplayOptions::ScreenGameplayOptions() :
@@ -81,6 +84,7 @@ void ScreenGameplayOptions::ImportOptions()
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_PICK_EXTRA_STAGE] = PREFSMAN->m_bPickExtraStage? 1:0;
}
void ScreenGameplayOptions::ExportOptions()
@@ -92,6 +96,7 @@ void ScreenGameplayOptions::ExportOptions()
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_bPickExtraStage = m_iSelectedOption[0][GO_PICK_EXTRA_STAGE] == 1;
}
void ScreenGameplayOptions::GoToPrevState()
+1 -1
View File
@@ -533,7 +533,7 @@ void SongManager::GetExtraStageInfo( bool bExtra2, CString sPreferredGroup, cons
Notes* pExtra2Notes = NULL;
vector<Song*> apSongs;
SONGMAN->GetSongsInGroup( GAMESTATE->m_sPreferredGroup, apSongs );
SONGMAN->GetSongsInGroup( (GAMESTATE->m_sPreferredGroup == "ALL MUSIC" ? GAMESTATE->m_pCurSong->m_sGroupName : GAMESTATE->m_sPreferredGroup), apSongs );
for( unsigned s=0; s<apSongs.size(); s++ ) // foreach song
{
Song* pSong = apSongs[s];