merge TNS_HIT_MINE handling

This commit is contained in:
Glenn Maynard
2005-02-07 06:17:07 +00:00
parent 714a432012
commit 188cbfa063
9 changed files with 8 additions and 45 deletions
-1
View File
@@ -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;
+1 -7
View File
@@ -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 )
-1
View File
@@ -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; };
-1
View File
@@ -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;
+3 -23
View File
@@ -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()
{
-1
View File
@@ -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;
+1 -5
View File
@@ -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()
{
}
-1
View File
@@ -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;
+3 -5
View File
@@ -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 );