From ee4427a54b82da0a76d738c7f4bf3821bc700c04 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 16 May 2004 02:51:55 +0000 Subject: [PATCH] clean up CPU player naming add default CPU player modifiers --- stepmania/Themes/default/metrics.ini | 1 + stepmania/src/GameState.cpp | 33 +++++++++++++++++++++++----- stepmania/src/GameState.h | 1 + stepmania/src/Player.cpp | 5 ++--- stepmania/src/PlayerNumber.cpp | 10 +++++++++ stepmania/src/PlayerNumber.h | 2 ++ stepmania/src/ProfileManager.cpp | 6 +---- stepmania/src/ScreenGameplay.cpp | 9 +++----- 8 files changed, 47 insertions(+), 20 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 75954a3f23..febf6c2a6b 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -18,6 +18,7 @@ FirstRunInitialScreen=ScreenCompany InitialScreen=ScreenCompany WindowTitle=StepMania DefaultModifiers= +DefaultCpuModifiers= JoinPauseSeconds=0.8 DifficultiesToShow=beginner,easy,medium,hard,challenge diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index d4f09fa48e..38451af291 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -42,6 +42,7 @@ #include #define DEFAULT_MODIFIERS THEME->GetMetric( "Common","DefaultModifiers" ) +#define DEFAULT_CPU_MODIFIERS THEME->GetMetric( "Common","DefaultCpuModifiers" ) #define DIFFICULTIES_TO_SHOW THEME->GetMetric( "Common","DifficultiesToShow" ) GameState* GAMESTATE = NULL; // global and accessable from anywhere in our program @@ -168,7 +169,7 @@ void GameState::Reset() } m_SongOptions.Init(); - for( p=0; pm_sDefaultModifiers ); + ApplyModifiers( p, DEFAULT_MODIFIERS ); + ApplyModifiers( p, PREFSMAN->m_sDefaultModifiers ); } - for( p=0; pm_ShowDancingCharacters == PrefsManager::CO_RANDOM) m_pCurCharacters[p] = GetRandomCharacter(); @@ -190,7 +191,7 @@ void GameState::Reset() ASSERT( m_pCurCharacters[p] ); } - for( p=0; pm_pLastSong; } - + FOREACH_CpuPlayer( pn ) + { + ApplyModifiers( pn, DEFAULT_CPU_MODIFIERS ); + } } /* This data is added to each player profile, and to the machine profile per-player. */ @@ -693,6 +697,23 @@ int GameState::GetCourseSongIndex() const return iSongIndex; } +CString GameState::GetPlayerDisplayName( PlayerNumber pn ) const +{ + ASSERT( IsPlayerEnabled(pn) ); + const CString defaultnames[NUM_PLAYERS] = { "PLAYER 1", "PLAYER 2" }; + if( IsHumanPlayer(pn) ) + { + if( !PROFILEMAN->GetPlayerName(pn).empty() ) + return PROFILEMAN->GetPlayerName(pn); + else + return defaultnames[pn]; + } + else + { + return "CPU"; + } +} + bool GameState::PlayersCanJoin() const { return GetNumSidesJoined() == 0 || this->m_CurStyle == STYLE_INVALID; // selecting a style finalizes the players diff --git a/stepmania/src/GameState.h b/stepmania/src/GameState.h index e4df2db4b8..edfd8052b6 100644 --- a/stepmania/src/GameState.h +++ b/stepmania/src/GameState.h @@ -131,6 +131,7 @@ public: CString GetStageText() const; void GetAllStageTexts( CStringArray &out ) const; int GetCourseSongIndex() const; + CString GetPlayerDisplayName( PlayerNumber pn ) const; // diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index d0d9c98d34..a4ab91822f 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -166,12 +166,11 @@ void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* p { case 0: case 3: - // do shuffle - NoteDataUtil::Turn( *this, STEPS_TYPE_DANCE_SINGLE, NoteDataUtil::mirror); + NoteDataUtil::Turn( *this, STEPS_TYPE_DANCE_SINGLE, NoteDataUtil::left); break; case 1: case 2: - // don't shuffle + NoteDataUtil::Turn( *this, STEPS_TYPE_DANCE_SINGLE, NoteDataUtil::right); break; default: ASSERT(0); diff --git a/stepmania/src/PlayerNumber.cpp b/stepmania/src/PlayerNumber.cpp index 9705b34a05..3e8e9d813a 100644 --- a/stepmania/src/PlayerNumber.cpp +++ b/stepmania/src/PlayerNumber.cpp @@ -54,3 +54,13 @@ PlayerNumber GetNextEnabledPlayer( PlayerNumber pn ) return PLAYER_INVALID; } +PlayerNumber GetNextCpuPlayer( PlayerNumber pn ) +{ + for( PlayerNumber p=(PlayerNumber)(pn+1); pIsCpuPlayer(p) ) + return p; + } + return PLAYER_INVALID; +} + diff --git a/stepmania/src/PlayerNumber.h b/stepmania/src/PlayerNumber.h index 0f0bf97b73..4fa24cd718 100644 --- a/stepmania/src/PlayerNumber.h +++ b/stepmania/src/PlayerNumber.h @@ -29,9 +29,11 @@ enum PlayerNumber { #define FOREACH_PlayerNumber( pn ) FOREACH_ENUM( PlayerNumber, NUM_PLAYERS, pn ) #define FOREACH_HumanPlayer( pn ) for( PlayerNumber pn=GetNextHumanPlayer((PlayerNumber)-1); pn!=PLAYER_INVALID; pn=GetNextHumanPlayer(pn) ) #define FOREACH_EnabledPlayer( pn ) for( PlayerNumber pn=GetNextEnabledPlayer((PlayerNumber)-1); pn!=PLAYER_INVALID; pn=GetNextEnabledPlayer(pn) ) +#define FOREACH_CpuPlayer( pn ) for( PlayerNumber pn=GetNextEnabledPlayer((PlayerNumber)-1); pn!=PLAYER_INVALID; pn=GetNextEnabledPlayer(pn) ) PlayerNumber GetNextHumanPlayer( PlayerNumber pn ); PlayerNumber GetNextEnabledPlayer( PlayerNumber pn ); +PlayerNumber GetNextCpuPlayer( PlayerNumber pn ); const PlayerNumber OPPOSITE_PLAYER[NUM_PLAYERS] = { PLAYER_2, PLAYER_1 }; diff --git a/stepmania/src/ProfileManager.cpp b/stepmania/src/ProfileManager.cpp index fea2d8fc49..167ecc1ae5 100644 --- a/stepmania/src/ProfileManager.cpp +++ b/stepmania/src/ProfileManager.cpp @@ -224,11 +224,7 @@ const Profile* ProfileManager::GetProfile( PlayerNumber pn ) const CString ProfileManager::GetPlayerName( PlayerNumber pn ) const { const Profile *prof = GetProfile( pn ); - if( prof ) - return prof->GetDisplayName(); - - const char *names[NUM_PLAYERS] = { "PLAYER 1", "PLAYER 2" }; - return names[pn]; + return prof ? prof->GetDisplayName() : ""; } diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 349e302aed..38dd9c5abd 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -529,7 +529,7 @@ void ScreenGameplay::Init() m_sprCourseSongNumber.SetName( "CourseSongNumber" ); SET_XY( m_sprCourseSongNumber ); - for( p=0; pGetPathToN("ScreenGameplay song num") ); m_textCourseSongNumber[p].SetShadowLength( 0 ); @@ -542,17 +542,14 @@ void ScreenGameplay::Init() { m_textPlayerName[p].LoadFromFont( THEME->GetPathToF("ScreenGameplay player") ); m_textPlayerName[p].SetName( ssprintf("PlayerNameP%i",p+1) ); - m_textPlayerName[p].SetText( PROFILEMAN->GetPlayerName((PlayerNumber)p) ); + m_textPlayerName[p].SetText( GAMESTATE->GetPlayerDisplayName((PlayerNumber)p) ); SET_XY( m_textPlayerName[p] ); this->AddChild( &m_textPlayerName[p] ); } } - for( p=0; pIsPlayerEnabled(p) ) - continue; // skip - m_textStepsDescription[p].LoadFromFont( THEME->GetPathToF("ScreenGameplay StepsDescription") ); m_textStepsDescription[p].SetName( ssprintf("StepsDescriptionP%i",p+1) ); SET_XY( m_textStepsDescription[p] );