From 90474dbd7b92e666668be60c73ffe44368647209 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 25 Apr 2005 06:06:47 +0000 Subject: [PATCH] fix asserts in ScreenNameEntryTraditional w/ ScreenTestMode on --- stepmania/src/ScreenNameEntryTraditional.cpp | 31 +++++++++++--------- stepmania/src/StatsManager.cpp | 6 ++++ 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index 35dd48f5c0..223c1f1443 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -137,31 +137,34 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S for( int z = 0; z < 3; ++z ) { ss.vpPlayedSongs.push_back( SONGMAN->GetRandomSong() ); - ss.m_player[PLAYER_1].iPossibleDancePoints = 100; - ss.m_player[PLAYER_1].iActualDancePoints = 100; - ss.m_player[PLAYER_1].iScore = 100; - ss.m_player[PLAYER_2].iPossibleDancePoints = 100; - ss.m_player[PLAYER_2].iActualDancePoints = 100; - ss.m_player[PLAYER_2].iScore = 100; + ss.vpPossibleSongs = ss.vpPlayedSongs; + ss.pStyle = GAMESTATE->m_pCurStyle; + ss.playMode = GAMESTATE->m_PlayMode; ASSERT( ss.vpPlayedSongs[0]->GetAllSteps().size() ); + StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; + FOREACH_PlayerNumber( p ) { - ss.m_player[p].vpPlayedSteps.push_back( ss.vpPlayedSongs[0]->GetAllSteps()[0] ); - GAMESTATE->m_pCurSteps[p].Set( ss.m_player[p].vpPlayedSteps[0] ); + Steps *pSteps = ss.vpPlayedSongs[0]->GetAllSteps()[0]; + ss.m_player[p].vpPlayedSteps.push_back( pSteps ); + GAMESTATE->m_pCurSteps[p].Set( pSteps ); + ss.m_player[p].iPossibleDancePoints = 100; + ss.m_player[p].iActualDancePoints = 100; + ss.m_player[p].iScore = 100; ss.m_player[p].iPossibleDancePoints = 1000; ss.m_player[p].iActualDancePoints = 985; + ss.m_player[p].vpPossibleSteps.push_back( pSteps ); HighScore hs; hs.grade = GRADE_TIER03; hs.fPercentDP = ss.m_player[p].GetPercentDancePoints(); hs.iScore = ss.m_player[p].iScore; - StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; int a, b; - PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], GAMESTATE->m_pCurSteps[p], p, hs, a, b ); - PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], GAMESTATE->m_pCurSteps[p], p, hs, a, b ); - PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], GAMESTATE->m_pCurSteps[p], p, hs, a, b ); - PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], GAMESTATE->m_pCurSteps[p], p, hs, a, b ); - PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], GAMESTATE->m_pCurSteps[p], p, hs, a, b ); + PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], pSteps, p, hs, a, b ); + PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], pSteps, p, hs, a, b ); + PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], pSteps, p, hs, a, b ); + PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], pSteps, p, hs, a, b ); + PROFILEMAN->AddStepsScore( ss.vpPlayedSongs[0], pSteps, p, hs, a, b ); PROFILEMAN->AddCategoryScore( st, RANKING_A, p, hs, a, b ); } diff --git a/stepmania/src/StatsManager.cpp b/stepmania/src/StatsManager.cpp index 8ca3b6a215..2a74e68960 100644 --- a/stepmania/src/StatsManager.cpp +++ b/stepmania/src/StatsManager.cpp @@ -17,6 +17,12 @@ StageStats AccumStageStats( const vector& vss ) { StageStats ssreturn; + if( !vss.empty() ) + { + ssreturn.pStyle = vss[0].pStyle; + ssreturn.playMode = vss[0].playMode; + } + FOREACH_CONST( StageStats, vss, ss ) ssreturn.AddStats( *ss );