fix Dancing Characters option setting "Select"

This commit is contained in:
Chris Danford
2003-09-07 23:35:48 +00:00
parent c9b618af95
commit b48d78b866
2 changed files with 27 additions and 9 deletions
+2 -2
View File
@@ -214,8 +214,8 @@ void DancingCharacters::DrawPrimitives()
bool bDanger = m_bDrawDangerLight; bool bDanger = m_bDrawDangerLight;
DISPLAY->SetLighting( true ); DISPLAY->SetLighting( true );
RageColor ambient = bFailed ? RageColor(0.2f,0.0f,0.0f,1) : (bDanger ? RageColor(0.4f,0.0f,0.0f,1) : RageColor(0.4f,0.4f,0.4f,1)); RageColor ambient = bFailed ? RageColor(0.2f,0.1f,0.1f,1) : (bDanger ? RageColor(0.4f,0.1f,0.1f,1) : RageColor(0.4f,0.4f,0.4f,1));
RageColor diffuse = bFailed ? RageColor(0.4f,0.0f,0.0f,1) : (bDanger ? RageColor(0.8f,0.0f,0.0f,1) : RageColor(0.8f,0.8f,0.8f,1)); RageColor diffuse = bFailed ? RageColor(0.4f,0.1f,0.1f,1) : (bDanger ? RageColor(0.8f,0.1f,0.1f,1) : RageColor(0.8f,0.8f,0.8f,1));
RageColor specular = RageColor(0.8f,0.8f,0.8f,1); RageColor specular = RageColor(0.8f,0.8f,0.8f,1);
DISPLAY->SetLightDirectional( DISPLAY->SetLightDirectional(
+23 -5
View File
@@ -44,8 +44,9 @@
#define ICONS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOffCommand",p+1)) #define ICONS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOffCommand",p+1))
#define HELP_TEXT THEME->GetMetric ("ScreenSelectCharacter","HelpText") #define HELP_TEXT THEME->GetMetric ("ScreenSelectCharacter","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCharacter","TimerSeconds") #define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCharacter","TimerSeconds")
#define NEXT_SCREEN THEME->GetMetric ("ScreenSelectCharacter","NextScreen")
#define SLEEP_AFTER_TWEEN_OFF_SECONDS THEME->GetMetricF("ScreenSelectCharacter","SleepAfterTweenOffSeconds") #define SLEEP_AFTER_TWEEN_OFF_SECONDS THEME->GetMetricF("ScreenSelectCharacter","SleepAfterTweenOffSeconds")
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","NextScreen"+Capitalize(PlayModeToString(play_mode)))
#define LEVEL_CURSOR_X( p, l ) ( ICONS_START_X(p)+ICONS_SPACING_X*((NUM_ATTACKS_PER_LEVEL-1)/2.f) ) #define LEVEL_CURSOR_X( p, l ) ( ICONS_START_X(p)+ICONS_SPACING_X*((NUM_ATTACKS_PER_LEVEL-1)/2.f) )
#define LEVEL_CURSOR_Y( p, l ) ( ICONS_START_Y(p)+ICONS_SPACING_Y*l ) #define LEVEL_CURSOR_Y( p, l ) ( ICONS_START_Y(p)+ICONS_SPACING_Y*l )
@@ -53,16 +54,33 @@
const PlayerNumber CPU_PLAYER[NUM_PLAYERS] = { PLAYER_2, PLAYER_1 }; const PlayerNumber CPU_PLAYER[NUM_PLAYERS] = { PLAYER_2, PLAYER_1 };
ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter") ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
{ {
LOG->Trace( "ScreenSelectCharacter::ScreenSelectCharacter()" ); LOG->Trace( "ScreenSelectCharacter::ScreenSelectCharacter()" );
if( GAMESTATE->m_pCharacters.empty() ||
(GAMESTATE->m_PlayMode != PLAY_MODE_BATTLE && GAMESTATE->m_PlayMode != PLAY_MODE_RAVE && PREFSMAN->m_ShowDancingCharacters != PrefsManager::CO_SELECT )) switch( GAMESTATE->m_PlayMode )
{
//
// Must have at least one character installed to play battle or rave
//
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
SCREENMAN->Prompt( SM_GoToPrevScreen, "No characters are installed.\n\nAt least one character must be installed\nto play this mode." );
break;
default:
//
//
if( GAMESTATE->m_pCharacters.empty() || // Bail early if no characters
PREFSMAN->m_ShowDancingCharacters != PrefsManager::CO_SELECT ) // Bail early if this screen should be hidden
{ {
HandleScreenMessage( SM_GoToNextScreen ); HandleScreenMessage( SM_GoToNextScreen );
return; return;
} }
}
m_Menu.Load( "ScreenSelectCharacter" ); m_Menu.Load( "ScreenSelectCharacter" );
@@ -184,10 +202,10 @@ void ScreenSelectCharacter::HandleScreenMessage( const ScreenMessage SM )
MenuStart(PLAYER_1); MenuStart(PLAYER_1);
break; break;
case SM_GoToPrevScreen: case SM_GoToPrevScreen:
SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
break; break;
case SM_GoToNextScreen: case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( NEXT_SCREEN ); SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
break; break;
} }
} }