@@ -405,6 +405,7 @@ LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75
|
|||||||
|
|
||||||
[HoldJudgment]
|
[HoldJudgment]
|
||||||
# System Direction
|
# System Direction
|
||||||
|
HoldJudgmentMissedHoldCommand=
|
||||||
HoldJudgmentLetGoCommand=finishtweening;visible,true;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=finishtweening;visible,true;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
|
||||||
HoldJudgmentHeldCommand=finishtweening;visible,true;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=finishtweening;visible,true;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
|
||||||
|
|
||||||
@@ -643,6 +644,7 @@ LifePercentChangeMiss=-0.080
|
|||||||
LifePercentChangeHitMine=-0.160
|
LifePercentChangeHitMine=-0.160
|
||||||
LifePercentChangeHeld=IsGame("Pump") and 0.000 or 0.008
|
LifePercentChangeHeld=IsGame("Pump") and 0.000 or 0.008
|
||||||
LifePercentChangeLetGo=IsGame("Pump") and 0.000 or -0.080
|
LifePercentChangeLetGo=IsGame("Pump") and 0.000 or -0.080
|
||||||
|
LifePercentChangeMissedHold=0.000
|
||||||
LifePercentChangeCheckpointMiss=-0.080
|
LifePercentChangeCheckpointMiss=-0.080
|
||||||
LifePercentChangeCheckpointHit=0.008
|
LifePercentChangeCheckpointHit=0.008
|
||||||
|
|
||||||
@@ -1239,6 +1241,7 @@ DeltaSecondsW2Command=
|
|||||||
DeltaSecondsW1Command=
|
DeltaSecondsW1Command=
|
||||||
DeltaSecondsLetGoCommand=
|
DeltaSecondsLetGoCommand=
|
||||||
DeltaSecondsHeldCommand=
|
DeltaSecondsHeldCommand=
|
||||||
|
DeltaSecondsMissedHoldCommand=
|
||||||
DeltaSecondsGainLifeCommand=
|
DeltaSecondsGainLifeCommand=
|
||||||
|
|
||||||
[ScoreDisplayPercentage Percent]
|
[ScoreDisplayPercentage Percent]
|
||||||
@@ -1336,6 +1339,7 @@ PercentScoreWeightCheckpointHit=3
|
|||||||
PercentScoreWeightCheckpointMiss=0
|
PercentScoreWeightCheckpointMiss=0
|
||||||
PercentScoreWeightHeld=IsGame("Pump") and 0 or 3
|
PercentScoreWeightHeld=IsGame("Pump") and 0 or 3
|
||||||
PercentScoreWeightHitMine=-2
|
PercentScoreWeightHitMine=-2
|
||||||
|
PercentScoreWeightMissedHold=0
|
||||||
PercentScoreWeightLetGo=0
|
PercentScoreWeightLetGo=0
|
||||||
PercentScoreWeightMiss=0
|
PercentScoreWeightMiss=0
|
||||||
PercentScoreWeightW1=3
|
PercentScoreWeightW1=3
|
||||||
@@ -1347,6 +1351,7 @@ GradeWeightCheckpointHit=2
|
|||||||
GradeWeightCheckpointMiss=-8
|
GradeWeightCheckpointMiss=-8
|
||||||
GradeWeightHeld=IsGame("Pump") and 0 or 6
|
GradeWeightHeld=IsGame("Pump") and 0 or 6
|
||||||
GradeWeightHitMine=-8
|
GradeWeightHitMine=-8
|
||||||
|
GradeWeightMissedHold=0
|
||||||
GradeWeightLetGo=0
|
GradeWeightLetGo=0
|
||||||
GradeWeightMiss=-8
|
GradeWeightMiss=-8
|
||||||
GradeWeightW1=2
|
GradeWeightW1=2
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ static void TugMeterPercentChangeInit( size_t /*ScoreEvent*/ i, RString &sNameOu
|
|||||||
case SE_CheckpointMiss: defaultValueOut = -0.002f; break;
|
case SE_CheckpointMiss: defaultValueOut = -0.002f; break;
|
||||||
case SE_Held: defaultValueOut = +0.008f; break;
|
case SE_Held: defaultValueOut = +0.008f; break;
|
||||||
case SE_LetGo: defaultValueOut = -0.020f; break;
|
case SE_LetGo: defaultValueOut = -0.020f; break;
|
||||||
|
case SE_Missed: defaultValueOut = +0.000f; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,6 +102,7 @@ void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, HoldNoteScore score, Tap
|
|||||||
{
|
{
|
||||||
case HNS_Held: fPercentToMove = g_fTugMeterPercentChange[SE_Held]; break;
|
case HNS_Held: fPercentToMove = g_fTugMeterPercentChange[SE_Held]; break;
|
||||||
case HNS_LetGo: fPercentToMove = g_fTugMeterPercentChange[SE_LetGo]; break;
|
case HNS_LetGo: fPercentToMove = g_fTugMeterPercentChange[SE_LetGo]; break;
|
||||||
|
case HNS_Missed: fPercentToMove = g_fTugMeterPercentChange[SE_Missed]; break;
|
||||||
default:
|
default:
|
||||||
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,6 +235,7 @@ static const char *HoldNoteScoreNames[] = {
|
|||||||
"None",
|
"None",
|
||||||
"LetGo",
|
"LetGo",
|
||||||
"Held",
|
"Held",
|
||||||
|
"MissedHold",
|
||||||
};
|
};
|
||||||
XToString( HoldNoteScore );
|
XToString( HoldNoteScore );
|
||||||
LuaXType( HoldNoteScore );
|
LuaXType( HoldNoteScore );
|
||||||
@@ -248,6 +249,7 @@ HoldNoteScore StringToHoldNoteScore( const RString &s )
|
|||||||
else if( s == "None" ) return HNS_None;
|
else if( s == "None" ) return HNS_None;
|
||||||
else if( s == "LetGo" ) return HNS_LetGo;
|
else if( s == "LetGo" ) return HNS_LetGo;
|
||||||
else if( s == "Held" ) return HNS_Held;
|
else if( s == "Held" ) return HNS_Held;
|
||||||
|
else if( s == "MissedHold" ) return HNS_Missed;
|
||||||
|
|
||||||
return HoldNoteScore_Invalid;
|
return HoldNoteScore_Invalid;
|
||||||
}
|
}
|
||||||
@@ -278,6 +280,7 @@ static const char *ScoreEventNames[] = {
|
|||||||
"CheckpointMiss",
|
"CheckpointMiss",
|
||||||
"Held",
|
"Held",
|
||||||
"LetGo",
|
"LetGo",
|
||||||
|
"MissedHold",
|
||||||
};
|
};
|
||||||
XToString( ScoreEvent );
|
XToString( ScoreEvent );
|
||||||
|
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ enum HoldNoteScore
|
|||||||
HNS_None, /**< The HoldNote was not scored yet. */
|
HNS_None, /**< The HoldNote was not scored yet. */
|
||||||
HNS_LetGo, /**< The HoldNote has passed, but the player missed it. */
|
HNS_LetGo, /**< The HoldNote has passed, but the player missed it. */
|
||||||
HNS_Held, /**< The HoldNote has passed, and was successfully held all the way. */
|
HNS_Held, /**< The HoldNote has passed, and was successfully held all the way. */
|
||||||
|
HNS_Missed, /**< The HoldNote has passed, and was never initialized. */
|
||||||
NUM_HoldNoteScore, /**< The number of hold note scores. */
|
NUM_HoldNoteScore, /**< The number of hold note scores. */
|
||||||
HoldNoteScore_Invalid,
|
HoldNoteScore_Invalid,
|
||||||
};
|
};
|
||||||
@@ -302,6 +303,7 @@ enum ScoreEvent
|
|||||||
SE_CheckpointMiss,
|
SE_CheckpointMiss,
|
||||||
SE_Held,
|
SE_Held,
|
||||||
SE_LetGo,
|
SE_LetGo,
|
||||||
|
SE_Missed,
|
||||||
NUM_ScoreEvent
|
NUM_ScoreEvent
|
||||||
};
|
};
|
||||||
const RString& ScoreEventToString( ScoreEvent se );
|
const RString& ScoreEventToString( ScoreEvent se );
|
||||||
|
|||||||
@@ -50,7 +50,11 @@ void HoldJudgment::SetHoldJudgment( HoldNoteScore hns )
|
|||||||
{
|
{
|
||||||
//LOG->Trace( "Judgment::SetJudgment()" );
|
//LOG->Trace( "Judgment::SetJudgment()" );
|
||||||
|
|
||||||
|
// Matt: To save API. Command can handle if desired.
|
||||||
|
if( hns != HNS_Missed )
|
||||||
|
{
|
||||||
ResetAnimation();
|
ResetAnimation();
|
||||||
|
}
|
||||||
|
|
||||||
switch( hns )
|
switch( hns )
|
||||||
{
|
{
|
||||||
@@ -62,6 +66,10 @@ void HoldJudgment::SetHoldJudgment( HoldNoteScore hns )
|
|||||||
m_sprJudgment->SetState( 1 );
|
m_sprJudgment->SetState( 1 );
|
||||||
m_sprJudgment->PlayCommand( "LetGo" );
|
m_sprJudgment->PlayCommand( "LetGo" );
|
||||||
break;
|
break;
|
||||||
|
case HNS_Missed:
|
||||||
|
//m_sprJudgment->SetState( 2 ); // Matt: Not until after 5.0
|
||||||
|
m_sprJudgment->PlayCommand( "MissedHold" );
|
||||||
|
break;
|
||||||
case HNS_None:
|
case HNS_None:
|
||||||
default:
|
default:
|
||||||
FAIL_M(ssprintf("Cannot set hold judgment to %i", hns));
|
FAIL_M(ssprintf("Cannot set hold judgment to %i", hns));
|
||||||
|
|||||||
@@ -159,6 +159,7 @@ void LifeMeterBar::ChangeLife( HoldNoteScore score, TapNoteScore tscore )
|
|||||||
{
|
{
|
||||||
case HNS_Held: fDeltaLife = m_fLifePercentChange.GetValue(SE_Held); break;
|
case HNS_Held: fDeltaLife = m_fLifePercentChange.GetValue(SE_Held); break;
|
||||||
case HNS_LetGo: fDeltaLife = m_fLifePercentChange.GetValue(SE_LetGo); break;
|
case HNS_LetGo: fDeltaLife = m_fLifePercentChange.GetValue(SE_LetGo); break;
|
||||||
|
case HNS_Missed: fDeltaLife = m_fLifePercentChange.GetValue(SE_Missed); break;
|
||||||
default:
|
default:
|
||||||
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
||||||
}
|
}
|
||||||
@@ -170,6 +171,7 @@ void LifeMeterBar::ChangeLife( HoldNoteScore score, TapNoteScore tscore )
|
|||||||
{
|
{
|
||||||
case HNS_Held: fDeltaLife = +0.000f; break;
|
case HNS_Held: fDeltaLife = +0.000f; break;
|
||||||
case HNS_LetGo: fDeltaLife = m_fLifePercentChange.GetValue(SE_LetGo); break;
|
case HNS_LetGo: fDeltaLife = m_fLifePercentChange.GetValue(SE_LetGo); break;
|
||||||
|
case HNS_Missed: fDeltaLife = +0.000f; break;
|
||||||
default:
|
default:
|
||||||
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
||||||
}
|
}
|
||||||
@@ -179,6 +181,7 @@ void LifeMeterBar::ChangeLife( HoldNoteScore score, TapNoteScore tscore )
|
|||||||
{
|
{
|
||||||
case HNS_Held: fDeltaLife = +0; break;
|
case HNS_Held: fDeltaLife = +0; break;
|
||||||
case HNS_LetGo: fDeltaLife = -1.0f; break;
|
case HNS_LetGo: fDeltaLife = -1.0f; break;
|
||||||
|
case HNS_Missed: fDeltaLife = +0; break;
|
||||||
default:
|
default:
|
||||||
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ static const float g_fTimeMeterSecondsChangeInit[] =
|
|||||||
-0.0f, // SE_CheckpointMiss
|
-0.0f, // SE_CheckpointMiss
|
||||||
-0.0f, // SE_Held
|
-0.0f, // SE_Held
|
||||||
-4.0f, // SE_LetGo
|
-4.0f, // SE_LetGo
|
||||||
|
-0.0f, // SE_Missed
|
||||||
};
|
};
|
||||||
COMPILE_ASSERT( ARRAYLEN(g_fTimeMeterSecondsChangeInit) == NUM_ScoreEvent );
|
COMPILE_ASSERT( ARRAYLEN(g_fTimeMeterSecondsChangeInit) == NUM_ScoreEvent );
|
||||||
|
|
||||||
@@ -143,6 +144,7 @@ void LifeMeterTime::ChangeLife( HoldNoteScore hns, TapNoteScore tns )
|
|||||||
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", hns));
|
FAIL_M(ssprintf("Invalid HoldNoteScore: %i", hns));
|
||||||
case HNS_Held: fMeterChange = g_fTimeMeterSecondsChange[SE_Held]; break;
|
case HNS_Held: fMeterChange = g_fTimeMeterSecondsChange[SE_Held]; break;
|
||||||
case HNS_LetGo: fMeterChange = g_fTimeMeterSecondsChange[SE_LetGo]; break;
|
case HNS_LetGo: fMeterChange = g_fTimeMeterSecondsChange[SE_LetGo]; break;
|
||||||
|
case HNS_Missed: fMeterChange = g_fTimeMeterSecondsChange[SE_Missed]; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
float fOldLife = m_fLifeTotalLostSeconds;
|
float fOldLife = m_fLifeTotalLostSeconds;
|
||||||
|
|||||||
+1
-1
@@ -1436,7 +1436,7 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hns = HNS_None;
|
hns = HNS_Missed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -718,6 +718,7 @@ int ScoreKeeperNormal::HoldNoteScoreToDancePoints( HoldNoteScore hns, bool bBegi
|
|||||||
case HNS_None: iWeight = 0; break;
|
case HNS_None: iWeight = 0; break;
|
||||||
case HNS_LetGo: iWeight = g_iPercentScoreWeight.GetValue(SE_LetGo); break;
|
case HNS_LetGo: iWeight = g_iPercentScoreWeight.GetValue(SE_LetGo); break;
|
||||||
case HNS_Held: iWeight = g_iPercentScoreWeight.GetValue(SE_Held); break;
|
case HNS_Held: iWeight = g_iPercentScoreWeight.GetValue(SE_Held); break;
|
||||||
|
case HNS_Missed: iWeight = g_iPercentScoreWeight.GetValue(SE_Missed); break;
|
||||||
}
|
}
|
||||||
if( bBeginner && PREFSMAN->m_bMercifulBeginner )
|
if( bBeginner && PREFSMAN->m_bMercifulBeginner )
|
||||||
iWeight = max( 0, iWeight );
|
iWeight = max( 0, iWeight );
|
||||||
@@ -761,6 +762,7 @@ int ScoreKeeperNormal::HoldNoteScoreToGradePoints( HoldNoteScore hns, bool bBegi
|
|||||||
case HNS_None: iWeight = 0; break;
|
case HNS_None: iWeight = 0; break;
|
||||||
case HNS_LetGo: iWeight = g_iGradeWeight.GetValue(SE_LetGo); break;
|
case HNS_LetGo: iWeight = g_iGradeWeight.GetValue(SE_LetGo); break;
|
||||||
case HNS_Held: iWeight = g_iGradeWeight.GetValue(SE_Held); break;
|
case HNS_Held: iWeight = g_iGradeWeight.GetValue(SE_Held); break;
|
||||||
|
case HNS_Missed: iWeight = g_iGradeWeight.GetValue(SE_Missed); break;
|
||||||
}
|
}
|
||||||
if( bBeginner && PREFSMAN->m_bMercifulBeginner )
|
if( bBeginner && PREFSMAN->m_bMercifulBeginner )
|
||||||
iWeight = max( 0, iWeight );
|
iWeight = max( 0, iWeight );
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ static void SuperMeterPercentChangeInit( size_t /*ScoreEvent*/ i, RString &sName
|
|||||||
case SE_CheckpointMiss: defaultValueOut = -0.20f; break;
|
case SE_CheckpointMiss: defaultValueOut = -0.20f; break;
|
||||||
case SE_Held: defaultValueOut = +0.04f; break;
|
case SE_Held: defaultValueOut = +0.04f; break;
|
||||||
case SE_LetGo: defaultValueOut = -0.20f; break;
|
case SE_LetGo: defaultValueOut = -0.20f; break;
|
||||||
|
case SE_Missed: defaultValueOut = -0.00f; break;
|
||||||
DEFAULT_FAIL(ci);
|
DEFAULT_FAIL(ci);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -95,6 +96,7 @@ void ScoreKeeperRave::HandleHoldScore( const TapNote &tn )
|
|||||||
{
|
{
|
||||||
case HNS_Held: fPercentToMove = g_fSuperMeterPercentChange[SE_Held]; break;
|
case HNS_Held: fPercentToMove = g_fSuperMeterPercentChange[SE_Held]; break;
|
||||||
case HNS_LetGo: fPercentToMove = g_fSuperMeterPercentChange[SE_LetGo]; break;
|
case HNS_LetGo: fPercentToMove = g_fSuperMeterPercentChange[SE_LetGo]; break;
|
||||||
|
case HNS_Missed: fPercentToMove = g_fSuperMeterPercentChange[SE_Missed]; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
AddSuperMeterDelta( fPercentToMove );
|
AddSuperMeterDelta( fPercentToMove );
|
||||||
|
|||||||
Reference in New Issue
Block a user