[splittiming] NoteDisplay, NoteField, Player, PlayerState (182)
This commit is contained in:
+1
-1
@@ -286,7 +286,7 @@ void NoteDisplay::Update( float fDeltaTime )
|
|||||||
void NoteDisplay::SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLength, bool bVivid )
|
void NoteDisplay::SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLength, bool bVivid )
|
||||||
{
|
{
|
||||||
/* -inf ... inf */
|
/* -inf ... inf */
|
||||||
float fBeatOrSecond = cache->m_bAnimationBasedOnBeats ? GAMESTATE->m_fSongBeat : GAMESTATE->m_fMusicSeconds;
|
float fBeatOrSecond = cache->m_bAnimationBasedOnBeats ? m_pPlayerState->m_Position.m_fSongBeat : m_pPlayerState->m_Position.m_fMusicSeconds;
|
||||||
/* -len ... +len */
|
/* -len ... +len */
|
||||||
float fPercentIntoAnimation = fmodf( fBeatOrSecond, fAnimationLength );
|
float fPercentIntoAnimation = fmodf( fBeatOrSecond, fAnimationLength );
|
||||||
/* -1 ... 1 */
|
/* -1 ... 1 */
|
||||||
|
|||||||
+7
-7
@@ -240,7 +240,7 @@ void NoteField::Update( float fDeltaTime )
|
|||||||
ActorFrame::Update( fDeltaTime );
|
ActorFrame::Update( fDeltaTime );
|
||||||
|
|
||||||
// update m_fBoardOffsetPixels, m_fCurrentBeatLastUpdate, m_fYPosCurrentBeatLastUpdate
|
// update m_fBoardOffsetPixels, m_fCurrentBeatLastUpdate, m_fYPosCurrentBeatLastUpdate
|
||||||
const float fCurrentBeat = GAMESTATE->m_fSongBeat;
|
const float fCurrentBeat = m_pPlayerState->m_Position.m_fSongBeat;
|
||||||
bool bTweeningOn = m_sprBoard->GetCurrentDiffuseAlpha() >= 0.98 && m_sprBoard->GetCurrentDiffuseAlpha() < 1.00; // HACK
|
bool bTweeningOn = m_sprBoard->GetCurrentDiffuseAlpha() >= 0.98 && m_sprBoard->GetCurrentDiffuseAlpha() < 1.00; // HACK
|
||||||
if( !bTweeningOn && m_fCurrentBeatLastUpdate != -1 )
|
if( !bTweeningOn && m_fCurrentBeatLastUpdate != -1 )
|
||||||
{
|
{
|
||||||
@@ -606,7 +606,7 @@ void NoteField::DrawBGChangeText( const float fBeat, const RString sNewBGName )
|
|||||||
// change this probing to binary search
|
// change this probing to binary search
|
||||||
float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceAfterTargetsPixels )
|
float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceAfterTargetsPixels )
|
||||||
{
|
{
|
||||||
float fFirstBeatToDraw = GAMESTATE->m_fSongBeat-4; // Adjust to balance off performance and showing enough notes.
|
float fFirstBeatToDraw = pPlayerState->m_Position.m_fSongBeat-4; // Adjust to balance off performance and showing enough notes.
|
||||||
|
|
||||||
/* In Boomerang, we'll usually have two sections of notes: before and after
|
/* In Boomerang, we'll usually have two sections of notes: before and after
|
||||||
* the peak. We always start drawing before the peak, and end after it, or
|
* the peak. We always start drawing before the peak, and end after it, or
|
||||||
@@ -618,7 +618,7 @@ float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistance
|
|||||||
bBoomerang = (fAccels[PlayerOptions::ACCEL_BOOMERANG] != 0);
|
bBoomerang = (fAccels[PlayerOptions::ACCEL_BOOMERANG] != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
while( fFirstBeatToDraw < GAMESTATE->m_fSongBeat )
|
while( fFirstBeatToDraw < m_pPlayerState->m_Position.m_fSongBeat )
|
||||||
{
|
{
|
||||||
bool bIsPastPeakYOffset;
|
bool bIsPastPeakYOffset;
|
||||||
float fPeakYOffset;
|
float fPeakYOffset;
|
||||||
@@ -640,7 +640,7 @@ float FindLastDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceB
|
|||||||
// Probe for last note to draw. Worst case is 0.25x + boost.
|
// Probe for last note to draw. Worst case is 0.25x + boost.
|
||||||
// Adjust search distance so that notes don't pop onto the screen.
|
// Adjust search distance so that notes don't pop onto the screen.
|
||||||
float fSearchDistance = 10;
|
float fSearchDistance = 10;
|
||||||
float fLastBeatToDraw = GAMESTATE->m_fSongBeat+fSearchDistance;
|
float fLastBeatToDraw = pPlayerState->m_Position.m_fSongBeat+fSearchDistance;
|
||||||
|
|
||||||
const int NUM_ITERATIONS = 20;
|
const int NUM_ITERATIONS = 20;
|
||||||
|
|
||||||
@@ -1045,7 +1045,7 @@ void NoteField::DrawPrimitives()
|
|||||||
displayCols->display[c].DrawHold( tn, c, iStartRow, bIsHoldingNote, Result, bUseAdditionColoring, bIsInSelectionRange ? fSelectedRangeGlow : m_fPercentFadeToFail,
|
displayCols->display[c].DrawHold( tn, c, iStartRow, bIsHoldingNote, Result, bUseAdditionColoring, bIsInSelectionRange ? fSelectedRangeGlow : m_fPercentFadeToFail,
|
||||||
m_fYReverseOffsetPixels, (float) iDrawDistanceAfterTargetsPixels, (float) iDrawDistanceBeforeTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT );
|
m_fYReverseOffsetPixels, (float) iDrawDistanceAfterTargetsPixels, (float) iDrawDistanceBeforeTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT );
|
||||||
|
|
||||||
bool bNoteIsUpcoming = NoteRowToBeat(iStartRow) > GAMESTATE->m_fSongBeat;
|
bool bNoteIsUpcoming = NoteRowToBeat(iStartRow) > m_pPlayerState->m_Position.m_fSongBeat;
|
||||||
bAnyUpcomingInThisCol |= bNoteIsUpcoming;
|
bAnyUpcomingInThisCol |= bNoteIsUpcoming;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1087,7 +1087,7 @@ void NoteField::DrawPrimitives()
|
|||||||
continue; // skip
|
continue; // skip
|
||||||
|
|
||||||
ASSERT_M( NoteRowToBeat(q) > -2000, ssprintf("%i %i %i, %f %f", q, iLastRowToDraw,
|
ASSERT_M( NoteRowToBeat(q) > -2000, ssprintf("%i %i %i, %f %f", q, iLastRowToDraw,
|
||||||
iFirstRowToDraw, GAMESTATE->m_fSongBeat, GAMESTATE->m_fMusicSeconds) );
|
iFirstRowToDraw, m_pPlayerState->m_Position.m_fSongBeat, m_pPlayerState->m_Position.m_fMusicSeconds) );
|
||||||
|
|
||||||
// See if there is a hold step that begins on this index.
|
// See if there is a hold step that begins on this index.
|
||||||
// Only do this if the noteskin cares.
|
// Only do this if the noteskin cares.
|
||||||
@@ -1117,7 +1117,7 @@ void NoteField::DrawPrimitives()
|
|||||||
m_fYReverseOffsetPixels, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels,
|
m_fYReverseOffsetPixels, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels,
|
||||||
FADE_BEFORE_TARGETS_PERCENT );
|
FADE_BEFORE_TARGETS_PERCENT );
|
||||||
|
|
||||||
bool bNoteIsUpcoming = NoteRowToBeat(q) > GAMESTATE->m_fSongBeat;
|
bool bNoteIsUpcoming = NoteRowToBeat(q) > m_pPlayerState->m_Position.m_fSongBeat;
|
||||||
bAnyUpcomingInThisCol |= bNoteIsUpcoming;
|
bAnyUpcomingInThisCol |= bNoteIsUpcoming;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -2022,8 +2022,8 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
|||||||
* "jack hammers." Hmm.
|
* "jack hammers." Hmm.
|
||||||
*/
|
*/
|
||||||
const int iStepSearchRows = max(
|
const int iStepSearchRows = max(
|
||||||
BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( GAMESTATE->m_fMusicSeconds + StepSearchDistance ) ) - iSongRow,
|
BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( m_pPlayerState->m_Position.m_fMusicSeconds + StepSearchDistance ) ) - iSongRow,
|
||||||
iSongRow - BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( GAMESTATE->m_fMusicSeconds - StepSearchDistance ) )
|
iSongRow - BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( m_pPlayerState->m_Position.m_fMusicSeconds - StepSearchDistance ) )
|
||||||
) + ROWS_PER_BEAT;
|
) + ROWS_PER_BEAT;
|
||||||
int iRowOfOverlappingNoteOrRow = row;
|
int iRowOfOverlappingNoteOrRow = row;
|
||||||
if( row == -1 )
|
if( row == -1 )
|
||||||
|
|||||||
+3
-3
@@ -69,8 +69,8 @@ void PlayerState::Update( float fDelta )
|
|||||||
|
|
||||||
bool bCurrentlyEnabled =
|
bool bCurrentlyEnabled =
|
||||||
attack.bGlobal ||
|
attack.bGlobal ||
|
||||||
( attack.fStartSecond < GAMESTATE->m_fMusicSeconds &&
|
( attack.fStartSecond < m_Position.m_fMusicSeconds &&
|
||||||
GAMESTATE->m_fMusicSeconds < attack.fStartSecond+attack.fSecsRemaining );
|
m_Position.m_fMusicSeconds < attack.fStartSecond+attack.fSecsRemaining );
|
||||||
|
|
||||||
if( m_ActiveAttacks[s].bOn == bCurrentlyEnabled )
|
if( m_ActiveAttacks[s].bOn == bCurrentlyEnabled )
|
||||||
continue; // OK
|
continue; // OK
|
||||||
@@ -116,7 +116,7 @@ void PlayerState::LaunchAttack( const Attack& a )
|
|||||||
* so Player::Update knows to apply attack transforms correctly. (yuck) */
|
* so Player::Update knows to apply attack transforms correctly. (yuck) */
|
||||||
m_ModsToApply.push_back( attack );
|
m_ModsToApply.push_back( attack );
|
||||||
if( attack.fStartSecond == -1 )
|
if( attack.fStartSecond == -1 )
|
||||||
attack.fStartSecond = GAMESTATE->m_fMusicSeconds;
|
attack.fStartSecond = m_Position.m_fMusicSeconds;
|
||||||
m_ActiveAttacks.push_back( attack );
|
m_ActiveAttacks.push_back( attack );
|
||||||
|
|
||||||
RebuildPlayerOptionsFromActiveAttacks();
|
RebuildPlayerOptionsFromActiveAttacks();
|
||||||
|
|||||||
Reference in New Issue
Block a user