options menu re-organization to solve TitleMenu clutter
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
#include "stdafx.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"
|
||||
|
||||
|
||||
enum {
|
||||
OM_INPUT = 0,
|
||||
OM_MACHINE,
|
||||
OM_GRAPHIC,
|
||||
OM_APPEARANCE,
|
||||
NUM_OPTIONS_MENU_LINES
|
||||
};
|
||||
|
||||
OptionRowData g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
|
||||
{ "", 1, {"Input Options"} },
|
||||
{ "", 1, {"Machine Options"} },
|
||||
{ "", 1, {"Graphic Options"} },
|
||||
{ "", 1, {"Appearance 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") );
|
||||
}
|
||||
|
||||
void ScreenOptionsMenu::ImportOptions()
|
||||
{
|
||||
}
|
||||
|
||||
void ScreenOptionsMenu::ExportOptions()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ScreenOptionsMenu::GoToPrevState()
|
||||
{
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
}
|
||||
|
||||
void ScreenOptionsMenu::GoToNextState()
|
||||
{
|
||||
switch( this->m_iCurrentRow[0] )
|
||||
{
|
||||
case OM_INPUT: SCREENMAN->SetNewScreen("ScreenInputOptions"); break;
|
||||
case OM_MACHINE: SCREENMAN->SetNewScreen("ScreenMachineOptions"); break;
|
||||
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
|
||||
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
|
||||
default: // Exit
|
||||
SCREENMAN->SetNewScreen("ScreenTitleMenu");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user