diff --git a/stepmania/Themes/default/Scripts/00 init.lua b/stepmania/Themes/default/Scripts/00 init.lua index bbd44cb37b..d48c7bd9c1 100644 --- a/stepmania/Themes/default/Scripts/00 init.lua +++ b/stepmania/Themes/default/Scripts/00 init.lua @@ -12,6 +12,8 @@ Trace = lua.Trace Warn = lua.Warn print = Trace +PREFSMAN:SetPreferenceToDefault("TimingWindowSecondsHold"); + PLAYER_1 = "PlayerNumber_P1" PLAYER_2 = "PlayerNumber_P2" NUM_PLAYERS = #PlayerNumber diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 8348ff4d36..9012e4c71d 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2387,7 +2387,6 @@ CheckpointsUseTimeSignatures=false InitialHoldLife=1 RollBodyIncrementsCombo=true CheckpointsTapsSeparateJudgment=true -ImmediateCheckpointMiss=false [PlayerShared] Fallback="Player" diff --git a/stepmania/Themes/pump/Scripts/00 init.lua b/stepmania/Themes/pump/Scripts/00 init.lua new file mode 100644 index 0000000000..e98f7d3176 --- /dev/null +++ b/stepmania/Themes/pump/Scripts/00 init.lua @@ -0,0 +1,52 @@ +-- This file is always executed first. + +-- Override Lua's upper and lower functions with our own, which is always UTF-8. +if Uppercase then + string.upper = Uppercase + string.lower = Lowercase + Uppercase = nil -- don't use directly + Lowercase = nil -- don't use directly +end + +Trace = lua.Trace +Warn = lua.Warn +print = Trace + +PREFSMAN:SetPreference("TimingWindowSecondsHold",0); + +PLAYER_1 = "PlayerNumber_P1" +PLAYER_2 = "PlayerNumber_P2" +NUM_PLAYERS = #PlayerNumber + +function string:find_last( text ) + local LastPos = 0; + while true do + local p = string.find( self, text, LastPos+1, true ); + if not p then return LastPos end + LastPos = p; + end +end + +-- (c) 2006 Glenn Maynard +-- All rights reserved. +-- +-- Permission is hereby granted, free of charge, to any person obtaining a +-- copy of this software and associated documentation files (the +-- "Software"), to deal in the Software without restriction, including +-- without limitation the rights to use, copy, modify, merge, publish, +-- distribute, and/or sell copies of the Software, and to permit persons to +-- whom the Software is furnished to do so, provided that the above +-- copyright notice(s) and this permission notice appear in all copies of +-- the Software and that both the above copyright notice(s) and this +-- permission notice appear in supporting documentation. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +-- THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +-- INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT +-- OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +-- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +-- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE. + diff --git a/stepmania/Themes/pump/metrics.ini b/stepmania/Themes/pump/metrics.ini index 65a2ef36c7..9a2b356ab8 100644 --- a/stepmania/Themes/pump/metrics.ini +++ b/stepmania/Themes/pump/metrics.ini @@ -21,9 +21,8 @@ RequireStepOnHoldHeads=false CheckpointsUseTimeSignatures=true ImmediateHoldLetGo=false RollBodyIncrementsCombo=false -InitialHoldLife=1 +InitialHoldLife=0.05 CheckpointsTapsSeparateJudgment=false -ImmediateCheckpointMiss=true [ScreenSelectMusic] WrapChangeSteps=true diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index 8b405b09ea..b1619b6d3d 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -135,7 +135,6 @@ ThemeMetric IMMEDIATE_HOLD_LET_GO ( "Player", "ImmediateHoldLetGo" ); ThemeMetric REQUIRE_STEP_ON_HOLD_HEADS ( "Player", "RequireStepOnHoldHeads" ); ThemeMetric ROLL_BODY_INCREMENTS_COMBO ( "Player", "RollBodyIncrementsCombo" ); ThemeMetric CHECKPOINTS_TAPS_SEPARATE_JUDGMENT ( "Player", "CheckpointsTapsSeparateJudgment" ); -ThemeMetric IMMEDIATE_CHECKPOINT_MISS ( "Player", "ImmediateCheckpointMiss" ); float Player::GetWindowSeconds( TimingWindow tw ) @@ -2612,8 +2611,7 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) continue; viColsWithHold.push_back( iTrack ); - if( ( IMMEDIATE_CHECKPOINT_MISS && tn.HoldResult.bHeld ) || - ( !IMMEDIATE_CHECKPOINT_MISS && tn.HoldResult.fLife > 0 ) ) + if( tn.HoldResult.fLife > 0 ) { ++iNumHoldsHeldThisRow; ++tn.HoldResult.iCheckpointsHit;