finally got it to work with a another hack inside that hack.
This commit is contained in:
+6
-5
@@ -311,6 +311,11 @@ void Actor::BeginDraw() // set the world matrix and calculate actor properties
|
|||||||
m_pTempState = &tempState;
|
m_pTempState = &tempState;
|
||||||
tempState = m_current;
|
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();
|
const float fTotalPeriod = GetEffectPeriod();
|
||||||
ASSERT( fTotalPeriod > 0 );
|
ASSERT( fTotalPeriod > 0 );
|
||||||
const float fTimeIntoEffect = fmodfp( m_fSecsIntoEffect+m_fEffectOffset, fTotalPeriod );
|
const float fTimeIntoEffect = fmodfp( m_fSecsIntoEffect+m_fEffectOffset, fTotalPeriod );
|
||||||
@@ -680,16 +685,12 @@ void Actor::UpdateInternal( float fDeltaTime )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case CLOCK_BGM_BEAT_PLAYER_ACTIVE:
|
||||||
case CLOCK_BGM_BEAT:
|
case CLOCK_BGM_BEAT:
|
||||||
m_fEffectDelta = g_fCurrentBGMBeat - m_fSecsIntoEffect;
|
m_fEffectDelta = g_fCurrentBGMBeat - m_fSecsIntoEffect;
|
||||||
m_fSecsIntoEffect = g_fCurrentBGMBeat;
|
m_fSecsIntoEffect = g_fCurrentBGMBeat;
|
||||||
break;
|
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:
|
case CLOCK_BGM_BEAT_PLAYER1:
|
||||||
m_fEffectDelta = g_vfCurrentBGMBeatPlayer[PLAYER_1] - m_fSecsIntoEffect;
|
m_fEffectDelta = g_vfCurrentBGMBeatPlayer[PLAYER_1] - m_fSecsIntoEffect;
|
||||||
m_fSecsIntoEffect = g_vfCurrentBGMBeatPlayerNoOffset[PLAYER_1];
|
m_fSecsIntoEffect = g_vfCurrentBGMBeatPlayerNoOffset[PLAYER_1];
|
||||||
|
|||||||
@@ -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.
|
// 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;
|
Actor::m_ActivePlayerNumber = m_pPlayerState->m_PlayerNumber;
|
||||||
|
|
||||||
//LOG->Trace( "NoteField::DrawPrimitives()" );
|
//LOG->Trace( "NoteField::DrawPrimitives()" );
|
||||||
@@ -1252,6 +1254,9 @@ void NoteField::DrawPrimitives()
|
|||||||
}
|
}
|
||||||
|
|
||||||
cur->m_GhostArrowRow.Draw();
|
cur->m_GhostArrowRow.Draw();
|
||||||
|
|
||||||
|
// restore the active player number
|
||||||
|
Actor::m_ActivePlayerNumber = pnLastActivePlayerNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NoteField::FadeToFail()
|
void NoteField::FadeToFail()
|
||||||
|
|||||||
Reference in New Issue
Block a user