Add option for user-selectable extra stage (see DDR Extreme).
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
// {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user