Added AllowHoldForOptions preference.
Back button now only backs out of a screen on a press. Updated changelog.
This commit is contained in:
@@ -16,6 +16,13 @@ Example:
|
||||
This means that three strings were added to the "ScreenDebugOverlay" section,
|
||||
"Mute actions", "Mute actions on", and "Mute actions off".
|
||||
|
||||
2016/06/24
|
||||
----------
|
||||
* [OptionNames] Double Tap
|
||||
* [OptionTitles] AllowHoldForOptions
|
||||
* [OptionExplanations] AllowHoldForOptions
|
||||
* [ScreenGameplay] GiveUpSelectText
|
||||
|
||||
2016/01/18
|
||||
----------
|
||||
* [ScreenEdit] Clear timing in region
|
||||
|
||||
@@ -4,6 +4,35 @@ 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.
|
||||
________________________________________________________________________________
|
||||
|
||||
2016/06/24
|
||||
----------
|
||||
* [SelectMusic] Added AllowHoldForOptions preference to disable holding start
|
||||
to go to the player options screen. [kyzentun]
|
||||
* [General] Back button will only back out of the screen on a press, not when
|
||||
it is still being held from the previous screen. [kyzentun]
|
||||
|
||||
2016/06/12
|
||||
----------
|
||||
* [ScreenSyncOverlay] Moved actors to lua to make them themable. [kyzentun]
|
||||
|
||||
2016/06/09
|
||||
----------
|
||||
* [Gameplay] Ready and Go announcer sounds no longer play simultaneously. If
|
||||
the Ready animation doesn't exist and the Go animation exists, only the
|
||||
Go announcer sound is played. If neither animation exists, only the Ready
|
||||
announcer sound is played. [kyzentun]
|
||||
|
||||
2016/06/07
|
||||
----------
|
||||
* [NotesWriterSM] Stops, delays, and warps that occur on the same row are now
|
||||
summed correctly. Fixes bug that deleted warps that were on the same row
|
||||
as a stop. [kyzentun]
|
||||
* [Sound] Ignore invalid SoundDriver preference. [kyzentun]
|
||||
|
||||
2016/06/06
|
||||
----------
|
||||
* [Language] Traditional Chinese translation added. [ddrtime]
|
||||
|
||||
2016/05/25
|
||||
----------
|
||||
* [MemoryCards] Fixed bug that caused loading profiles from usb drives to
|
||||
|
||||
@@ -342,6 +342,7 @@ Not Supported=Mode not supported while networked.
|
||||
[OptionExplanations]
|
||||
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.
|
||||
AllowHoldForOptions=If set to double tap, holding start when selecting a song will not go to the options screen.
|
||||
AllowSongDeletion=Allow players to permanently delete songs from the system by pressing Ctrl+Backspace when browsing the music wheel.
|
||||
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. If turned on, it will allow mutliple high scores with a given name to be saved.
|
||||
@@ -747,6 +748,7 @@ Distant=Distant
|
||||
Dizzy=Dizzy
|
||||
Don'tSave=Don't Save
|
||||
Double for 1 Credit=Double for 1 Credit
|
||||
Double Tap=Double Tap
|
||||
Drunk=Drunk
|
||||
Dynamic Random=Dynamic Random
|
||||
Echo=Echo
|
||||
@@ -945,6 +947,7 @@ Add Mod=Add Mod
|
||||
Air=Air
|
||||
All timing=All timing
|
||||
AllowExtraStage=Allow Extra Stage
|
||||
AllowHoldForOptions=Allow Hold For Options
|
||||
AllowSongDeletion=Allow Song Deletion
|
||||
AllowW1=Fantastic Timing
|
||||
AllowMultipleHighScoreWithSameName=Competitive Mode
|
||||
|
||||
@@ -3133,10 +3133,11 @@ Line14="conf,ShowSongOptions"
|
||||
Fallback="ScreenOptionsServiceChild"
|
||||
NextScreen="ScreenOptionsService"
|
||||
PrevScreen="ScreenOptionsService"
|
||||
LineNames="1,2,3,4,5,6,7,8"
|
||||
LineNames="1,2,3,AH,4,5,6,7,8"
|
||||
Line1="conf,AutoMapOnJoyChange"
|
||||
Line2="conf,OnlyDedicatedMenuButtons"
|
||||
Line3="conf,DelayedBack"
|
||||
LineAH="conf,AllowHoldForOptions"
|
||||
Line4="conf,ArcadeOptionsNavigation"
|
||||
Line5="conf,ThreeKeyNavigation"
|
||||
Line6="conf,MusicWheelSwitchSpeed"
|
||||
@@ -3464,6 +3465,7 @@ PlayerInitCommand=y,SCREEN_CENTER_Y;zoom,(THEME:GetMetric("Common","ScreenHeight
|
||||
StartGivesUp=true
|
||||
BackGivesUp=false
|
||||
GiveUpSeconds=2.5
|
||||
UsePauseMenuInsteadOfGiveUp=false
|
||||
# rage
|
||||
AllowCenter1Player=true
|
||||
#
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
gameplay_pause_count= 0
|
||||
course_stopped_by_pause_menu= false
|
||||
|
||||
local prompt_text= {
|
||||
Start= THEME:GetString("ScreenGameplay", "GiveUpStartText"),
|
||||
Select= THEME:GetString("ScreenGameplay", "GiveUpSelectText"),
|
||||
Back= THEME:GetString("ScreenGameplay", "GiveUpBackText"),
|
||||
}
|
||||
local prompt_actor= false
|
||||
|
||||
local pause_buttons= {Start= false, Select= true, Back= true}
|
||||
local pause_double_tap_time= 1
|
||||
local tap_debounce_time= .1
|
||||
@@ -178,13 +185,18 @@ local function pause_and_show(pn)
|
||||
old_fg_visible= fg:GetVisible()
|
||||
fg:visible(false)
|
||||
end
|
||||
local prompt_text= screen_gameplay:GetChild("Debug")
|
||||
if prompt_text then
|
||||
prompt_text:playcommand("TweenOff")
|
||||
end
|
||||
prompt_actor:playcommand("Hide")
|
||||
show_menu(pn)
|
||||
end
|
||||
|
||||
local function show_prompt(button)
|
||||
prompt_actor:playcommand("Show", {text= prompt_text[button]})
|
||||
end
|
||||
|
||||
local function hide_prompt()
|
||||
prompt_actor:playcommand("Hide")
|
||||
end
|
||||
|
||||
local function input(event)
|
||||
local pn= event.PlayerNumber
|
||||
if not enabled_players[pn] then return end
|
||||
@@ -222,13 +234,16 @@ local function input(event)
|
||||
if time_since_press <= pause_double_tap_time then
|
||||
pause_and_show(pn)
|
||||
else
|
||||
show_prompt(button)
|
||||
pause_press_times[pn]= GetTimeSinceStart()
|
||||
end
|
||||
end
|
||||
else
|
||||
show_prompt(button)
|
||||
pause_press_times[pn]= GetTimeSinceStart()
|
||||
end
|
||||
else
|
||||
hide_prompt()
|
||||
pause_press_times[pn]= nil
|
||||
end
|
||||
end
|
||||
@@ -239,6 +254,18 @@ local frame= Def.ActorFrame{
|
||||
screen_gameplay= SCREENMAN:GetTopScreen()
|
||||
screen_gameplay:AddInputCallback(input)
|
||||
end,
|
||||
Def.BitmapText{
|
||||
Font= "Common Normal", InitCommand= function(self)
|
||||
prompt_actor= self
|
||||
self:xy(_screen.cx, _screen.h*.75):zoom(.75):diffusealpha(0)
|
||||
end,
|
||||
ShowCommand= function(self, param)
|
||||
self:stoptweening():settext(param.text):accelerate(.25):diffusealpha(1)
|
||||
end,
|
||||
HideCommand= function(self)
|
||||
self:stoptweening():decelerate(.25):diffusealpha(0)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
for i, pn in ipairs(GAMESTATE:GetEnabledPlayers()) do
|
||||
|
||||
@@ -85,8 +85,8 @@ HelpText=
|
||||
[ScreenGameplay]
|
||||
GiveUpAbortedText=
|
||||
GiveUpStartText=Double tap &START; to access menu
|
||||
GiveUpSelectText=Double tap &SELECT; to access menu
|
||||
GiveUpBackText=Double tap &BACK; to access menu
|
||||
SkipSongText=Double tap &SELECT; to access menu
|
||||
HelpText=
|
||||
|
||||
[PauseMenu]
|
||||
|
||||
@@ -1424,6 +1424,7 @@ HelpOnCommand=visible,false
|
||||
|
||||
# 05 # C
|
||||
[ScreenGameplay]
|
||||
UsePauseMenuInsteadOfGiveUp=true
|
||||
#
|
||||
SongMeterDisplayX=SCREEN_CENTER_X
|
||||
SongMeterDisplayY=SCREEN_TOP+50
|
||||
|
||||
@@ -211,6 +211,7 @@ PrefsManager::PrefsManager() :
|
||||
m_bMercifulBeginner ( "MercifulBeginner", false ),
|
||||
m_bMercifulSuperMeter ( "MercifulSuperMeter", true ),
|
||||
m_bDelayedBack ( "DelayedBack", true ),
|
||||
m_AllowHoldForOptions("AllowHoldForOptions", true),
|
||||
m_bShowInstructions ( "ShowInstructions", true ),
|
||||
m_bShowCaution ( "ShowCaution", true ),
|
||||
m_bShowNativeLanguage ( "ShowNativeLanguage", true ),
|
||||
|
||||
@@ -203,6 +203,7 @@ public:
|
||||
Preference<bool> m_bMercifulBeginner; // don't subtract from percent score or grade DP, larger W5 window
|
||||
Preference<bool> m_bMercifulSuperMeter; // negative super deltas are scaled by the players life percentage
|
||||
Preference<bool> m_bDelayedBack;
|
||||
Preference<bool> m_AllowHoldForOptions;
|
||||
Preference<bool> m_bShowInstructions; // how to play a mode
|
||||
Preference<bool> m_bShowCaution;
|
||||
Preference<bool> m_bShowNativeLanguage;
|
||||
|
||||
+4
-2
@@ -213,8 +213,10 @@ bool Screen::Input( const InputEventPlus &input )
|
||||
case GAME_BUTTON_MENULEFT: return this->MenuLeft ( input );
|
||||
case GAME_BUTTON_MENURIGHT: return this->MenuRight( input );
|
||||
case GAME_BUTTON_BACK:
|
||||
// Don't make the user hold the back button if they're pressing escape and escape is the back button.
|
||||
if( !PREFSMAN->m_bDelayedBack || input.type==IET_REPEAT || (input.DeviceI.device == DEVICE_KEYBOARD && input.DeviceI.button == KEY_ESC) )
|
||||
// Only go back on first press. If somebody is backing out of the
|
||||
// options screen, they might still be holding it when select music
|
||||
// appears, and accidentally back out of that too. -Kyz
|
||||
if(input.type == IET_FIRST_PRESS)
|
||||
{
|
||||
if( HANDLE_BACK_BUTTON )
|
||||
return this->MenuBack( input );
|
||||
|
||||
+11
-4
@@ -67,6 +67,7 @@
|
||||
#define SHOW_SCORE_IN_RAVE THEME->GetMetricB(m_sName,"ShowScoreInRave")
|
||||
#define SONG_POSITION_METER_WIDTH THEME->GetMetricF(m_sName,"SongPositionMeterWidth")
|
||||
#define STOP_COURSE_EARLY THEME->GetMetricB(m_sName,"StopCourseEarly") // evaluate this every time it's used
|
||||
#define USE_PAUSE_MENU_INSTEAD_OF_GIVE_UP THEME->GetMetricB(m_sName, "UsePauseMenuInsteadOfGiveUp")
|
||||
|
||||
static ThemeMetric<float> INITIAL_BACKGROUND_BRIGHTNESS ("ScreenGameplay","InitialBackgroundBrightness");
|
||||
static ThemeMetric<float> SECONDS_BETWEEN_COMMENTS ("ScreenGameplay","SecondsBetweenComments");
|
||||
@@ -904,6 +905,8 @@ void ScreenGameplay::Init()
|
||||
|
||||
m_GiveUpTimer.SetZero();
|
||||
m_SkipSongTimer.SetZero();
|
||||
m_gave_up= false;
|
||||
m_skipped_song= false;
|
||||
}
|
||||
|
||||
bool ScreenGameplay::Center1Player() const
|
||||
@@ -1933,9 +1936,13 @@ void ScreenGameplay::Update( float fDeltaTime )
|
||||
}
|
||||
|
||||
// update give up
|
||||
bool bGiveUpTimerFired = !m_GiveUpTimer.IsZero() && m_GiveUpTimer.Ago() > GIVE_UP_SECONDS;
|
||||
m_gave_up= bGiveUpTimerFired;
|
||||
m_skipped_song= !m_SkipSongTimer.IsZero() && m_SkipSongTimer.Ago() > GIVE_UP_SECONDS;
|
||||
bool bGiveUpTimerFired = false;
|
||||
if(!USE_PAUSE_MENU_INSTEAD_OF_GIVE_UP)
|
||||
{
|
||||
bGiveUpTimerFired= !m_GiveUpTimer.IsZero() && m_GiveUpTimer.Ago() > GIVE_UP_SECONDS;
|
||||
m_gave_up= bGiveUpTimerFired;
|
||||
m_skipped_song= !m_SkipSongTimer.IsZero() && m_SkipSongTimer.Ago() > GIVE_UP_SECONDS;
|
||||
}
|
||||
|
||||
|
||||
bool bAllHumanHaveBigMissCombo = true;
|
||||
@@ -2444,7 +2451,7 @@ bool ScreenGameplay::Input( const InputEventPlus &input )
|
||||
return false;
|
||||
}
|
||||
|
||||
if( m_DancingState != STATE_OUTRO &&
|
||||
if(!USE_PAUSE_MENU_INSTEAD_OF_GIVE_UP && m_DancingState != STATE_OUTRO &&
|
||||
GAMESTATE->IsHumanPlayer(input.pn) &&
|
||||
!m_Cancel.IsTransitioning() )
|
||||
{
|
||||
|
||||
@@ -783,6 +783,7 @@ static void InitializeConfOptions()
|
||||
ADD( ConfOption( "OnlyDedicatedMenuButtons", MovePref<bool>, "Use Gameplay Buttons","Only Dedicated Buttons" ) );
|
||||
ADD( ConfOption( "AutoPlay", MovePref<PlayerController>, "Off","On","CPU-Controlled" ) );
|
||||
ADD( ConfOption( "DelayedBack", MovePref<bool>, "Instant","Hold" ) );
|
||||
ADD( ConfOption( "AllowHoldForOptions", MovePref<bool>, "Double Tap", "Hold"));
|
||||
ADD( ConfOption( "ArcadeOptionsNavigation", MovePref<bool>, "StepMania Style","Arcade Style" ) );
|
||||
ADD( ConfOption( "ThreeKeyNavigation", MovePref<bool>, "Five Key Menu", "Three Key Menu" ) );
|
||||
ADD( ConfOption( "MusicWheelSwitchSpeed", MusicWheelSwitchSpeed, "Slow","Normal","Fast","Really Fast" ) );
|
||||
|
||||
@@ -1517,7 +1517,10 @@ bool ScreenSelectMusic::MenuStart( const InputEventPlus &input )
|
||||
* hit accidentally. Accept an initial START right away, though,
|
||||
* so we don't ignore deliberate fast presses (which would be
|
||||
* annoying). */
|
||||
this->PostScreenMessage( SM_AllowOptionsMenuRepeat, 0.5f );
|
||||
if(PREFSMAN->m_AllowHoldForOptions.Get())
|
||||
{
|
||||
this->PostScreenMessage( SM_AllowOptionsMenuRepeat, 0.5f );
|
||||
}
|
||||
|
||||
StartTransitioningScreen( SM_None );
|
||||
float fTime = max( SHOW_OPTIONS_MESSAGE_SECONDS, this->GetTweenTimeLeft() );
|
||||
|
||||
Reference in New Issue
Block a user