finally got it to work with a another hack inside that hack.

This commit is contained in:
Thai Pangsakulyanont
2011-05-20 22:15:01 +07:00
parent 9130e2b6ec
commit 73459aae38
2 changed files with 11 additions and 5 deletions
+6 -5
View File
@@ -311,6 +311,11 @@ void Actor::BeginDraw() // set the world matrix and calculate actor properties
m_pTempState = &tempState;
tempState = m_current;
// XXX HACK! We can't really determine the active player outside Draw() so
// figure it out just for this clock type here.
if( m_EffectClock == CLOCK_BGM_BEAT_PLAYER_ACTIVE )
m_fSecsIntoEffect = g_vfCurrentBGMBeatPlayerNoOffset[m_ActivePlayerNumber];
const float fTotalPeriod = GetEffectPeriod();
ASSERT( fTotalPeriod > 0 );
const float fTimeIntoEffect = fmodfp( m_fSecsIntoEffect+m_fEffectOffset, fTotalPeriod );
@@ -680,16 +685,12 @@ void Actor::UpdateInternal( float fDeltaTime )
break;
}
case CLOCK_BGM_BEAT_PLAYER_ACTIVE:
case CLOCK_BGM_BEAT:
m_fEffectDelta = g_fCurrentBGMBeat - m_fSecsIntoEffect;
m_fSecsIntoEffect = g_fCurrentBGMBeat;
break;
case CLOCK_BGM_BEAT_PLAYER_ACTIVE:
m_fEffectDelta = g_vfCurrentBGMBeatPlayer[m_ActivePlayerNumber] - m_fSecsIntoEffect;
m_fSecsIntoEffect = g_vfCurrentBGMBeatPlayerNoOffset[m_ActivePlayerNumber];
break;
case CLOCK_BGM_BEAT_PLAYER1:
m_fEffectDelta = g_vfCurrentBGMBeatPlayer[PLAYER_1] - m_fSecsIntoEffect;
m_fSecsIntoEffect = g_vfCurrentBGMBeatPlayerNoOffset[PLAYER_1];
+5
View File
@@ -768,6 +768,8 @@ void NoteField::DrawPrimitives()
{
// XXX Hack: Set Actor's active player number so the notes get the flashing that matches the steps.
// save the active player number (so they can nest)
PlayerNumber pnLastActivePlayerNumber = m_pPlayerState->m_PlayerNumber;
Actor::m_ActivePlayerNumber = m_pPlayerState->m_PlayerNumber;
//LOG->Trace( "NoteField::DrawPrimitives()" );
@@ -1252,6 +1254,9 @@ void NoteField::DrawPrimitives()
}
cur->m_GhostArrowRow.Draw();
// restore the active player number
Actor::m_ActivePlayerNumber = pnLastActivePlayerNumber;
}
void NoteField::FadeToFail()