sm4svn commits (all code by Glenn Maynard)
1fc3636: "working on routine mode" fb1edc2: "working on routine" 20b5827: "working on routine" 193363b: "working on routine" bd042f9: "working on routine"
This commit is contained in:
+15
-27
@@ -235,7 +235,7 @@ void Player::Init(
|
||||
|
||||
{
|
||||
// Init judgment positions
|
||||
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->m_StyleType==StyleType_OnePlayerTwoSides;
|
||||
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->GetUsesCenteredArrows();
|
||||
Actor TempJudgment;
|
||||
TempJudgment.SetName( "Judgment" );
|
||||
ActorUtil::LoadCommand( TempJudgment, sType, "Transform" );
|
||||
@@ -514,7 +514,7 @@ void Player::Load()
|
||||
m_pNoteField->Load( &m_NoteData, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels );
|
||||
}
|
||||
|
||||
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->m_StyleType==StyleType_OnePlayerTwoSides;
|
||||
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->GetUsesCenteredArrows();
|
||||
if( m_pAttackDisplay )
|
||||
m_pAttackDisplay->SetX( ATTACK_DISPLAY_X.GetValue(pn, bPlayerUsingBothSides) - 40 );
|
||||
// set this in Update //m_pAttackDisplay->SetY( bReverse ? ATTACK_DISPLAY_Y_REVERSE : ATTACK_DISPLAY_Y );
|
||||
@@ -1433,7 +1433,7 @@ int Player::GetClosestNonEmptyRowDirectional( int iStartRow, int iEndRow, bool b
|
||||
|
||||
while( !iter.IsAtEnd() )
|
||||
{
|
||||
if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row(), m_pPlayerState->m_PlayerNumber) )
|
||||
if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row()) )
|
||||
{
|
||||
++iter;
|
||||
continue;
|
||||
@@ -1447,7 +1447,7 @@ int Player::GetClosestNonEmptyRowDirectional( int iStartRow, int iEndRow, bool b
|
||||
|
||||
while( !iter.IsAtEnd() )
|
||||
{
|
||||
if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row(), m_pPlayerState->m_PlayerNumber) )
|
||||
if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row()) )
|
||||
{
|
||||
++iter;
|
||||
continue;
|
||||
@@ -2064,7 +2064,7 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
||||
goto done_checking_hopo;
|
||||
}
|
||||
|
||||
// con't hopo on the same note 2x in a row
|
||||
// can't hopo on the same note 2x in a row
|
||||
if( col == m_pPlayerState->m_iLastHopoNoteCol )
|
||||
{
|
||||
bDidHopo = false;
|
||||
@@ -2077,13 +2077,13 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
||||
int iRowsAgoLastNote = 100000; // TODO: find more reasonable value based on HOPO_CHAIN_SECONDS?
|
||||
NoteData::all_tracks_reverse_iterator iter = m_NoteData.GetTapNoteRangeAllTracksReverse( iRowsAgoLastNote-iRowsAgoLastNote, iRowOfOverlappingNoteOrRow-1 );
|
||||
ASSERT( !iter.IsAtEnd() ); // there must have been a note that started the hopo
|
||||
if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row(), m_pPlayerState->m_PlayerNumber) )
|
||||
if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row()) )
|
||||
{
|
||||
bDidHopo = false;
|
||||
goto done_checking_hopo;
|
||||
}
|
||||
|
||||
const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iter.Row(), m_pPlayerState->m_PlayerNumber ).result;
|
||||
const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iter.Row() ).result;
|
||||
if( lastTNR.tns <= TNS_Miss )
|
||||
{
|
||||
bDidHopo = false;
|
||||
@@ -2171,8 +2171,6 @@ done_checking_hopo:
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Remove use of PlayerNumber
|
||||
PlayerNumber pn = pTN->pn == PLAYER_INVALID ? m_pPlayerState->m_PlayerNumber : pTN->pn;
|
||||
m_LastTapNoteScore = score;
|
||||
if( GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately )
|
||||
{
|
||||
@@ -2187,9 +2185,9 @@ done_checking_hopo:
|
||||
HideNote( col, iRowOfOverlappingNoteOrRow );
|
||||
}
|
||||
}
|
||||
else if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iRowOfOverlappingNoteOrRow, pn) )
|
||||
else if( NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iRowOfOverlappingNoteOrRow) )
|
||||
{
|
||||
FlashGhostRow( iRowOfOverlappingNoteOrRow, pn );
|
||||
FlashGhostRow( iRowOfOverlappingNoteOrRow );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2336,8 +2334,6 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds )
|
||||
if( !NeedsTapJudging(tn) )
|
||||
continue;
|
||||
|
||||
if( tn.pn != PLAYER_INVALID && tn.pn != m_pPlayerState->m_PlayerNumber )
|
||||
continue;
|
||||
if( tn.type == TapNote::mine )
|
||||
{
|
||||
tn.result.tns = TNS_AvoidMine;
|
||||
@@ -2359,7 +2355,6 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds )
|
||||
void Player::UpdateJudgedRows()
|
||||
{
|
||||
const int iEndRow = BeatToNoteRow( GAMESTATE->m_fSongBeat );
|
||||
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
bool bAllJudged = true;
|
||||
const bool bSeparately = GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately;
|
||||
|
||||
@@ -2375,7 +2370,7 @@ void Player::UpdateJudgedRows()
|
||||
iLastSeenRow = iRow;
|
||||
|
||||
// crossed a nonempty row
|
||||
if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iRow, pn) )
|
||||
if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iRow) )
|
||||
{
|
||||
bAllJudged = false;
|
||||
continue;
|
||||
@@ -2384,7 +2379,7 @@ void Player::UpdateJudgedRows()
|
||||
*m_pIterUnjudgedRows = iter;
|
||||
if( m_pJudgedRows->JudgeRow(iRow) )
|
||||
continue;
|
||||
const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iRow, pn ).result;
|
||||
const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iRow ).result;
|
||||
|
||||
if( lastTNR.tns < TNS_Miss )
|
||||
continue;
|
||||
@@ -2394,7 +2389,6 @@ void Player::UpdateJudgedRows()
|
||||
{
|
||||
const TapNote &tn = m_NoteData.GetTapNote( iTrack, iRow );
|
||||
if( tn.type == TapNote::empty || tn.type == TapNote::mine ) continue;
|
||||
if( tn.pn != PLAYER_INVALID && tn.pn != pn ) continue;
|
||||
SetJudgment( tn.result.tns, iTrack, tn.result.fTapNoteOffset );
|
||||
}
|
||||
}
|
||||
@@ -2431,7 +2425,7 @@ void Player::UpdateJudgedRows()
|
||||
switch( tn.result.tns )
|
||||
{
|
||||
DEFAULT_FAIL( tn.result.tns );
|
||||
case TNS_None:
|
||||
case TNS_None:
|
||||
bAllJudged = false;
|
||||
continue;
|
||||
case TNS_AvoidMine:
|
||||
@@ -2441,9 +2435,7 @@ void Player::UpdateJudgedRows()
|
||||
}
|
||||
if( m_pNoteField )
|
||||
m_pNoteField->DidTapNote( iter.Track(), tn.result.tns, false );
|
||||
|
||||
if( tn.pn != PLAYER_INVALID && tn.pn != pn )
|
||||
continue;
|
||||
|
||||
if( tn.iKeysoundIndex >= 0 && tn.iKeysoundIndex < (int) m_vKeysounds.size() )
|
||||
setSounds.insert( &m_vKeysounds[tn.iKeysoundIndex] );
|
||||
else if( g_bEnableMineSoundPlayback )
|
||||
@@ -2489,11 +2481,10 @@ void Player::UpdateJudgedRows()
|
||||
}
|
||||
}
|
||||
|
||||
void Player::FlashGhostRow( int iRow, PlayerNumber pn )
|
||||
void Player::FlashGhostRow( int iRow )
|
||||
{
|
||||
TapNoteScore lastTNS = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iRow, pn ).result.tns;
|
||||
const bool bBlind = (m_pPlayerState->m_PlayerOptions.GetCurrent().m_fBlind != 0);
|
||||
// XXX This is the wrong combo for shared players. STATSMAN->m_CurStageStats.m_Player[pn] might work but could be wrong.
|
||||
const bool bBright = ( m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo > int(BRIGHT_GHOST_COMBO_THRESHOLD) ) || bBlind;
|
||||
|
||||
for( int iTrack = 0; iTrack < m_NoteData.GetNumTracks(); ++iTrack )
|
||||
@@ -2502,8 +2493,6 @@ void Player::FlashGhostRow( int iRow, PlayerNumber pn )
|
||||
|
||||
if( tn.type == TapNote::empty || tn.type == TapNote::mine || tn.type == TapNote::fake )
|
||||
continue;
|
||||
if( tn.pn != PLAYER_INVALID && tn.pn != pn )
|
||||
continue;
|
||||
if( m_pNoteField )
|
||||
m_pNoteField->DidTapNote( iTrack, lastTNS, bBright );
|
||||
if( lastTNS >= TNS_W3 || bBlind )
|
||||
@@ -2743,8 +2732,7 @@ void Player::HandleTapRowScore( unsigned row )
|
||||
if( bNoCheating && m_pPlayerState->m_PlayerController == PC_AUTOPLAY )
|
||||
return;
|
||||
|
||||
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
TapNoteScore scoreOfLastTap = NoteDataWithScoring::LastTapNoteWithResult(m_NoteData, row, pn).result.tns;
|
||||
TapNoteScore scoreOfLastTap = NoteDataWithScoring::LastTapNoteWithResult(m_NoteData, row).result.tns;
|
||||
const int iOldCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurCombo : 0;
|
||||
const int iOldMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurMissCombo : 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user