fix FadeToFail
do FadeToFail for LIFE_TIME
This commit is contained in:
@@ -169,9 +169,19 @@ void NoteField::Update( float fDeltaTime )
|
|||||||
cur->m_ReceptorArrowRow.Update( fDeltaTime );
|
cur->m_ReceptorArrowRow.Update( fDeltaTime );
|
||||||
cur->m_GhostArrowRow.Update( fDeltaTime );
|
cur->m_GhostArrowRow.Update( fDeltaTime );
|
||||||
|
|
||||||
|
cur->m_ReceptorArrowRow.Update( fDeltaTime );
|
||||||
|
|
||||||
if( m_fPercentFadeToFail >= 0 )
|
if( m_fPercentFadeToFail >= 0 )
|
||||||
m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/1.5f, 1 ); // take 1.5 seconds to totally fade
|
m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/1.5f, 1 ); // take 1.5 seconds to totally fade
|
||||||
|
|
||||||
|
|
||||||
|
// Update fade to failed
|
||||||
|
FOREACHM( CString, NoteDisplayCols*, m_NoteDisplays, iter )
|
||||||
|
{
|
||||||
|
iter->second->m_ReceptorArrowRow.SetFadeToFailPercent( m_fPercentFadeToFail );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
RefreshBeatToNoteSkin();
|
RefreshBeatToNoteSkin();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
ReceptorArrowRow::ReceptorArrowRow()
|
ReceptorArrowRow::ReceptorArrowRow()
|
||||||
{
|
{
|
||||||
m_iNumCols = 0;
|
m_iNumCols = 0;
|
||||||
|
m_pPlayerState = NULL;
|
||||||
|
m_fYReverseOffsetPixels = 0;
|
||||||
|
m_fFadeToFailPercent = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReceptorArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset )
|
void ReceptorArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset )
|
||||||
@@ -37,7 +40,10 @@ void ReceptorArrowRow::Update( float fDeltaTime )
|
|||||||
for( int c=0; c<m_iNumCols; c++ )
|
for( int c=0; c<m_iNumCols; c++ )
|
||||||
{
|
{
|
||||||
m_ReceptorArrow[c].Update( fDeltaTime );
|
m_ReceptorArrow[c].Update( fDeltaTime );
|
||||||
m_ReceptorArrow[c].SetBaseAlpha( 1 - m_pPlayerState->m_CurrentPlayerOptions.m_fDark );
|
|
||||||
|
// m_fDark==1 or m_fFadeToFailPercent==1 should make fBaseAlpha==0
|
||||||
|
float fBaseAlpha = (1 - m_pPlayerState->m_CurrentPlayerOptions.m_fDark) * (1 - m_fFadeToFailPercent);
|
||||||
|
m_ReceptorArrow[c].SetBaseAlpha( fBaseAlpha );
|
||||||
|
|
||||||
// set arrow XYZ
|
// set arrow XYZ
|
||||||
const float fX = ArrowEffects::GetXPos( m_pPlayerState, c, 0 );
|
const float fX = ArrowEffects::GetXPos( m_pPlayerState, c, 0 );
|
||||||
|
|||||||
@@ -24,10 +24,13 @@ public:
|
|||||||
void Step( int iCol, TapNoteScore score );
|
void Step( int iCol, TapNoteScore score );
|
||||||
void SetPressed( int iCol );
|
void SetPressed( int iCol );
|
||||||
|
|
||||||
|
void SetFadeToFailPercent( float fFadeToFailPercent ) { m_fFadeToFailPercent = fFadeToFailPercent; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_iNumCols;
|
int m_iNumCols;
|
||||||
const PlayerState* m_pPlayerState;
|
const PlayerState* m_pPlayerState;
|
||||||
float m_fYReverseOffsetPixels;
|
float m_fYReverseOffsetPixels;
|
||||||
|
float m_fFadeToFailPercent;
|
||||||
|
|
||||||
ReceptorArrow m_ReceptorArrow[MAX_NOTE_TRACKS];
|
ReceptorArrow m_ReceptorArrow[MAX_NOTE_TRACKS];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1436,8 +1436,18 @@ void ScreenGameplay::Update( float fDeltaTime )
|
|||||||
LOG->Trace("Player %d failed", (int)pn);
|
LOG->Trace("Player %d failed", (int)pn);
|
||||||
STATSMAN->m_CurStageStats.m_player[pn].bFailed = true; // fail
|
STATSMAN->m_CurStageStats.m_player[pn].bFailed = true; // fail
|
||||||
|
|
||||||
if( lt == SongOptions::LIFE_BATTERY &&
|
//
|
||||||
ft == SongOptions::FAIL_IMMEDIATE )
|
// Check for and do Oni die.
|
||||||
|
//
|
||||||
|
bool bAllowOniDie = false;
|
||||||
|
switch( lt )
|
||||||
|
{
|
||||||
|
case SongOptions::LIFE_BATTERY:
|
||||||
|
case SongOptions::LIFE_TIME:
|
||||||
|
bAllowOniDie = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if( bAllowOniDie && ft == SongOptions::FAIL_IMMEDIATE )
|
||||||
{
|
{
|
||||||
if( !STATSMAN->m_CurStageStats.AllFailedEarlier() ) // if not the last one to fail
|
if( !STATSMAN->m_CurStageStats.AllFailedEarlier() ) // if not the last one to fail
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user