Files
itgmania212121/stepmania/src/ScreenOptionsMenu.cpp
T

115 lines
2.9 KiB
C++
Raw Normal View History

2003-02-16 04:01:45 +00:00
#include "global.h"
/*
-----------------------------------------------------------------------------
Class: ScreenOptionsMenu
Desc: See header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "ScreenOptionsMenu.h"
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageSoundManager.h"
#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"
#include "ScreenMiniMenu.h"
enum {
OM_APPEARANCE = 0,
OM_CONFIG_KEY_JOY,
2003-02-21 23:03:20 +00:00
OM_INPUT,
2003-02-01 01:11:00 +00:00
OM_GAMEPLAY,
OM_GRAPHIC,
OM_MACHINE,
OM_SOUND,
NUM_OPTIONS_MENU_LINES
};
OptionRowData g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
{ "", 1, {"Appearance Options"} },
2003-02-28 06:36:45 +00:00
{ "", 1, {"Config Key/Joy Mappings"} },
{ "", 1, {"Input Options"} },
2003-02-01 01:11:00 +00:00
{ "", 1, {"Gameplay Options"} },
{ "", 1, {"Graphic Options"} },
{ "", 1, {"Machine Options"} },
{ "", 1, {"Sound Options"} },
};
ScreenOptionsMenu::ScreenOptionsMenu() :
ScreenOptions(
THEME->GetPathTo("BGAnimations","options menu"),
THEME->GetPathTo("Graphics","options menu page"),
THEME->GetPathTo("Graphics","options menu top edge")
)
{
LOG->Trace( "ScreenOptionsMenu::ScreenOptionsMenu()" );
// fill g_InputOptionsLines with explanation text
for( int i=0; i<NUM_OPTIONS_MENU_LINES; i++ )
{
CString sLineName = g_OptionsMenuLines[i].szOptionsText[0];
sLineName.Replace("\n","");
sLineName.Replace(" ","");
strcpy( g_OptionsMenuLines[i].szExplanation, THEME->GetMetric("ScreenOptionsMenu",sLineName) );
}
Init(
INPUTMODE_BOTH,
g_OptionsMenuLines,
NUM_OPTIONS_MENU_LINES,
false );
m_Menu.SetTimer( 99 );
m_Menu.StopTimer();
SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","options menu music") );
}
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();
}
void ScreenOptionsMenu::ImportOptions()
{
}
void ScreenOptionsMenu::ExportOptions()
{
}
void ScreenOptionsMenu::GoToPrevState()
{
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
}
void ScreenOptionsMenu::GoToNextState()
{
switch( this->m_iCurrentRow[0] )
{
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
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;
case OM_SOUND: SCREENMAN->SetNewScreen("ScreenSoundOptions"); break;
default: // Exit
SCREENMAN->SetNewScreen("ScreenTitleMenu");
}
}