course pane stuff

This commit is contained in:
Glenn Maynard
2003-12-21 04:10:30 +00:00
parent 68e1053947
commit 120a37cee8
2 changed files with 39 additions and 5 deletions
+34 -5
View File
@@ -48,7 +48,12 @@ static const Content_t g_Contents[NUM_PANE_CONTENTS] =
{ "CourseMachineHighName", PANE_COURSE_MACHINE_SCORES, NEED_COURSE }, { "CourseMachineHighName", PANE_COURSE_MACHINE_SCORES, NEED_COURSE },
{ "CourseProfileHighScore", PANE_COURSE_MACHINE_SCORES, NEED_COURSE|NEED_PROFILE }, { "CourseProfileHighScore", PANE_COURSE_MACHINE_SCORES, NEED_COURSE|NEED_PROFILE },
{ "CourseProfileNumPlays", NUM_PANES, NEED_COURSE|NEED_PROFILE }, { "CourseProfileNumPlays", NUM_PANES, NEED_COURSE|NEED_PROFILE },
{ "CourseProfileRank", NUM_PANES, NEED_COURSE|NEED_PROFILE } { "CourseProfileRank", NUM_PANES, NEED_COURSE|NEED_PROFILE },
{ "CourseNumSteps", PANE_COURSE_MACHINE_SCORES, NEED_COURSE },
{ "CourseJumps", PANE_COURSE_MACHINE_SCORES, NEED_COURSE },
{ "CourseHolds", PANE_COURSE_MACHINE_SCORES, NEED_COURSE },
{ "CourseMines", PANE_COURSE_MACHINE_SCORES, NEED_COURSE },
{ "CourseHands", PANE_COURSE_MACHINE_SCORES, NEED_COURSE }
}; };
static const PaneModes PaneMode[NUM_PANES] = static const PaneModes PaneMode[NUM_PANES] =
@@ -146,25 +151,44 @@ void PaneDisplay::SetContent( PaneContents c )
if( (g_Contents[c].req&NEED_PROFILE) && !PROFILEMAN->IsUsingProfile( m_PlayerNumber ) ) if( (g_Contents[c].req&NEED_PROFILE) && !PROFILEMAN->IsUsingProfile( m_PlayerNumber ) )
return; return;
const float *fRadarValues = NULL; float fRadarValues[NUM_RADAR_CATEGORIES];
if( GAMESTATE->m_pCurNotes[m_PlayerNumber] ) memset( fRadarValues, 0, sizeof(fRadarValues) );
fRadarValues = GAMESTATE->m_pCurNotes[m_PlayerNumber]->GetRadarValues();
if( g_Contents[c].req&NEED_NOTES )
memcpy( fRadarValues, GAMESTATE->m_pCurNotes[m_PlayerNumber]->GetRadarValues(), sizeof(fRadarValues) );
else if( g_Contents[c].req&NEED_COURSE )
{
vector<Course::Info> ci;
GAMESTATE->m_pCurCourse->GetCourseInfo( GAMESTATE->GetCurrentStyleDef()->m_StepsType, ci );
for( unsigned i = 0; i < ci.size(); ++i )
{
for( unsigned r = 0; r < NUM_RADAR_CATEGORIES; ++r )
{
const Steps *pNotes = ci[i].pNotes;
fRadarValues[r] += pNotes->GetRadarValues()[r];
}
}
}
float val = 0; float val = 0;
CString str; CString str;
switch( c ) switch( c )
{ {
case COURSE_NUM_STEPS:
case SONG_NUM_STEPS: val = fRadarValues[RADAR_NUM_TAPS_AND_HOLDS]; break; case SONG_NUM_STEPS: val = fRadarValues[RADAR_NUM_TAPS_AND_HOLDS]; break;
case COURSE_JUMPS:
case SONG_JUMPS: val = fRadarValues[RADAR_NUM_JUMPS]; break; case SONG_JUMPS: val = fRadarValues[RADAR_NUM_JUMPS]; break;
case COURSE_HOLDS:
case SONG_HOLDS: val = fRadarValues[RADAR_NUM_HOLDS]; break; case SONG_HOLDS: val = fRadarValues[RADAR_NUM_HOLDS]; break;
case COURSE_MINES:
case SONG_MINES: val = fRadarValues[RADAR_NUM_MINES]; break; case SONG_MINES: val = fRadarValues[RADAR_NUM_MINES]; break;
case COURSE_HANDS:
case SONG_HANDS: val = fRadarValues[RADAR_NUM_HANDS]; break; case SONG_HANDS: val = fRadarValues[RADAR_NUM_HANDS]; break;
case SONG_DIFFICULTY_RADAR_STREAM: val = fRadarValues[RADAR_STREAM]; break; case SONG_DIFFICULTY_RADAR_STREAM: val = fRadarValues[RADAR_STREAM]; break;
case SONG_DIFFICULTY_RADAR_VOLTAGE: val = fRadarValues[RADAR_VOLTAGE]; break; case SONG_DIFFICULTY_RADAR_VOLTAGE: val = fRadarValues[RADAR_VOLTAGE]; break;
case SONG_DIFFICULTY_RADAR_AIR: val = fRadarValues[RADAR_AIR]; break; case SONG_DIFFICULTY_RADAR_AIR: val = fRadarValues[RADAR_AIR]; break;
case SONG_DIFFICULTY_RADAR_FREEZE: val = fRadarValues[RADAR_FREEZE]; break; case SONG_DIFFICULTY_RADAR_FREEZE: val = fRadarValues[RADAR_FREEZE]; break;
case SONG_DIFFICULTY_RADAR_CHAOS: val = fRadarValues[RADAR_CHAOS]; break; case SONG_DIFFICULTY_RADAR_CHAOS: val = fRadarValues[RADAR_CHAOS]; break;
case SONG_PROFILE_HIGH_SCORE: case SONG_PROFILE_HIGH_SCORE:
val = 100.0f * GAMESTATE->m_pCurNotes[m_PlayerNumber]->GetTopScore( PlayerMemCard(m_PlayerNumber) ).fPercentDP; val = 100.0f * GAMESTATE->m_pCurNotes[m_PlayerNumber]->GetTopScore( PlayerMemCard(m_PlayerNumber) ).fPercentDP;
break; break;
@@ -258,6 +282,11 @@ void PaneDisplay::SetContent( PaneContents c )
case SONG_HOLDS: case SONG_HOLDS:
case SONG_MINES: case SONG_MINES:
case SONG_HANDS: case SONG_HANDS:
case COURSE_NUM_STEPS:
case COURSE_JUMPS:
case COURSE_HOLDS:
case COURSE_MINES:
case COURSE_HANDS:
case SONG_MACHINE_NUM_PLAYS: case SONG_MACHINE_NUM_PLAYS:
case COURSE_MACHINE_NUM_PLAYS: case COURSE_MACHINE_NUM_PLAYS:
case SONG_PROFILE_NUM_PLAYS: case SONG_PROFILE_NUM_PLAYS:
+5
View File
@@ -58,6 +58,11 @@ enum PaneContents
COURSE_PROFILE_HIGH_SCORE, COURSE_PROFILE_HIGH_SCORE,
COURSE_PROFILE_NUM_PLAYS, COURSE_PROFILE_NUM_PLAYS,
COURSE_PROFILE_RANK, COURSE_PROFILE_RANK,
COURSE_NUM_STEPS,
COURSE_JUMPS,
COURSE_HOLDS,
COURSE_MINES,
COURSE_HANDS,
NUM_PANE_CONTENTS NUM_PANE_CONTENTS
}; };