course pane stuff
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user