more options re-org
This commit is contained in:
@@ -13,6 +13,7 @@ NEW FEATURE: Jukebox mode. Like demonstration, but plays entire songs
|
|||||||
and loops.
|
and loops.
|
||||||
NEW FEATURE: F6 to save screenshot. Saved in StepMania program directory
|
NEW FEATURE: F6 to save screenshot. Saved in StepMania program directory
|
||||||
as "screenshotXXXX.bmp".
|
as "screenshotXXXX.bmp".
|
||||||
|
CHANGE: Reorganization of options screens.
|
||||||
|
|
||||||
----------------------- Version 3.01 ---------------------------
|
----------------------- Version 3.01 ---------------------------
|
||||||
CHANGE: Simplified NoteSkin tap graphic format. Old NoteSkins will need to
|
CHANGE: Simplified NoteSkin tap graphic format. Old NoteSkins will need to
|
||||||
|
|||||||
@@ -873,6 +873,5 @@ Row7Y=340
|
|||||||
InputOptions=
|
InputOptions=
|
||||||
MachineOptions=
|
MachineOptions=
|
||||||
GraphicOptions=
|
GraphicOptions=
|
||||||
|
GameplayOptions=
|
||||||
AppearanceOptions=
|
AppearanceOptions=
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -457,6 +457,8 @@ void RageDisplay::SaveScreenshot( CString sPath )
|
|||||||
3*g_CurrentWidth );
|
3*g_CurrentWidth );
|
||||||
|
|
||||||
SDL_SaveBMP( temp, sPath );
|
SDL_SaveBMP( temp, sPath );
|
||||||
|
|
||||||
|
SDL_FreeSurface( image );
|
||||||
SDL_FreeSurface( temp );
|
SDL_FreeSurface( temp );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,107 @@
|
|||||||
|
#include "stdafx.h"
|
||||||
|
/*
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Class: ScreenGameplayOptions
|
||||||
|
|
||||||
|
Desc: See header.
|
||||||
|
|
||||||
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||||
|
Chris Danford
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ScreenGameplayOptions.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 "ThemeManager.h"
|
||||||
|
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GO_BGMODE,
|
||||||
|
GO_BGBRIGHTNESS,
|
||||||
|
GO_BGIFNOBANNER,
|
||||||
|
GO_EASTER_EGGS,
|
||||||
|
GO_MARVELOUS,
|
||||||
|
GO_HIDDEN_SONGS,
|
||||||
|
GO_SHOW_DANGER,
|
||||||
|
NUM_GAMEPLAY_OPTIONS_LINES
|
||||||
|
};
|
||||||
|
|
||||||
|
OptionRowData g_GameplayOptionsLines[NUM_GAMEPLAY_OPTIONS_LINES] = {
|
||||||
|
{ "Background\nMode", 4, {"OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES"} },
|
||||||
|
{ "Background\nBrightness", 11, {"0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"} },
|
||||||
|
{ "BG For\nBanner", 2, {"NO", "YES (slow)"} },
|
||||||
|
{ "Show\nDanger", 2, {"OFF","ON"} },
|
||||||
|
{ "Hidden\nSongs", 2, {"OFF","ON"} },
|
||||||
|
{ "Easter\nEggs", 2, {"OFF","ON"} },
|
||||||
|
{ "Marvelous\nTiming", 2, {"OFF","ON"} },
|
||||||
|
};
|
||||||
|
|
||||||
|
ScreenGameplayOptions::ScreenGameplayOptions() :
|
||||||
|
ScreenOptions(
|
||||||
|
THEME->GetPathTo("BGAnimations","gameplay options"),
|
||||||
|
THEME->GetPathTo("Graphics","gameplay options page"),
|
||||||
|
THEME->GetPathTo("Graphics","gameplay options top edge")
|
||||||
|
)
|
||||||
|
{
|
||||||
|
LOG->Trace( "ScreenGameplayOptions::ScreenGameplayOptions()" );
|
||||||
|
|
||||||
|
// fill g_InputOptionsLines with explanation text
|
||||||
|
for( int i=0; i<NUM_GAMEPLAY_OPTIONS_LINES; i++ )
|
||||||
|
{
|
||||||
|
CString sLineName = g_GameplayOptionsLines[i].szTitle;
|
||||||
|
sLineName.Replace("\n","");
|
||||||
|
sLineName.Replace(" ","");
|
||||||
|
strcpy( g_GameplayOptionsLines[i].szExplanation, THEME->GetMetric("ScreenGameplayOptions",sLineName) );
|
||||||
|
}
|
||||||
|
|
||||||
|
Init(
|
||||||
|
INPUTMODE_BOTH,
|
||||||
|
g_GameplayOptionsLines,
|
||||||
|
NUM_GAMEPLAY_OPTIONS_LINES,
|
||||||
|
false );
|
||||||
|
m_Menu.StopTimer();
|
||||||
|
|
||||||
|
SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","machine options music") );
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenGameplayOptions::ImportOptions()
|
||||||
|
{
|
||||||
|
m_iSelectedOption[0][GO_BGMODE] = PREFSMAN->m_BackgroundMode;
|
||||||
|
m_iSelectedOption[0][GO_BGBRIGHTNESS] = (int)( PREFSMAN->m_fBGBrightness*10+0.5f );
|
||||||
|
m_iSelectedOption[0][GO_BGIFNOBANNER] = PREFSMAN->m_bUseBGIfNoBanner ? 1:0;
|
||||||
|
m_iSelectedOption[0][GO_SHOW_DANGER] = PREFSMAN->m_bShowDanger ? 1:0;
|
||||||
|
m_iSelectedOption[0][GO_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 1:0;
|
||||||
|
m_iSelectedOption[0][GO_EASTER_EGGS] = PREFSMAN->m_bEasterEggs ? 1:0;
|
||||||
|
m_iSelectedOption[0][GO_MARVELOUS] = PREFSMAN->m_bMarvelousTiming ? 1:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenGameplayOptions::ExportOptions()
|
||||||
|
{
|
||||||
|
(int&)PREFSMAN->m_BackgroundMode = m_iSelectedOption[0][GO_BGMODE];
|
||||||
|
PREFSMAN->m_fBGBrightness = m_iSelectedOption[0][GO_BGBRIGHTNESS] / 10.0f;
|
||||||
|
PREFSMAN->m_bUseBGIfNoBanner = m_iSelectedOption[0][GO_BGIFNOBANNER] == 1;
|
||||||
|
PREFSMAN->m_bShowDanger = m_iSelectedOption[0][GO_SHOW_DANGER] == 1;
|
||||||
|
PREFSMAN->m_bHiddenSongs = m_iSelectedOption[0][GO_HIDDEN_SONGS] == 1;
|
||||||
|
PREFSMAN->m_bEasterEggs = m_iSelectedOption[0][GO_EASTER_EGGS] == 1;
|
||||||
|
PREFSMAN->m_bMarvelousTiming = m_iSelectedOption[0][GO_MARVELOUS] == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenGameplayOptions::GoToPrevState()
|
||||||
|
{
|
||||||
|
SCREENMAN->SetNewScreen( "ScreenOptionsMenu" );
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenGameplayOptions::GoToNextState()
|
||||||
|
{
|
||||||
|
PREFSMAN->SaveGlobalPrefsToDisk();
|
||||||
|
GoToPrevState();
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
File: ScreenGameplayOptions
|
||||||
|
|
||||||
|
Desc: Select a song.
|
||||||
|
|
||||||
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||||
|
Chris Danford
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ScreenOptions.h"
|
||||||
|
|
||||||
|
class ScreenGameplayOptions : public ScreenOptions
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ScreenGameplayOptions();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void ImportOptions();
|
||||||
|
void ExportOptions();
|
||||||
|
|
||||||
|
void GoToNextState();
|
||||||
|
void GoToPrevState();
|
||||||
|
};
|
||||||
|
|
||||||
@@ -31,10 +31,7 @@ enum {
|
|||||||
GO_TEXTURE_COLOR_DEPTH,
|
GO_TEXTURE_COLOR_DEPTH,
|
||||||
GO_KEEP_TEXTURES_IN_MEM,
|
GO_KEEP_TEXTURES_IN_MEM,
|
||||||
GO_REFRESH_RATE,
|
GO_REFRESH_RATE,
|
||||||
GO_BGMODE,
|
|
||||||
GO_BGBRIGHTNESS,
|
|
||||||
GO_MOVIEDECODEMS,
|
GO_MOVIEDECODEMS,
|
||||||
GO_BGIFNOBANNER,
|
|
||||||
GO_VSYNC,
|
GO_VSYNC,
|
||||||
NUM_GRAPHIC_OPTIONS_LINES
|
NUM_GRAPHIC_OPTIONS_LINES
|
||||||
};
|
};
|
||||||
@@ -46,10 +43,7 @@ OptionRowData g_GraphicOptionsLines[NUM_GRAPHIC_OPTIONS_LINES] = {
|
|||||||
{ "Texture\nColor", 2, {"16BIT","32BIT"} },
|
{ "Texture\nColor", 2, {"16BIT","32BIT"} },
|
||||||
{ "Keep Textures\nIn Memory",2, {"NO","YES"} },
|
{ "Keep Textures\nIn Memory",2, {"NO","YES"} },
|
||||||
{ "Refresh\nRate", 11, {"DEFAULT","60","70","72","75","80","85","90","100","120","150"} },
|
{ "Refresh\nRate", 11, {"DEFAULT","60","70","72","75","80","85","90","100","120","150"} },
|
||||||
{ "Background\nMode", 4, {"OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES"} },
|
|
||||||
{ "Background\nBrightness", 11, {"0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"} },
|
|
||||||
{ "Movie\nDecode", 4, {"1ms","2ms","3ms","4ms"} },
|
{ "Movie\nDecode", 4, {"1ms","2ms","3ms","4ms"} },
|
||||||
{ "BG For\nBanner", 2, {"NO", "YES (slow)"} },
|
|
||||||
{ "Wait For\nVsync", 2, {"NO", "YES"} },
|
{ "Wait For\nVsync", 2, {"NO", "YES"} },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -140,10 +134,7 @@ void ScreenGraphicOptions::ImportOptions()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_iSelectedOption[0][GO_BGMODE] = PREFSMAN->m_BackgroundMode;
|
|
||||||
m_iSelectedOption[0][GO_BGBRIGHTNESS] = (int)( PREFSMAN->m_fBGBrightness*10+0.5f );
|
|
||||||
m_iSelectedOption[0][GO_MOVIEDECODEMS] = PREFSMAN->m_iMovieDecodeMS-1;
|
m_iSelectedOption[0][GO_MOVIEDECODEMS] = PREFSMAN->m_iMovieDecodeMS-1;
|
||||||
m_iSelectedOption[0][GO_BGIFNOBANNER] = PREFSMAN->m_bUseBGIfNoBanner ? 1:0;
|
|
||||||
m_iSelectedOption[0][GO_VSYNC] = PREFSMAN->m_bVsync ? 1:0;
|
m_iSelectedOption[0][GO_VSYNC] = PREFSMAN->m_bVsync ? 1:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,10 +176,7 @@ void ScreenGraphicOptions::ExportOptions()
|
|||||||
PREFSMAN->m_iRefreshRate = atoi(g_GraphicOptionsLines[GO_REFRESH_RATE].szOptionsText[n]);
|
PREFSMAN->m_iRefreshRate = atoi(g_GraphicOptionsLines[GO_REFRESH_RATE].szOptionsText[n]);
|
||||||
}
|
}
|
||||||
|
|
||||||
(int&)PREFSMAN->m_BackgroundMode = m_iSelectedOption[0][GO_BGMODE];
|
|
||||||
PREFSMAN->m_fBGBrightness = m_iSelectedOption[0][GO_BGBRIGHTNESS] / 10.0f;
|
|
||||||
PREFSMAN->m_iMovieDecodeMS = m_iSelectedOption[0][GO_MOVIEDECODEMS]+1;
|
PREFSMAN->m_iMovieDecodeMS = m_iSelectedOption[0][GO_MOVIEDECODEMS]+1;
|
||||||
PREFSMAN->m_bUseBGIfNoBanner = m_iSelectedOption[0][GO_BGIFNOBANNER] == 1;
|
|
||||||
PREFSMAN->m_bVsync = m_iSelectedOption[0][GO_VSYNC] == 1;
|
PREFSMAN->m_bVsync = m_iSelectedOption[0][GO_VSYNC] == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,14 +25,10 @@
|
|||||||
|
|
||||||
enum {
|
enum {
|
||||||
MO_MENU_TIMER,
|
MO_MENU_TIMER,
|
||||||
MO_SHOW_DANGER,
|
|
||||||
MO_NUM_ARCADE_STAGES,
|
MO_NUM_ARCADE_STAGES,
|
||||||
MO_JUDGE_DIFFICULTY,
|
MO_JUDGE_DIFFICULTY,
|
||||||
MO_LIFE_DIFFICULTY,
|
MO_LIFE_DIFFICULTY,
|
||||||
MO_HIDDEN_SONGS,
|
|
||||||
MO_SHOWSTATS,
|
MO_SHOWSTATS,
|
||||||
MO_EASTER_EGGS,
|
|
||||||
MO_MARVELOUS,
|
|
||||||
MO_COIN_MODE,
|
MO_COIN_MODE,
|
||||||
MO_COINS_PER_CREDIT,
|
MO_COINS_PER_CREDIT,
|
||||||
MO_JOINT_PREMIUM,
|
MO_JOINT_PREMIUM,
|
||||||
@@ -42,14 +38,10 @@ enum {
|
|||||||
* preferably alongside button configuration. */
|
* preferably alongside button configuration. */
|
||||||
OptionRowData g_MachineOptionsLines[NUM_MACHINE_OPTIONS_LINES] = {
|
OptionRowData g_MachineOptionsLines[NUM_MACHINE_OPTIONS_LINES] = {
|
||||||
{ "Menu\nTimer", 2, {"OFF","ON"} },
|
{ "Menu\nTimer", 2, {"OFF","ON"} },
|
||||||
{ "Show\nDanger", 2, {"OFF","ON"} },
|
|
||||||
{ "Arcade\nStages", 8, {"1","2","3","4","5","6","7","UNLIMITED"} },
|
{ "Arcade\nStages", 8, {"1","2","3","4","5","6","7","UNLIMITED"} },
|
||||||
{ "Judge\nDifficulty", 8, {"1","2","3","4","5","6","7","8"} },
|
{ "Judge\nDifficulty", 8, {"1","2","3","4","5","6","7","8"} },
|
||||||
{ "Life\nDifficulty", 7, {"1","2","3","4","5","6","7"} },
|
{ "Life\nDifficulty", 7, {"1","2","3","4","5","6","7"} },
|
||||||
{ "Hidden\nSongs", 2, {"OFF","ON"} },
|
|
||||||
{ "Show\nStats", 2, {"OFF","ON"} },
|
{ "Show\nStats", 2, {"OFF","ON"} },
|
||||||
{ "Easter\nEggs", 2, {"OFF","ON"} },
|
|
||||||
{ "Marvelous\nTiming", 2, {"OFF","ON"} },
|
|
||||||
{ "Coin\nMode", 3, {"HOME","PAY","FREE PLAY"} },
|
{ "Coin\nMode", 3, {"HOME","PAY","FREE PLAY"} },
|
||||||
{ "Coins Per\nCredit", 8, {"1","2","3","4","5","6","7","8"} },
|
{ "Coins Per\nCredit", 8, {"1","2","3","4","5","6","7","8"} },
|
||||||
{ "Joint\nPremium", 2, {"OFF","ON"} },
|
{ "Joint\nPremium", 2, {"OFF","ON"} },
|
||||||
@@ -86,9 +78,7 @@ ScreenMachineOptions::ScreenMachineOptions() :
|
|||||||
void ScreenMachineOptions::ImportOptions()
|
void ScreenMachineOptions::ImportOptions()
|
||||||
{
|
{
|
||||||
m_iSelectedOption[0][MO_MENU_TIMER] = PREFSMAN->m_bMenuTimer ? 1:0;
|
m_iSelectedOption[0][MO_MENU_TIMER] = PREFSMAN->m_bMenuTimer ? 1:0;
|
||||||
m_iSelectedOption[0][MO_SHOW_DANGER] = PREFSMAN->m_bShowDanger ? 1:0;
|
|
||||||
m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] = PREFSMAN->m_bEventMode ? 7 : PREFSMAN->m_iNumArcadeStages - 1;
|
m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] = PREFSMAN->m_bEventMode ? 7 : PREFSMAN->m_iNumArcadeStages - 1;
|
||||||
m_iSelectedOption[0][MO_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 1:0;
|
|
||||||
|
|
||||||
/* .02 difficulty is beyond our timing right now; even autoplay
|
/* .02 difficulty is beyond our timing right now; even autoplay
|
||||||
* misses! At least fix autoplay before enabling this, or we'll
|
* misses! At least fix autoplay before enabling this, or we'll
|
||||||
@@ -118,8 +108,6 @@ void ScreenMachineOptions::ImportOptions()
|
|||||||
else m_iSelectedOption[0][MO_LIFE_DIFFICULTY] = 3;
|
else m_iSelectedOption[0][MO_LIFE_DIFFICULTY] = 3;
|
||||||
|
|
||||||
m_iSelectedOption[0][MO_SHOWSTATS] = PREFSMAN->m_bShowStats ? 1:0;
|
m_iSelectedOption[0][MO_SHOWSTATS] = PREFSMAN->m_bShowStats ? 1:0;
|
||||||
m_iSelectedOption[0][MO_EASTER_EGGS] = PREFSMAN->m_bEasterEggs ? 1:0;
|
|
||||||
m_iSelectedOption[0][MO_MARVELOUS] = PREFSMAN->m_bMarvelousTiming ? 1:0;
|
|
||||||
m_iSelectedOption[0][MO_COIN_MODE] = PREFSMAN->m_CoinMode;
|
m_iSelectedOption[0][MO_COIN_MODE] = PREFSMAN->m_CoinMode;
|
||||||
m_iSelectedOption[0][MO_COINS_PER_CREDIT] = PREFSMAN->m_iCoinsPerCredit - 1;
|
m_iSelectedOption[0][MO_COINS_PER_CREDIT] = PREFSMAN->m_iCoinsPerCredit - 1;
|
||||||
m_iSelectedOption[0][MO_JOINT_PREMIUM] = PREFSMAN->m_bJointPremium ? 1:0;
|
m_iSelectedOption[0][MO_JOINT_PREMIUM] = PREFSMAN->m_bJointPremium ? 1:0;
|
||||||
@@ -128,10 +116,8 @@ void ScreenMachineOptions::ImportOptions()
|
|||||||
void ScreenMachineOptions::ExportOptions()
|
void ScreenMachineOptions::ExportOptions()
|
||||||
{
|
{
|
||||||
PREFSMAN->m_bMenuTimer = m_iSelectedOption[0][MO_MENU_TIMER] == 1;
|
PREFSMAN->m_bMenuTimer = m_iSelectedOption[0][MO_MENU_TIMER] == 1;
|
||||||
PREFSMAN->m_bShowDanger = m_iSelectedOption[0][MO_SHOW_DANGER] == 1;
|
|
||||||
PREFSMAN->m_bEventMode = m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] == 7;
|
PREFSMAN->m_bEventMode = m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] == 7;
|
||||||
PREFSMAN->m_iNumArcadeStages = m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] + 1;
|
PREFSMAN->m_iNumArcadeStages = m_iSelectedOption[0][MO_NUM_ARCADE_STAGES] + 1;
|
||||||
PREFSMAN->m_bHiddenSongs = m_iSelectedOption[0][MO_HIDDEN_SONGS] == 1;
|
|
||||||
|
|
||||||
switch( m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] )
|
switch( m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] )
|
||||||
{
|
{
|
||||||
@@ -159,8 +145,6 @@ void ScreenMachineOptions::ExportOptions()
|
|||||||
}
|
}
|
||||||
|
|
||||||
PREFSMAN->m_bShowStats = m_iSelectedOption[0][MO_SHOWSTATS] == 1;
|
PREFSMAN->m_bShowStats = m_iSelectedOption[0][MO_SHOWSTATS] == 1;
|
||||||
PREFSMAN->m_bEasterEggs = m_iSelectedOption[0][MO_EASTER_EGGS] == 1;
|
|
||||||
PREFSMAN->m_bMarvelousTiming = m_iSelectedOption[0][MO_MARVELOUS] == 1;
|
|
||||||
(int&)PREFSMAN->m_CoinMode = m_iSelectedOption[0][MO_COIN_MODE];
|
(int&)PREFSMAN->m_CoinMode = m_iSelectedOption[0][MO_COIN_MODE];
|
||||||
PREFSMAN->m_iCoinsPerCredit = m_iSelectedOption[0][MO_COINS_PER_CREDIT] + 1;
|
PREFSMAN->m_iCoinsPerCredit = m_iSelectedOption[0][MO_COINS_PER_CREDIT] + 1;
|
||||||
PREFSMAN->m_bJointPremium = m_iSelectedOption[0][MO_JOINT_PREMIUM] == 1;
|
PREFSMAN->m_bJointPremium = m_iSelectedOption[0][MO_JOINT_PREMIUM] == 1;
|
||||||
|
|||||||
@@ -203,6 +203,7 @@ void ScreenManager::Input( const DeviceInput& DeviceI, const InputEventType type
|
|||||||
#include "ScreenNameEntry.h"
|
#include "ScreenNameEntry.h"
|
||||||
#include "ScreenJukebox.h"
|
#include "ScreenJukebox.h"
|
||||||
#include "ScreenOptionsMenu.h"
|
#include "ScreenOptionsMenu.h"
|
||||||
|
#include "ScreenGameplayOptions.h"
|
||||||
|
|
||||||
#include "ScreenPrompt.h"
|
#include "ScreenPrompt.h"
|
||||||
#include "ScreenTextEntry.h"
|
#include "ScreenTextEntry.h"
|
||||||
@@ -256,6 +257,7 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName )
|
|||||||
else if( 0==stricmp(sClassName, "ScreenNameEntry") ) ret = new ScreenNameEntry;
|
else if( 0==stricmp(sClassName, "ScreenNameEntry") ) ret = new ScreenNameEntry;
|
||||||
else if( 0==stricmp(sClassName, "ScreenJukebox") ) ret = new ScreenJukebox;
|
else if( 0==stricmp(sClassName, "ScreenJukebox") ) ret = new ScreenJukebox;
|
||||||
else if( 0==stricmp(sClassName, "ScreenOptionsMenu") ) ret = new ScreenOptionsMenu;
|
else if( 0==stricmp(sClassName, "ScreenOptionsMenu") ) ret = new ScreenOptionsMenu;
|
||||||
|
else if( 0==stricmp(sClassName, "ScreenGameplayOptions") ) ret = new ScreenGameplayOptions;
|
||||||
else
|
else
|
||||||
RageException::Throw( "Invalid Screen class name '%s'", sClassName.GetString() );
|
RageException::Throw( "Invalid Screen class name '%s'", sClassName.GetString() );
|
||||||
|
|
||||||
|
|||||||
@@ -270,6 +270,11 @@ void ScreenOptions::PositionUnderlines()
|
|||||||
// Quad &underline = m_OptionUnderline[p][i];
|
// Quad &underline = m_OptionUnderline[p][i];
|
||||||
OptionsCursor &underline = m_Underline[p][i];
|
OptionsCursor &underline = m_Underline[p][i];
|
||||||
|
|
||||||
|
// If there's only one choice (ScreenOptionsMenu), don't show underlines.
|
||||||
|
// It looks silly.
|
||||||
|
bool bOnlyOneChoice = m_OptionRowData[i].iNumOptions == 1;
|
||||||
|
underline.SetDiffuse( bOnlyOneChoice ? RageColor(1,1,1,0) : RageColor(1,1,1,1) );
|
||||||
|
|
||||||
int iWidth, iX, iY;
|
int iWidth, iX, iY;
|
||||||
GetWidthXY( (PlayerNumber)p, i, iWidth, iX, iY );
|
GetWidthXY( (PlayerNumber)p, i, iWidth, iX, iY );
|
||||||
underline.SetBarWidth( iWidth );
|
underline.SetBarWidth( iWidth );
|
||||||
@@ -487,17 +492,10 @@ void ScreenOptions::MenuLeft( PlayerNumber pn )
|
|||||||
return; // don't allow a move
|
return; // don't allow a move
|
||||||
|
|
||||||
const int iNumOptions = m_OptionRowData[iCurRow].iNumOptions;
|
const int iNumOptions = m_OptionRowData[iCurRow].iNumOptions;
|
||||||
|
if( iNumOptions == 1 )
|
||||||
|
continue;
|
||||||
|
|
||||||
m_iSelectedOption[p][iCurRow] = (m_iSelectedOption[p][iCurRow]-1+iNumOptions) % iNumOptions;
|
m_iSelectedOption[p][iCurRow] = (m_iSelectedOption[p][iCurRow]-1+iNumOptions) % iNumOptions;
|
||||||
// Chris: I commented this out because it made wrapping a pain. Is it used anyway? If so, please
|
|
||||||
// let me know and I'll fix it.
|
|
||||||
// do {
|
|
||||||
// new_opt--;
|
|
||||||
// } while(new_opt >= 0 && m_OptionDim[iCurRow][new_opt]);
|
|
||||||
//
|
|
||||||
// if( new_opt < 0 ) // can't go left any more
|
|
||||||
// return;
|
|
||||||
//
|
|
||||||
// m_iSelectedOption[p][iCurRow] = new_opt;
|
|
||||||
|
|
||||||
TweenCursor( (PlayerNumber)p );
|
TweenCursor( (PlayerNumber)p );
|
||||||
}
|
}
|
||||||
@@ -518,19 +516,10 @@ void ScreenOptions::MenuRight( PlayerNumber pn )
|
|||||||
return; // don't allow a move
|
return; // don't allow a move
|
||||||
|
|
||||||
const int iNumOptions = m_OptionRowData[iCurRow].iNumOptions;
|
const int iNumOptions = m_OptionRowData[iCurRow].iNumOptions;
|
||||||
|
if( iNumOptions == 1 )
|
||||||
|
continue;
|
||||||
|
|
||||||
m_iSelectedOption[p][iCurRow] = (m_iSelectedOption[p][iCurRow]+1) % iNumOptions;
|
m_iSelectedOption[p][iCurRow] = (m_iSelectedOption[p][iCurRow]+1) % iNumOptions;
|
||||||
// Chris: I commented this out because it made wrapping a pain. Is it used anyway? If so, please
|
|
||||||
// let me know and I'll fix it.
|
|
||||||
// int new_opt = m_iSelectedOption[p][iCurRow];
|
|
||||||
// do {
|
|
||||||
// new_opt++;
|
|
||||||
// } while(new_opt < m_OptionRowData[iCurRow].iNumOptions &&
|
|
||||||
// m_OptionDim[iCurRow][new_opt]);
|
|
||||||
//
|
|
||||||
// if( new_opt == m_OptionRowData[iCurRow].iNumOptions ) // can't go right any more
|
|
||||||
// return;
|
|
||||||
//
|
|
||||||
// m_iSelectedOption[p][iCurRow] = new_opt;
|
|
||||||
|
|
||||||
TweenCursor( (PlayerNumber)p );
|
TweenCursor( (PlayerNumber)p );
|
||||||
}
|
}
|
||||||
@@ -550,17 +539,6 @@ void ScreenOptions::MenuUp( PlayerNumber pn )
|
|||||||
|
|
||||||
m_iCurrentRow[p]--;
|
m_iCurrentRow[p]--;
|
||||||
|
|
||||||
|
|
||||||
// Chris: Will add back in later
|
|
||||||
// /* Find the prev row with any un-dimmed entries. */
|
|
||||||
// int new_row = m_iCurrentRow[p];
|
|
||||||
// do {
|
|
||||||
/// if(--new_row < 0)
|
|
||||||
// new_row = m_iNumOptionRows-1; // wrap around
|
|
||||||
// if(!RowCompletelyDimmed(new_row)) break;
|
|
||||||
// } while(new_row != m_iCurrentRow[p]);
|
|
||||||
// m_iCurrentRow[p] = new_row;
|
|
||||||
|
|
||||||
TweenCursor( (PlayerNumber)p );
|
TweenCursor( (PlayerNumber)p );
|
||||||
}
|
}
|
||||||
m_SoundPrevRow.Play();
|
m_SoundPrevRow.Play();
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ enum {
|
|||||||
OM_INPUT = 0,
|
OM_INPUT = 0,
|
||||||
OM_MACHINE,
|
OM_MACHINE,
|
||||||
OM_GRAPHIC,
|
OM_GRAPHIC,
|
||||||
|
OM_GAMEPLAY,
|
||||||
OM_APPEARANCE,
|
OM_APPEARANCE,
|
||||||
NUM_OPTIONS_MENU_LINES
|
NUM_OPTIONS_MENU_LINES
|
||||||
};
|
};
|
||||||
@@ -38,6 +39,7 @@ OptionRowData g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
|
|||||||
{ "", 1, {"Input Options"} },
|
{ "", 1, {"Input Options"} },
|
||||||
{ "", 1, {"Machine Options"} },
|
{ "", 1, {"Machine Options"} },
|
||||||
{ "", 1, {"Graphic Options"} },
|
{ "", 1, {"Graphic Options"} },
|
||||||
|
{ "", 1, {"Gameplay Options"} },
|
||||||
{ "", 1, {"Appearance Options"} },
|
{ "", 1, {"Appearance Options"} },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -91,6 +93,7 @@ void ScreenOptionsMenu::GoToNextState()
|
|||||||
case OM_INPUT: SCREENMAN->SetNewScreen("ScreenInputOptions"); break;
|
case OM_INPUT: SCREENMAN->SetNewScreen("ScreenInputOptions"); break;
|
||||||
case OM_MACHINE: SCREENMAN->SetNewScreen("ScreenMachineOptions"); break;
|
case OM_MACHINE: SCREENMAN->SetNewScreen("ScreenMachineOptions"); break;
|
||||||
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
|
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
|
||||||
|
case OM_GAMEPLAY: SCREENMAN->SetNewScreen("ScreenGameplayOptions"); break;
|
||||||
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
|
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
|
||||||
default: // Exit
|
default: // Exit
|
||||||
SCREENMAN->SetNewScreen("ScreenTitleMenu");
|
SCREENMAN->SetNewScreen("ScreenTitleMenu");
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ void ScreenPrompt::Input( const DeviceInput& DeviceI, const InputEventType type,
|
|||||||
this->MenuLeft( StyleI.player );
|
this->MenuLeft( StyleI.player );
|
||||||
return;
|
return;
|
||||||
case SDLK_RIGHT:
|
case SDLK_RIGHT:
|
||||||
this->MenuLeft( StyleI.player );
|
this->MenuRight( StyleI.player );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1465,6 +1465,14 @@ SOURCE=.\ScreenGameplay.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\ScreenGameplayOptions.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\ScreenGameplayOptions.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\ScreenGraphicOptions.cpp
|
SOURCE=.\ScreenGraphicOptions.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|||||||
@@ -246,6 +246,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
|||||||
<File
|
<File
|
||||||
RelativePath="ScreenGameplay.h">
|
RelativePath="ScreenGameplay.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="ScreenGameplayOptions.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="ScreenGameplayOptions.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ScreenGraphicOptions.cpp">
|
RelativePath="ScreenGraphicOptions.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
|||||||
Reference in New Issue
Block a user