Combination revert and hack. Remove the ImmediateCheckpointMiss metric, use lua to set the Preference as required. This code assumes the default value of TimingWindowSecondsHold is in place normally: improvements to restore non default values are appreciated.

This commit is contained in:
Jason Felds
2009-06-05 04:20:00 +00:00
parent c7e5edab5e
commit 6642c6b7f0
5 changed files with 56 additions and 6 deletions
@@ -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
-1
View File
@@ -2387,7 +2387,6 @@ CheckpointsUseTimeSignatures=false
InitialHoldLife=1
RollBodyIncrementsCombo=true
CheckpointsTapsSeparateJudgment=true
ImmediateCheckpointMiss=false
[PlayerShared]
Fallback="Player"
+52
View File
@@ -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.
+1 -2
View File
@@ -21,9 +21,8 @@ RequireStepOnHoldHeads=false
CheckpointsUseTimeSignatures=true
ImmediateHoldLetGo=false
RollBodyIncrementsCombo=false
InitialHoldLife=1
InitialHoldLife=0.05
CheckpointsTapsSeparateJudgment=false
ImmediateCheckpointMiss=true
[ScreenSelectMusic]
WrapChangeSteps=true
+1 -3
View File
@@ -135,7 +135,6 @@ ThemeMetric<bool> IMMEDIATE_HOLD_LET_GO ( "Player", "ImmediateHoldLetGo" );
ThemeMetric<bool> REQUIRE_STEP_ON_HOLD_HEADS ( "Player", "RequireStepOnHoldHeads" );
ThemeMetric<bool> ROLL_BODY_INCREMENTS_COMBO ( "Player", "RollBodyIncrementsCombo" );
ThemeMetric<bool> CHECKPOINTS_TAPS_SEPARATE_JUDGMENT ( "Player", "CheckpointsTapsSeparateJudgment" );
ThemeMetric<bool> 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;