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 /* Change life after receiving a hold note grade. tscore is the score
* received for the initial tap note. */ * received for the initial tap note. */
virtual void ChangeLife( PlayerNumber pn, HoldNoteScore score, TapNoteScore tscore ) = 0; 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 void OnDancePointsChange( PlayerNumber pn ) = 0; // look in GAMESTATE and update the display
virtual bool IsInDanger( PlayerNumber pn ) = 0; virtual bool IsInDanger( PlayerNumber pn ) = 0;
virtual bool IsHot( 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_GOOD: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeGood; break;
case TNS_BOO: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeBoo; break; case TNS_BOO: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeBoo; break;
case TNS_MISS: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeMiss; break; case TNS_MISS: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeMiss; break;
case TNS_HIT_MINE: fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeHitMine; break;
default: ASSERT(0); break; default: ASSERT(0); break;
} }
@@ -92,13 +93,6 @@ void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, HoldNoteScore score, Tap
ChangeLife( pn, fPercentToMove ); ChangeLife( pn, fPercentToMove );
} }
void CombinedLifeMeterTug::ChangeLifeMine( PlayerNumber pn )
{
float fPercentToMove = PREFSMAN->m_fTugMeterPercentChangeHitMine;
ChangeLife( pn, fPercentToMove );
}
void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, float fPercentToMove ) void CombinedLifeMeterTug::ChangeLife( PlayerNumber pn, float fPercentToMove )
{ {
if( PREFSMAN->m_bMercifulDrain && fPercentToMove < 0 ) 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, TapNoteScore score );
virtual void ChangeLife( PlayerNumber pn, HoldNoteScore score, TapNoteScore tscore ); virtual void ChangeLife( PlayerNumber pn, HoldNoteScore score, TapNoteScore tscore );
virtual void ChangeLifeMine( PlayerNumber pn );
virtual void OnDancePointsChange( PlayerNumber pn ) {}; virtual void OnDancePointsChange( PlayerNumber pn ) {};
virtual bool IsInDanger( PlayerNumber pn ) { return false; }; virtual bool IsInDanger( PlayerNumber pn ) { return false; };
virtual bool IsHot( 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 /* Change life after receiving a hold note grade. tscore is the score
* received for the initial tap note. */ * received for the initial tap note. */
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore ) = 0; virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore ) = 0;
virtual void ChangeLifeMine() = 0;
virtual void OnDancePointsChange() = 0; // look in GAMESTATE and update the display virtual void OnDancePointsChange() = 0; // look in GAMESTATE and update the display
virtual bool IsInDanger() const = 0; virtual bool IsInDanger() const = 0;
virtual bool IsHot() 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_GOOD: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeGood; break;
case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break; case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break;
case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break; case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break;
case TNS_HIT_MINE: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine; break;
default: default:
ASSERT(0); ASSERT(0);
} }
@@ -302,6 +303,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score )
case TNS_GOOD: fDeltaLife = +0.000f; break; case TNS_GOOD: fDeltaLife = +0.000f; break;
case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break; case TNS_BOO: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeBoo; break;
case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break; case TNS_MISS: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeMiss; break;
case TNS_HIT_MINE: fDeltaLife = PREFSMAN->m_fLifeDeltaPercentChangeHitMine; break;
default: default:
ASSERT(0); ASSERT(0);
} }
@@ -315,6 +317,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score )
case TNS_GOOD: fDeltaLife = -1.0; break; case TNS_GOOD: fDeltaLife = -1.0; break;
case TNS_BOO: fDeltaLife = -1.0; break; case TNS_BOO: fDeltaLife = -1.0; break;
case TNS_MISS: fDeltaLife = -1.0; break; case TNS_MISS: fDeltaLife = -1.0; break;
case TNS_HIT_MINE: fDeltaLife = -1.0; break;
default: default:
ASSERT(0); ASSERT(0);
} }
@@ -433,29 +436,6 @@ void LifeMeterBar::ChangeLife( float fDeltaLife )
m_fLifeVelocity += 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() void LifeMeterBar::AfterLifeChanged()
{ {
-1
View File
@@ -21,7 +21,6 @@ public:
virtual void ChangeLife( TapNoteScore score ); virtual void ChangeLife( TapNoteScore score );
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore ); virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore );
virtual void ChangeLife( float fDeltaLifePercent ); virtual void ChangeLife( float fDeltaLifePercent );
virtual void ChangeLifeMine();
virtual void AfterLifeChanged(); virtual void AfterLifeChanged();
virtual void OnDancePointsChange() {}; // this life meter doesn't care virtual void OnDancePointsChange() {}; // this life meter doesn't care
virtual bool IsInDanger() const; virtual bool IsInDanger() const;
+1 -5
View File
@@ -92,6 +92,7 @@ void LifeMeterBattery::ChangeLife( TapNoteScore score )
case TNS_GOOD: case TNS_GOOD:
case TNS_BOO: case TNS_BOO:
case TNS_MISS: case TNS_MISS:
case TNS_HIT_MINE:
m_iTrailingLivesLeft = m_iLivesLeft; m_iTrailingLivesLeft = m_iLivesLeft;
m_iLivesLeft--; m_iLivesLeft--;
m_soundLoseLife.Play(); 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() void LifeMeterBattery::OnDancePointsChange()
{ {
} }
-1
View File
@@ -23,7 +23,6 @@ public:
virtual void ChangeLife( TapNoteScore score ); virtual void ChangeLife( TapNoteScore score );
virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore ); virtual void ChangeLife( HoldNoteScore score, TapNoteScore tscore );
virtual void ChangeLife( float fDeltaLifePercent ); virtual void ChangeLife( float fDeltaLifePercent );
virtual void ChangeLifeMine();
virtual void OnDancePointsChange(); // look in GAMESTATE and update the display virtual void OnDancePointsChange(); // look in GAMESTATE and update the display
virtual bool IsInDanger() const; virtual bool IsInDanger() const;
virtual bool IsHot() const; virtual bool IsHot() const;
+3 -5
View File
@@ -834,13 +834,13 @@ void Player::Step( int col, const RageTimer &tm )
m_soundMine.Play(); m_soundMine.Play();
if( m_pLifeMeter ) if( m_pLifeMeter )
m_pLifeMeter->ChangeLifeMine(); m_pLifeMeter->ChangeLife( score );
// TODO: Remove use of PlayerNumber // TODO: Remove use of PlayerNumber
PlayerNumber pn = m_pPlayerState->m_PlayerNumber; PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
if( m_pCombinedLifeMeter ) if( m_pCombinedLifeMeter )
m_pCombinedLifeMeter->ChangeLifeMine( pn ); m_pCombinedLifeMeter->ChangeLife( pn, score );
tn.result.bHidden = true; tn.result.bHidden = true;
m_NoteData.SetTapNote( col, iIndexOverlappingNote, tn ); m_NoteData.SetTapNote( col, iIndexOverlappingNote, tn );
if( m_pNoteField ) if( m_pNoteField )
@@ -907,9 +907,7 @@ void Player::Step( int col, const RageTimer &tm )
* backwards indefinitely, and ignore grading. */ * backwards indefinitely, and ignore grading. */
if( iIndexOverlappingNote == -1 ) if( iIndexOverlappingNote == -1 )
iIndexOverlappingNote = GetClosestNote( col, BeatToNoteRow(fSongBeat), iIndexOverlappingNote = GetClosestNote( col, BeatToNoteRow(fSongBeat),
iStepSearchRows, iStepSearchRows, MAX_NOTE_ROW, true );
MAX_NOTE_ROW,
true );
if( iIndexOverlappingNote != -1 ) if( iIndexOverlappingNote != -1 )
{ {
TapNote tn = m_NoteData.GetTapNote( col, iIndexOverlappingNote ); TapNote tn = m_NoteData.GetTapNote( col, iIndexOverlappingNote );