Added new screen for internal sound volume adjustment. Also, at the request of several people, I moved the `Config Key/Joy' entry into the OPTIONS/OPERATOR menu.. I was told, and agree, that it seems more appropriate to have it in there instead

This commit is contained in:
Kevin Slaughter
2003-02-19 10:58:32 +00:00
parent 197c98b75b
commit 1141e886b8
12 changed files with 187 additions and 36 deletions
+1 -1
View File
@@ -308,7 +308,7 @@ static void InitCharAliases()
CharAliases["kdot"] = 0x30FB; /* ・ */
CharAliases["kdash"]= 0x30FC; /* ー */
/* Symbols: */
CharAliases["omega"] = 0x03a9; /* Ω */
CharAliases["whiteheart"] = 0x2661; /* ♡ */
+2
View File
@@ -185,6 +185,7 @@ void ScreenManager::Input( const DeviceInput& DeviceI, const InputEventType type
#include "ScreenSelectStyle5th.h"
#include "ScreenSelectStyle.h"
#include "ScreenSongOptions.h"
#include "ScreenSoundOptions.h"
#include "ScreenStage.h"
#include "ScreenTest.h"
#include "ScreenTestFonts.h"
@@ -263,6 +264,7 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName )
else if( 0==stricmp(sClassName, "ScreenJukebox") ) ret = new ScreenJukebox;
else if( 0==stricmp(sClassName, "ScreenJukeboxMenu") ) ret = new ScreenJukeboxMenu;
else if( 0==stricmp(sClassName, "ScreenOptionsMenu") ) ret = new ScreenOptionsMenu;
else if( 0==stricmp(sClassName, "ScreenSoundOptions") ) ret = new ScreenSoundOptions;
else if( 0==stricmp(sClassName, "ScreenGameplayOptions") ) ret = new ScreenGameplayOptions;
else if( 0==stricmp(sClassName, "ScreenStyleSplash") ) ret = new ScreenStyleSplash;
else
+3 -1
View File
@@ -253,7 +253,9 @@ void ScreenMapControllers::HandleScreenMessage( const ScreenMessage SM )
switch( SM )
{
case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
//SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
/* At request, moved this into the options/operator menu -- Miryokuteki */
SCREENMAN->SetNewScreen( "ScreenOptionsMenu" );
break;
}
}
+3 -3
View File
@@ -115,10 +115,10 @@ ScreenMiniMenu::ScreenMiniMenu( MiniMenuDefinition* pDef, ScreenMessage SM_SendO
fAnswerX += fIncreaseBy/2;
}
for( i=0; i<m_Def.iNumLines; i++ )
for( int k=0; k<m_Def.iNumLines; k++ )
{
m_textLabel[i].SetX( fLabelX );
m_textAnswer[i].SetX( fAnswerX );
m_textLabel[k].SetX( fLabelX );
m_textAnswer[k].SetX( fAnswerX );
}
SOUNDMAN->PlayOnce( THEME->GetPathTo("Sounds","menu prompt") );
+6
View File
@@ -28,19 +28,23 @@
enum {
OM_INPUT = 0,
OM_MAPKEYS,
OM_MACHINE,
OM_GRAPHIC,
OM_GAMEPLAY,
OM_APPEARANCE,
OM_SOUND,
NUM_OPTIONS_MENU_LINES
};
OptionRowData g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
{ "", 1, {"Input Options"} },
{ "", 1, {"Config Key/Joy"} },
{ "", 1, {"Machine Options"} },
{ "", 1, {"Graphic Options"} },
{ "", 1, {"Gameplay Options"} },
{ "", 1, {"Appearance Options"} },
{ "", 1, {"Sound Options"} },
};
ScreenOptionsMenu::ScreenOptionsMenu() :
@@ -97,10 +101,12 @@ void ScreenOptionsMenu::GoToNextState()
switch( this->m_iCurrentRow[0] )
{
case OM_INPUT: SCREENMAN->SetNewScreen("ScreenInputOptions"); break;
case OM_MAPKEYS: SCREENMAN->SetNewScreen("ScreenMapControllers"); break;
case OM_MACHINE: SCREENMAN->SetNewScreen("ScreenMachineOptions"); break;
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
case OM_GAMEPLAY: SCREENMAN->SetNewScreen("ScreenGameplayOptions"); break;
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
case OM_SOUND: SCREENMAN->SetNewScreen("ScreenSoundOptions"); break;
default: // Exit
SCREENMAN->SetNewScreen("ScreenTitleMenu");
}
+94
View File
@@ -0,0 +1,94 @@
#include "global.h"
/*
-----------------------------------------------------------------------------
Class: ScreenSoundOptions
Desc: See header.
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
Chris Danford
Kevin Slaughter
-----------------------------------------------------------------------------
*/
#include "ScreenSoundOptions.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 {
SO_MASTER_VOLUME,
NUM_SOUND_OPTIONS_LINES
};
OptionRowData g_SoundOptionsLines[NUM_SOUND_OPTIONS_LINES] = {
{ "Master\nVolume", 10, {"0","1","2","3","4","5","6","7","8","9"} },
};
ScreenSoundOptions::ScreenSoundOptions() :
ScreenOptions( THEME->GetPathTo("BGAnimations","sound options"),
THEME->GetPathTo("Graphics","sound options page"),
THEME->GetPathTo("Graphics","sound options top edge") )
{
LOG->Trace( "ScreenSoundOptions::ScreenSoundOptions()" );
// fill g_InputOptionsLines with explanation text
for( int i=0; i<NUM_SOUND_OPTIONS_LINES; i++ )
{
CString sLineName = g_SoundOptionsLines[i].szTitle;
sLineName.Replace("\n","");
sLineName.Replace(" ","");
strcpy( g_SoundOptionsLines[i].szExplanation, THEME->GetMetric("ScreenSoundOptions",sLineName) );
}
Init( INPUTMODE_BOTH, g_SoundOptionsLines, NUM_SOUND_OPTIONS_LINES, false );
m_Menu.StopTimer();
SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","sound options music") );
}
void ScreenSoundOptions::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI )
{
this->ExportOptions();
Screen::Input( DeviceI, type, GameI, MenuI, StyleI );
}
void ScreenSoundOptions::ImportOptions()
{
m_iSelectedOption[0][SO_MASTER_VOLUME] = PREFSMAN->m_fSoundVolume;
}
void ScreenSoundOptions::ExportOptions()
{
switch( m_iSelectedOption[0][SO_MASTER_VOLUME] )
{
case 0:SOUNDMAN->SetPrefs(0.10000f);PREFSMAN->m_fSoundVolume = 0.10000f;break;
case 1:SOUNDMAN->SetPrefs(0.20000f);PREFSMAN->m_fSoundVolume = 0.20000f;break;
case 2:SOUNDMAN->SetPrefs(0.30000f);PREFSMAN->m_fSoundVolume = 0.30000f;break;
case 3:SOUNDMAN->SetPrefs(0.40000f);PREFSMAN->m_fSoundVolume = 0.40000f;break;
case 4:SOUNDMAN->SetPrefs(0.50000f);PREFSMAN->m_fSoundVolume = 0.50000f;break;
case 5:SOUNDMAN->SetPrefs(0.60000f);PREFSMAN->m_fSoundVolume = 0.60000f;break;
case 6:SOUNDMAN->SetPrefs(0.70000f);PREFSMAN->m_fSoundVolume = 0.70000f;break;
case 7:SOUNDMAN->SetPrefs(0.80000f);PREFSMAN->m_fSoundVolume = 0.80000f;break;
case 8:SOUNDMAN->SetPrefs(0.90000f);PREFSMAN->m_fSoundVolume = 0.90000f;break;
case 9:SOUNDMAN->SetPrefs(1.00000f);PREFSMAN->m_fSoundVolume = 1.00000f;break;
}
}
void ScreenSoundOptions::GoToPrevState()
{
SCREENMAN->SetNewScreen( "ScreenOptionsMenu" );
}
void ScreenSoundOptions::GoToNextState()
{
PREFSMAN->SaveGlobalPrefsToDisk();
GoToPrevState();
}
+32
View File
@@ -0,0 +1,32 @@
/*
-----------------------------------------------------------------------------
File: ScreenSoundOptions
Desc: Adjust sound config
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
Chris Danford
Kevin Slaughter
-----------------------------------------------------------------------------
*/
#ifndef SCREEN_SOUND_OPTIONS_H
#define SCREEN_SOUND_OPTIONS_H
#include "ScreenOptions.h"
class ScreenSoundOptions : public ScreenOptions
{
public:
ScreenSoundOptions();
private:
void ImportOptions();
void ExportOptions();
void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void GoToNextState();
void GoToPrevState();
};
#endif
+5 -4
View File
@@ -135,7 +135,6 @@ void ScreenTitleMenu::Input( const DeviceInput& DeviceI, const InputEventType ty
if( type != IET_FIRST_PRESS )
return;
if( DeviceI.device == DEVICE_KEYBOARD && DeviceI.button == SDLK_F3 )
{
/* Coin mode changed.. since this effects how this screen appears, JUST the
@@ -225,7 +224,8 @@ void ScreenTitleMenu::Input( const DeviceInput& DeviceI, const InputEventType ty
{
case CHOICE_GAME_START:
case CHOICE_SELECT_GAME:
case CHOICE_MAP_KEY_JOY:
/* At request, moved this into the options/operator menu -- Miryokuteki */
//case CHOICE_MAP_KEY_JOY:
case CHOICE_OPTIONS:
#ifdef DEBUG
case CHOICE_SANDBOX:
@@ -310,9 +310,10 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM )
case CHOICE_SELECT_GAME:
SCREENMAN->SetNewScreen( "ScreenSelectGame" );
break;
case CHOICE_MAP_KEY_JOY:
/* At request, moved this into the options/operator menu -- Miryokuteki */
/*case CHOICE_MAP_KEY_JOY:
SCREENMAN->SetNewScreen( "ScreenMapControllers" );
break;
break;*/
case CHOICE_OPTIONS:
SCREENMAN->SetNewScreen( "ScreenOptionsMenu" );
break;
+4 -2
View File
@@ -32,7 +32,8 @@ public:
{
CHOICE_GAME_START = 0,
CHOICE_SELECT_GAME,
CHOICE_MAP_KEY_JOY,
/* At request, moved this into the options/operator menu -- Miryokuteki */
//CHOICE_MAP_KEY_JOY,
CHOICE_OPTIONS,
CHOICE_EDIT,
CHOICE_JUKEBOX,
@@ -48,7 +49,8 @@ public:
const CString s[NUM_CHOICES] = {
"GAME START",
"SWITCH GAME",
"CONFIG KEY/JOY",
/* At request, moved this into the options/operator menu -- Miryokuteki */
//"CONFIG KEY/JOY",
"OPTIONS",
"EDIT/SYNC SONGS",
"JUKEBOX",
+26 -23
View File
@@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
@@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
1 TEXTINCLUDE
1 TEXTINCLUDE MOVEABLE PURE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
2 TEXTINCLUDE MOVEABLE PURE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
3 TEXTINCLUDE MOVEABLE PURE
BEGIN
"\r\n"
"\0"
@@ -54,8 +54,9 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON "StepMania.ICO"
IDI_ICON ICON DISCARDABLE "StepMania.ICO"
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
@@ -78,14 +79,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "http://www.stepmania.com"
VALUE "FileDescription", "StepMania"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "StepMania"
VALUE "LegalCopyright", "Copyright © 2001-2002"
VALUE "OriginalFilename", "StepMania.exe"
VALUE "ProductName", " StepMania"
VALUE "ProductVersion", "1, 0, 0, 1"
VALUE "CompanyName", "http://www.stepmania.com\0"
VALUE "FileDescription", "StepMania\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "StepMania\0"
VALUE "LegalCopyright", "Copyright © 2001-2002\0"
VALUE "OriginalFilename", "StepMania.exe\0"
VALUE "ProductName", " StepMania\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
END
END
BLOCK "VarFileInfo"
@@ -94,23 +95,25 @@ BEGIN
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
BITMAP_ERROR BITMAP "error.bmp"
BITMAP_LOADING BITMAP "loading.bmp"
BITMAP_CRASH BITMAP "error2.bmp"
BITMAP_ERROR BITMAP MOVEABLE PURE "error.bmp"
BITMAP_LOADING BITMAP MOVEABLE PURE "loading.bmp"
BITMAP_CRASH BITMAP MOVEABLE PURE "error2.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ERROR_DIALOG DIALOG 0, 0, 332, 234
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
IDD_ERROR_DIALOG DIALOG DISCARDABLE 0, 0, 332, 234
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
CAPTION "StepMania Error"
FONT 8, "MS Sans Serif"
BEGIN
@@ -125,8 +128,8 @@ BEGIN
PUSHBUTTON "View Log",IDC_BUTTON_VIEW_LOG,8,215,74,15
END
IDD_LOADING_DIALOG DIALOG 0, 0, 312, 78
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE
IDD_LOADING_DIALOG DIALOG DISCARDABLE 0, 0, 312, 82
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE
FONT 8, "MS Sans Serif"
BEGIN
CONTROL 117,IDC_STATIC,"Static",SS_BITMAP,0,0,312,38
@@ -136,7 +139,7 @@ BEGIN
END
IDD_DISASM_CRASH DIALOGEX 0, 0, 399, 286
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "StepMania Error"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
@@ -171,14 +174,14 @@ END
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
GUIDELINES DESIGNINFO MOVEABLE PURE
BEGIN
IDD_LOADING_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 305
TOPMARGIN, 7
BOTTOMMARGIN, 71
BOTTOMMARGIN, 75
END
IDD_DISASM_CRASH, DIALOG
+8
View File
@@ -1777,6 +1777,14 @@ SOURCE=.\ScreenSongOptions.h
# End Source File
# Begin Source File
SOURCE=.\ScreenSoundOptions.cpp
# End Source File
# Begin Source File
SOURCE=.\ScreenSoundOptions.h
# End Source File
# Begin Source File
SOURCE=.\ScreenStage.cpp
# End Source File
# Begin Source File
+3 -2
View File
@@ -1,5 +1,5 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Microsoft Developer Studio generated include file.
// Used by StepMania.RC
//
#define IDC_CRASH_SAVE 16
@@ -27,6 +27,7 @@
#define IDC_BUTTON_CLOSE 1011
#define IDC_VIEW_LOG 1012
#define IDC_STATIC_MESSAGE3 1013
#define IDC_PROGRESS1 1014
#define IDC_ASMBOX 1133
#define IDC_REGDUMP 1283
#define IDC_STATIC_BOMBREASON 1284
@@ -39,7 +40,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 124
#define _APS_NEXT_COMMAND_VALUE 40009
#define _APS_NEXT_CONTROL_VALUE 1013
#define _APS_NEXT_CONTROL_VALUE 1015
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif