merge TNS_HIT_MINE handling
This commit is contained in:
@@ -19,7 +19,6 @@ public:
|
||||
/* Change life after receiving a hold note grade. tscore is the score
|
||||
* received for the initial tap note. */
|
||||
virtual void ChangeLife( PlayerNumber pn, HoldNoteScore score, TapNoteScore tscore ) = 0;
|
||||
virtual void ChangeLifeMine( PlayerNumber pn ) = 0;
|
||||
virtual void OnDancePointsChange( PlayerNumber pn ) = 0; // look in GAMESTATE and update the display
|
||||
virtual bool IsInDanger( PlayerNumber pn ) = 0;
|
||||
virtual bool IsHot( PlayerNumber pn ) = 0;
|
||||
|
||||
@@ -68,6 +68,7 @@ void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, TapNoteScore score )
|
||||
case TNS_GOOD: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeGood; break;
|
||||
case TNS_BOO: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeBoo; break;
|
||||
case TNS_MISS: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeMiss; break;
|
||||
case TNS_HIT_MINE: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeHitMine; break;
|
||||
default: ASSERT(0); break;
|
||||
}
|
||||
|
||||
@@ -92,13 +93,6 @@ void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, HoldNoteScore score, Tap
|
||||
ChangeLife( pn, fPercentToMove );
|
||||
}
|
||||
|
||||
void CombinedLifeMeterTug::ChangeLifeMine( PlayerNumber pn )
|
||||
{
|
||||
float fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeHitMine;
|
||||
|
||||
ChangeLife( pn, fPercentToMove );
|
||||
}
|
||||
|
||||
void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, float fPercentToMove )
|
||||
{
|
||||
if( PREFSMAN->m_bMercifulDrain && fPercentToMove < 0 )
|
||||
|
||||
@@ -17,7 +17,6 @@ public:
|
||||
|
||||
virtual void ChangeLife( PlayerNumber pn, TapNoteScore score );
|
||||
virtual void ChangeLife( PlayerNumber pn, HoldNoteScore score, TapNoteScore tscore );
|
||||
virtual void ChangeLifeMine( PlayerNumber pn );
|
||||
virtual void OnDancePointsChange( PlayerNumber pn ) {};
|
||||
virtual bool IsInDanger( PlayerNumber pn ) { return false; };
|
||||
virtual bool IsHot( PlayerNumber pn ) { return false; };
|
||||
|
||||
@@ -20,7 +20,6 @@ public:
|
||||
/* Change life after receiving a hold note grade. tscore is the score
|
||||
* received for the initial tap note. */
|
||||
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore ) = 0;
|
||||
virtual void ChangeLifeMine() = 0;
|
||||
virtual void OnDancePointsChange() = 0; // look in GAMESTATE and update the display
|
||||
virtual bool IsInDanger() const = 0;
|
||||
virtual bool IsHot() const = 0;
|
||||
|
||||
@@ -287,6 +287,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score )
|
||||
case TNS_GOOD: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeGood; break;
|
||||
case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break;
|
||||
case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break;
|
||||
case TNS_HIT_MINE: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine; break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
@@ -302,6 +303,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score )
|
||||
case TNS_GOOD: fDeltaLife = +0.000f; break;
|
||||
case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break;
|
||||
case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break;
|
||||
case TNS_HIT_MINE: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine; break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
@@ -315,6 +317,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score )
|
||||
case TNS_GOOD: fDeltaLife = -1.0; break;
|
||||
case TNS_BOO: fDeltaLife = -1.0; break;
|
||||
case TNS_MISS: fDeltaLife = -1.0; break;
|
||||
case TNS_HIT_MINE: fDeltaLife = -1.0; break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
@@ -433,29 +436,6 @@ void LifeMeterBar::ChangeLife( float fDeltaLife )
|
||||
m_fLifeVelocity += fDeltaLife;
|
||||
}
|
||||
|
||||
void LifeMeterBar::ChangeLifeMine()
|
||||
{
|
||||
float fDeltaLife=0.f;
|
||||
switch( GAMESTATE->m_SongOptions.m_DrainType )
|
||||
{
|
||||
case SongOptions::DRAIN_NORMAL:
|
||||
fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine;
|
||||
if( IsHot() )
|
||||
fDeltaLife = -0.10f; // make it take a while to get back to "doing great"
|
||||
break;
|
||||
case SongOptions::DRAIN_NO_RECOVER:
|
||||
fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine;
|
||||
break;
|
||||
case SongOptions::DRAIN_SUDDEN_DEATH:
|
||||
fDeltaLife = -1.0;
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
ChangeLife( fDeltaLife );
|
||||
}
|
||||
|
||||
void LifeMeterBar::AfterLifeChanged()
|
||||
{
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ public:
|
||||
virtual void ChangeLife( TapNoteScore score );
|
||||
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore );
|
||||
virtual void ChangeLife( float fDeltaLifePercent );
|
||||
virtual void ChangeLifeMine();
|
||||
virtual void AfterLifeChanged();
|
||||
virtual void OnDancePointsChange() {}; // this life meter doesn't care
|
||||
virtual bool IsInDanger() const;
|
||||
|
||||
@@ -92,6 +92,7 @@ void LifeMeterBattery::ChangeLife( TapNoteScore score )
|
||||
case TNS_GOOD:
|
||||
case TNS_BOO:
|
||||
case TNS_MISS:
|
||||
case TNS_HIT_MINE:
|
||||
m_iTrailingLivesLeft = m_iLivesLeft;
|
||||
m_iLivesLeft--;
|
||||
m_soundLoseLife.Play();
|
||||
@@ -128,11 +129,6 @@ void LifeMeterBattery::ChangeLife( float fDeltaLifePercent )
|
||||
{
|
||||
}
|
||||
|
||||
void LifeMeterBattery::ChangeLifeMine()
|
||||
{
|
||||
ChangeLife( TNS_MISS ); // same as a miss
|
||||
}
|
||||
|
||||
void LifeMeterBattery::OnDancePointsChange()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ public:
|
||||
virtual void ChangeLife( TapNoteScore score );
|
||||
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore );
|
||||
virtual void ChangeLife( float fDeltaLifePercent );
|
||||
virtual void ChangeLifeMine();
|
||||
virtual void OnDancePointsChange(); // look in GAMESTATE and update the display
|
||||
virtual bool IsInDanger() const;
|
||||
virtual bool IsHot() const;
|
||||
|
||||
@@ -834,13 +834,13 @@ void Player::Step( int col, const RageTimer &tm )
|
||||
m_soundMine.Play();
|
||||
|
||||
if( m_pLifeMeter )
|
||||
m_pLifeMeter->ChangeLifeMine();
|
||||
m_pLifeMeter->ChangeLife( score );
|
||||
|
||||
// TODO: Remove use of PlayerNumber
|
||||
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
|
||||
if( m_pCombinedLifeMeter )
|
||||
m_pCombinedLifeMeter->ChangeLifeMine( pn );
|
||||
m_pCombinedLifeMeter->ChangeLife( pn, score );
|
||||
tn.result.bHidden = true;
|
||||
m_NoteData.SetTapNote( col, iIndexOverlappingNote, tn );
|
||||
if( m_pNoteField )
|
||||
@@ -907,9 +907,7 @@ void Player::Step( int col, const RageTimer &tm )
|
||||
* backwards indefinitely, and ignore grading. */
|
||||
if( iIndexOverlappingNote == -1 )
|
||||
iIndexOverlappingNote = GetClosestNote( col, BeatToNoteRow(fSongBeat),
|
||||
iStepSearchRows,
|
||||
MAX_NOTE_ROW,
|
||||
true );
|
||||
iStepSearchRows, MAX_NOTE_ROW, true );
|
||||
if( iIndexOverlappingNote != -1 )
|
||||
{
|
||||
TapNote tn = m_NoteData.GetTapNote( col, iIndexOverlappingNote );
|
||||
|
||||
Reference in New Issue
Block a user