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
|
/* 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;
|
||||||
|
|||||||
@@ -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 )
|
||||||
|
|||||||
@@ -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; };
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|||||||
Reference in New Issue
Block a user