Another goto replace with a fake infinite.
This commit is contained in:
+129
-122
@@ -126,138 +126,145 @@ void PaneDisplay::SetContent( PaneCategory c )
|
|||||||
const Profile *pProfile = PROFILEMAN->IsPersistentProfile(m_PlayerNumber) ? PROFILEMAN->GetProfile(m_PlayerNumber) : NULL;
|
const Profile *pProfile = PROFILEMAN->IsPersistentProfile(m_PlayerNumber) ? PROFILEMAN->GetProfile(m_PlayerNumber) : NULL;
|
||||||
bool bIsPlayerEdit = pSteps && pSteps->IsAPlayerEdit();
|
bool bIsPlayerEdit = pSteps && pSteps->IsAPlayerEdit();
|
||||||
|
|
||||||
if(GAMESTATE->IsCourseMode() && !pTrail)
|
for (;;)
|
||||||
{
|
{
|
||||||
if( (g_Contents[c].req&NEED_PROFILE) )
|
if(GAMESTATE->IsCourseMode() && !pTrail)
|
||||||
str = NOT_AVAILABLE;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
switch( c )
|
if( (g_Contents[c].req&NEED_PROFILE) )
|
||||||
|
str = NOT_AVAILABLE;
|
||||||
|
|
||||||
{
|
{
|
||||||
case PaneCategory_MachineHighName:
|
switch( c )
|
||||||
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
{
|
||||||
break;
|
case PaneCategory_MachineHighName:
|
||||||
case PaneCategory_MachineHighScore:
|
|
||||||
case PaneCategory_ProfileHighScore:
|
|
||||||
str = NOT_AVAILABLE;
|
|
||||||
break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
else if(!GAMESTATE->IsCourseMode() && !pSong)
|
|
||||||
{
|
|
||||||
if( (g_Contents[c].req&NEED_PROFILE) )
|
|
||||||
str = NOT_AVAILABLE;
|
|
||||||
|
|
||||||
{
|
|
||||||
switch( c )
|
|
||||||
{
|
|
||||||
case PaneCategory_MachineHighName:
|
|
||||||
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
|
||||||
break;
|
|
||||||
case PaneCategory_MachineHighScore:
|
|
||||||
case PaneCategory_ProfileHighScore:
|
|
||||||
str = NOT_AVAILABLE;
|
|
||||||
break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( (g_Contents[c].req&NEED_NOTES) && !pSteps && !pTrail )
|
|
||||||
goto done;
|
|
||||||
if( (g_Contents[c].req&NEED_PROFILE) && !pProfile )
|
|
||||||
{
|
|
||||||
str = NOT_AVAILABLE;
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
RadarValues rv;
|
|
||||||
HighScoreList *pHSL = NULL;
|
|
||||||
ProfileSlot slot = ProfileSlot_Machine;
|
|
||||||
switch( c )
|
|
||||||
{
|
|
||||||
case PaneCategory_ProfileHighScore:
|
|
||||||
slot = (ProfileSlot) m_PlayerNumber;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( pSteps )
|
|
||||||
{
|
|
||||||
rv = pSteps->GetRadarValues( m_PlayerNumber );
|
|
||||||
pHSL = &PROFILEMAN->GetProfile(slot)->GetStepsHighScoreList(pSong, pSteps);
|
|
||||||
}
|
|
||||||
else if( pTrail )
|
|
||||||
{
|
|
||||||
rv = pTrail->GetRadarValues();
|
|
||||||
pHSL = &PROFILEMAN->GetProfile(slot)->GetCourseHighScoreList(pCourse, pTrail);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( c )
|
|
||||||
{
|
|
||||||
case PaneCategory_NumSteps: val = rv[RadarCategory_TapsAndHolds]; break;
|
|
||||||
case PaneCategory_Jumps: val = rv[RadarCategory_Jumps]; break;
|
|
||||||
case PaneCategory_Holds: val = rv[RadarCategory_Holds]; break;
|
|
||||||
case PaneCategory_Rolls: val = rv[RadarCategory_Rolls]; break;
|
|
||||||
case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break;
|
|
||||||
case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break;
|
|
||||||
case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break;
|
|
||||||
case PaneCategory_Fakes: val = rv[RadarCategory_Fakes]; break;
|
|
||||||
case PaneCategory_ProfileHighScore:
|
|
||||||
case PaneCategory_MachineHighName: // set val for color
|
|
||||||
case PaneCategory_MachineHighScore:
|
|
||||||
CHECKPOINT;
|
|
||||||
val = pHSL->GetTopScore().GetPercentDP();
|
|
||||||
break;
|
|
||||||
default: break;
|
|
||||||
};
|
|
||||||
|
|
||||||
if( val != RADAR_VAL_UNKNOWN )
|
|
||||||
{
|
|
||||||
switch( c )
|
|
||||||
{
|
|
||||||
case PaneCategory_MachineHighName:
|
|
||||||
if( pHSL->vHighScores.empty() )
|
|
||||||
{
|
|
||||||
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
||||||
}
|
break;
|
||||||
else
|
case PaneCategory_MachineHighScore:
|
||||||
{
|
case PaneCategory_ProfileHighScore:
|
||||||
str = pHSL->GetTopScore().GetName();
|
|
||||||
if( str.empty() )
|
|
||||||
str = "????";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PaneCategory_MachineHighScore:
|
|
||||||
case PaneCategory_ProfileHighScore:
|
|
||||||
// Don't show or save machine high scores for edits loaded from a player profile.
|
|
||||||
if( bIsPlayerEdit )
|
|
||||||
str = NOT_AVAILABLE;
|
str = NOT_AVAILABLE;
|
||||||
else
|
break;
|
||||||
str = PlayerStageStats::FormatPercentScore( val );
|
default: break;
|
||||||
break;
|
}
|
||||||
case PaneCategory_NumSteps:
|
}
|
||||||
case PaneCategory_Jumps:
|
|
||||||
case PaneCategory_Holds:
|
break;
|
||||||
case PaneCategory_Rolls:
|
}
|
||||||
case PaneCategory_Mines:
|
|
||||||
case PaneCategory_Hands:
|
if(!GAMESTATE->IsCourseMode() && !pSong)
|
||||||
case PaneCategory_Lifts:
|
{
|
||||||
case PaneCategory_Fakes:
|
if( (g_Contents[c].req&NEED_PROFILE) )
|
||||||
str = ssprintf( COUNT_FORMAT.GetValue(), val );
|
str = NOT_AVAILABLE;
|
||||||
break;
|
|
||||||
|
{
|
||||||
|
switch( c )
|
||||||
|
{
|
||||||
|
case PaneCategory_MachineHighName:
|
||||||
|
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
||||||
|
break;
|
||||||
|
case PaneCategory_MachineHighScore:
|
||||||
|
case PaneCategory_ProfileHighScore:
|
||||||
|
str = NOT_AVAILABLE;
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( (g_Contents[c].req&NEED_NOTES) && !pSteps && !pTrail )
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if( (g_Contents[c].req&NEED_PROFILE) && !pProfile )
|
||||||
|
{
|
||||||
|
str = NOT_AVAILABLE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Is this standalone block needed?
|
||||||
|
{
|
||||||
|
RadarValues rv;
|
||||||
|
HighScoreList *pHSL = NULL;
|
||||||
|
ProfileSlot slot = ProfileSlot_Machine;
|
||||||
|
switch( c )
|
||||||
|
{
|
||||||
|
case PaneCategory_ProfileHighScore:
|
||||||
|
slot = (ProfileSlot) m_PlayerNumber;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( pSteps )
|
||||||
|
{
|
||||||
|
rv = pSteps->GetRadarValues( m_PlayerNumber );
|
||||||
|
pHSL = &PROFILEMAN->GetProfile(slot)->GetStepsHighScoreList(pSong, pSteps);
|
||||||
|
}
|
||||||
|
else if( pTrail )
|
||||||
|
{
|
||||||
|
rv = pTrail->GetRadarValues();
|
||||||
|
pHSL = &PROFILEMAN->GetProfile(slot)->GetCourseHighScoreList(pCourse, pTrail);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( c )
|
||||||
|
{
|
||||||
|
case PaneCategory_NumSteps: val = rv[RadarCategory_TapsAndHolds]; break;
|
||||||
|
case PaneCategory_Jumps: val = rv[RadarCategory_Jumps]; break;
|
||||||
|
case PaneCategory_Holds: val = rv[RadarCategory_Holds]; break;
|
||||||
|
case PaneCategory_Rolls: val = rv[RadarCategory_Rolls]; break;
|
||||||
|
case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break;
|
||||||
|
case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break;
|
||||||
|
case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break;
|
||||||
|
case PaneCategory_Fakes: val = rv[RadarCategory_Fakes]; break;
|
||||||
|
case PaneCategory_ProfileHighScore:
|
||||||
|
case PaneCategory_MachineHighName: // set val for color
|
||||||
|
case PaneCategory_MachineHighScore:
|
||||||
|
CHECKPOINT;
|
||||||
|
val = pHSL->GetTopScore().GetPercentDP();
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
};
|
||||||
|
|
||||||
|
if( val != RADAR_VAL_UNKNOWN )
|
||||||
|
{
|
||||||
|
switch( c )
|
||||||
|
{
|
||||||
|
case PaneCategory_MachineHighName:
|
||||||
|
if( pHSL->vHighScores.empty() )
|
||||||
|
{
|
||||||
|
str = EMPTY_MACHINE_HIGH_SCORE_NAME;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
str = pHSL->GetTopScore().GetName();
|
||||||
|
if( str.empty() )
|
||||||
|
str = "????";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case PaneCategory_MachineHighScore:
|
||||||
|
case PaneCategory_ProfileHighScore:
|
||||||
|
// Don't show or save machine high scores for edits loaded from a player profile.
|
||||||
|
if( bIsPlayerEdit )
|
||||||
|
str = NOT_AVAILABLE;
|
||||||
|
else
|
||||||
|
str = PlayerStageStats::FormatPercentScore( val );
|
||||||
|
break;
|
||||||
|
case PaneCategory_NumSteps:
|
||||||
|
case PaneCategory_Jumps:
|
||||||
|
case PaneCategory_Holds:
|
||||||
|
case PaneCategory_Rolls:
|
||||||
|
case PaneCategory_Mines:
|
||||||
|
case PaneCategory_Hands:
|
||||||
|
case PaneCategory_Lifts:
|
||||||
|
case PaneCategory_Fakes:
|
||||||
|
str = ssprintf( COUNT_FORMAT.GetValue(), val );
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
|
||||||
m_textContents[c].SetText( str );
|
m_textContents[c].SetText( str );
|
||||||
|
|
||||||
Lua *L = LUA->Get();
|
Lua *L = LUA->Get();
|
||||||
|
|||||||
Reference in New Issue
Block a user