MenuX(PlayerNumber) -> MenuX(InputEventPlus)

This commit is contained in:
Glenn Maynard
2006-09-14 21:18:39 +00:00
parent 222b082f55
commit 3f96734e6c
12 changed files with 92 additions and 75 deletions
+4 -4
View File
@@ -100,7 +100,7 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
ScreenWithMenuElements::HandleScreenMessage( SM ); ScreenWithMenuElements::HandleScreenMessage( SM );
} }
void ScreenEditMenu::MenuUp( PlayerNumber pn ) void ScreenEditMenu::MenuUp( const InputEventPlus &input )
{ {
if( m_Selector.CanGoUp() ) if( m_Selector.CanGoUp() )
{ {
@@ -109,7 +109,7 @@ void ScreenEditMenu::MenuUp( PlayerNumber pn )
} }
} }
void ScreenEditMenu::MenuDown( PlayerNumber pn ) void ScreenEditMenu::MenuDown( const InputEventPlus &input )
{ {
if( m_Selector.CanGoDown() ) if( m_Selector.CanGoDown() )
{ {
@@ -161,7 +161,7 @@ static LocalizedString STEPS_WILL_BE_LOST ( "ScreenEditMenu", "These steps will
static LocalizedString CONTINUE_WITH_DELETE ( "ScreenEditMenu", "Continue with delete?" ); static LocalizedString CONTINUE_WITH_DELETE ( "ScreenEditMenu", "Continue with delete?" );
static LocalizedString BLANK ( "ScreenEditMenu", "Blank" ); static LocalizedString BLANK ( "ScreenEditMenu", "Blank" );
static LocalizedString ENTER_EDIT_DESCRIPTION ( "ScreenEditMenu", "Enter a description for this edit."); static LocalizedString ENTER_EDIT_DESCRIPTION ( "ScreenEditMenu", "Enter a description for this edit.");
void ScreenEditMenu::MenuStart( PlayerNumber pn ) void ScreenEditMenu::MenuStart( const InputEventPlus &input )
{ {
if( IsTransitioning() ) if( IsTransitioning() )
return; return;
@@ -316,7 +316,7 @@ void ScreenEditMenu::MenuStart( PlayerNumber pn )
} }
} }
void ScreenEditMenu::MenuBack( PlayerNumber pn ) void ScreenEditMenu::MenuBack( const InputEventPlus &input )
{ {
Cancel( SM_GoToPrevScreen ); Cancel( SM_GoToPrevScreen );
+4 -4
View File
@@ -14,12 +14,12 @@ public:
private: private:
void MenuUp( PlayerNumber pn ); void MenuUp( const InputEventPlus &input );
void MenuDown( PlayerNumber pn ); void MenuDown( const InputEventPlus &input );
void MenuLeft( const InputEventPlus &input ); void MenuLeft( const InputEventPlus &input );
void MenuRight( const InputEventPlus &input ); void MenuRight( const InputEventPlus &input );
void MenuBack( PlayerNumber pn ); void MenuBack( const InputEventPlus &input );
void MenuStart( PlayerNumber pn ); void MenuStart( const InputEventPlus &input );
void RefreshExplanationText(); void RefreshExplanationText();
void RefreshNumStepsLoadedFromProfile(); void RefreshNumStepsLoadedFromProfile();
+17 -11
View File
@@ -11,6 +11,7 @@
#include "PrefsManager.h" #include "PrefsManager.h"
#include "RageTextureManager.h" #include "RageTextureManager.h"
#include "CharacterManager.h" #include "CharacterManager.h"
#include "InputEventPlus.h"
#define TITLE_ON_COMMAND( p ) THEME->GetMetricA("ScreenSelectCharacter",ssprintf("TitleP%dOnCommand",p+1)) #define TITLE_ON_COMMAND( p ) THEME->GetMetricA("ScreenSelectCharacter",ssprintf("TitleP%dOnCommand",p+1))
@@ -177,7 +178,7 @@ void ScreenSelectCharacter::HandleScreenMessage( const ScreenMessage SM )
} }
else if( SM == SM_MenuTimer ) else if( SM == SM_MenuTimer )
{ {
MenuStart(PLAYER_1); MakeSelection(PLAYER_1);
if( !AllAreFinishedChoosing() ) if( !AllAreFinishedChoosing() )
ResetTimer(); ResetTimer();
} }
@@ -273,25 +274,25 @@ void ScreenSelectCharacter::AfterValueChange( PlayerNumber pn )
} }
void ScreenSelectCharacter::MenuLeft( PlayerNumber pn ) void ScreenSelectCharacter::MenuLeft( const InputEventPlus &input )
{ {
MenuUp( pn ); MenuUp( input );
} }
void ScreenSelectCharacter::MenuRight( PlayerNumber pn ) void ScreenSelectCharacter::MenuRight( const InputEventPlus &input )
{ {
MenuDown( pn ); MenuDown( input );
} }
void ScreenSelectCharacter::MenuUp( PlayerNumber pn ) void ScreenSelectCharacter::MenuUp( const InputEventPlus &input )
{ {
Move( pn, -1 ); Move( input.pn, -1 );
} }
void ScreenSelectCharacter::MenuDown( PlayerNumber pn ) void ScreenSelectCharacter::MenuDown( const InputEventPlus &input )
{ {
Move( pn, +1 ); Move( input.pn, +1 );
} }
void ScreenSelectCharacter::Move( PlayerNumber pn, int deltaValue ) void ScreenSelectCharacter::Move( PlayerNumber pn, int deltaValue )
@@ -319,7 +320,12 @@ bool ScreenSelectCharacter::AllAreFinishedChoosing() const
return true; return true;
} }
void ScreenSelectCharacter::MenuStart( PlayerNumber pn ) void ScreenSelectCharacter::MenuStart( const InputEventPlus &input )
{
MakeSelection( input.pn );
}
void ScreenSelectCharacter::MakeSelection( PlayerNumber pn )
{ {
if( m_SelectionRow[pn] == FINISHED_CHOOSING ) if( m_SelectionRow[pn] == FINISHED_CHOOSING )
return; return;
@@ -355,7 +361,7 @@ void ScreenSelectCharacter::MenuStart( PlayerNumber pn )
} }
} }
void ScreenSelectCharacter::MenuBack( PlayerNumber pn ) void ScreenSelectCharacter::MenuBack( const InputEventPlus &input )
{ {
Cancel( SM_GoToPrevScreen ); Cancel( SM_GoToPrevScreen );
} }
+7 -6
View File
@@ -22,12 +22,12 @@ public:
virtual void Input( const InputEventPlus &input ); virtual void Input( const InputEventPlus &input );
virtual void HandleScreenMessage( const ScreenMessage SM ); virtual void HandleScreenMessage( const ScreenMessage SM );
void MenuLeft( PlayerNumber pn ); void MenuLeft( const InputEventPlus &input );
void MenuRight( PlayerNumber pn ); void MenuRight( const InputEventPlus &input );
void MenuUp( PlayerNumber pn ); void MenuUp( const InputEventPlus &input );
void MenuDown( PlayerNumber pn ); void MenuDown( const InputEventPlus &input );
void MenuStart( PlayerNumber pn ); void MenuStart( const InputEventPlus &input );
void MenuBack( PlayerNumber pn ); void MenuBack( const InputEventPlus &input );
void TweenOffScreen(); void TweenOffScreen();
@@ -41,6 +41,7 @@ private:
void AfterValueChange( PlayerNumber pn ); void AfterValueChange( PlayerNumber pn );
void Move( PlayerNumber pn, int deltaValue ); void Move( PlayerNumber pn, int deltaValue );
bool AllAreFinishedChoosing() const; bool AllAreFinishedChoosing() const;
void MakeSelection( PlayerNumber pn );
int m_iSelectedCharacter[NUM_PLAYERS]; int m_iSelectedCharacter[NUM_PLAYERS];
enum { enum {
+13 -5
View File
@@ -9,6 +9,7 @@
#include "GameCommand.h" #include "GameCommand.h"
#include "ActorUtil.h" #include "ActorUtil.h"
#include "ScreenDimensions.h" #include "ScreenDimensions.h"
#include "InputEventPlus.h"
#define NUM_CHOICES_ON_PAGE_1 THEME->GetMetricI(m_sName,"NumChoicesOnPage1") #define NUM_CHOICES_ON_PAGE_1 THEME->GetMetricI(m_sName,"NumChoicesOnPage1")
#define LOCK_INPUT_SECONDS THEME->GetMetricF(m_sName,"LockInputSeconds") #define LOCK_INPUT_SECONDS THEME->GetMetricF(m_sName,"LockInputSeconds")
@@ -211,8 +212,9 @@ static bool BothPlayersGameCommand( const GameCommand &mc )
return false; return false;
} }
void ScreenSelectDifficulty::MenuLeft( PlayerNumber pn ) void ScreenSelectDifficulty::MenuLeft( const InputEventPlus &input )
{ {
PlayerNumber pn = input.pn;
// if( m_fLockInputTime > 0 ) // if( m_fLockInputTime > 0 )
// return; // return;
if( m_bChosen[pn] ) if( m_bChosen[pn] )
@@ -247,8 +249,9 @@ void ScreenSelectDifficulty::MenuLeft( PlayerNumber pn )
} }
void ScreenSelectDifficulty::MenuRight( PlayerNumber pn ) void ScreenSelectDifficulty::MenuRight( const InputEventPlus &input )
{ {
PlayerNumber pn = input.pn;
// if( m_fLockInputTime > 0 ) // if( m_fLockInputTime > 0 )
// return; // return;
if( m_bChosen[pn] ) if( m_bChosen[pn] )
@@ -377,7 +380,12 @@ bool ScreenSelectDifficulty::ChangeWithinPage( PlayerNumber pn, int iNewChoice,
return bAnyChanged; return bAnyChanged;
} }
void ScreenSelectDifficulty::MenuStart( PlayerNumber pn ) void ScreenSelectDifficulty::MenuStart( const InputEventPlus &input )
{
MakeSelection( input.pn );
}
void ScreenSelectDifficulty::MakeSelection( PlayerNumber pn )
{ {
if( m_fLockInputTime > 0 ) if( m_fLockInputTime > 0 )
return; return;
@@ -409,7 +417,7 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
// move all cursors to the oni/nonstop selection so it graphically looks as if all players selected the same option. // move all cursors to the oni/nonstop selection so it graphically looks as if all players selected the same option.
ChangeWithinPage( p, m_iChoiceOnPage[pn], false ); ChangeWithinPage( p, m_iChoiceOnPage[pn], false );
bPlaySelect = false; bPlaySelect = false;
MenuStart( p ); // agree everyone MakeSelection( p ); // agree everyone
bPlaySelect = true; bPlaySelect = true;
} }
} }
@@ -485,7 +493,7 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
continue; continue;
bPlaySelect = false; bPlaySelect = false;
MenuStart( p ); MakeSelection( p );
bPlaySelect = true; bPlaySelect = true;
} }
} }
+4 -5
View File
@@ -19,11 +19,9 @@ public:
virtual void Update( float fDelta ); virtual void Update( float fDelta );
virtual void MenuLeft( PlayerNumber pn ); virtual void MenuLeft( const InputEventPlus &input );
virtual void MenuRight( PlayerNumber pn ); virtual void MenuRight( const InputEventPlus &input );
virtual void MenuUp( PlayerNumber pn ) {}; virtual void MenuStart( const InputEventPlus &input );
virtual void MenuDown( PlayerNumber pn ) {};
virtual void MenuStart( PlayerNumber pn );
// virtual void MenuBack( PlayerNumber pn ); // virtual void MenuBack( PlayerNumber pn );
virtual void TweenOffScreen(); virtual void TweenOffScreen();
@@ -37,6 +35,7 @@ protected:
float GetCursorY( PlayerNumber pn ); float GetCursorY( PlayerNumber pn );
bool ChangeWithinPage( PlayerNumber pn, int iNewChoice, bool bChangingPages ); bool ChangeWithinPage( PlayerNumber pn, int iNewChoice, bool bChangingPages );
void ChangePage( Page newPage ); void ChangePage( Page newPage );
void MakeSelection( PlayerNumber pn );
ActorFrame m_framePages; // to hold the 2 pages ActorFrame m_framePages; // to hold the 2 pages
+8 -8
View File
@@ -163,17 +163,17 @@ void ScreenSelectGroup::AfterChange()
} }
void ScreenSelectGroup::MenuLeft( PlayerNumber pn ) void ScreenSelectGroup::MenuLeft( const InputEventPlus &input )
{ {
MenuUp( pn ); MenuUp( input );
} }
void ScreenSelectGroup::MenuRight( PlayerNumber pn ) void ScreenSelectGroup::MenuRight( const InputEventPlus &input )
{ {
MenuDown( pn ); MenuDown( input );
} }
void ScreenSelectGroup::MenuUp( PlayerNumber pn ) void ScreenSelectGroup::MenuUp( const InputEventPlus &input )
{ {
if( m_bChosen ) if( m_bChosen )
return; return;
@@ -186,7 +186,7 @@ void ScreenSelectGroup::MenuUp( PlayerNumber pn )
} }
void ScreenSelectGroup::MenuDown( PlayerNumber pn ) void ScreenSelectGroup::MenuDown( const InputEventPlus &input )
{ {
if( m_bChosen ) if( m_bChosen )
return; return;
@@ -198,7 +198,7 @@ void ScreenSelectGroup::MenuDown( PlayerNumber pn )
m_soundChange.Play(); m_soundChange.Play();
} }
void ScreenSelectGroup::MenuStart( PlayerNumber pn ) void ScreenSelectGroup::MenuStart( const InputEventPlus &input )
{ {
if( m_bChosen ) if( m_bChosen )
return; return;
@@ -218,7 +218,7 @@ void ScreenSelectGroup::MenuStart( PlayerNumber pn )
this->PostScreenMessage( SM_BeginFadingOut, 0 ); this->PostScreenMessage( SM_BeginFadingOut, 0 );
} }
void ScreenSelectGroup::MenuBack( PlayerNumber pn ) void ScreenSelectGroup::MenuBack( const InputEventPlus &input )
{ {
Cancel( SM_GoToPrevScreen ); Cancel( SM_GoToPrevScreen );
} }
+6 -6
View File
@@ -21,12 +21,12 @@ public:
void AfterChange(); void AfterChange();
void MenuLeft( PlayerNumber pn ); void MenuLeft( const InputEventPlus &input );
void MenuRight( PlayerNumber pn ); void MenuRight( const InputEventPlus &input );
void MenuUp( PlayerNumber pn ); void MenuUp( const InputEventPlus &input );
void MenuDown( PlayerNumber pn ); void MenuDown( const InputEventPlus &input );
void MenuStart( PlayerNumber pn ); void MenuStart( const InputEventPlus &input );
void MenuBack( PlayerNumber pn ); void MenuBack( const InputEventPlus &input );
void TweenOnScreen(); void TweenOnScreen();
void TweenOffScreen(); void TweenOffScreen();
+8 -5
View File
@@ -12,6 +12,7 @@
#include "ThemeManager.h" #include "ThemeManager.h"
#include "ActorUtil.h" #include "ActorUtil.h"
#include "CharacterManager.h" #include "CharacterManager.h"
#include "InputEventPlus.h"
/* Constants */ /* Constants */
@@ -134,7 +135,7 @@ ScreenSelectMode::~ScreenSelectMode()
LOG->Trace( "ScreenSelectMode::~ScreenSelectMode()" ); LOG->Trace( "ScreenSelectMode::~ScreenSelectMode()" );
} }
void ScreenSelectMode::MenuLeft( PlayerNumber pn ) void ScreenSelectMode::MenuLeft( const InputEventPlus &input )
{ {
if(m_bSelected && USECONFIRM == 1) if(m_bSelected && USECONFIRM == 1)
{ {
@@ -167,7 +168,7 @@ void ScreenSelectMode::ChangeBGA()
}*/ }*/
} }
void ScreenSelectMode::MenuRight( PlayerNumber pn ) void ScreenSelectMode::MenuRight( const InputEventPlus &input )
{ {
if(m_bSelected && USECONFIRM == 1) if(m_bSelected && USECONFIRM == 1)
{ {
@@ -286,7 +287,7 @@ void ScreenSelectMode::SetCharacters()
} }
} }
void ScreenSelectMode::MenuStart( PlayerNumber pn ) void ScreenSelectMode::MenuStart( const InputEventPlus &input )
{ {
if(!m_bSelected && USECONFIRM == 1) if(!m_bSelected && USECONFIRM == 1)
{ {
@@ -351,7 +352,7 @@ void ScreenSelectMode::DrawPrimitives()
// todo: optimize the following - Frieza // todo: optimize the following - Frieza
void ScreenSelectMode::MenuUp(PlayerNumber pn) void ScreenSelectMode::MenuUp(const InputEventPlus &input)
{ {
vector<Character*> vpCharactersToUse; vector<Character*> vpCharactersToUse;
if(ENABLE_CHAR_SELECT && m_bCharsAvailable) if(ENABLE_CHAR_SELECT && m_bCharsAvailable)
@@ -377,6 +378,7 @@ void ScreenSelectMode::MenuUp(PlayerNumber pn)
} }
} }
PlayerNumber pn = input.pn;
m_CurChar[pn].UnloadTexture(); m_CurChar[pn].UnloadTexture();
if(ENABLE_CHAR_SELECT && m_bCharsAvailable) if(ENABLE_CHAR_SELECT && m_bCharsAvailable)
{ {
@@ -397,7 +399,7 @@ void ScreenSelectMode::MenuUp(PlayerNumber pn)
} }
} }
void ScreenSelectMode::MenuDown(PlayerNumber pn) void ScreenSelectMode::MenuDown(const InputEventPlus &input)
{ {
vector<Character*> vpCharactersToUse; vector<Character*> vpCharactersToUse;
if(ENABLE_CHAR_SELECT && m_bCharsAvailable) if(ENABLE_CHAR_SELECT && m_bCharsAvailable)
@@ -423,6 +425,7 @@ void ScreenSelectMode::MenuDown(PlayerNumber pn)
} }
} }
PlayerNumber pn = input.pn;
m_CurChar[pn].UnloadTexture(); m_CurChar[pn].UnloadTexture();
if(ENABLE_CHAR_SELECT && m_bCharsAvailable) if(ENABLE_CHAR_SELECT && m_bCharsAvailable)
{ {
+5 -5
View File
@@ -24,11 +24,11 @@ class ScreenSelectMode : public ScreenSelect
public: public:
virtual void Init(); virtual void Init();
virtual ~ScreenSelectMode(); // Destructor virtual ~ScreenSelectMode(); // Destructor
virtual void MenuLeft( PlayerNumber pn ); virtual void MenuLeft( const InputEventPlus &input );
virtual void MenuRight( PlayerNumber pn ); virtual void MenuRight( const InputEventPlus &input );
virtual void MenuUp(PlayerNumber pn ); virtual void MenuUp(const InputEventPlus &input );
virtual void MenuDown(PlayerNumber pn); virtual void MenuDown(const InputEventPlus &input);
virtual void MenuStart( PlayerNumber pn ); virtual void MenuStart( const InputEventPlus &input );
virtual void Update( float fDelta ); virtual void Update( float fDelta );
virtual void DrawPrimitives(); virtual void DrawPrimitives();
virtual void HandleScreenMessage( const ScreenMessage SM ); virtual void HandleScreenMessage( const ScreenMessage SM );
+9 -9
View File
@@ -161,31 +161,31 @@ void ScreenSetTime::ChangeSelection( int iDirection )
SOUND->PlayOnce( THEME->GetPathS("ScreenSetTime","ChangeSelection") ); SOUND->PlayOnce( THEME->GetPathS("ScreenSetTime","ChangeSelection") );
} }
void ScreenSetTime::MenuUp( PlayerNumber pn ) void ScreenSetTime::MenuUp( const InputEventPlus &input )
{ {
ChangeSelection( -1 ); ChangeSelection( -1 );
} }
void ScreenSetTime::MenuDown( PlayerNumber pn ) void ScreenSetTime::MenuDown( const InputEventPlus &input )
{ {
ChangeSelection( +1 ); ChangeSelection( +1 );
} }
void ScreenSetTime::MenuLeft( PlayerNumber pn ) void ScreenSetTime::MenuLeft( const InputEventPlus &input )
{ {
ChangeValue( -1 ); ChangeValue( -1 );
} }
void ScreenSetTime::MenuRight( PlayerNumber pn ) void ScreenSetTime::MenuRight( const InputEventPlus &input )
{ {
ChangeValue( +1 ); ChangeValue( +1 );
} }
void ScreenSetTime::MenuStart( PlayerNumber pn ) void ScreenSetTime::MenuStart( const InputEventPlus &input )
{ {
bool bHoldingLeftAndRight = bool bHoldingLeftAndRight =
INPUTMAPPER->IsBeingPressed( MENU_BUTTON_RIGHT, pn ) && INPUTMAPPER->IsBeingPressed( MENU_BUTTON_RIGHT, input.pn ) &&
INPUTMAPPER->IsBeingPressed( MENU_BUTTON_LEFT, pn ); INPUTMAPPER->IsBeingPressed( MENU_BUTTON_LEFT, input.pn );
if( bHoldingLeftAndRight ) if( bHoldingLeftAndRight )
ChangeSelection( -1 ); ChangeSelection( -1 );
@@ -222,12 +222,12 @@ void ScreenSetTime::MenuStart( PlayerNumber pn )
ChangeSelection( +1 ); ChangeSelection( +1 );
} }
void ScreenSetTime::MenuSelect( PlayerNumber pn ) void ScreenSetTime::MenuSelect( const InputEventPlus &input )
{ {
ChangeSelection( -1 ); ChangeSelection( -1 );
} }
void ScreenSetTime::MenuBack( PlayerNumber pn ) void ScreenSetTime::MenuBack( const InputEventPlus &input )
{ {
StartTransitioningScreen( SM_GoToPrevScreen ); StartTransitioningScreen( SM_GoToPrevScreen );
} }
+7 -7
View File
@@ -23,13 +23,13 @@ public:
virtual void Update( float fDelta ); virtual void Update( float fDelta );
virtual void Input( const InputEventPlus &input ); virtual void Input( const InputEventPlus &input );
virtual void MenuUp( PlayerNumber pn ); virtual void MenuUp( const InputEventPlus &input );
virtual void MenuDown( PlayerNumber pn ); virtual void MenuDown( const InputEventPlus &input );
virtual void MenuLeft( PlayerNumber pn ); virtual void MenuLeft( const InputEventPlus &input );
virtual void MenuRight( PlayerNumber pn ); virtual void MenuRight( const InputEventPlus &input );
virtual void MenuStart( PlayerNumber pn ); virtual void MenuStart( const InputEventPlus &input );
virtual void MenuSelect( PlayerNumber pn ); virtual void MenuSelect( const InputEventPlus &input );
virtual void MenuBack( PlayerNumber pn ); virtual void MenuBack( const InputEventPlus &input );
private: private:
SetTimeSelection m_Selection; SetTimeSelection m_Selection;