move more of autoplay into debugOverlay
This commit is contained in:
@@ -84,6 +84,14 @@ XToString( RankingCategory, NUM_RANKING_CATEGORIES );
|
||||
StringToX( RankingCategory );
|
||||
|
||||
|
||||
static const CString PlayerControllerNames[] = {
|
||||
"Human",
|
||||
"Autoplay",
|
||||
"Cpu",
|
||||
};
|
||||
XToString( PlayerController, NUM_PLAYER_CONTROLLERS );
|
||||
|
||||
|
||||
static const CString CoinModeNames[] = {
|
||||
"home",
|
||||
"pay",
|
||||
|
||||
@@ -224,10 +224,11 @@ const int NUM_RANKING_LINES = 5;
|
||||
enum PlayerController
|
||||
{
|
||||
PC_HUMAN,
|
||||
PC_CPU,
|
||||
PC_AUTOPLAY,
|
||||
PC_CPU,
|
||||
NUM_PLAYER_CONTROLLERS
|
||||
};
|
||||
const CString& PlayerControllerToString( PlayerController pc );
|
||||
|
||||
const int MIN_SKILL = 0;
|
||||
const int MAX_SKILL = 10;
|
||||
|
||||
@@ -76,6 +76,7 @@ READFROM_AND_WRITETO( PrefsManager::CourseSortOrders, int& )
|
||||
READFROM_AND_WRITETO( PrefsManager::GetRankingName, int& )
|
||||
READFROM_AND_WRITETO( PrefsManager::ScoringTypes, int& )
|
||||
READFROM_AND_WRITETO( PrefsManager::BoostAppPriority, int& )
|
||||
READFROM_AND_WRITETO( PlayerController, int& )
|
||||
READFROM_AND_WRITETO( RageSoundReader_Resample::ResampleQuality, int& )
|
||||
|
||||
void IPreference::ReadFrom( const IniFile &ini )
|
||||
|
||||
@@ -175,7 +175,7 @@ PrefsManager::PrefsManager() :
|
||||
m_fTimeMeterSecondsChangeOK ( Options, "TimeMeterSecondsChangeOK", -0.0f ),
|
||||
m_fTimeMeterSecondsChangeNG ( Options, "TimeMeterSecondsChangeNG", -4.0f ),
|
||||
|
||||
m_bAutoPlay ( Options, "AutoPlay", false ),
|
||||
m_AutoPlay ( Options, "AutoPlay", PC_HUMAN ),
|
||||
m_bDelayedBack ( Options, "DelayedBack", true ),
|
||||
m_bShowInstructions ( Options, "ShowInstructions", true ),
|
||||
m_bShowSelectGroup ( Options, "ShowSelectGroup", true ),
|
||||
|
||||
@@ -150,7 +150,7 @@ public:
|
||||
Preference<float> m_fTimeMeterSecondsChangeOK;
|
||||
Preference<float> m_fTimeMeterSecondsChangeNG;
|
||||
|
||||
Preference<bool> m_bAutoPlay;
|
||||
Preference<PlayerController> m_AutoPlay;
|
||||
Preference<bool> m_bDelayedBack;
|
||||
Preference<bool> m_bShowInstructions;
|
||||
Preference<bool> m_bShowSelectGroup;
|
||||
|
||||
@@ -122,6 +122,11 @@ void ScreenDebugOverlay::Update( float fDeltaTime )
|
||||
if( !g_bIsDisplayed )
|
||||
return;
|
||||
|
||||
UpdateText();
|
||||
}
|
||||
|
||||
void ScreenDebugOverlay::UpdateText()
|
||||
{
|
||||
/* Highlight options that aren't the default. */
|
||||
const RageColor off(0.6f, 0.6f, 0.6f, 1.0f);
|
||||
const RageColor on(1, 1, 1, 1);
|
||||
@@ -157,7 +162,7 @@ void ScreenDebugOverlay::Update( float fDeltaTime )
|
||||
bool bOn = false;
|
||||
switch( i )
|
||||
{
|
||||
case DebugLine_Autoplay: bOn=PREFSMAN->m_bAutoPlay.Get(); break;
|
||||
case DebugLine_Autoplay: bOn=PREFSMAN->m_AutoPlay.Get() != PC_HUMAN; break;
|
||||
case DebugLine_CoinMode: bOn=true; break;
|
||||
case DebugLine_Slow: bOn=g_bIsSlow; break;
|
||||
case DebugLine_Halt: bOn=g_bIsHalt; break;
|
||||
@@ -178,7 +183,15 @@ void ScreenDebugOverlay::Update( float fDeltaTime )
|
||||
CString s2;
|
||||
switch( i )
|
||||
{
|
||||
case DebugLine_Autoplay: s2=bOn ? "on":"off"; break;
|
||||
case DebugLine_Autoplay:
|
||||
switch( PREFSMAN->m_AutoPlay )
|
||||
{
|
||||
case PC_HUMAN: s2="off"; break;
|
||||
case PC_AUTOPLAY: s2="on"; break;
|
||||
case PC_CPU: s2="CPU"; break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
break;
|
||||
case DebugLine_CoinMode: s2=CoinModeToString(PREFSMAN->m_CoinMode); break;
|
||||
case DebugLine_Slow: s2=bOn ? "on":"off"; break;
|
||||
case DebugLine_Halt: s2=bOn ? "on":"off"; break;
|
||||
@@ -249,9 +262,13 @@ bool ScreenDebugOverlay::OverlayInput( const DeviceInput& DeviceI, const InputEv
|
||||
switch( i )
|
||||
{
|
||||
case DebugLine_Autoplay:
|
||||
PREFSMAN->m_bAutoPlay.Set( !PREFSMAN->m_bAutoPlay );
|
||||
FOREACH_HumanPlayer(pn)
|
||||
GAMESTATE->m_pPlayerState[pn]->m_PlayerController = PREFSMAN->m_bAutoPlay ? PC_AUTOPLAY : PC_HUMAN;
|
||||
{
|
||||
PlayerController pc = (PlayerController)(PREFSMAN->m_AutoPlay+1);
|
||||
wrap( (int&)pc, NUM_PLAYER_CONTROLLERS );
|
||||
PREFSMAN->m_AutoPlay.Set( pc );
|
||||
FOREACH_HumanPlayer(pn)
|
||||
GAMESTATE->m_pPlayerState[pn]->m_PlayerController = PREFSMAN->m_AutoPlay;
|
||||
}
|
||||
break;
|
||||
case DebugLine_CoinMode:
|
||||
{
|
||||
@@ -314,6 +331,8 @@ bool ScreenDebugOverlay::OverlayInput( const DeviceInput& DeviceI, const InputEv
|
||||
default: ASSERT(0);
|
||||
}
|
||||
|
||||
UpdateText();
|
||||
|
||||
SCREENMAN->SystemMessage( txt.GetText() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,8 @@ public:
|
||||
void Update( float fDeltaTime );
|
||||
|
||||
private:
|
||||
void UpdateText();
|
||||
|
||||
Quad m_Quad;
|
||||
BitmapText m_Header;
|
||||
BitmapText m_Text[NUM_DEBUG_LINES];
|
||||
|
||||
@@ -1439,9 +1439,9 @@ void ScreenEdit::InputPlay( const DeviceInput& DeviceI, const InputEventType typ
|
||||
break;
|
||||
case EDIT_BUTTON_TOGGLE_AUTOPLAY:
|
||||
{
|
||||
PREFSMAN->m_bAutoPlay.Set( !PREFSMAN->m_bAutoPlay );
|
||||
PREFSMAN->m_AutoPlay.Set( PREFSMAN->m_AutoPlay!=PC_HUMAN ? PC_HUMAN:PC_AUTOPLAY );
|
||||
FOREACH_HumanPlayer( p )
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PREFSMAN->m_bAutoPlay?PC_AUTOPLAY:PC_HUMAN;
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PREFSMAN->m_AutoPlay;
|
||||
}
|
||||
break;
|
||||
case EDIT_BUTTON_OFFSET_UP:
|
||||
@@ -1471,7 +1471,7 @@ void ScreenEdit::InputPlay( const DeviceInput& DeviceI, const InputEventType typ
|
||||
switch( StyleI.player )
|
||||
{
|
||||
case PLAYER_1:
|
||||
if( !PREFSMAN->m_bAutoPlay )
|
||||
if( PREFSMAN->m_AutoPlay == PC_HUMAN )
|
||||
m_Player.Step( StyleI.col, DeviceI.ts );
|
||||
break;
|
||||
}
|
||||
@@ -2402,7 +2402,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
|
||||
SetupCourseAttacks();
|
||||
|
||||
m_Player.Load( m_NoteDataEdit );
|
||||
GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerController = PREFSMAN->m_bAutoPlay?PC_AUTOPLAY:PC_HUMAN;
|
||||
GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerController = PREFSMAN->m_AutoPlay;
|
||||
|
||||
const float fStartSeconds = m_pSong->GetElapsedTimeFromBeat(GAMESTATE->m_fSongBeat) ;
|
||||
LOG->Trace( "Starting playback at %f", fStartSeconds );
|
||||
|
||||
@@ -102,6 +102,8 @@ ScreenGameplay::ScreenGameplay( CString sName ) : ScreenWithMenuElements(sName)
|
||||
FAIL_AFTER_30_MISSES.Load( sName, "FailAfter30Misses" );
|
||||
USE_FORCED_MODIFIERS_IN_BEGINNER.Load( sName, "UseForcedModifiersInBeginner" );
|
||||
FORCED_MODIFIERS_IN_BEGINNER.Load( sName, "ForcedModifiersInBeginner" );
|
||||
|
||||
this->SubscribeToMessage( PREFSMAN->m_AutoPlay.GetName()+"Changed" );
|
||||
}
|
||||
|
||||
void ScreenGameplay::Init()
|
||||
@@ -963,13 +965,9 @@ void ScreenGameplay::LoadNextSong()
|
||||
iNewSkill = clamp( iNewSkill, 0, NUM_SKILL_LEVELS-1 );
|
||||
GAMESTATE->m_pPlayerState[p]->m_iCpuSkill = iNewSkill;
|
||||
}
|
||||
else if( PREFSMAN->m_bAutoPlay )
|
||||
{
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PC_AUTOPLAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PC_HUMAN;
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PREFSMAN->m_AutoPlay;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1943,9 +1941,6 @@ void ScreenGameplay::Input( const DeviceInput& DeviceI, const InputEventType typ
|
||||
{
|
||||
switch( DeviceI.button )
|
||||
{
|
||||
case KEY_F5:
|
||||
this->HandleScreenMessage( SM_NotesEnded );
|
||||
break;
|
||||
case KEY_F6:
|
||||
{
|
||||
bool bHoldingShift =
|
||||
@@ -1975,22 +1970,6 @@ void ScreenGameplay::Input( const DeviceInput& DeviceI, const InputEventType typ
|
||||
m_textDebug.BeginTweening( 0.5f ); // fade out
|
||||
m_textDebug.SetDiffuse( RageColor(1,1,1,0) );
|
||||
break;
|
||||
case KEY_F8:
|
||||
{
|
||||
PREFSMAN->m_bAutoPlay.Set( !PREFSMAN->m_bAutoPlay );
|
||||
UpdateAutoPlayText();
|
||||
bool bIsHoldingShift =
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT)) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT));
|
||||
FOREACH_HumanPlayer(p)
|
||||
{
|
||||
if( bIsHoldingShift )
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PREFSMAN->m_bAutoPlay ? PC_CPU : PC_HUMAN;
|
||||
else
|
||||
GAMESTATE->m_pPlayerState[p]->m_PlayerController = PREFSMAN->m_bAutoPlay ? PC_AUTOPLAY : PC_HUMAN;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case KEY_F9:
|
||||
case KEY_F10:
|
||||
{
|
||||
@@ -2063,7 +2042,7 @@ void ScreenGameplay::Input( const DeviceInput& DeviceI, const InputEventType typ
|
||||
{
|
||||
AbortGiveUp( true );
|
||||
|
||||
if( !PREFSMAN->m_bAutoPlay )
|
||||
if( PREFSMAN->m_AutoPlay == PC_HUMAN )
|
||||
m_Player[StyleI.player].Step( StyleI.col, DeviceI.ts );
|
||||
}
|
||||
// else if( type==IET_FIRST_PRESS &&
|
||||
@@ -2088,21 +2067,24 @@ void ScreenGameplay::Input( const DeviceInput& DeviceI, const InputEventType typ
|
||||
|
||||
void ScreenGameplay::UpdateAutoPlayText()
|
||||
{
|
||||
CString sText;
|
||||
vector<CString> vsText;
|
||||
|
||||
if( PREFSMAN->m_bAutoPlay )
|
||||
sText += "AutoPlay ";
|
||||
switch( PREFSMAN->m_AutoPlay )
|
||||
{
|
||||
case PC_HUMAN: break;
|
||||
case PC_AUTOPLAY: vsText.push_back("AutoPlay"); break;
|
||||
case PC_CPU: vsText.push_back("AutoPlay CPU"); break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
switch( GAMESTATE->m_SongOptions.m_AutosyncType )
|
||||
{
|
||||
case SongOptions::AUTOSYNC_OFF: break;
|
||||
case SongOptions::AUTOSYNC_SONG: sText += "AutosyncSong "; break;
|
||||
case SongOptions::AUTOSYNC_MACHINE: sText += "AutosyncMachine "; break;
|
||||
case SongOptions::AUTOSYNC_OFF: break;
|
||||
case SongOptions::AUTOSYNC_SONG: vsText.push_back("AutosyncSong"); break;
|
||||
case SongOptions::AUTOSYNC_MACHINE: vsText.push_back("AutosyncMachine"); break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
|
||||
if( sText.length() > 0 )
|
||||
sText.resize( sText.length()-5 );
|
||||
|
||||
CString sText = join( " ", vsText );
|
||||
m_textAutoPlay.SetText( sText );
|
||||
}
|
||||
|
||||
@@ -2644,6 +2626,12 @@ void ScreenGameplay::ShowOniGameOver( PlayerNumber pn )
|
||||
m_sprOniGameOver[pn].PlayCommand( "Die" );
|
||||
}
|
||||
|
||||
void ScreenGameplay::HandleMessage( const CString& sMessage )
|
||||
{
|
||||
if( sMessage == PREFSMAN->m_AutoPlay.GetName()+"Changed" )
|
||||
UpdateAutoPlayText();
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2001-2004 Chris Danford, Glenn Maynard
|
||||
* All rights reserved.
|
||||
|
||||
@@ -40,6 +40,7 @@ public:
|
||||
virtual void Update( float fDeltaTime );
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
virtual void HandleMessage( const CString& sMessage );
|
||||
|
||||
virtual bool UsesBackground() const { return false; }
|
||||
|
||||
|
||||
@@ -298,7 +298,7 @@ static void NumBackgrounds( int &sel, bool ToSel, const ConfOption *pConfOption
|
||||
|
||||
/* Input options */
|
||||
MOVE( AutoMapOnJoyChange, PREFSMAN->m_bAutoMapOnJoyChange );
|
||||
MOVE( AutoPlay, PREFSMAN->m_bAutoPlay );
|
||||
MOVE( AutoPlay, (int&)PREFSMAN->m_AutoPlay );
|
||||
MOVE( BackDelayed, PREFSMAN->m_bDelayedBack );
|
||||
MOVE( OptionsNavigation, PREFSMAN->m_bArcadeOptionsNavigation );
|
||||
|
||||
@@ -558,7 +558,7 @@ static void InitializeConfOptions()
|
||||
/* Input options */
|
||||
ADD( ConfOption( "AutoMapOnJoyChange", AutoMapOnJoyChange, "OFF","ON (recommended)" ) );
|
||||
ADD( ConfOption( "OnlyDedicatedMenuButtons", MovePref, "USE GAMEPLAY BUTTONS","ONLY DEDICATED BUTTONS" ) );
|
||||
ADD( ConfOption( "AutoPlay", AutoPlay, "OFF","ON" ) );
|
||||
ADD( ConfOption( "AutoPlay", AutoPlay, "OFF","ON","CPU-Controlled" ) );
|
||||
ADD( ConfOption( "BackDelayed", BackDelayed, "INSTANT","HOLD" ) );
|
||||
ADD( ConfOption( "OptionsNavigation", OptionsNavigation, "SM STYLE","ARCADE STYLE" ) );
|
||||
ADD( ConfOption( "WheelSpeed", WheelSpeed, "SLOW","NORMAL","FAST","REALLY FAST" ) );
|
||||
|
||||
Reference in New Issue
Block a user