From 0a4a81d5e8d076f6f0bbec19c05c19c68df3b8f5 Mon Sep 17 00:00:00 2001 From: Kyzentun Date: Sat, 20 Dec 2014 19:39:38 -0700 Subject: [PATCH] Added a bunch of preferences to service options menu. --- Docs/Changelog_sm5.txt | 12 ++++++++++- Themes/_fallback/Languages/en.ini | 36 +++++++++++++++++++++++++++++++ Themes/_fallback/metrics.ini | 13 +++++++++-- src/ScreenOptionsMasterPrefs.cpp | 28 ++++++++++++++++++++++++ 4 files changed, 86 insertions(+), 3 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f15e2a048e..49c0335c11 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,16 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +2014/12/20 +---------- +* [Preferences] AllowMultipleHighScoreWithSameName, ComboContinuesBetweenSongs + Disqualification, FailOffForFirstStageEasy, FailOffInBeginner, + LockCourseDifficulties, InputDebounceTime, MaxHighScoresPerListForMachine, + and MaxHighScoresPerListForPlayer added to service options. + InputDebounceTime is in Input Options, the rest are in Arcade Options. + (might not show up in themes that customize the order and placement of the + preferences) [kyzentun] + 2014/12/18 ---------- * [Profile] GetTotalDancePoints added. [kyzentun] @@ -50,7 +60,7 @@ ________________________________________________________________________________ a new profile was created fixed. [kyzentun] * [Everything] Actor and singleton functions that formerly returned nothing now return the actor or singleton. Example (set zoom, x, y, and diffuse in one): - self:zoom(.5):xy(_screen.cx, _screen.h-60):diffuse(color("#dc322f")) + self:zoom(.5):xy(_screen.cx, _screen.h-60):diffuse(color("#dc322f")) This also works for PlayerOptions and SongOptions API functions. Pass true as an extra arg, and they can be chained. diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index b59f016c96..d630cc5536 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -330,6 +330,7 @@ Not Supported=Mode not supported while networked. Accel=Accelerate, Decelerate or otherwise adjust the arrow speed. AllowExtraStage=When enabled (and Event Mode isn't on), allows the player to earn extra stages after completing certain requirements. AllowW1=Enable or disable fantastic judgement. NEVER - never show Fantastic, COURSES ONLY - only during nonstop/oni modes, ALWAYS - all modes of play. +AllowMultipleHighScoreWithSameName=If turned off, only the highest score with a given name will be saved. Announcer=Choose from this list of installed announcer packs. Appearance=Appearance Appearance Options=Change the theme, announcer, and other style options. @@ -360,6 +361,7 @@ Clear Machine Stats=Clear all scores saved to this machine. CoinMode=&oq;Home&cq;: Options are shown on the Title Menu. &oq;Pay&cq;: Title Menu choices are hidden; must insert coins before playing. &oq;Free Play&cq;: Title Menu choices are hidden; Play without inserting coins. CoinModeNoHome=When set to PAY you must insert coins before joining in. When set to FREE you can join in without inserting coins. CoinsPerCredit=The number of coins that must be inserted before a player can join. (when Coin Mode = Pay) +ComboContinuesBetweenSongs=If turned on, the combo will not be reset to 0 after every song. Connection=Connect to Server (To be specified) CourseSortOrder=Determines how courses are sorted. CreateNew= @@ -376,6 +378,7 @@ Difficulty= DisplayAspectRatio=Change the width-to-height ratio of graphics in the game. Most modern displays are either 16:9 or 16:10. DisplayColorDepth=Choose the color depth of the window. This option may not take effect in windowed mode. DisplayResolution=Choose the output resolution. A higher resolution will show more detail, but requires a faster video card. +Disqualification=If turned off, players cannot be disqualified from scoring. EasterEggs=Enable or disable some special easter eggs. Edit Courses=Edit Courses Edit Courses/Mods=Edit Courses/Mods @@ -390,6 +393,8 @@ EnableMineHitSound=If enabled, a sound will play when a mine is stepped on. EventMode=When set to &oq;ON&cq;, and you can continue playing forever. Failing will also take you back to the the Select Music or Select Course screen. Exit= Fail=Fail +FailOffForFirstStageEasy=If enabled, the first stage will be considered Fail Off on Easy. +FailOffInBeginner=If enabled, beginner will always be considered Fail Off. FastLoad=If enabled, don't check songs for changes on load. FastLoadAdditionalSongs=If enabled, don't check songs for changes to Additional Songs on load. FastNoteRendering=If enabled, the z buffer is not cleared after every note. This causes 3d noteskins to collide, but substantially improves performance in gameplay. @@ -401,6 +406,7 @@ Group= HiddenSongs=Some songs are only playable during Oni courses and with roulette. Leave this &oq;OFF&cq; to always display all songs. Hide=Hide Holds=Holds +InputDebounceTime=Time that a panel takes to depress. Use this to deal with ghost steps that occur a few milliseconds after a real step. Insert=Insert Insert Credit=Insert Credit Invalid=Invalid row definition. @@ -408,9 +414,12 @@ Key Joy Mappings=Map keys and joystick buttons to game functions. Language=Choose your language. LifeDifficulty=Increase this value to cause your life meter to drain faster and refill slower. LifeType=LifeType +LockCourseDifficulties=If enabled, players are not allowed to choose different difficulties in course mode. Advanced Options=Change advanced options such as scoring, timing window, and life meter settings. MasterVolume= HighResolutionTextures=Choose whether high resolution textures (if supported by the current theme) will be used. When set to Auto, high resolution textures will be used if the display height is > 480. +MaxHighScoresPerListForMachine=The maximum number of high scores to save for a song for the machine. +MaxHighScoresPerListForPlayer=The maximum number of high scores to save for a song for a player. MaxTextureResolution=Choose the maximum texture resolution. Setting this to anything below 1024 will cause some textures to appear blurry, but may increase your frame rate. MenuTimer=When &oq;ON&cq;, menus have a time limit. Mines=Mines @@ -534,6 +543,17 @@ GamePrefDefaultFail=Immediate fail causes a player to die when their life bar re UserPrefScoringMode=Select the scoring mode to be used when not in a course. [OptionNames] +0ms=0ms +10ms=10ms +20ms=20ms +30ms=30ms +40ms=40ms +50ms=50ms +60ms=60ms +70ms=70ms +80ms=80ms +90ms=90ms +100ms=100ms 0=0 0.25x=0.25x 0.3x=0.3x @@ -567,6 +587,13 @@ x2.5=2.5x 12=12 12th=12th 13=13 +14=14 +15=15 +16=16 +17=17 +18=18 +19=19 +20=20 16bit=16bit 16th=16th 192nd=192nd @@ -855,6 +882,7 @@ Add Mod=Add Mod Air=Air AllowExtraStage=Allow Extra Stage AllowW1=Fantastic Timing +AllowMultipleHighScoreWithSameName=Allow Multiple HighScore With Same Name Alter=Alter Announcer=Announcer Appearance=Appearance @@ -897,6 +925,7 @@ Clear clipboard=Clear clipboard CoinMode=Coin Mode CoinModeNoHome=Coin Mode CoinsPerCredit=Coins Per Credit +ComboContinuesBetweenSongs=Carry Combo Connection=Connection Convert pause to beats=Convert stop to beats Convert delay to beats=Convert delay to beats @@ -930,10 +959,13 @@ Display BPM=Display BPM DisplayAspectRatio=Aspect Ratio DisplayColorDepth=Display Color DisplayResolution=Display Resolution +Disqualification=Disqualification Duration seconds=Duration seconds EasterEggs=Easter Eggs Edit Songs/Steps=Edit Songs/Steps FastNoteRendering=Fast Note Rendering +FailOffForFirstStageEasy=Fail Off First Easy +FailOffInBeginner=Fail Off Beginner Genre=Genre Practice Songs/Steps=Practice Songs/Steps Edit Courses=Edit Courses @@ -1001,6 +1033,7 @@ Hide=Hide High Meter=High Meter HighResolutionTextures=High-Res Textures Holds=Holds +InputDebounceTime=Input Debounce Time Insert=Insert Insert Credit=Insert Credit Insert beat and shift down=Insert beat and shift down @@ -1015,11 +1048,14 @@ Layer=Layer Lifts=Lifts LifeDifficulty=Life Difficulty LifeType=Life Type +LockCourseDifficulties=Lock Course Difficulties Low Meter=Low Meter Advanced Options=Advanced Options Main title=Main title Main title transliteration=Main title transliteration Max BPM=Max Specified BPM +MaxHighScoresPerListForMachine=Max Machine Scores +MaxHighScoresPerListForPlayer=Max Player Scores MaxTextureResolution=Texture Resolution MenuTimer=Menu Timer Meter=Meter diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 3f1143290c..91808f5a5e 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3075,26 +3075,35 @@ Line14="conf,ShowSongOptions" Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService" -LineNames="1,2,3,4,5,6" +LineNames="1,2,3,4,5,6,7" Line1="conf,AutoMapOnJoyChange" Line2="conf,OnlyDedicatedMenuButtons" Line3="conf,DelayedBack" Line4="conf,ArcadeOptionsNavigation" Line5="conf,ThreeKeyNavigation" Line6="conf,MusicWheelSwitchSpeed" +Line7="conf,InputDebounceTime" [ScreenOptionsArcade] Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService" # stuff tied to arcade features -LineNames="1,2,3,4,5,6" +LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14" Line1="conf,GetRankingName" Line2="conf,CoinMode" Line3="conf,SongsPerPlay" Line4="conf,CoinsPerCredit" Line5="conf,Premium" Line6="conf,EventMode" +Line7="conf,AllowMultipleHighScoreWithSameName" +Line8="conf,ComboContinuesBetweenSongs" +Line9="conf,Disqualification" +Line10="conf,FailOffForFirstStageEasy" +Line11="conf,FailOffInBeginner" +Line12="conf,LockCourseDifficulties" +Line13="conf,MaxHighScoresPerListForMachine" +Line14="conf,MaxHighScoresPerListForPlayer" [ScreenOptionsTheme] Fallback="ScreenOptionsServiceChild" diff --git a/src/ScreenOptionsMasterPrefs.cpp b/src/ScreenOptionsMasterPrefs.cpp index 472485453d..8dca990655 100644 --- a/src/ScreenOptionsMasterPrefs.cpp +++ b/src/ScreenOptionsMasterPrefs.cpp @@ -405,6 +405,13 @@ static void MusicWheelSwitchSpeed( int &sel, bool ToSel, const ConfOption *pConf MoveMap( sel, pConfOption, ToSel, mapping, ARRAYLEN(mapping) ); } +static void InputDebounceTime(int& sel, bool to_sel, ConfOption const* conf_option) +{ + float const mapping[]= {0.0f, 0.01f, 0.02f, 0.03f, 0.04f, 0.05f, 0.06f, 0.07f, 0.08f, 0.09f, 0.1f}; + MoveMap(sel, conf_option, to_sel, mapping, ARRAYLEN(mapping)); +} + +// Machine options static void CoinModeNoHome( int &sel, bool ToSel, const ConfOption *pConfOption ) { // 0 = Pay, 1 = Free @@ -488,6 +495,18 @@ static void LifeDifficulty( int &sel, bool ToSel, const ConfOption *pConfOption MoveMap( sel, pConfOption, ToSel, mapping, ARRAYLEN(mapping) ); } +static void MaxHighScoresPerListForMachine(int& sel, bool to_sel, ConfOption const* conf_option) +{ + int const mapping[]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; + MoveMap(sel, conf_option, to_sel, mapping, ARRAYLEN(mapping)); +} + +static void MaxHighScoresPerListForPlayer(int& sel, bool to_sel, ConfOption const* conf_option) +{ + int const mapping[]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; + MoveMap(sel, conf_option, to_sel, mapping, ARRAYLEN(mapping)); +} + #include "LuaManager.h" static int GetTimingDifficulty() @@ -730,6 +749,7 @@ static void InitializeConfOptions() ADD( ConfOption( "ArcadeOptionsNavigation", MovePref, "StepMania Style","Arcade Style" ) ); ADD( ConfOption( "ThreeKeyNavigation", MovePref, "Five Key Menu", "Three Key Menu" ) ); ADD( ConfOption( "MusicWheelSwitchSpeed", MusicWheelSwitchSpeed, "Slow","Normal","Fast","Really Fast" ) ); + ADD( ConfOption( "InputDebounceTime", InputDebounceTime, "0ms", "10ms", "20ms", "30ms", "40ms", "50ms", "60ms", "70ms", "80ms", "90ms", "100ms") ); // Gameplay options ADD( ConfOption( "Center1Player", MovePref, "Off","On" ) ); @@ -738,6 +758,12 @@ static void InitializeConfOptions() // W1 is Fantastic Timing ADD( ConfOption( "AllowW1", MovePref, "Never","Courses Only","Always" ) ); ADD( ConfOption( "AllowExtraStage", MovePref, "Off","On" ) ); + ADD( ConfOption( "AllowMultipleHighScoreWithSameName", MovePref, "Off", "On" ) ); + ADD( ConfOption( "ComboContinuesBetweenSongs", MovePref, "Off", "On") ); + ADD( ConfOption( "Disqualification", MovePref, "Off","On" ) ); + ADD( ConfOption( "FailOffForFirstStageEasy", MovePref, "Off","On" ) ); + ADD( ConfOption( "FailOffInBeginner", MovePref, "Off","On" ) ); + ADD( ConfOption( "LockCourseDifficulties", MovePref, "Off", "On" ) ); ADD( ConfOption( "PickExtraStage", MovePref, "Off","On" ) ); ADD( ConfOption( "UseUnlockSystem", MovePref, "Off","On" ) ); @@ -767,6 +793,8 @@ static void InitializeConfOptions() ADD( ConfOption( "ShowSongOptions", MovePref, "Ask", "Hide","Show" ) ); ADD( ConfOption( "PercentageScoring", MovePref, "Off","On" ) ); ADD( ConfOption( "GetRankingName", MovePref, "Off", "On", "Ranking Songs" ) ); + ADD( ConfOption( "MaxHighScoresPerListForMachine", MaxHighScoresPerListForMachine, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20") ); + ADD( ConfOption( "MaxHighScoresPerListForPlayer", MaxHighScoresPerListForPlayer, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20") ); ADD( ConfOption( "MinTNSToHideNotes", MovePref, "TNS_None", "TNS_HitMine", "TNS_AvoidMine", "TNS_CheckpointMiss", "TNS_Miss", "TNS_W5", "TNS_W4", "TNS_W3", "TNS_W2", "TNS_W1", "TNS_CheckpointHit"));