2003-02-16 04:01:45 +00:00
|
|
|
#include "global.h"
|
2003-01-31 23:31:35 +00:00
|
|
|
/*
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
Class: ScreenOptionsMenu
|
|
|
|
|
|
|
|
|
|
Desc: See header.
|
|
|
|
|
|
|
|
|
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
|
|
|
|
Chris Danford
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include "ScreenOptionsMenu.h"
|
|
|
|
|
#include "RageUtil.h"
|
2003-07-26 23:05:16 +00:00
|
|
|
#include "RageSounds.h"
|
2003-01-31 23:31:35 +00:00
|
|
|
#include "ScreenManager.h"
|
|
|
|
|
#include "PrefsManager.h"
|
|
|
|
|
#include "GameConstantsAndTypes.h"
|
|
|
|
|
#include "StepMania.h"
|
|
|
|
|
#include "PrefsManager.h"
|
|
|
|
|
#include "RageLog.h"
|
|
|
|
|
#include "AnnouncerManager.h"
|
|
|
|
|
#include "GameManager.h"
|
|
|
|
|
#include "GameState.h"
|
|
|
|
|
#include "ThemeManager.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum {
|
2003-03-27 01:56:21 +00:00
|
|
|
OM_APPEARANCE,
|
|
|
|
|
OM_AUTOGEN,
|
2003-05-05 04:43:11 +00:00
|
|
|
OM_BACKGROUND,
|
2003-02-19 11:28:30 +00:00
|
|
|
OM_CONFIG_KEY_JOY,
|
2003-02-21 23:03:20 +00:00
|
|
|
OM_INPUT,
|
2003-02-01 01:11:00 +00:00
|
|
|
OM_GAMEPLAY,
|
2003-02-19 11:28:30 +00:00
|
|
|
OM_GRAPHIC,
|
|
|
|
|
OM_MACHINE,
|
2003-05-27 01:59:43 +00:00
|
|
|
// OM_SOUND,
|
2003-01-31 23:31:35 +00:00
|
|
|
NUM_OPTIONS_MENU_LINES
|
|
|
|
|
};
|
|
|
|
|
|
2003-03-15 19:25:37 +00:00
|
|
|
OptionRow g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
|
|
|
|
|
OptionRow( "", "Appearance Options" ),
|
2003-03-27 01:56:21 +00:00
|
|
|
OptionRow( "", "Autogen Options" ),
|
2003-05-05 04:43:11 +00:00
|
|
|
OptionRow( "", "Background Options" ),
|
2003-03-15 19:25:37 +00:00
|
|
|
OptionRow( "", "Config Key/Joy Mappings" ),
|
|
|
|
|
OptionRow( "", "Input Options" ),
|
|
|
|
|
OptionRow( "", "Gameplay Options" ),
|
|
|
|
|
OptionRow( "", "Graphic Options" ),
|
|
|
|
|
OptionRow( "", "Machine Options" ),
|
2003-05-27 01:59:43 +00:00
|
|
|
// OptionRow( "", "Sound Options" ),
|
2003-01-31 23:31:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ScreenOptionsMenu::ScreenOptionsMenu() :
|
2003-03-09 00:55:49 +00:00
|
|
|
ScreenOptions("ScreenOptionsMenu",false)
|
2003-01-31 23:31:35 +00:00
|
|
|
{
|
|
|
|
|
LOG->Trace( "ScreenOptionsMenu::ScreenOptionsMenu()" );
|
|
|
|
|
|
2003-03-30 20:50:51 +00:00
|
|
|
/* We might have been entered from anywhere; make sure all players are enabled. */
|
2003-05-26 09:18:44 +00:00
|
|
|
GAMESTATE->m_pCurSong = NULL;
|
2003-03-30 20:50:51 +00:00
|
|
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
|
|
|
|
GAMESTATE->m_bSideIsJoined[p] = true;
|
|
|
|
|
GAMESTATE->m_MasterPlayerNumber = PlayerNumber(0);
|
|
|
|
|
|
2003-01-31 23:31:35 +00:00
|
|
|
Init(
|
|
|
|
|
INPUTMODE_BOTH,
|
|
|
|
|
g_OptionsMenuLines,
|
|
|
|
|
NUM_OPTIONS_MENU_LINES,
|
2003-03-15 19:25:37 +00:00
|
|
|
false, true );
|
2003-03-11 21:33:11 +00:00
|
|
|
m_Menu.m_MenuTimer.Disable();
|
2003-01-31 23:31:35 +00:00
|
|
|
|
2003-07-26 23:05:16 +00:00
|
|
|
SOUND->PlayMusic( THEME->GetPathToS("ScreenOptionsMenu music") );
|
2003-01-31 23:31:35 +00:00
|
|
|
}
|
|
|
|
|
|
2003-02-12 00:41:56 +00:00
|
|
|
/* We depend on the SM options navigation for this screen, not arcade. */
|
|
|
|
|
void ScreenOptionsMenu::MenuStart( PlayerNumber pn )
|
|
|
|
|
{
|
|
|
|
|
StartGoToNextState();
|
|
|
|
|
}
|
|
|
|
|
|
2003-01-31 23:31:35 +00:00
|
|
|
void ScreenOptionsMenu::ImportOptions()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ScreenOptionsMenu::ExportOptions()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ScreenOptionsMenu::GoToPrevState()
|
|
|
|
|
{
|
|
|
|
|
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ScreenOptionsMenu::GoToNextState()
|
|
|
|
|
{
|
2003-05-30 21:36:56 +00:00
|
|
|
switch( this->GetCurrentRow() )
|
2003-01-31 23:31:35 +00:00
|
|
|
{
|
2003-02-19 11:28:30 +00:00
|
|
|
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
|
2003-03-27 01:56:21 +00:00
|
|
|
case OM_AUTOGEN: SCREENMAN->SetNewScreen("ScreenAutogenOptions"); break;
|
2003-05-05 04:43:11 +00:00
|
|
|
case OM_BACKGROUND: SCREENMAN->SetNewScreen("ScreenBackgroundOptions"); break;
|
2003-02-19 11:28:30 +00:00
|
|
|
case OM_CONFIG_KEY_JOY: SCREENMAN->SetNewScreen("ScreenMapControllers"); break;
|
|
|
|
|
case OM_GAMEPLAY: SCREENMAN->SetNewScreen("ScreenGameplayOptions"); break;
|
|
|
|
|
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
|
|
|
|
|
case OM_INPUT: SCREENMAN->SetNewScreen("ScreenInputOptions"); break;
|
|
|
|
|
case OM_MACHINE: SCREENMAN->SetNewScreen("ScreenMachineOptions"); break;
|
2003-05-27 01:59:43 +00:00
|
|
|
// case OM_SOUND: SCREENMAN->SetNewScreen("ScreenSoundOptions"); break;
|
2003-02-19 11:28:30 +00:00
|
|
|
default: // Exit
|
|
|
|
|
SCREENMAN->SetNewScreen("ScreenTitleMenu");
|
2003-01-31 23:31:35 +00:00
|
|
|
}
|
2003-02-21 10:05:13 +00:00
|
|
|
}
|