From 0d5c5de300e624a2af8dcd5d07ab5a9ef892c92f Mon Sep 17 00:00:00 2001 From: Kevin Slaughter Date: Wed, 12 Feb 2003 15:56:01 +0000 Subject: [PATCH] See TODO.miryokuteki --- stepmania/Themes/default/metrics.ini | 1 + stepmania/src/PrefsManager.cpp | 1 + stepmania/src/PrefsManager.h | 1 + stepmania/src/ScreenMachineOptions.cpp | 2 ++ stepmania/src/ScreenPlayerOptions.cpp | 9 +++++++-- stepmania/src/ScreenPlayerOptions.h | 1 + stepmania/src/StepMania.cpp | 10 +++++++--- 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 94d46c0a41..bf14bf1d15 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -746,6 +746,7 @@ ShowStats=Display Performance Statistics in the upper right corner::of the scree CoinMode=When set to HOME, options will be shown on the title screen.::When set to PAY the title menu choices are hidden and you must::insert coins before joining in. When set to FREE the title menu::choices are hidden and you can joining in without inserting coins. CoinsPerCredit=The number of coins that must be inserted before a player can join. JointPremium=When set to OFF, game styles that require both sides of the machine::will cost 2 credits. When set to ON game styles that require both sides::of the machine will cost only 1 credit. +SongOptions=When set to OFF.. after accessing the STAGE OPTIONS menu ::after selecting a song, this menu will not appear [ScreenGraphicOptions] DisplayMode=Choose whether you would like StepMania to run full screen,::or to display in a window on your desktop. diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index c4281590a6..df3c930f2c 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -235,6 +235,7 @@ void PrefsManager::SaveGlobalPrefsToDisk() ini.SetValueB( "Options", "PickExtraStage", m_bPickExtraStage ); ini.SetValueF( "Options", "LongVerSeconds", m_fLongVerSongSeconds ); ini.SetValueF( "Options", "MarathonVerSeconds", m_fMarathonVerSongSeconds ); + ini.SetValueB( "Options", "SongOptions", m_bShowSongOptions ); /* 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 diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index aaf3d766e2..dc95055c7e 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -66,6 +66,7 @@ public: bool m_bPickExtraStage; float m_fLongVerSongSeconds; float m_fMarathonVerSongSeconds; + bool m_bShowSongOptions; /* 0 = no; 1 = yes; -1 = auto (do whatever is appropriate for the arch). */ diff --git a/stepmania/src/ScreenMachineOptions.cpp b/stepmania/src/ScreenMachineOptions.cpp index adb2ebc683..0f94b3435f 100644 --- a/stepmania/src/ScreenMachineOptions.cpp +++ b/stepmania/src/ScreenMachineOptions.cpp @@ -32,6 +32,7 @@ enum { MO_COIN_MODE, MO_COINS_PER_CREDIT, MO_JOINT_PREMIUM, + MO_SONG_OPTIONS, NUM_MACHINE_OPTIONS_LINES }; /* Hmm. Ignore JoyAxes and Back Delayed probably belong in "input options", @@ -45,6 +46,7 @@ OptionRowData g_MachineOptionsLines[NUM_MACHINE_OPTIONS_LINES] = { { "Coin\nMode", 3, {"HOME","PAY","FREE PLAY"} }, { "Coins Per\nCredit", 8, {"1","2","3","4","5","6","7","8"} }, { "Joint\nPremium", 2, {"OFF","ON"} }, + { "Song\nOptions", 2, {"OFF","ON"} }, }; ScreenMachineOptions::ScreenMachineOptions() : diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index b69df07a6f..7bb66aa608 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -34,7 +34,7 @@ enum { NUM_PLAYER_OPTIONS_LINES }; OptionRowData g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = { - { "Speed", 10, {"x0.25","x0.5","x0.75","x1","x1.5","x2","x3","x4","x5","x8"} }, + { "Speed", 11, {"x0.25","x0.5","x0.75","x1","x1.5","x2","x3","x4","x5","x8", "x12"} }, { "Acceler\n-ation",6, {"OFF","BOOST","LAND","WAVE","EXPAND","BOOMERANG"} }, { "Effect", 7, {"OFF","DRUNK","DIZZY","SPACE","MINI","FLIP","TORNADO"} }, { "Appear\n-ance", 5, {"VISIBLE","HIDDEN","SUDDEN","STEALTH","BLINK"} }, @@ -82,6 +82,7 @@ void ScreenPlayerOptions::ImportOptions() else if( po.m_fScrollSpeed == 4.0f ) m_iSelectedOption[p][PO_SPEED] = 7; else if( po.m_fScrollSpeed == 5.0f ) m_iSelectedOption[p][PO_SPEED] = 8; else if( po.m_fScrollSpeed == 8.0f ) m_iSelectedOption[p][PO_SPEED] = 9; + else if( po.m_fScrollSpeed == 12.0f) m_iSelectedOption[p][PO_SPEED] = 10; else m_iSelectedOption[p][PO_SPEED] = 3; m_iSelectedOption[p][PO_ACCEL] = po.m_AccelType; @@ -120,6 +121,7 @@ void ScreenPlayerOptions::ExportOptions() case 7: po.m_fScrollSpeed = 4.0f; break; case 8: po.m_fScrollSpeed = 5.0f; break; case 9: po.m_fScrollSpeed = 8.0f; break; + case 10: po.m_fScrollSpeed = 12.0f; break; } po.m_AccelType = (PlayerOptions::AccelType)m_iSelectedOption[p][PO_ACCEL]; @@ -150,7 +152,10 @@ void ScreenPlayerOptions::GoToPrevState() void ScreenPlayerOptions::GoToNextState() { - SCREENMAN->SetNewScreen( "ScreenSongOptions" ); + if( PREFSMAN->m_bShowSongOptions == true ) + SCREENMAN->SetNewScreen( "ScreenSongOptions" ); + else + SCREENMAN->SetNewScreen( "ScreenStage" ); } diff --git a/stepmania/src/ScreenPlayerOptions.h b/stepmania/src/ScreenPlayerOptions.h index ed67881f6d..53c6d76864 100644 --- a/stepmania/src/ScreenPlayerOptions.h +++ b/stepmania/src/ScreenPlayerOptions.h @@ -12,6 +12,7 @@ #include "ScreenOptions.h" +#include "PrefsManager.h" class ScreenPlayerOptions : public ScreenOptions diff --git a/stepmania/src/StepMania.cpp b/stepmania/src/StepMania.cpp index a7d032329f..7009a90d6e 100644 --- a/stepmania/src/StepMania.cpp +++ b/stepmania/src/StepMania.cpp @@ -429,11 +429,15 @@ static void HandleInputEvents(float fDeltaTime) */ if( !GAMESTATE->m_bIsOnSystemMenu ) { - SCREENMAN->SystemMessage("OPERATOR"); - SCREENMAN->SetNewScreen("ScreenOptionsMenu"); + SCREENMAN->SystemMessage( "OPERATOR" ); + SCREENMAN->SetNewScreen( "ScreenOptionsMenu" ); //continue; return; } + else + { + return; + } @@ -449,7 +453,7 @@ static void HandleInputEvents(float fDeltaTime) SCREENMAN->RefreshCreditsMessages(); SOUNDMAN->PlayOnce( THEME->GetPathTo("Sounds","insert coin") ); //continue; - break; + return; default: ASSERT(0); }