View the list:

* Added new metric to cap the max life of a hold. No sanity checking yet: need a way to keep <= 1.
* Added more Pump specific behavior to lua.
* Fixed combo and hold judgment graphics due to it being defined twice.

Minor cleanup of the ProductivityHelpers is going to have to happen later on.
This commit is contained in:
Jason Felds
2010-01-31 00:27:42 -05:00
parent d56cb505d0
commit 81b4011423
5 changed files with 105 additions and 12 deletions
@@ -173,24 +173,60 @@ function ComboPerRow()
end; end;
end; end;
function HitCombo()
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = "2",
pump = "4",
beat = "2",
kb7 = "2",
para = "2",
};
return Combo[sGame]
end;
function MissCombo()
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = "2",
pump = "4",
beat = "",
kb7 = "",
para = "",
};
return Combo[sGame]
end;
function FailCombo() -- The combo that causes game failure.
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = "30", -- ITG/Pump Pro does it this way.
pump = "51",
beat = "-1",
kb7 = "-1",
para = "-1",
};
return Combo[sGame]
end;
function HoldTiming() function HoldTiming()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return "0"; return 0;
else return PREFSMAN:GetPreference("TimingWindowSecondsHold"); else return PREFSMAN:GetPreference("TimingWindowSecondsHold");
end; end;
end; end;
function HoldJudgmentFail() function HoldJudgmentFail()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return ""; return cmd();
else return "shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0"; else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
end; end;
end; end;
function HoldJudgmentPass() function HoldJudgmentPass()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return ""; return cmd();
else return "shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0"; else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
end; end;
end; end;
@@ -208,6 +244,13 @@ function InitialHoldLife()
end; end;
end; end;
function MaxHoldLife()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return 0.05;
else return 1;
end;
end;
function ImmediateHoldLetGo() function ImmediateHoldLetGo()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return false; return false;
+2 -3
View File
@@ -161,8 +161,6 @@ MeterWidth=0.0
MeterHeight=0.0 MeterHeight=0.0
[Combo] [Combo]
ShowComboAt=(GAMESTATE:GetCurrentGame():GetName() == "pump") and 4 or 2
ShowMissesAt=(GAMESTATE:GetCurrentGame():GetName() == "pump") and 4 or ""
NumberMinZoom=0.8 NumberMinZoom=0.8
NumberMaxZoom=1 NumberMaxZoom=1
@@ -711,6 +709,7 @@ ImmediateHoldLetGo=ImmediateHoldLetGo()
RequireStepOnHoldHeads=HoldHeadStep() RequireStepOnHoldHeads=HoldHeadStep()
CheckpointsUseTimeSignatures=(GAMESTATE:GetCurrentGame():GetName() == "pump") CheckpointsUseTimeSignatures=(GAMESTATE:GetCurrentGame():GetName() == "pump")
InitialHoldLife=InitialHoldLife() InitialHoldLife=InitialHoldLife()
MaxHoldLife=MaxHoldLife()
RollBodyIncrementsCombo=RollBodyIncrementsCombo() RollBodyIncrementsCombo=RollBodyIncrementsCombo()
CheckpointsTapsSeparateJudgment=CheckpointsTapsSeparateJudgment() CheckpointsTapsSeparateJudgment=CheckpointsTapsSeparateJudgment()
ScoreMissedHoldsAndRolls=ScoreMissedHoldsAndRolls() ScoreMissedHoldsAndRolls=ScoreMissedHoldsAndRolls()
@@ -2488,7 +2487,7 @@ PlayerInitCommand=y,SCREEN_CENTER_Y;zoom,(THEME:GetMetric("Common","ScreenHeight
StartGivesUp=true StartGivesUp=true
BackGivesUp=false BackGivesUp=false
# #
FailOnMissCombo=-1 FailOnMissCombo=FailCombo()
GivingUpGoesToPrevScreen=false GivingUpGoesToPrevScreen=false
GivingUpGoesToNextScreen=false GivingUpGoesToNextScreen=false
# #
@@ -0,0 +1,49 @@
function HitCombo()
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = 2,
pump = 4,
beat = 2,
kb7 = 2,
para = 2,
};
return Combo[sGame]
end;
function MissCombo()
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = 2,
pump = 4,
beat = cmd(),
kb7 = cmd(),
para = cmd(),
};
return Combo[sGame]
end;
function FailCombo() -- The combo that causes game failure.
sGame = GAMESTATE:GetCurrentGame():GetName();
local Combo = {
dance = "30", -- ITG/Pump Pro does it this way.
pump = "51",
beat = "-1",
kb7 = "-1",
para = "-1",
};
return Combo[sGame]
end;
function HoldJudgmentFail()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return cmd();
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
end;
end;
function HoldJudgmentPass()
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
return cmd();
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
end;
end;
+4 -3
View File
@@ -31,7 +31,8 @@ ShowQMarksInRandomCycle=true
[HelpDisplay] [HelpDisplay]
TipShowTime=7 TipShowTime=7
[Combo] [Combo]
ShowComboAt=2 ShowComboAt=HitCombo()
ShowMissesAt=MissCombo()
NumberMinZoom=0.8 NumberMinZoom=0.8
NumberMaxZoom=1 NumberMaxZoom=1
@@ -43,8 +44,8 @@ LabelOnCommand=x,6;y,22;shadowlength,1;horizalign,left;vertalign,bottom
[HoldJudgment] [HoldJudgment]
# !!! # # !!! #
HoldJudgmentLetGoCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 HoldJudgmentLetGoCommand=HoldJudgmentFail()
HoldJudgmentHeldCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 HoldJudgmentHeldCommand=HoldJudgmentPass()
[Judgment] [Judgment]
# New # # New #
+2 -1
View File
@@ -127,6 +127,7 @@ static Preference<bool> g_bEnableMineSoundPlayback ( "EnableMineHitSound", true
Preference<float> g_fTimingWindowHopo ( "TimingWindowHopo", 0.25 ); // max time between notes in a hopo chain Preference<float> g_fTimingWindowHopo ( "TimingWindowHopo", 0.25 ); // max time between notes in a hopo chain
Preference<float> g_fTimingWindowStrum ( "TimingWindowStrum", 0.1f ); // max time between strum and when the frets must match Preference<float> g_fTimingWindowStrum ( "TimingWindowStrum", 0.1f ); // max time between strum and when the frets must match
ThemeMetric<float> INITIAL_HOLD_LIFE ( "Player", "InitialHoldLife" ); ThemeMetric<float> INITIAL_HOLD_LIFE ( "Player", "InitialHoldLife" );
ThemeMetric<float> MAX_HOLD_LIFE ( "Player", "MaxHoldLife" );
ThemeMetric<bool> PENALIZE_TAP_SCORE_NONE ( "Player", "PenalizeTapScoreNone" ); ThemeMetric<bool> PENALIZE_TAP_SCORE_NONE ( "Player", "PenalizeTapScoreNone" );
ThemeMetric<bool> JUDGE_HOLD_NOTES_ON_SAME_ROW_TOGETHER ( "Player", "JudgeHoldNotesOnSameRowTogether" ); ThemeMetric<bool> JUDGE_HOLD_NOTES_ON_SAME_ROW_TOGETHER ( "Player", "JudgeHoldNotesOnSameRowTogether" );
ThemeMetric<bool> HOLD_CHECKPOINTS ( "Player", "HoldCheckpoints" ); ThemeMetric<bool> HOLD_CHECKPOINTS ( "Player", "HoldCheckpoints" );
@@ -1039,7 +1040,7 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
if( bInitiatedNote && bIsHoldingButton ) if( bInitiatedNote && bIsHoldingButton )
{ {
// Increase life // Increase life
fLife = 1; fLife = MAX_HOLD_LIFE;
} }
else else
{ {